Что лучше apt или pacman

Обзор пакетных менеджеров Linux

Одна из первых вещей, с которой столкнуться новые пользователи при выборе своего дистрибутива Linux, это существование нескольких дистрибутивов с различными способами управления пакетами.

Управление пакетами очень важно в Linux, если вы знаете как использовать несколько менеджеров пакетов, это еще один аспект, показывающий, что вы уже опытный пользователь. Установка программного обеспечения, обновление, обработка зависимостей, удаление программ это очень важные действия для администрирования операционной системы Linux.

Это инструмент низкого уровня и есть дополнительные утилиты, которые помогают пользователям устанавливать пакеты из репозиториев, разрешать зависимости и искать пакеты по названию. Это такие программы, как:

APT (Advanced Packaging Tool)

Очень популярный, мощный инструмент командной строки с открытым исходным кодом для управления пакетами, который намного увеличивает возможности dpkg. Эта утилита используется в Debian и его производных, таких как Ubuntu, Linux Mint. Я уже писал про apt на этом сайте.

Aptitude Package Manager

Это еще одна популярная утилита командной строки для управления пакетами в Debian. Она работает аналогично Apt, но между ними есть некоторые различия. Первоначально он был разработан для Debian, но сейчас может применяться и в Red Hat дистрибутивах.

Synaptic

Gnome Software

Это центр приложений Gnome. Там есть далеко не все программы, которые есть в репозиториях и подход к установке немного другой. Вы устанавливаете не пакеты по отдельности, а саму нужную программу. Обо всём остальном центр приложений заботиться сам, скрывая от вас подробности. Gnome Software поддерживает не только Deb пакеты, но и Rpm в системах, основанных на RHEL, а также snap и flatpack, о которых мы поговорим ниже.

AppGrid

Простенькая альтернатива для центра приложений Ubuntu. Программе очень далеко до функциональности Synaptic. Она позволяет устанавливать приложения так же, как и центр приложений Gnome Software и выглядит очень похоже на Windows Store.

2. RPM (Red Hat Package Manager)

Это базовый формат и система управления пакетами, созданная в компании Red Hat. Так же как и dpkg, это низкоуровневый инструмент, для которого существует несколько утилит, это такие пакетные менеджеры Linux:

YUM (Yellowdog Updater, Modified)

Это популярный менеджер пакетов linux с открытым исходным кодом для командной строки. Он используется для управления пакетами в дистрибутиве Red Hat. Если сравнивать с инструментом apt, то здесь есть все те же функциональные возможности, правда, работает немного медленнее. Написан на Python 2. Немного больше об отличиях формата пакетов rpm и deb можно прочитать в отдельной статье. А про сам Yum есть такая статья.

DNF – Улучшенный Yum

Это пакетный менеджер linux, используемый в дистрибутиве Fedora начиная с версии 18. Он представляет из себя следующее поколение YUM.

Сначала он был создан только для экспериментов, но начиная с Fedora 22 он используется как пакетный менеджер по умолчанию. Он работает почти также как и YUM, для разрешения зависимостей используется библиотека libsolv и hawkey, но отличие от YUM, написан на Python 3. Здесь можно наблюдать увеличение скорости работы, а также уменьшение потребления памяти.

Этот менеджер пакетов linux разработан командой программистов для дистрибутива ArchLinux. Сейчас, кроме ArchLinux, он используется в Manjaro и еще нескольких малоизвестных дистрибутивах, основанных на ArchLinux.

Программа написана на Си, а в качестве пакетов используются файлы формата tar.xz, которые на самом деле являются обычными архивами, внутри которых находятся файлы программы и файл описания установки PKGBUILD. Читайте подробнее про установку пакетов в Arch Linux в отдельной статье.

Это пакетный менеджер linux для командной строки в дистрибутиве OpenSUSE и SUSE Linux. Разработан специально для этого дистрибутива и использует библиотеку libzypp, в которой реализованы такие общие возможности, как доступ к репозиторию, установка пакетов, разрешение зависимостей, работа с репозториями и многое другое.

Этот менеджер пакетов используется в Gentoo, менее популярном, но не менее мощном дистрибутиве. И это один из лучших менеджеров пакетов. Основное преимущество системы Gentoo, это возможность собирать пакеты из исходников во время установки. Это дает очень много полезных вещей, таких как возможность настроить флаги компиляции, включить только нужные функции, а также собрать пакеты именно под свой процессор. Все это поддерживается Portage, базовая функциональность, такая как обновление, удаление пакетов и разрешение зависимостей здесь тоже есть.

