Знаешь только apt? Разбираемся в пакетных менеджерахМногие начинают с ubuntu и
apt, но потом сталкиваются с другими дистрибутивами. Там вместо привычных команд -
dnf или
pacman. Плюс новые форматы приложений.
Давайте расширим базу наших знаний и пройдемся по всем популярным менеджерам пакетов:
AptНачнём с
apt. Он используется в Debian и всех его производных: Ubuntu, Linux Mint, Pop!_OS. Это один из самых простых и понятных менеджеров:
sudo apt update
sudo apt install htop
Плюс
apt в том, что пакеты проверяются и приходят из официальных репозиториев, а значит они стабильны и хорошо интегрируются в систему.
Минус - версии могут заметно отставать от апстрима, а чтобы получить новое, приходится подключать PPA или ставить вручную.
DnfИспользуется в Fedora, RHEL и CentOS. Это развитие старого
yum. Он работает схожим образом, но отличается продуманным управлением зависимостями и расширенной системой плагинов:
sudo dnf install htop
Преимущество
dnf - обновления в Fedora приходят очень быстро, почти сразу после релиза. В корпоративных системах на RHEL, наоборот, делают упор на стабильность.
Минус - экосистема поменьше, чем у Debian/Ubuntu, и часть пакетов приходится искать в сторонних репозиториях.
PacmanArch Linux и все его производные, например Manjaro, используют
pacman.
sudo pacman -Syu htop
Pacman минималистичный и очень быстрый. У Arch одно из самых свежих и полных репозиториев. А если чего-то нет, есть AUR, где пользователи выкладывают свои PKGBUILD. Нужно учитывать, что не все пакеты из AUR одинаково безопасны.
SnapТеперь перейдём к универсальным форматам.
Snap - это контейнеризованные пакеты от
Canonical. Он предустановлен в Ubuntu, а в других системах ставится отдельно. На Debian и Ubuntu-подобных он доступен в репозитории:
sudo apt update
sudo apt install snapd
В Fedora нужно включить
snapd и добавить поддержку сервисов:
sudo dnf install snapd
sudo ln -s /var/lib/snapd/snap /snap
В Arch Linux установка выглядит так:
sudo pacman -S snapd
sudo systemctl enable --now snapd.socket
После этого можно ставить приложения:
sudo snap install vlc
FlatpakОн решает похожую задачу. Предустановлен в Fedora, а в других системах добавляется вручную. В Ubuntu и Debian ставится так:
sudo apt install flatpak
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
В Fedora он уже включён, достаточно лишь подключить
Flathub:
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
В Arch Linux
flatpak доступен напрямую:
sudo pacman -S flatpak
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
После чего можно устанавливать приложения, например:
flatpak install flathub com.spotify.Client
Flatpak экономит место за счёт общих библиотек и даёт гибкий контроль доступа. Но приложения из Flathub могут быть тяжелее и иногда хуже интегрируются с системой.
Выводapt,
dnf и
pacman — это системные менеджеры, каждый со своим семейством дистрибутивов. Они надёжные и интегрированные, но иногда ограничены по свежести пакетов.
Snap и
Flatpak - это универсальные форматы, которые работают поверх любой системы, позволяют получать последние версии программ, но требуют больше ресурсов.
На практике часто сочетают оба подхода: системный менеджер для базовых пакетов и Flatpak или Snap для новых приложений. Такой микс даёт и стабильность, и актуальность.
LinuxCamp | #utils