Содержание

Шпаргалка по управлению пакетами в Debian/Ubuntu

Основное и общеизвестное

  • Получение информации о новых/обновлённых пакетах
    sudo aptitude update
  • Обновление
    sudo aptitude safe-upgrade
  • Поиск пакета по именам пакетов
    aptitude search key_word
  • Поиск пакета по точному названию
    aptitude search "^name$"
  • Поиск по описанию
    aptitude search "?description("key_word")"
  • Информация о пакете
    aptitude show package_name
  • Установка
    sudo aptitude install package_name
  • Удаление
    sudo aptitude remove package_name
  • Полное удаление (вместе с конфигами)
    sudo aptitude purge package_name
  • Очистить кэш загруженных пакетов (освободить место)
    aptitude autoclean # удалятся только пакеты неактуальных версийaptitude clean # очистится весь кэш
  • Установка отдельно скачанного/созданного пакета (для создания пакета из сторонних исходников нужно использовать утилиту checkinstall с флагом -D)
    sudo dpkg -i /path/to/package.deb
  • Для получения доп информации
    man aptitude
      sudo aptitude install aptitude-doc-en

и смотрим документацию (/usr/share/doc/aptitude/html/en/index.html), кому быструю справку по поисковым шаблонам, тому сюда — /usr/share/doc/aptitude/html/en/ch02s04.html. Если лень ставить доку, то в сети она есть.

Вводная на Debian Wiki: wiki.debian.org/Aptitude

А теперь то что не очевидно или требует полного прочтения документации

Как после update посмотреть какие пакеты будут обновлены?

aptitude search ?upgradable

также можно юзать (если поставить)

sudo daptup

но после его установки точно также будет себя вести и обычный update

Как узнать что изменилось в пакетах которые будут обновлены?

Можно пробовать:

sudo aptitude changelog package_name

для каждого пакета.

Но лучше поставить apt-listchanges, тогда перед любой установкой обновлений будет показан список изменений, по умолчанию настройки не очень удобные, поэтому лучше перенастроить под себя, например, выбрать формат вывода (пока использую текст, при больших обновлениях наверно pager лучше), не слать писем, спрашивать подтверждения, выводить всю информацию. Для этого нужно запустить

sudo dpkg-reconfigure apt-listchanges

Что делать если обновление что-то поломало и нужно откатиться?

Отката нет, можно попробовать найти предыдущую версию пакета

sudo aptitude version package_name

и установить её

sudo aptitude install package_name=version

Как найти все пакеты установленные вручную?

Есть вариант команды

aptitude search '~i!~M'

, но к сожалению он не даёт желаемого результата, так что вопрос остаётся открытым, есть куча способов основанных на анализе логов /var/log/aptitude (+ ротированные куски)/var/log/installer/initial-status.gz/var/log/dpkg.log (+ ротированные куски) но простого и готового решения нет, да информация теоретически может быть потеряна при ротациях, нужно конфигурить

Как посмотреть список файлов в пакете?

если пакет установлен:

dpkg -L package_name

для любых пакетов поставить apt-file и

apt-file list package_name

Как посмотреть какому пакету принадлежит файл?

dpkg -S file_name

Как удалить все пакеты, где есть key в названии пакета?

sudo aptitude purge ~ikey

Как удалить оставшиеся конфиги от удалённых пакетов?

sudo aptitude purge ~c

Как найти пакет пакет, в котором содержится файл lib.so:

apt-file search lib.so

Как сконвертировать rpm пакет в deb?

alien --to-deb /path/to/file.rpm

Как найти список установленных ядер?

dpkg --list linux-* | grep ii

Как установить пакет из testing или experimental?

sudo aptitude -t testing package_name

или

sudo aptitude package_name/testing

Как удалить метапакет, но оставить одну из зависимостей?

Например, вот так - оставляем xsane:

sudo aptitude unmarkauto xsane
sudo aptitude remove ubuntu-desktop

Как узнать что попало в файловую систему мимо системы управления пакетами?

Есть утилита cruft, хотя вопрос интерпретации результатов (файла report) пока открыт

sudo cruft -d / -r report --ignore /home --ignore /var --ignore /tmp

Что есть ещё?

apt-cdrom
apt-spy
auto-apt
apt-key
apt-add-repository

Некоторые вещи умеет только apt-get. Есть альтернативные утилиты для управления пакетами, например wajig, который пытается вобрать в себя функционал всех остальных утилит.

shpargalka_po_upravleniju_paketami_v_debian_ubuntu.txt · Последние изменения: 2013/12/25 12:30 (внешнее изменение)
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика