Что такое менеджер пакетов
Менеджер пакетов скоординированно устанавливает, обновляет, удаляет и запрашивает программное обеспечение. Он знает, какие файлы к какому пакету принадлежат, какие зависимости необходимы и каким репозиториям можно доверять.
Это отличается от загрузки случайных установщиков. Репозитории дистрибутива являются частью его модели безопасности и стабильности.
Репозитории и зависимости
Репозиторий — это подписанная коллекция метаданных пакета и файлов пакета. Менеджер пакетов загружает метаданные, разрешает зависимости, проверяет доверие, а затем устанавливает пакеты в правильном порядке.
Зависимости — это другие пакеты, необходимые для работы программного обеспечения. Удаление пакета может оставить зависимости, которые больше не нужны; для этого менеджеры часто предоставляют команды автоматического удаления или очистки.
Обновления, обновления и стабильность
Обновление метаданных — это не то же самое, что обновление пакетов. В системах apt обновление apt обновляет индекс пакета; apt update меняет установленное программное обеспечение. В скользящих системах частичные обновления могут быть опасными, поскольку ожидается, что пакеты будут перемещаться вместе.
Стабильные дистрибутивы часто содержат исправления безопасности без существенного изменения номера исходной версии. Пакет может выглядеть старым, но содержать исправления безопасности.
Подписи пакетов и доверие
Подписи пакетов помогают подтвердить, что пакеты получены от доверенных сопровождающих или репозиториев. Они не доказывают, что программное обеспечение не содержит ошибок, но защищают от многих сценариев взлома и взлома зеркал.
Добавление сторонних репозиториев меняет вашу модель доверия. Репозиторий может предоставлять обновления для пакетов, которыми он владеет, а иногда и заменять пакеты, если это позволяют приоритеты.
Чем отличаются форматы пакетов
| Ecosystem | Низкоуровневый формат | Менеджер высокого уровня | Примеры |
|---|---|---|---|
| Семейство Debian | .deb | apt | Debian, Ubuntu, Mint, Pop!_OS |
| Семейство RPM | .rpm | ДНФ или Зиппер | Fedora, Rocky Linux, openSUSE. |
| Семья Арка | .pkg.tar.zst | pacman | Арка, Манджаро |
| Alpine | .apk | apk | Альпийский Linux |
apt/dpkg, dnf/rpm, pacman, zypper и apk
Инструменты высокого уровня обрабатывают репозитории и зависимости. Инструменты низкого уровня проверяют или устанавливают файлы пакетов напрямую. Новичкам обычно следует использовать инструмент высокого уровня для установки и инструмент низкого уровня для исследования.
| Manager | Семейство дистрибутивов | Общие команды |
|---|---|---|
| apt/dpkg | Дебиан и Убунту | apt update, apt install, dpkg -L, dpkg -S |
| dnf / rpm | Fedora и RHEL-подобные | dnf upgrade, dnf install, rpm -ql, rpm -qf |
| pacman | Arch | pacman -Syu, pacman -S, pacman -Qs |
| zypper / rpm | openSUSE | zypper refresh, zypper update, zypper install |
| apk | Alpine | apk update, apk add, apk del, apk search |
Поиск, безопасное удаление и очистка кешей
- Выполните поиск перед установкой, если вы не знаете точное имя пакета.
- Просмотрите удаления перед подтверждением; Удаление зависимостей может быть неожиданным.
- Используйте очистку в стиле автоматического удаления только после прочтения того, что будет удалено.
- Не смешивайте репозитории из разных выпусков дистрибутива, если это явно не поддерживается документацией.
apt search nginx
sudo apt install nginxdnf info podman
sudo dnf install podmansudo pacman -Syu