Полезные команды apt (dpkg)

Полезные команды apt (dpkg)

Пожалуйста, опубликуйте ваши менее известные, но полезные команды apt, включающие apt-*, dpkg или aptitude.

решение1

Некоторые команды, которые я часто использую:

чтобы увидеть зависимости и обратные зависимости:

apt-cache [--important] [--installed] [--recurse] depends $package
apt-cache rdepends $package

Чтобы удалить пакет, все пакеты autoremove и все связанные с ними файлы конфигурации:

sudo apt-get --purge --auto-remove purge $package

Чтобы увидеть актуальные aptпараметры конфигурации:

apt-config dump | less

Чтобы изменить параметр в командной строке

$ apt-config dump | grep -i recommend
APT::Install-Recommends "1";
$ sudo apt-get -o APT::Install-Recommends="0" install $package

Это был всего лишь пример указания параметров APT через командную строку. Чтобы избежать установки рекомендуемых пакетов, вы можете использовать:

sudo apt-get --no-install-recommends $package

Чтобы увидеть все локальные/устаревшие пакеты:

aptitude search ~o

Чтобы увидеть удаленные пакеты с остаточной конфигурацией:

aptitude search ~c

и удалить их

sudo aptitude purge ~c

Чтобы получить список всех установленных пакетов ( dpkg -lиногда может выдавать усеченные столбцы)

dpkg --get-selections | awk '{ print $1 }'

или

dpkg-query -Wf '${Package}\n'  # other fields available, see man page

Чтобы разобрать, изменить и собрать заново пакет

dpkg-deb -x file.deb ./dir
cd dir 
dpkg-deb -e ../file.deb
# apply your modification, then... 
cd ..
dpkg-deb -b dir file-new.deb

решение2

Два из них, которые я часто использую:

apt-get autoremove <packagename>

Это приведет к удалению пакета и всех неиспользуемых зависимостей, что полезно, если вы попробуете приложение, а затем решите, что оно вам не нужно, и захотите также удалить весь хлам.

dpkg -S /path/to/file

Что сообщает мне, с каким пакетом был установлен файл.

Наконец, еще один..

dpkg -l <packagename> | grep ^ii

Выводит список пакетов, но только тех, которые имеют статус ii, что означает, что они установлены, поэтому он не покажет то, что я удалил.

Если вы хотите получить имя пакета для файла, который не был установлен ( dpkg -Sно для неустановленных пакетов), установите apt-fileи запустите:

apt-file search /path/to/file

решение3

Просмотреть журнал изменений пакета

$ aptitude changelog <pkgname>

Пример:

$ aptitude changelog sudo
sudo (1.7.0-1ubuntu2.4) karmic-security; urgency=low

  * SECURITY UPDATE: properly handle multiple PATH variables when using
    secure_path in env.c
    - Adapted http://www.sudo.ws/repos/sudo/raw-rev/a09c6812eaec
    - CVE-2010-1646
...

решение4

Чтобы получить список команд, начинающихся с «apt-», выполните следующие действия. Откройте терминал, введите «apt-» и дважды нажмите клавишу TAB. Это выведет список всех команд, начинающихся с «apt-».

Пример вывода:

apt-add-repository    apt-extracttemplates  apt-key
apt-cache             apt-file              apt-mark
apt-cdrom             apt-ftparchive        apt-sortpkgs
apt-config            apt-get 

Подробную информацию можно получить, просмотрев страницу руководства по конкретной команде.

например:man apt-get

Связанный контент