apt - andyceo/documentation GitHub Wiki
Здесь рассказывается о работе с пакетным менеджером apt
(используется в дистрибутиве Debian, а также его производных: Ubuntu и др.) и его обертками, такими, как aptitude
, apt-get
и т.п., а также других утилит работы с пакетами, например dpkg
.
-
Показать список всех ключей:
sudo apt-key list
-
Удалить ключ:
sudo apt-key del "3820 03C2 C8B7 B4AB 813E 915B 14E4 9429 73C6 2A1B"
или указав только последние 8 символов ключа:
sudo apt-key del 73C62A1B
После удаления или добавления ключей нужно запустить обновление списка пакетов:
sudo apt update
-
Показать список всех подключенных репозиториев:
sudo apt policy # или sudo apt-cache policy # или sudo grep -Erh ^deb /etc/apt/sources.list*
После (или лучше до) добавления репозитория, может понадобиться добавить ключ для этого репозитория, см. раздел Ключи репозиториев.
Удалить репозиторий можно просто удалив соответствующую строчку или целый файл со строчкой репозитория.
После удаления или добавления репозитория нужно запустить обновление списка пакетов:
sudo apt update
-
Показать список неиспользуемых пакетов (которые ставились как зависимости, а теперь остались одни):
deborphan
Для использования, потребуется установить одноименный пакет. Удалить пакеты, которые показал
deborphan
:sudo deborphan | xargs sudo apt-get -y remove --purge
-
Показать список установленных пакетов:
dpkg --list
или установить пакет
apt-show-versions
и выполнить одноименную команду:apt-show-versions
Вычистить (purge) удаленные пакеты (со статусом
rc
), чье имя начинается наlinux
:dpkg --list | grep "^rc *linux-" | cut -d " " -f 3 | xargs sudo apt-get -y remove --purge
-
Показать количество установленных пакетов:
dpkg --list | wc --lines
-
Показать список файлов установленного пакета:
dpkg -L <PACKAGE_NAME>
-
Найти, какому пакету принадлежит файл:
dpkg -S <pattern>
или с помощью утилиты
apt-file
:sudo apt install apt-file # установка утилиты sudo apt-file update # обновление индекса apt-file search <pattern>
-
Показать все пакеты, для которых нет репозитория (не принадлежат ни одному репозиторию):
sudo aptitude search ~o
-
Как обновить пакет Ubuntu-Debian? (т.е. программу):
sudo aptitude upgrage <имя пакета>
-
Как зафиксировать пакет Ubuntu-Debian от обновления?
sudo aptitude hold <имя пакета>
Заметим, что
aptitude
использует отличный отapt-get
иdselect
метод регистрации зафиксированных пакетов. Определить, какие пакеты зафиксированы черезaptitude
, можно с помощью:aptitude search "~ahold"
Если вы хотите проверить, какие пакеты зафиксированы через
apt-get
, используйтеdpkg --get-selections | grep hold
Источник: http://www.debian.org/releases/stable/mips/release-notes/ch-upgrading.ru.html#package-status
-
Показать, из какого именно источника будет установлен тот или иной пакет:
sudo apt policy htop # или sudo apt-cache policy htop
-
Показать, какие пакеты зависят от данного:
sudo apt rdepends htop
-
Установить в Debian 12 Bookworm ядро Linux из репозитория backports (установим kernel metapackage
linux-image-amd64
):sudo apt install -t bookworm-backports linux-image-amd64
Также, надо установить и пакет
linux-headers-amd64
из бекпортов, если он тоже установлен. Проверить, установлен ли пакетlinux-headers-amd64
:sudo apt policy linux-headers-amd64 # или sudo apt list --installed "linux-headers-*amd64"
В основном, он устанавливается, если нужно собирать проприетарный драйвер Nvidia, используя технологию
dkms
. -
Также, нужно даже для Intel GPU поставить закрытую прошивку (по умолчанию тоже поставится из бэкпортов, если ядро поставили оттуда):
sudo apt install firmware-intel-graphics
иначе при сборке
initramfs
будет ругань вида:W: Possible missing firmware /lib/firmware/i915/mtl_gsc_1.bin for module i915 W: Possible missing firmware /lib/firmware/i915/dg2_huc_gsc.bin for module i915 W: Possible missing firmware /lib/firmware/i915/mtl_huc_gsc.bin for module i915 W: Possible missing firmware /lib/firmware/i915/mtl_guc_70.bin for module i915 W: Possible missing firmware /lib/firmware/i915/xe2lpd_dmc.bin for module i915
Узнать, что для решения этих ворнингов нужен именно пакет
firmware-intel-graphics
, можно с помощью утилитыapt-file
:sudo apt install apt-file sudo apt-file update apt-file search mtl_gsc > firmware-intel-graphics: /lib/firmware/i915/mtl_gsc_1.bin
-
apt-get update
– обновить базу пакетов -
apt-get upgrade
– обновить все пакеты -
apt-get dist-upgrade
– обновить версию Ubuntu -
apt-get install pkg
– установить pkg -
apt-get remove pkg
– удалить pkg -
apt-get autoremove
– удалить устаревшие пакеты -
apt-get -f install
– попытаться исправить сломанные пакеты (зависимости) -
dpkg --configure -a
– попытаться исправить сломанные пакеты (зависимости) -
dpkg -i pkg.deb
– установить пакет из файла pkg.deb -
файл
/etc/apt/sources.list
– список репозиториев APT -
grep ^Package: /var/lib/apt/lists/ppa.launchpad.net_*_Packages
- посмотреть список всех пакетов из всех ppa локально -
Посмотреть все установленные ppa:
#! /bin/sh # listppa Script to get all the PPA installed on a system ready to share for reininstall for APT in `find /etc/apt/ -name \*.list`; do grep -o "^deb http://ppa.launchpad.net/[a-z0-9\-]\+/[a-z0-9\-]\+" $APT | while read ENTRY ; do USER=`echo $ENTRY | cut -d/ -f4` PPA=`echo $ENTRY | cut -d/ -f5` echo sudo apt-add-repository ppa:$USER/$PPA done done