Интересной особенностью есть состояния Portage, а также слоты, позволяющие устанавливать несколько версий одной программы или библиотеки в вашей системе. Здесь нет как такового списка пакетов, есть только дерево портов, в котором и содержаться файлы ebuild с инструкциями для сборки всех пакетов. Сохранив дерево можно очень просто откатить систему к предыдущей версии. Подробнее тут.

6. Snap

Универсальный менеджер пакетов разработанный в Canonical, который можно использовать как в Deb, так и в Rpm дистрибутиве. Здесь используется особый формат пакетов, в котором все зависимости программы упаковываются в пакет с ней, поэтому программа оказывается самодостаточной и может запускаться в любой системе, где установлен этот пакетный менеджер. Кроме того, менеджер пакетов snap добавляет безопасности, программам не разрешено использовать те функции, что им не нужны. Более подробно про snap можно почитать в этой статье.

7. Flatpack

Пакетный менеджер Flatpack разработан для Fedora в качестве конкурента для Snap. Он может практически всё то же самое. В пакет программы упаковываются всё её зависимости и она может работать в любой системе где установлено программное обеспечение Flatpack. Безопасность здесь тоже работает. Главное отличие в том, что Flatpack более открыт, чтобы добавить пакет в Snap Store надо подписать соглашение с Canonical, а Flatpack больше похож на формат PPA. Любой человек может создать свой репозиторий и размещать там всё, что ему надо.

Читайте также:  Чем заполнена полость клетки

Выводы

Источник

Сравнение основных систем управления пакетами в Linux

1. Введение

Одним из самых существенных различий между различными дистрибутивами Linux является управление пакетами. Во многих случаях это является причиной перехода пользователя с одного дистрибутива на другой, так как ему не нравится способ установки программ, или требуемого программного обеспечения нет в репозиториях дистрибутива. Если вы новичок в мире Linux, и вас волнует выбор дистрибутива с наиболее удовлетворяющей вашим потребностям системой управления пакетами, данное руководство может служить хорошим подспорьем в этом вопросе. Если вы в течение долгого времени пользовались только одним или двумя дистрибутивами, и хотели бы узнать, что могут предложить другие, эта статья также может быть полезной для вас. И наконец, если вы хотите сравнить наиболее популярные системы управления пакетами, вы также найдете здесь кое-что интересное.

2. Подход

3. Системы управления пакетами

3.1. Семейство apt

3.1.1. apt vs aptitude

Так как мы говорим о чистом Debian, я рекомендовал бы aptitude вместо of apt-*. Но другие посоветуют обратное, поэтому я порекомендовал бы попробовать обе утилиты и самому определить, какая из них лучше. Сначала вы не почувствуете особой разницы между ними, но со временем поймете, что одна из них вам нравится больше. Мы покажем, как использовать обе утилиты, чтобы вам легче было выбрать.

3.1.2. Установка программ

Программы устанавливаются очень просто. Все, что вам нужно, ввести команду:

или, если вы выбираете aptitude:

Если вы увидите сообщения о том, что требуемый пакет не найден, убедитесь, что вы обновили список пакетов с помощью команды update:

Я не буду тратить время на подробное описание, так как команды для apt-get и aptitude одни и те же. Если говорить об aptitude, вот что получится, если вызвать ее без аргументов:

Мы предлагаем вам немного поиграть с aptitude, в том числе с версией на базе curses, чтобы увидеть все доступные команды и опции.

3.1.3. Обновление программ

Некоторые тонкости: имеется также команда dist-upgrade, а в aptitude поддерживается full-upgrade, которые отличаются от upgrade, тем что они более интеллектуальны и, если можно так выразиться, более агрессивны. Например, они могут удалить старые пакеты, если доступны новые важные обновления. Это также зависит от того, какой тип Debian вы используете. В стабильной ветви можно прекрасно жить с upgrade, но в смешанной стабильной/нестабильной системе мы рекомендуем использовать dist-upgrade.

3.1.4. Поиск программ

Вы не знаете точное название пакета, который хотите установить? В таком случае вы можете либо использовать автодополнение по клавише Tab, либо воспользоваться поисковыми функциями, предоставляемыми утилитами apt:

или, в случае с aptitude:

3.1.5. Удаление программ

aptitude, как и apt-get, имеет команды remove и purge для удаления и чистки. В то время как remove обеспечивает удаление самой программы, purge идет дальше и удаляет также конфигурационные файлы программы. Пользователь сам решает, какую команду использовать, в зависимости от стоящей перед ним задачи.

3.2. yum

Некоторые из вас еще может быть помнят старые мрачные времена ада зависимостей RPM. Сегодня, благодаря yum, они остались в прошлом, и установка программ стала проще. Как и другие менеджеры пакетов, yum поддерживает все базовые функции, такие как установка и удаление программ, плюс большое количество полезных опций.

3.2.1. Установка программ

Базовые команды управления пакетами более менее однинаковы во всех системах. Например, если хотите установить текстовый редактор jed, вы вводите команду:

3.2.2. Обновление программ

Как уже говорилось, команды менеджеров пакетов очень похожи, но в данном случае yum не имеет двух команд для обновления, как apt. Одна команда «yum update» обновляет данные репозиториев и, если доступны новые версии пакетов, устанавливает их. Новой для вас может оказаться лишь команда check-update, которая действует примерно как «aptitude update», то есть обновляет только данные репозиториев, но не обновляет пакеты.

3.2.3. Поиск программ

До недавнего времения мне не нравилась команда search от yum, потому что она выдавала слишком много результатов, многие из которых были совершенно не связаны с предметом запроса. Многие пользователи сталкивались с этой проблемой, поэтому разработчики изменили функцию search, чтобы она выдавала только релевантные результаты, и добавили команду «search all», эмулирующую старое поведение.

3.2.4. Удаление программ

Если я хочу удалить программу, для этого конечно есть команда «yum remove». Она удаляет сам пакет и его зависимости. Если вы не хотите идти этим путем, и желаете сохранить зависимости (здесь необходимо действовать осторожно), вы можете ввести:

3.3. pacman

У Arch Linux есть свой менеджер пакетов, достаточно молодой по сравнению с другими (поскольку сам дистрибутив появился не так давно), но это не значит, что он уступает по функциональности yum или zypper. Одно из отличий pacman от описанных выше менеджеров пакетов то, что он не имеет команд, таких как update или remove. Вместо этого используются аргументы из одного символа (конечно, вы можете применять и длинные опции, отделяемые двумя дефисами, но короткие более популярны). Кроме того, pacman определенно является самым быстрым менеджером пакетов, поэтому на своих старых компьютерах я всегда использую Arch.

Читайте также:  Чем заменить тромбоасс для разжижения крови без аспирина

3.3.1. Установка программ

Чтобы установить jed в Arch, введите:

3.3.2. Обновление программ

3.3.3. Поиск программ

3.3.4. Удаление программ

3.4. Portage

Некоторые могут сказать, что Portage не относится к основным системам управления пакетами, но я думаю иначе. Хотя Gentoo не так популярен, как мог бы быть, он прочно занимает свое место в мире Linux и не собирается сдаваться, имея свою, достаточно большую армию преданных пользователей. Хотя он, как и pacman, не столь прост в использовании, как yum, но имеет мощную функциональность, не требуя слишком много времени для изучения его возможностей.

3.4.1. Установка программ

3.4.2. Обновление программ

3.4.3. Поиск программ

3.4.4. Удаление программ

4. Заключение

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

Источник

Сравнение пакетных менеджеров

Интересно услышать другое мнение. Также в последнее время интересуюсь CRUX и подобными, как у них дела с пакетными менеджерами?

Жуткие корявые костыли на велосипедах. Чтобы пересобрать пакет самому, надо целый учебник освоить. Ломается от любого неосторожного движения. Буквально из последнего опыта: попытался установить portaudio-dev, на что апт заявил, что в таком случае он сносит wine и пару сотен пакетов i386, пришлось делать сборочное окружение в докере.

ввот поэтому ты до сих пор и интересуешься вопросом, какой менеджер лучше:)

Ты меня явно путаешь с ТС.

Ну CLI Linux всё ж таки на порядок лучше такового в Windows. Но ты ведь не живёшь исключительно в CLI и не сидишь в вебе в links, правда?

