Advanced Packaging Tool – набор утилит для управления программными пакетами в операционных системах основанных на Debian. APT предоставляет дружественную надстройку над DPKG. Все файлы настроек APT хранятся в директории /etc/apt.

 

apt-get это утилита управления пакетами. apt-get требует прав суперпользователя для своей работы.

 

Обновить информацию о пакетах, содержащихся в репозиториях:

# sudo apt-get update

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

 

Обновление пакетов, для которых в репозитории доступны новые версии:

# sudo apt-get -u upgrade

Указанный параметр -u используется для того, чтобы получить полный список пакетов, которые будут подготовлены для обновления.

 

В случае появления новой версии установленного у вас дистрибутива ОС, то можно выполнить «апгрейд» целиком всей системы при помощи команды:

# sudo apt-get -u dist-upgrade

Для обновления дистрибутива до новейшей версии:

# sudo apt-get do-release-upgrade

Установить пакет:

# sudo apt-get install foo

Если вам нужна определенная версия пакета, то указать её можно через знак равенства после имени пакета:

# sudo apt-get install foo=version

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

# sudo apt-cache policy foo

Переустановить пакет:

# sudo apt-get --reinstall install packagename

apt-get также используется для устранения сбоев в базе пакетов вызванных нарушенными зависимостями. Разрешение зависимостей производится командой:

# sudo apt-get install -f

Тестовая команда:

# sudo apt-get install -s foo

Скачать пакет без установки:

# sudo apt-get download foo

Получение исходного кода пакета foo:

# sudo apt-get source foo

Получение зависимостей для сборки пакета foo:

# sudo apt-get build-dep foo

Удалить пакет Ubuntu:

# sudo apt remove имя_пакета

Будет выполнено полное удаление пакета, включая конфигурационные файлы и зависимости, только рекомендованные программы останутся.

 

Для обычного удаления пакета:

# sudo apt-get remove имя_пакета

Для удаления пакета вместе с его конфигурационными файлами:

# sudo apt-get purge имя_пакета

Очистка устаревших загруженных пакетов:

# sudo apt-get autoclean

--------------------------------------------

 

apt-cache – утилита, позволяющая выполнять запросы к кешу APT.

 

Поиск пакета по части названия или описания. Поддерживает регулярные выражения:

# sudo apt-cache search foo

Информация о пакете: версия, размер, описание:

# sudo apt-cache show foo

Посмотреть версии zabbix-agent:

# sudo apt-cache show zabbix-agent | grep Version

Самая полная информация о пакете:

# sudo apt-cache showpkg foo

Зависимости указанного пакета:

# sudo apt-cache depends foo

Обратные зависимости пакета:

# sudo apt-cache rdepends foo

Вывод версий установленных и доступных к установке пакетов:

# sudo apt-cache policy foo

--------------------------------------------

 

apt-key служит для добавления ключей от репозиториев в систему. Ключи защищают репозитории от возможности подделки пакета.

 

Добавление ключа в базу доверенных ключей:

# sudo apt-key add

Удаление ключа из доверенных:

# sudo apt-key del

--------------------------------------------

Передача списка пакетов между системами

 

Экспорт списка пакетов:

# dpkg --get-selections > ~/packagelist.txt

Также имеет смысл сохранить список хранилищ и ключей к ним:

# mkdir ~/sources

# cp -R /etc/apt/sources.list* ~/sources

Экспортировать ключи можно следующим образом:

# apt-key exportall > ~/trusted_keys.txt

 

Импорт списка пакетов

Для начала надо добавить ключи и списки репозиториев. Если все файлы находятся в домашнем каталоге, то достаточно будет выполнить следующие команды:

# sudo apt-key add ~/trusted_keys.txt

# sudo cp -R ~sources/* /etc/apt/

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

# sudo dpkg --clear-selections

Теперь следует обновить кэш пакетов, чтобы установить последние версии. Самой установкой займется утилита под названием dselect.

Убедитесь в том, что она установлена и обновите её БД:

# sudo apt-get update

# sudo apt-get install dselect

# sudo dselect update

Теперь мы можем применить наш список пакетов поверх имеющегося:

# sudo dpkg --set-selections < packagelist.txt

Чтобы применить изменения выполните следующую команду:

# sudo apt-get dselect-upgrade

--------------------------------------------

PPA (личные архивы пакетов) - аналог репозитория. На момент написания руководства они доступны только для Ubuntu. PPA гораздо меньше по объему, чем репозитории и поддерживаются частными лицами.

 

Вы должны передать команде приставку ppa:, имя собственника ppa на launchpad, слеш и название ppa.:

# sudo add-apt-repository ppa:owner_name/ppa_name

Прежде чем искать или устанавливать новые пакеты из ppa, не забудьте обновить кэш:

# sudo apt-get update

--------------------------------------------

 

Добавление репозиториев

 

Первый - вручную внести изменения в файл /etc/apt/sources.list/ или добавить файл списка, оканчивающийся на .list, в каталог /etc/apt/sources.list.d/:

# sudo nano /etc/apt/sources.list.d/new_repo.list

Добавлять источник нужно в формате:

deb_or_deb-src url_of_repo release_code_name_or_suite component_names

Второй способ добавления репозиториев - команда add-apt-repository. Как правило, эта утилита установлена по-умолчанию в ubuntu и debian. Если у вас её нет, то установить её можно следующим образом:

# sudo apt-get update

# sudo apt-get install software-properties-common

Далее, просто передавайте репозитории в указанном формате этой утилите:

# sudo add-apt-repository 'deb url release component'

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

# sudo apt-get update

--------------------------------------------

 

Debian package - это основная система управления пакетами в Debian подобных системах. возможность работы напрямую с пакетами deb, т.е. без удаленных репозиториев. В отличии от инструментов apt-* dpkg не устанавливает автоматически требуемые зависимости.

 

Установка:

# sudo dpkg -i имя_пакета.deb

Вывод списка установленных пакетов:

# sudo dpkg -l [маска]

Удаление пакета:

# sudo dpkg -r имя_пакета

Найти пакет, которому принадлежит бинарник /usr/bin/timeshift:

# dpkg -S /usr/bin/timeshift

Чтобы получить список файлов, которые установил определенный пакет, используйте ключ -L команды dpkg:

# dpkg -L package

 

 

Материалы:

https://vps.ua/wiki/install-linux-vps/package-managers/apt/

https://community.vscale.io/hc/ru/community/posts/115000289025-%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8-%D0%B2-Linux