Пожалуйста, опубликуйте ваши менее известные, но полезные команды apt, связанные с apt-*, dpkg или aptitude.
Некоторая команда я часто использую:
видеть зависимости и обратные зависимости:
apt-cache [--important] [--installed] [--recurse] depends $package
apt-cache rdepends $package
Для удаления пакета все автоудаляют пакеты и все связанные файлы конфигурации:
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
К dissasemble измените, затем повторно собирают пакет
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
Два, которые я часто использую: -
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
$ 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
...
Установите apt-файл, затем запустите sudo apt-file update
. Теперь вы можете искать файлы в пакетах, которые вы даже не установили.
Также удобно, если вам нужна информация о пакетах в других версиях Ubuntu, это rmadison, который находится в пакете devscripts. Укажите в качестве аргумента имя пакета, и он скажет вам, какие версии этого пакета существуют в каждой текущей версии Ubuntu, и в каком разделе хранилища находится пакет.
Пример:
[bnrubin@server:~/]$ rmadison cowsay
cowsay | 3.03-8 | dapper/universe | source, all
cowsay | 3.03-9 | hardy/universe | source, all
cowsay | 3.03-9.2 | jaunty/universe | source, all
cowsay | 3.03-9.2 | karmic/universe | source, all
cowsay | 3.03-9.2 | lucid/universe | source, all
cowsay | 3.03+dfsg1-2 | maverick/universe | source, all
cowsay | 3.03+dfsg1-2 | natty/universe | source, all
Чтобы получить список команд, начинается с «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
Мне нравится думать о трех других видах пакетов:
Для показа всех "системных пакетов", можно использовать
aptitude search '(~pstandard|~pimportant|~prequired|~E)'
Мне нравится устанавливать всех их и отмеченный, как вручную установлено.
aptitude install '(~pstandard|~pimportant|~prequired|~E)!~i'
aptitude unmarkauto '(~pstandard|~pimportant|~prequired|~E)~i~M'
Показать все "пользовательское использование" пакетов
aptitude search '~i!~M!(~pstandard|~pimportant|~prequired|~E)'
В этом списке должны быть только пакеты, что Вы знаете, что хотите. Все другие пакеты являются, вероятно, просто зависимостями, или рекомендует других пакетов, можно отметить их, как автоматически установлено
aptitude markauto libsomething
Смотрите на Ссылку Критерия поиска способности и
Что такое Существенный, Необходимый, Важный, Стандартный, Дополнительный, или Дополнительный пакет? для справочной информации.
dpkg -i --force-architecture something.i386.deb
Для установки некоторых i386 на ib64.
Обновление пакетов, которые будут отложены из-за удаления других пакетов или из-за обновления ядра:
sudo apt-get dist-upgrade
Очистить пакет и его конфигурацию .
sudo apt-get purge package
Показать сведения о пакете, известном в базе данных пакетов, включая раздел, версию, зависимости, сопровождающее и описание.
apt-cache show package
Список файлов в установленном пакете
dpkg -L pkg
Обновление всех пакетов
sudo apt-get upgrade