Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Приемы работы в Ubuntu.
Глава 6: Управление пакетами

Оригинал: "Ubuntu Hacks: Chapter 6 - Package Management"
Авторы: Кайл Ранкин, Джонатан Оксер, Билл Чайлдерс (Kyle Rankin, Jonathan Oxer, Bill Childers)
Дата публикации: June 2006
Перевод: Н.Ромоданов
Дата перевода: сентябрь 2010 г.

Совет # 58: Поиск пакетов из командной строки

Когда вы точно не знаете, в каких пакетах Ubuntu находятся нужные вам файлы, воспользуйтесь удобными средствами командной строки для того, чтобы это выяснить.

Система управления пакетами Ubuntu поистине впечатляет. Просто выберите имя пакета, и Ubuntu автоматически скачает и установит его вместе со всеми зависимостями, которые, возможно, имеются. Но что делать, если вы не знаете точного названия пакета, который вы хотите установить? В графическом менеджере пакетов Synaptic есть средство поиска, но есть два гораздо более мощных инструмента командной строки, это apt-cache и apt-file. Каждый инструмент подходит для определенного вида поиска. Инструмент apt-cache позволит вам искать пакеты по ключевым словам (кроме других вариантов его использования), а apt-file позволит вам искать пакеты по файлам, которые входят в состав пакета. Каждый подход полезен в определенных обстоятельствах, и в этом совете вы познакомитесь с тем, как эффективно пользоваться обоими этими инструментами.

Поиск пакетов по ключевым словам

Инструмент apt-cache, в действительности, является гораздо большим, чем утилита поиска по ключевым словам. apt-cache является инструментальным средством общего назначения, используемого для запросов и манипулирования в кэше пакетов apt. Чтобы выполнить поиск в кэше пакетов apt, используйте аргумент search, за которым следует указать одно или несколько ключевых слов. Например, если вы хотите найти пакеты, связанные с Adobe Acrobat Reader, вы можете запустить следующую команду поиска:

$ apt-cache search acrobat reader
xpdf - Portable Document Format (PDF) suite
xpdf-utils - Portable Document Format (PDF) suite -- utilities
acroread - Adobe Acrobat Reader: Portable Document Format file viewer
acroread-debian-files - Debian specific parts of Adobe Acrobat Reader
acroread-plugins - Plugins for Adobe Acrobat(R) Reader
mozilla-acroread - Adobe Acrobat(R) Reader plugin for mozilla / konqueror
xpdf-chinese-simplified - Portable Document Format (PDF) suite -- simplified Chinese language support
xpdf-chinese-traditional - Portable Document Format (PDF) suite -- traditional Chinese language support
xpdf-japanese - Portable Document Format (PDF) suite -- Japanese language support
xpdf-korean - Portable Document Format (PDF) suite -- Korean language support

В результате пакеты, перечисленные в выходных данных, либо непосредственно связаны с Acrobat Reader, либо косвенно связаны с форматом PDF. Обратите внимание, что, поскольку это поиск по ключевым словам, в выходных результатах иногда будут появляться пакеты, которые лишь косвенно касаются того, что вы ищете. Использование нескольких ключевых слов сильно сужает результат поиска. Либо вы можете направить результат через утилиту grep для выбора конкретных ключевых слов в самих именах пакетов. Например, если вы знаете, что пакет, который вы ищите, содержит слово acro, вы можете набрать:

$ apt-cache search acrobat reader | grep acro
acroread - Adobe Acrobat Reader: Portable Document Format file viewer
acroread-debian-files - Debian specific parts of Adobe Acrobat Reader
acroread-plugins - Plugins for Adobe Acrobat(R) Reader
mozilla-acroread - Adobe Acrobat(R) Reader plugin for mozilla / konqueror

Поиск пакетов по файлам, которые содержатся в пакетах

Есть случаи, когда вам нужен конкретный файл, и вы хотите определить, в каком пакете устанавливается этот файл. Или, возможно, вы знаете, что вам для некоторой программы нужна конкретная библиотека, но вы не знаете точное название пакета, в котором она находится. Хотя вы можете использовать apt-cache и понадеяться на результат, Ubuntu предлагает более точный подход с использованием инструмента apt-file. apt-file позволит вам указать имя конкретного файла или директория, которые он будет искать в базе данных пакетов, а затем выдаст имя пакета, в котором содержится этот файл или директорий, а также полный путь к ним.

По умолчанию, инструмент apt-file в Ubuntu не установлен. Чтобы его установить, вам нужно убедиться, что в вашем списке репозитариев пакетов указан репозитарий universe [Совет # 60]. Затем в разделе базовой системы Base System (universe) выберите пакет "apt-file", если вы пользуетесь менеджером Synaptic [Совет # 55], в противном случае, откройте терминал и введите:

$ sudo apt-get install apt-file

В отличие от apt-cache, apt-file не использует в процессе своего поиска кэш пакетов apt. Вместо этого он ведет свою собственную базу данных, которую вам нужно обновить, что вы можете сделать с помощью команды apt-get update. Прежде, чем использовать apt-file первый раз, вам следует сделать полное обновление базы:

$ sudo apt-file update

В зависимости имеющегося у вас подключения к интернету на это может потребоваться достаточное время, т. к. инструменту apt-file требуется загрузить списки всех репозитариев, сконфигурированных в данный момент. Вам следует обновлять этот список репозитариев, особенно если вы намерены выполнить поиск и хотите, чтобы в результатах присутствовали самые новые пакеты.

После того, как список репозитариев будет обновлен, вы можете начать поиск пакетов с помощью apt-cache. Например, чтобы найти, в каком пакете находится конфигурационный файл /etc/jvm, наберите:

$ apt-file search /etc/jvm
java-common: etc/jvm

Обратите внимание, что в результатах не только указывается, в каком пакете содержится этот файл (java-common), но также будет указан полный путь к этому файлу. Это полезно в случае, когда в пакете есть несколько файлов с одним и тем же именем, которые расположены в разных директориях. Когда указывается полный путь, вы можете легко выяснить, где в пакете был найден файл.


Назад Оглавление Вперед