Tuesday, 12 February 2013

Выдача имени пакета при попытке запуска команды из неустановленного пакета

Такой вот своего рода Ubuntu way :) Фича может быть удобна в ряде случаев.

Установка как всегда крайне проста:
apt-get install -y command-not-found

После установки нужно сформировать кэш:
update-command-not-found
После установки у обычных пользователей, при попытке что-либо вызвать будет появляться сообщение в стиле Ubuntu:
mysql
The program 'mysql' is currently not installed.  To run 'mysql' please ask your administrator to install the package 'mysql-client-5.1'
mysql: command not found

3 comments:

  1. > После установки нужно сформировать кэш
    Аналогично его следует обновлять, если пакеты сильно обновились :)

    ReplyDelete
  2. Ага, спасибо за дополнение!

    ReplyDelete
    Replies
    1. Еще полезный бонус:
      command-not-found использует для создания своих баз кэш apt-file -- удобной штуки для нахождения принадлежности файлов пакетам:

      # apt-file update
      (обновление кэша -- вызывается и при update-command-not-found)

      $ apt-file search filename
      (поиск пакета, в котором находится *filename*)

      $ apt-file list pkgname
      (отображение списка файлов, содержащихся в *pkgname*)

      (если запрос точный, то нужно добавить параметр -F)

      Delete

Note: only a member of this blog may post a comment.