apt build-dep ubuntu-zfs
Это потребовалось мне в Rebecca 17.1 при сборке пакетов поддержки ZFS on Linux.
Можно видеть, что и по части манипулирования пакетами возможности утилиты apt широки и многогранны. То есть это действительно универсальное средство управления пакетами, в обыденной жизни способное почти всегда заменить все прочие — от низкоуровневой dpkg (обращение к которой потребуется только в исключительных случаях) до графического front-end'а — Synaptic'а. Ибо не уступает последнему в наглядности вывода информации о пакетах, позволяя манипулировать ими проще и быстрее. Рядом с apt для Mint его тёзка из одномиённого пакета (общего для всех deb based дистрибутивов) Debian/Ubuntu выглядит ограниченным функционально, а традиционные apt-cache и apt-get — несколько усложнёнными синтаксически. Что же до aptitude, то она в этом контексте кажется вообще излишней: apt для Mint обеспечивает почти все функции её командного режима, а в интерактивном режиме эта программа в дистрибутивах семейства Ubuntu и её клонах уже давно работает не вполне корректно.
Примечание: кратко об apt из APT
Если apt-cache и apt-get полностью заменяются утилитой apt для Mint, то, как ни странно, apt из одноимённого пакета имеет некоторые дополнительные функции, и потому заслуживает хоть и краткого, но рассмотрения. Как уже говорилось, в нашем дистрибутиве его следует запускать с указанием полного пути:
$ /usr/bin/apt
В приведённом виде эта команда выведет справку о внутренних командах этой утилиты — краткую, но вполне достаточную:
CLI for apt.
Basic commands:
list - list packages based on package names
search - search in package descriptions
show - show package details
update - update list of available packages
install - install packages
remove - remove packages
upgrade - upgrade the system by installing/upgrading packages
full-upgrade - upgrade the system by removing/installing/upgrading packages
edit-sources - edit the source information file
Назначение большинства внутренних команд понятно без комментариев, из их имён и сопуствующих пояснений: search, show, install, remove, update и upgrade суть аналоги одноимённых внутренних команд apt для Mint (а также apt-cache и apt-search), full-upgrade идентична команде dist-upgrade, а edit-sources — команде sources.
Так что единственной внутренней командой, не имеющей аналогов ни в связке apt-cache и apt-search, ни в apt для Mint, оказывается list. Но зато командой очень полезной:
• с опцией --installed она выводит список установленных пакетов (который иначе можно получить только командой dpkg -l или всякими конструкциями с grep);
• опция --upgradable выводит список пакетов, для которых имеются обновления;
• опция же --all-versions выдаёт на гора полный список доступных пакетов, специально отмечая установленные.
Тот же результат достигается командой
$ /usr/bin/apt list
без всяких опций. Так что внутренняя команда list в ряде случаев оказывается востребованной, почему я и придумал для неё специальный глобальный псевдоним в конфиге ~/.zshrc.
Управление пакетами: Synaptic
Система управления пакетами Synaptic — графический фронт-энд для утилит семейства APT, обычно используемыми для работы с пакетами deb-формата, а в некоторых дистрибутивах — и с пакетами rpm.
Как ни странно, Synaptic появился не в Debian, и вообще не в deb based системах: первые его версии были созданы в бразильском дистрибутиве Connectiva — том самом, разработчики которого впервые прикрутили apt-get для управления rpm-пакетами (под именем apt-rpm).Создателем Synaptic’а был Альфредо Кодзима (Alfredo Kojima), а позднее им занимался Густаво Нимейер (Gustavo Niemeyer), оба являвшиеся тогда, на рубеже тысячелетий, сотрудниками фирмы Connectiva. И именно и исключительно фронт-эндом к apt-rpm и выступал Synaptic в начальную пору своей жизни.
После покупки Connectiva фирмой Mandrakesof (в январе 2005 года) связка apt-rpm и Synaptic была благополучно похерена в недрах объединённой Mandriva — в пользу собственных инструментов, urpmi и rpmdrake. Однако сама идея оказалась очень продуктивной — и ещё в 2001 году Михаэль Фогт (Michael Vogt) «дебианизировал» Synaptic, приспособив его для работы с собственно deb-пакетами. Хотя Фогт и по сей день является основным майнтайнером upstream-версии пакета, среди пользователей Debian’а, насколько мне известно, он широкого распространения не получил — предпочтение здесь отдавалось сначала собственно apt-утилитам, а затем и поныне — aptitude.
Звёздный час Synaptic’а наступил с появлением в октябре 2004 года первой версии Ubuntu. Будучи основанным на библиотеке Gtk, он сразу и гармонично вписался в тогдашнее GNOME-окружение этого дистрибутива. А с возникновением в ноябре 2006 года Mint был включён в состав этого дистрибутива, чтобы с тех пор верой и правдой служить во всех его вариантах, включая даже KDE-редакцию. И, хотя здесь он «снизу» подпирается собственной, чрезвычайно функциональной реализацией apt, а «сверху» перекрывается Менеджером программ, в ряде случаев Synaptic оказывается самым эффективным средством для работы с пакетами.
Читать дальше