Нет, не десятый. Но ты учти, что интернета тогда был диалап и выкачать все диски без безлима было нереально, поэтому то был мандрейк, котороый дошёл до меня через почту. Или типа того. А был точно не десятый и не девятый. Где-то 7 или 8. А ASP в 2000 где-то появился. Но на него я тоже не сразу прыгнул. Я до этого на BlackHat Linux сидел.

ну да, я просто не помню, кто UI рисовал в debian… давно было.

Дело не в UI, а в резолвинге зависимостей.

на свою дату регистрации и на мою взгляни

Ну CLI Linux всё ж таки на порядок лучше такового в Windows.

Нет, не лучше. Он просто в linux есть, а в windows нет. 🙂

Видимо, ты первое января с первым апреля перепутал.

Буквально из последнего опыта: попытался установить portaudio-dev, на что апт заявил, что в таком случае он сносит wine и пару сотен пакетов i386, пришлось делать сборочное окружение в докере.

Лучший классический пакетный менеджер ever. Что там хилого?

Это тот, в котором нужно обновлять или сразу всё, или ничего?

Флатпак — хорошо для десктопного юзерспейса.

Rpmbuild сам собирает requires и provides пакета, анализируя файлы, входящие в пакет. Если в пакет входит бинарник, то в requires попадут soname-ы динамических библиотек, которые ему требуются. Если в пакет входит динамическая библиотека, то в provides попадёт её soname. Если в пакет входит скрипт, то в requires попадёт имя интерпретатора из #!. И так далее. Эти автоматические зависимости правильные. Если пакет не испорчен кривыми ручными зависимостями, то он встанет на любую rpm систему.

Loaded plugins: fastestmirror
One of the configured repositories failed (Unknown), and yum doesn’t have enough cached data to continue. At this point the only safe thing yum can do is fail.

Помню при попытке даунгрейда пакета через apt-get, он предложил просто удалить пол системы.

Ну это штатное поведение apt.

Rpmbuild сам собирает requires и provides пакета, анализируя файлы, входящие в пакет. Если в пакет входит бинарник, то в requires попадут soname-ы динамических библиотек, которые ему требуются. Если в пакет входит динамическая библиотека, то в provides попадёт её soname. Если в пакет входит скрипт, то в requires попадёт имя интерпретатора из #!. И так далее. Эти автоматические зависимости правильные. Если пакет не испорчен кривыми ручными зависимостями, то он встанет на любую rpm систему.

Спасибо за подробный ответ по делу. А как пакет может быть «испорчен кривыми ручными зависимостями»? Зависимостями в стиле package based (ссылками на другие пакеты по имени или на so файлы без указания версий?), как в deb или о чём речь?

Все так, я просто не понимаю, зачем тащить откровенно десктопные решения в ОС широкого назначения.

Тут модератор ЛОР-а спалился, что не использует онтопик на десктопе.

Источник

Альманах пакетных менеджеров Linux

Иногда может возникнуть вопрос: чьих этот файл, откуда вообще взялась эта библиотека? Удобный менеджер пакетов решает очень многие проблемы ОС. Можно с уверенностью сказать, что если вы подружитесь с МП, то подружитесь и с дистрибутивом как таковым. Причем важно освоить именно набор основных команд, и знать где найти дополнительную информацию.

Далее следует джентльменский набор необходимых для повседневной рутины команд основных Linux дистрибутивов: установить, обновить и удалить пакет, накатить обновления, проверить зависимости, установить принадлежность файла пакету и пр.

Читайте также:  Что ловится на картошку

Debian и родственные

Популярность и образ дружественного к пользователю Linux дистрибутива сыграли с Ubuntu злую шутку. Некоторым новичкам кажется, что можно на нем делать все, что угодно без помощи командной строки. Это заблуждение и лучше от него поскорее избавиться.

Есть еще такое чудо — wajig. Несмотря на странное звучание, вполне годный МП с человеко-читабельным выводом информации на экран.

Настройка репозиториев производится правкой файла /etc/apt/sources.list

В целом ПМ Debian один из лучших, с которыми мне доводилось иметь дело.

Redhat и другие RPM дистрибутивы

Команды rpm на те случаи, когда использовать yum не с руки.

Zypper

На SuSE Linux используется Zypper / YaST для управления пакетами, движок ZYpp крутится поверх RPM.

Можно использовать операторы и регулярные выражения.

Pacman

Этот МП используется в Арче и Manjaro.

