Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
shpargalka_po_upravleniju_paketami_v_debian_ubuntu [2013/12/25 12:22]
ansealk
shpargalka_po_upravleniju_paketami_v_debian_ubuntu [2013/12/25 12:30] (текущий)
Строка 1: Строка 1:
 +====== Шпаргалка по управлению пакетами в Debian/​Ubuntu ======
 +===== Основное и общеизвестное =====
  
 +  * Получение информации о новых/​обновлённых пакетах<​code bash>​sudo aptitude update</​code>​
 +  * Обновление<​code bash>​sudo aptitude safe-upgrade</​code>​
 +  * Поиск пакета по именам пакетов<​code bash>​aptitude search key_word</​code>​
 +  * Поиск пакета по точному названию<​code bash>​aptitude search "​^name$"</​code>​
 +  * Поиск по описанию<​code bash>​aptitude search "?​description("​key_word"​)"</​code>​
 +  * Информация о пакете<​code bash>​aptitude show package_name</​code>​
 +  * Установка<​code bash>​sudo aptitude install package_name</​code>​
 +  * Удаление<​code bash>​sudo aptitude remove package_name</​code>​
 +  * Полное удаление (вместе с конфигами)<​code bash>​sudo aptitude purge package_name</​code>​
 +  * Очистить кэш загруженных пакетов (освободить место)<​code bash>​aptitude autoclean # удалятся только пакеты неактуальных версийaptitude clean # очистится весь кэш</​code>​
 +  * Установка отдельно скачанного/​созданного пакета (для создания пакета из сторонних исходников нужно использовать утилиту checkinstall с флагом -D)<code bash>​sudo dpkg -i /​path/​to/​package.deb</​code>​
 +  * Для получения доп информации<​code bash>man aptitude
 +  sudo aptitude install aptitude-doc-en</​code>​
 +и смотрим документацию (/​usr/​share/​doc/​aptitude/​html/​en/​index.html),​ кому быструю справку по поисковым шаблонам,​ тому сюда — /​usr/​share/​doc/​aptitude/​html/​en/​ch02s04.html. Если лень ставить доку, то в сети она есть.
 +
 +Вводная на Debian Wiki: wiki.debian.org/​Aptitude
 +
 +===== А теперь то что не очевидно или требует полного прочтения документации ===== 
 +==== Как после update посмотреть какие пакеты будут обновлены?​ ====
 +<code bash>​aptitude search ?​upgradable</​code>​
 +также можно юзать (если поставить)
 +<code bash>​sudo daptup</​code>​
 +но после его установки точно также будет себя вести и обычный update
 +
 +==== Как узнать что изменилось в пакетах которые будут обновлены?​ ==== 
 +Можно пробовать:​
 +<code bash>​sudo aptitude changelog package_name</​code>​
 +для каждого пакета.
 +
 +Но лучше поставить apt-listchanges,​ тогда перед любой установкой обновлений будет показан список изменений,​ по умолчанию настройки не очень удобные,​ поэтому лучше перенастроить под себя, например,​ выбрать формат вывода (пока использую текст, при больших обновлениях наверно pager лучше),​ не слать писем, спрашивать подтверждения,​ выводить всю информацию. Для этого нужно запустить
 +<code bash>​sudo dpkg-reconfigure apt-listchanges</​code>​
 +
 +==== Что делать если обновление что-то поломало и нужно откатиться?​ ====
 +Отката нет, можно попробовать найти предыдущую версию пакета
 +<code bahs>​sudo aptitude version package_name</​code>​
 +и установить её
 +<code bahs>​sudo aptitude install package_name=version</​code>​
 +
 +==== Как найти все пакеты установленные вручную?​ ====
 +Есть вариант команды ​
 +<code bash>​aptitude search '​~i!~M'</​code>,​ но к сожалению он не даёт желаемого результата,​ так что вопрос остаётся открытым,​ есть куча способов основанных на анализе логов
 +**/​var/​log/​aptitude** (+ ротированные куски)**/​var/​log/​installer/​initial-status.gz/​var/​log/​dpkg.log** (+ ротированные куски) но простого и готового решения нет, да информация теоретически может быть потеряна при ротациях,​ нужно конфигурить
 +
 +==== Как посмотреть список файлов в пакете?​ ==== 
 +если пакет установлен:​
 +<code bash>​dpkg -L package_name</​code>​
 +для любых пакетов поставить apt-file и
 +<code bash>​apt-file list package_name</​code>​
 +
 +==== Как посмотреть какому пакету принадлежит файл? ====
 +<code bahs>​dpkg -S file_name</​code>​
 +
 +==== Как удалить все пакеты,​ где есть key в названии пакета?​ ====
 +<code bahs>​sudo aptitude purge ~ikey</​code>​
 +
 +==== Как удалить оставшиеся конфиги от удалённых пакетов?​ ====
 +<code bahs>​sudo aptitude purge ~c</​code>​
 +
 +==== Как найти пакет пакет, в котором содержится файл lib.so: ====
 +<code bahs>​apt-file search lib.so</​code>​
 +
 +==== Как сконвертировать rpm пакет в deb? ====
 +<code bahs>​alien --to-deb /​path/​to/​file.rpm</​code>​
 +
 +==== Как найти список установленных ядер? ====
 +<code bahs>​dpkg --list linux-* | grep ii</​code>​
 +
 +==== Как установить пакет из testing или experimental?​ ====
 +<code bahs>​sudo aptitude -t testing package_name</​code>​
 +или
 +<code bahs>​sudo aptitude package_name/​testing</​code>​
 +
 +==== Как удалить метапакет,​ но оставить одну из зависимостей?​ ====
 +Например,​ вот так - оставляем xsane:
 +<code bahs>​sudo aptitude unmarkauto xsane
 +sudo aptitude remove ubuntu-desktop</​code>​
 +==== Как узнать что попало в файловую систему мимо системы управления пакетами?​ ====
 +Есть утилита cruft, хотя вопрос интерпретации результатов (файла report) пока открыт
 +<code bahs>​sudo cruft -d / -r report --ignore /home --ignore /var --ignore /​tmp</​code>​
 +
 +==== Что есть ещё? ====
 +  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 Яндекс.Метрика