Fedora: введение в управление пакетами

Алексей Федорчук

Одна из первых задач при работе с новым дистрибутивом юзерофильского типа — это приведение предустановленного при инсталляции софта в соответствие со своими потребностями. То есть — удаление ненужных, установившихся по умолчанию, пакетов, и доустановка пакетов нужных.

В случае в Fedora эта задача особенно актуальна, поскольку, как явствует из моих длинных описаний различных вариантов инсталляции (см. Легенду о прекрасной Fedora ), как ни тщательно подбирай пакеты, всё равно то или иное количество балласта после перезагрузки будет иметь место быть.

К счастью, Fedora располагает многочисленными и мощными средствами пакетного менеджмента, что делает достаточно простой задачи как чистки, так и наращивания системы.

В основании всего пакетного менеджмента Fedora, как и её прародителя Red Hat (вместе с многочисленными клонами и дериватами последнего) лежит набор утилит rpm, предназначенных для работы с пакетами в одноимённом формате (RPM Packages Manager, что ранее трактовалось как Redhat Packages Manager).

Пакет rpm включает набор скомпилированных файлов (исполняемых бинарников, конфигов и т.д.), готовых к включению в файловую иерархию системы, а также необходимую служебную информацию, позволяющую контролировать его целостность, отслеживать зависимости, и так далее. Всё это хозяйство запаковано в архив cpio (одно из древнейших средств архивирования в UNIX — кое-что о нём сказано здесь ), компрессированный посредством утилиты gzip (о ней см. здесь ). Ожидается, что в 12-й версии Fedora rpm-пакты будут сжиматься по алгоритму LZMA, обеспечивающему много большую степень компресии — правда, ценой времени, на неё затрачиваемого (кое-что на эту тему можно найти здесь). Что для пользователя, впрочем, неудобств не доставит — потому что распаковка lzma-файлов, как это ни парадоксально, осуществляется практически с той же скоростью.

Впрочем, разговор о формате rpm — отдельный. Пока же для нас важен факт существования таких пакетов. А также то, что они хранятся в специальных репозиториях, откуда и получаются пользователем.

Пакеты объединяются в группы по назначению — такие, как рабочий стол GNOME или KDE, инструменты администрирования, офисные приложения, игры, группы поддержки определённых языков, и так далее. Это — просто списки компонентов, подобные метапакетам других систем пакетного менеджмента. Кроме того, существует ещё и близкое понятие коллекции программ, но как они соотносятся с группами, для меня пока осталось не вполне ясно.

Собственно утилита rpm предназначена для установки, обновления и удаления единичных rpm-пакетов, а также для получения информации о них. Она отслеживает зависимости пакетов, но сама по себе не занимается их разрешением, а только сообщает о нарушении таковых, причём в достаточно невнятной форме. Таким образом, название менеджер пакетов применительно к ней выглядит через чур громким — правильнее относить её к категории средств установки пакетов.

В связи с этим для работы с rpm-пакетами был разработан ряд надстроек — собственно пакетных менеджеров, способных не только отслеживать зависимости, но и разрешать их, устанавливать и удалять пакеты группами, извлекать их из репозиториев. Среди них — apt-rpm и apt4rpm, порты Debian’овского механизма apt, адаптированные для rpm-формата, smart — мультиформатный менеджер пакетов, используемый, в частности, в MacOS X. Однако в качестве собственного пакетного менеджера в Red Hat и Fedora к настоящему времени прочно утвердился yum.

Все перечисленные инструменты — это наборы консольных утилит, работающих в командном режиме (yum — также и в интерактивном). Однако в наш век юзерофилии ими дело не ограничилось — и не замедлили появиться графические фронт-энды, например, Synaptic для apt, точно тот же, который утвердился в Ubuntu’идах как главный графический установщик пакетов и smart-gui — оболочка для соответствующего пакетного менеджера.

Что же до yum — то к нему существует несколько графических фронт-эндов: pirut, yumex, kyum, возможно, и другие. Однако главным графическим средством пакетного менеджмента в современных версиях Fedora является PackageKit.

Таким образом, генеральная линия партии в области пакетного менеджмента выглядит таким образом: от низкоуровневой утилиты rpm, работающей непосредственно с пакетами, через набор утилит семейства yum, способными обращаться не только с единичными пакетами, но с их группами и репозиториями, к графической оболочке PackageKit, которая делает точно то же, но в обрамлении красивого интерфейса и понятным, как считается,  образом для начинающего пользователя.

Именно на этой генеральной линии мы и сосредоточим своё внимание в последующих заметках. Теоретически рассуждая, именно в указанном выше порядке средства управления пакетами и следовало бы рассматривать: от простой команды rpm через богатство возможностей yum к красивостям PackageKit.

Но мы пойдём другим путём — тем, коему обычно следует начинающий пользователь. Начинающий с внешне простых графических средств, и по мере убеждения в их ограниченности спускающийся всё глубже. Будучи если и не начинающими пользователями Linux’а вообще, но уж дистрибутива Fedora — безусловно, ступим и мы на эту тернистую дорогу.

4 комментария к “Fedora: введение в управление пакетами

  1. Мне кажется, что «Букварь» следует читать (и соответственно писать)
    частями несколько большего размера это удобнее и эффективнее для усвоения.
    Понимаю, что с моим мнением может случится то же, что и со Спартаком(М)
    в процитированной, как-то, здесь песне.

  2. >“Букварь” следует читать (и соответственно писать)

    не вижу связи

Оставить комментарий