Движок поиска в базе данных поддерживает регулярные выражения.

Настройка репозиториев и зеркал производится из файла /etc/pacman.conf

Gentoo emerge

С дополнительными утилитами можно получить больше информации о файлах, ненужных пакетах и т. д.

Источник

Arch vs Debian Testing/Sid

Тупая холиварная тема, я за бан. Попробуй и реши сам.

ты уверен, что это именно «нужен»?

pacman быстрей и лучше рулит зависимости

где KDE собран лучше и где он меньше жрет ресурсов;

а арче он ванильный, а в дебиане наверное приукрасили его

что проще ковырять при проблемах и как часто они случаются при обновлениях;

думаю более-менее одинаково

в каком дистре больше проблем с зависимостями

как уже выше говорил, апт иногда может шалить

с каким дистром вообще больше проблем.

лютый холивар уже. Проблемы есть в каждом

Тут товарищ хорошо ответил.

apt мощнее в плане управления и поиска, а pacman быстрее, в нём меньше проблем с зависимостями и лучше экосистема.

где KDE собран лучше и где он меньше жрет ресурсов

что значит «лучше»? а ресурсов он везде жрёт примерно одинаково.

по мне арч, но это дело привычки и субъективщина. но в арчевики способы ковыряния описаны явно лучше, че в debian wiki, а они бывают дистрозависимыми.

как часто они случаются при обновлениях

если своевременно читать новости, то нигде. у меня не было ни разу ни на арче, ни на сиде.

в каком дистре больше проблем с зависимостями

см. про apt и pacman

с каким дистром вообще больше проблем

у нас на раёне за такие вопросы лицо разбивают.

Патрик не одобрил бы твою опечатку в названии его дистра)) А по теме, попробуй то и то. решишь сам.

пакман быстрее, как уже выше написали

где KDE собран лучше и где он меньше жрет ресурсов

В OpenSUSE 🙂 А вообще арч+кде не юзал, в дебиане работает норм

что проще ковырять при проблемах и как часто они случаются при обновлениях;

ИМХО дебиан проще и проблем с ним в целом меньше

В который раз уже натыкаюсь на утверждения о том, что pacman быстрее apt. Не пойму, откуда они берутся. Да и какая разница, где быстрее разрешаются зависимости (это единственная функция, к которой применимо измерение скорости в обоих), если и там, и там это занимает доли секунды?

Смог починить plasma5 в sid испльзуя репу kdenext из siduction. Из за выше упомянутой миграции dolphin и ktorrent собирал сам с новыми либами для gcc5 Plasma5 а ля siduction порадовала наличием нормального трея где отображается hp-systray и keepassx.

pacman быстр и довольно прост в использовании. apt вроде тоже не самый худший пм, однако после того, как он мне поломал свежеустановленный debian 8, я больше не верю в эти мифы о «штабильности».

где KDE собран лучше и где он меньше жрет ресурсов

Не знаю, где лучше и где меньше жрёт, однако в арче он ванильный и при необходисмоти можно пересобрать, отредактировав PKGBUILD как тебе надо.

что проще ковырять при проблемах и как часто они случаются при обновлениях

Не знаю, как там в дебиане, наверное зависит от способа, каким ты его установил. Думаю, если ты из базовой системы настроил и установил всё, что нужно, ковырять будет проще, чем если инсталлер понаставил тебе непонятно чего.

в каком дистре больше проблем с зависимостями

с каким дистром вообще больше проблем

Про дебиан не знаю, но у меня в арче ещё никаких серьёзных дистроспецифичных проблем не возникало.

apt вроде тоже не самый худший пм, однако после того, как он мне поломал свежеустановленный debian 8, я больше не верю в эти мифы о «штабильности».

Эээ, autoremove же выводит список предлагаемого к удалению и запрашивает подтверждение. Если вы тупо не читая согласились, то это не apt накосячил, а вы.

Там надо еще это, голову включать.

Не будет ли проблемно обновить Arch после месяца простоя?

С тем, что я накосячил, соглашусь, однако это не отменяет кривости autoremove. Когда ставил систему вроде даже специально указал поставить тольок базу и xfce, однако он мне понаставил всего подряд.

Вы можете внятно объяснить, в чём на ваш взгляд заключается кривость autoremove? В чём её поведение нелогично?

Предлагает снести то, что сносить совсем не надо.

Источник

Библиотека с советами