Полезные команды apt (dpkg) [закрыто]

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

9
задан 15 November 2010 в 04:07

8 ответов

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

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

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
7
ответ дан 15 November 2010 в 04:07

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

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
0
ответ дан 15 November 2010 в 04:07

Просмотр списка изменений пакета

$ 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
...
0
ответ дан 15 November 2010 в 04:07

Установите 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
0
ответ дан 15 November 2010 в 04:07

Чтобы получить список команд, начинается с «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

0
ответ дан 15 November 2010 в 04:07

Мне нравится думать о трех других видах пакетов:

  • Системные пакеты (существенные пакеты или пакеты приоритетного стандарта или выше)
  • Пользовательские пакеты (вручную установленные пакеты приоритета, дополнительного или дополнительного)
  • Зависимости и рекомендуют (автоматически установленные пакеты / все, что не является системой или пользовательским пакетом),

Для показа всех "системных пакетов", можно использовать

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

Смотрите на Ссылку Критерия поиска способности и
Что такое Существенный, Необходимый, Важный, Стандартный, Дополнительный, или Дополнительный пакет? для справочной информации.

1
ответ дан 15 November 2010 в 04:07
dpkg -i --force-architecture something.i386.deb

Для установки некоторых i386 на ib64.

0
ответ дан 15 November 2010 в 04:07
  • Обновление пакетов, которые будут отложены из-за удаления других пакетов или из-за обновления ядра:

    sudo apt-get dist-upgrade
    
  • Очистить пакет и его конфигурацию .

    sudo apt-get purge package
    
  • Показать сведения о пакете, известном в базе данных пакетов, включая раздел, версию, зависимости, сопровождающее и описание.

    apt-cache show package
    
  • Список файлов в установленном пакете

    dpkg -L pkg
    
  • Обновление всех пакетов

    sudo apt-get upgrade
    
0
ответ дан 15 November 2010 в 04:07

Другие вопросы по тегам:

Похожие вопросы: