Как говорилось выше, в Linux Mint используются пакеты с расширением deb, для работы с которыми используется консольная утилита dpkg, входящая в состав дистрибутива. Это самый нижний уровень, и большинству пользователей, устанавливающих программы с репозитариев пакетов (о них ниже), скорее всего, не придется пользоваться услугами dpkg. Но такая необходимость все же может возникнуть, например, если в репозитарии пакетов доступна устаревшая версия программы или нужной программы нет (новая, не проверена, исключена по разным соображениям и т. д.).
Сам пакет имеет такой формат:
gnome-mplayer-0.9.4-l_amd64.deb,
где gnome-mplayer — название программы; 0.9.4-1 — версия программы; amd64 — показывает, под какой тип процессора собран этот пакет, в данном случае — для 64битных систем, для 32-битных здесь может стоять i386, i586 или i686 в зависимос ти от уровня оптимизации под конкретный тип процессора.
Особенности программ Linux
Если в пакете находятся исходные тексты, которые затем нужно будет компилировать, то такой пакет содержит значение src. Пакет, который не содержит бинарных данных, то есть подходит для всех систем, может быть отмечен как noarch.
Учитывая, что deb-пакеты могут быть собраны для самых разных дистрибутивов, сборщик пакета часто указывает дистрибутив, для которого создан пакет. Поэтому еще одной составляющей может быть имя дистрибутива и даже его версия — ubuntu, debian и т. д.
ПРИМЕЧАНИЕ
Человека, который отвечает за сборку пакета, называют maintainer, в Интернете часто можно встретить это слово в русской транскрипции «майнтейнер» или «сборщик». Он полностью отвечает за то, что пакет протестирован и работоспособен и его установка не вызовет неприятностей. В процессе сборки он может использовать патчи, изменяющие функциональность или устраняющие найденные ошибки. Но таких людей мало, и все пакеты отслеживать трудно, поэтому в проекты постоянно привлекают добровольцев.
Если такого поля нет, то, возможно, пакет универсален и подходит для всех дистрибутивов, использующих rpm.
Чтобы установить deb-пакет, следует использовать ключ -i :
$ sud o dpk g i package_name.de b
Часто пользователь получает нужные пакеты со всеми зависимостями на CDили DVD-диске, прилагаемом к какому-то журналу. Установить их все можно, указав ключ -R (-recursive), в качестве параметра используется каталог, в котором находятся все файлы:
$ sudo dpkg -R /usr/local/src
Хотя возможен и другой вариант — использование шаблонов регулярных выражений:
$ sudo dpkg -i *.deb
Теперь будут установлены все deb-пакеты, находящиеся в текущем каталоге.
ПРИМЕЧАНИЕ
Чтобы получить информацию обо всех параметрах любой консольной команды Linux, используйте ключ —help.
Если все не нужны, то можно использовать другой шаблон. Например, для установки всех пакетов, содержащих в имени слово mplayer, используем следующий шаблон:
$ sudo dpkg -i *mplayer*.deb
Для удаления пакета dpkg вызываем с ключом r (или -remove), просто указав имя пакета в качестве последнего аргумента (рис. 5.2), но в этом случае все конфигурационные файлы будут сохранены.
Рис. 5.2. Удаление пакета
В соответствии с Debian Policy Manual (в котором говорится, что «в списке рекомендованных пакетов следует указывать пакеты, устанавливаемые вместе с основным пакетом всегда, кроме случаев нетипичной установки») система управления пакетами теперь по умолчанию устанавливает не только пакеты, указанные в списке зависимостей основного пакета, но и рекомендованные. Если вы хотите избежать этого для конкретных пакетов, используйте apt-get -no-install-recommends; если вы хотите никогда не устанавливать рекомендованные пакеты, добавьте APT:: Install-Recommends "false"; в /etc/apt/apt.conf. Учтите, что в результате этого в некоторых программах могут быть доступны не все возможности.
ВНИМАНИ Е
При удалении пакета обычно подтверждение не запрашивается, то есть считается, что если пользователь ввел такую команду, то он знает, что делает. Будьте внимательны!
Чтобы удалить пакет полностью, вместе с конфигурационными файлами, используем ключ -Р:
$ sudo dpkg -Р xchat
Дополнительные ключи -force и -ignore-depends помогут проигнорировать проблемы, возникшие при установке или удалении пакета, например, когда пакет не может быть установлен из-за неудовлетворенных зависимостей. Но при применении этих ключей вся ответственность о стабильной работе программы или системы лежит полностью на вас.
Чтобы получить список установленных пакетов, используем ключ -l (-list) (рис. 5.3).
Кроме названия пакета, версии программы и описания в первой позиции указывается статус. В большинстве случаев мы получаем состояние installed, означающее,
что пакет распакован и правильно настроен. Иногда попадаются пакеты config-files, когда сама программа удалена и в системе остались лишь конфигурационные файлы. Остальные параметры смотрите в man-документации, которую можно получить, введя в консоли man dpkg.
Поскольку вывод обычно большой, то результат сохраняют в файл для более комфортного просмотра:
$ sudo dpkg -l > install.tx t
Теперь в файле содержится список всех программ. Чтобы вывод происходил поэкранно, нужно использовать программу less:
$ sudo dpkg -l | les s
В результате на экран будет выведен первый список пакетов. Используя стрелки на клавиатуре, можно перемещаться вверх-вниз в поисках нужного.
Кроме того, можно использовать фильтрацию вывода при помощи консольной утилиты grep. Например, отберем все установленные программы, в названии и опи сании которых имеется слово video:
$ sudo dpkg -l | gre p -i vide o
Рис. 5.3. Просмотр списка пакетов
Во время установки пакет не только распаковывается, но и настраивается, иногда возникает необходимость перенастроить пакет. Это можно сделать при помощ и команды dpk g -configur e название_пакет а или утилиты dpkg reconfigure .
ПРИМЕЧАНИ Е
Многие операции можно проделать с помощью файлового менеджера Midnight Commander (рис. 5.4), который устанавливается командой sudo apt-get install mc. Так, установив курсор на файле и нажав F3 (просмотр), смотрим информацию о пакете, а зайдя в пакет, нажав клавишу Enter и выбрав файл INSTALL, можно установить выбранный пакет.
Рис. 5.4. Просмотр информации о пакете в Midnight Commander
К dpkg написан и графический фронт-энд GDebi, который входит в состав Linux Mint. Его можно вызвать, выбрав пункт Открыть с помощью менеджера пакетов GDebi.
Откроется окно программы установки (рис. 5.5). Нажав кнопку, размещенную справа вверху, можно установить или переустановить пакет.
В разных вкладках доступны: описания, подробности о пакете и список файлов, которые он содержит. Удалить программу в Linux Mint еще проще, достаточно
выбрать ее в меню, вызвать контекстное меню и выбрать в нем пункт Удалить.
Рис. 5.5. Установка пакета в Linux Mint при помощи GDebi
Как видите, все очень просто, хотя все равно неудобно. Ведь если пакет требует для своей работы другие пакеты, их придется также предварительно скачать и устанавливать одним списком. Но что делать, если таких пакетов десяток, которые в свою очередь потребуют еще несколько пакетов? В таком случае установка может превратиться в ад. Кроме того, очень неудобно искать пакеты для совместимости по всем сайтам Интернета.
Чтобы выйти из такой ситуации, разработчики пошли дальше, собрав все пакеты в одном месте, при этом специальные программы отслеживают все зависимости между ними, которые также устанавливаются автоматически. В итоге установка приложений в Linux даже проще, чем в Windows. Но установка индивидуальных пакетов сегодня применяется в тех случаях, когда нужного пакета нет в репозитарии и для экономии трафика, ведь когда в наличии уже есть нужный пакет, зачем скачивать его повторно?
К слову, к dpkg доступна интерактивная оболочка, обладающая функциями контроля зависимостей, — dselect (рис. 5.6), по умолчанию она в системе не устанавливается, но это легко решить.
$ sudo apt-get install dselect
Далее запускаем утилиту с правами администратора:
$ sudo dselect
Рис. 5.6. Интерактивная оболочка к dpkg — dselect
Вначале появится простое меню, при помощи клавиш со стрелками выбираем дальнейшую операцию — обновление списка доступных пакетов, выбор набора пакетов для установки, установка, обновление, удаление, настройка пакетов и др. Затем в подменю производим нужную операцию. Однако dselect уже практически не пользуется популярностью, ее с успехом заменяют APT и aptitude.
Системы управления пакетами
В последнее время наибольшее распространение получили системы управления пакетами, которые обеспечивают пользователя единым интерфейсом для поиска, установки, обновления и удаления пакета. Наиболее известным и распространенным является APT (Advanced Packaging Tool). Появившийся сначала в дистрибутиве Debian и изначально рассчитанный на работу с пакетами в формате deb, он довольно быстро стал универсальным средством управления программами, в том числе и с пакетами в других форматах rpm (в дистрибутивах ALTLinux и Connectiva).
Порт APT для работы с tgz-пакетами Slackware называется slapt-get.
Источник: Яремчук С. А. Linux Mint на 100 %. — СПб.: Питер, 2011. — 240 е.: ил. — (Серия «На 100 %»).