Цель работы: ознакомится с высокоуровневым пакетным менеджером APT и низкоуровневым DPKG.
Различные дистрибутивы ОС Linux имеют свои форматы пакетов. Управление пакетами — это установка и поддержка (обновление или удаление при необходимости) программного обеспечения операционной системы. На ранних стадиях развития операционных систем Linux, программное обеспечение для них распространялось только в виде исходного кода, вместе с необходимой документацией, файлами конфигурации и т. д. В настоящее время большинство дистрибутивов Linux используют уже скомпилированные программы, называемые пакетами. Пакеты предоставляются пользователю уже готовыми к установке на операционную систему. Тем не менее, в Linux всегда можно получить исходный код того или иного программного обеспечения для изучения, улучшения и компиляции.
Зависимости пакета — это когда одному пакету программного обеспечения, для корректной установки и работы, требуются определенные ресурсы в виде дополнительных общих библиотек или других пакетов. Все современные системы управления пакетами имеют способы разрешения зависимостей, чтобы гарантировать, что при установке пакета будут установлены и все его зависимости, необходимые для нормальной работы.
При решении различных задач по управлению пакетами программного обеспечения, необходимо знать, что существуют два типа утилит: низкоуровневые инструменты (производящие фактическую установку, обновление и удаление файлов пакетов), и высокоуровневые инструменты (отвечают за выполнение задач по разрешению зависимостей и поиска метаданных - так называемые "данные о данных").
DPKG — низкоуровневый пакетный менеджер в Debian Linux. DPKG умеет устанавливать, удалять, предоставлять информацию и создавать deb пакеты, однако он не может автоматически загружать и устанавливать необходимые зависимости для конкретного пакета.
APT (Advanced Packaging Tool) — высокоуровневый пакетный менеджер, выполняющий роль «поисковика» и загрузчика пакетов из репозиториев. Установка скачанных пакетов производится утилитой DPKG. Благодаря эффективному разрешению зависимостей, пакетный менеджер APT используется по умолчанию в дистрибутивах с архитектурой Debian и поддерживает систему в актуальном состоянии.
Для установки пакетов можно использовать утилиту apt и apt-get
apt является более новой реализацией apt-get. Главное отличие apt от apt-get в том, что программа объединяет большинство команд apt-get и apt-cache. Вся функциональность теперь находится в одной утилите.
Низкоуровневые системы управления пакетами:
Высокоуровневые системы управления пакетами:
Обычно используются следующие связки высокоуровневых и низкоуровневых менеджеров:
Но бывают исключения, например ALT Linux использует связку APT/RPM
Для выполнения этой практической работы установите дистрибутив Ubuntu и предоставьте ему доступ к сети.
Базовый синтаксис команды apt выглядит следующим образом:
apt опции команда параметры_команды
Опции указывают общее поведение утилиты, команда - действие, которое надо выполнить, а в параметрах команды обычно передается имя пакета, с которым следует работать, например, установить или удалить.
Вот основные опции утилиты:
-v, --version — выводит версию утилиты;
-h, --help — выводит справку по использованию утилиты;
-y, --yes — автоматически отвечать "да" на все возникающие вопросы;
--assume-no — автоматически отвечать "нет" на все возникающие вопросы;
-d, --download-only — только скачать пакеты и больше ничего не делать;
-f, --fix-broken — исправить недостающие зависимости;
--no-download — ничего не загружать, использовать только пакеты из кэша;
-s, --simulate — режим симуляции, никакие операции не выполняются, только выводится информация на экран;
--allow-unauthenticated — позволяет установить пакеты из репозиториев, для которых нет GPG-подписи;
--no-install-recommends — не устанавливать рекомендованные пакеты, по умолчанию будут установлены;
-m, --ignore-missing — игнорировать отсутствующие пакеты;
-q, --quiet — выводить минимум информации, не показывать прогресс-бар;
-V, --verbose-versions — показывать полные версии обновленных пакетов;
--only-upgrade — не устанавливать новые пакеты, только обновлять;
--allow-downgrades — разрешить откатывать версию пакетов;
--reinstall — переустановить пакет если он уже установлен;
А теперь давайте пройдёмся по командам apt, которые вы можете использовать:
install — установить пакет;
remove — удалить пакет; конфигурационные файлы, которые были изменены в вашей системе удалены не будут;
purge — полностью удалить пакет, вместе со всеми его конфигурационными файлами;
autoremove — удалить ненужные пакеты;
autoclean — очистить кэш пакетов;
update — обновить списки пакетов из репозиториев;
upgrade — обновить версию пакета до последней; если пакет не указан, будут обновлены все пакеты;
full-upgrade — полное обновление системы, включая удаление несовместимых или больше ненужных пакетов;
list — список установленных пакетов;
search — поиск пакетов;
show — посмотреть информацию о пакете;
download — скачать пакет в текущую папку;
edit-sources — открыть файл с настройками репозиториев в текстовом редакторе;
source — скачать исходный код пакета в текущую папку;
build-dep — установить зависимости, необходимые для сборки выбранного пакета.
Примеры:
apt update
apt upgrade
apt full-upgrade
apt install <пакет>
apt remove <пакет>
apt search <пакет>
apt install <пакет> --only-upgrade