Список установленных пакетов Debian. Система управления пакетами APT Apt get update что делает
APT (сокращение от Advanced Packaging Tool) — это набор утилит для установки, удаления, обновления, поиска пакетов в Linux, а также для управления репозиториями. APT еще называют пакетным менеджером.
APT использует репозитории пакетов. Список репозиториев для APT хранится в файле /etc/apt/sources.list , а также в директории /etc/apt/sources.list.d/ .
APT используется в дистрибутивах, основанных на Dedian и Ubuntu .
Для управления APT существуют разные утилиты, но самые популярные из них это утилиты командной строки apt-get и apt.
В данной статье мы рассмотрим, как пользоваться командой apt, а также узнаем, чем отличается apt от apt-get.
Чем отличаются apt и apt-get
Кратко ответим на очень популярный вопрос, а в чем разница между командами apt и apt-get?
apt это утилита, которая появилась, как альтернатива apt-get. Она выполняет практически все те же функции, что и apt-get, но с ней проще и понятнее работать.
Например, все команды apt имеют простой синтаксис: apt название_команды . А у apt-get есть дополнительные команды, например, apt-cache . Таким образом, при использовании apt, пользователю не нужно запоминать дополнительные наборы команд.
Помимо упрощения работы с командами, apt нагляднее выводит информацию, вроде бы мелочи, но работать удобнее. Например, apt умеет показывать прогресс бар, а при выполнении apt update можно увидеть сколько пакетов можно обновить.
Стоит отметить, что утилита apt-get более функциональна, чем apt. Но для рядового пользователя apt будет более чем достаточно.
Команда apt
Синтаксис команды apt следующий:
Sudo apt
Обновить список пакетов
sudo apt updateУ APT есть список репозиториев, из которых происходит установка пакетов. Список хранится в текстовом файле /etc/apt/sources.list , а также в директории /etc/apt/sources.list.d/ . При выполнении команды apt update , APT проходит по списку репозиториев и из каждого репозитория в списке получает информацию о пакетах, находящихся в репозитории. Вся эта информация сохраняется в системе.
Если выходит новая версия какого-нибудь пакета, то APT не узнает об этом, пока не будет выполнена команда apt update . Поэтому, если установить данный пакет (не выполнив предварительно apt update), то будет установлена та версия пакета, информация о которой хранится в системе в данный момент.
Нужно ли выполнять apt update перед установкой каждого пакета?
Нет, перед установкой каждого пакета apt update конечно же выполнять не следует. Достаточно выполнять apt update периодически. Если вам предстоит установка нескольких пакетов, то сначала можно один раз выполнить apt update , а потом уже устанавливать пакеты.
Обновить установленные пакеты
Чтобы выполнить обновление пакетов, установленных в системе, используется команда:
Sudo apt upgrade
Данная команда только обновляет пакеты до новых версий, но никогда не удаляет и не устанавливает другие пакеты.
Есть еще одна команда для обновления пакетов:
Sudo apt full-upgrade
Данная команда выполняет обновление пакетов, а также удаляет или устанавливает новые пакеты, если это потребуется для разрешения зависимостей.
Установить пакет
Чтобы установить пакет используется команда:
Sudo apt install
Установить несколько пакетов
Для установки нескольких пакетов их имена записываются через пробел:
Sudo apt install
Установить определенную версию пакета
Чтобы установить определенную версию пакета нужно после названия пакета, через знак равенства, указать требуемую версию:
Sudo apt install =
Удалить пакет
Для удаления, установленного пакета, используется команда:
Sudo apt remove
Удалить пакет и его конфигурационные файлы
sudo apt purgeapt purge работает аналогично apt remove , но удаляет еще и конфигурационные файлы, относящиеся к пакету. Это означает, что если вы установили какую-нибудь программу, настроили ее, а потом удалили командой apt remove , то конфигурационный файл этой программы останется в системе. Если вы теперь установите эту программу снова, то можно будет использовать предыдущий конфигурационный файл, так как он не был удален.
apt purge не удаляет конфигурационные файлы, хранящиеся в вашей домашней директории.
Если вы удалили пакет командой apt remove , то вы можете выполнить apt purge для данного, уже удаленного пакета, чтобы «доудалить» его конфигурационные файлы.
Удалить неиспользуемые пакеты
sudo apt autoremoveКогда вы устанавливаете пакет, то часто устанавливаются дополнительные пакеты, являющиеся его зависимостями. Если теперь вы удалите этот пакет, то зависимости останутся в системе. apt autoremove удаляет эти зависимости, но только те, которые не нужны другим установленным пакетам.
Список пакетов
Команда apt list используется для вывода списка пакетов по какому-то критерию.
Вывести список установленных в системе пакетов:
Apt list --installed
Вывести список пакетов, которые требуют обновления (у которых вышла новая версия):
Apt list --upgradable
Вывести список всех пакетов доступных для вашей системы:
Apt list --all-versions
Поиск пакетов
apt searchДанная команда выполняет поиск указанного слова в названии пакетов и в описании пакетов. Поддерживаются регулярные выражения.
Можно выполнять поиск только по названиям пакетов для этого используется опция --names-only :
Apt search --names-only
Поиск пакета с использованием регулярных выражений:
Apt search --names-only "^python"
Информация о пакете
apt showВыводит информацию о пакете. Отображается версия, размер, описание, зависимости и другая информация.
Редактирование списка репозиториев
sudo apt edit-sourcesОткрывает файл /etc/apt/sources.list в текстовом редакторе для редактирования, после сохранения изменений и закрытия редактора, выполняет проверку файла на предмет ошибок. В случае наличия ошибок, выводит предложение на повторное редактирование файла, чтобы исправить ошибки.
Таблица аналогов команд apt и apt-get
Команда apt | Аналог команды apt-get | Описание |
---|---|---|
apt install | apt-get install | Установить пакет |
apt remove | apt-get remove | Удалить пакет |
apt purge | apt-get purge | Удалить пакет и конфигурационные файлы |
apt autoremove | apt-get autoremove | Удалить неиспользуемые пакеты |
apt update | apt-get update | Обновить список пакетов |
apt upgrade | apt-get upgrade | Обновить пакеты |
apt full-upgrade | apt-get dist-upgrade | Обновить пакеты (удалить и установить новые, если требуется) |
apt list | Примерный аналог: dpkg-query --list | Список пакетов |
apt search | apt-cache search | Поиск пакета |
apt show | apt-cache show | Информация о пакете |
Для автоматизации процесса установки, удаления и обновления пакетов программ в ряде дистрибутивов Linux применяется Усовершенствованная система управления программными пакетами APT (Advanced Packaging Tool ). Автоматизация достигается созданием одного или нескольких внешних репозитариев, в которых хранятся пакеты программ и относительно которых производится сверка пакетов, установленных в системе. Репозитории могут содержать как официальную версию дистрибутива, обновляемую его разработчиками по мере выхода новых версий программ, так и локальные наработки.
Таким образом, в распоряжении APT находятся две базы данных: одна описывает установленные в системе пакеты, вторая - внешний репозитарий. APT отслеживает целостность установленной системы и, в случае обнаружения противоречий в зависимостях пакетов, руководствуется сведениями о внешнем репозитарии для разрешения конфликтов и поиска корректного пути их устранения.
APT изначально проектировался как не зависящий от конкретного метода работы с установленными в системе пакетами, что позволило разработчикам из бразильской компании Connectiva реализовать в нём поддержку менеджера пакетов RPM . Таким образом, пользователи основанных на RPM дистрибутивов (Fedora Core , Mandriva , ASP Linux , ALT Linux) получили возможность использовать этот мощный инструмент.
Графический интерфейс для APT
Графической оболочкой для APT является synaptic , основанный на мощной системе фильтрации пакетов. Это значительно упрощает интерфейс и вместе с тем предоставляет значительную гибкость при навигации по очень длинным спискам пакетов.
Использование APT
Система APT состоит из нескольких утилит. Главной и наиболее часто используемой является утилита управления пакетами apt-get , которая автоматически определяет зависимости между пакетами и строго следит за их соблюдением при выполнении любой из следующих операций: установка, удаление или обновление пакетов.
apt-get позволяет устанавливать в систему пакеты, требующие для своей работы другие, пока ещё не установленные. В этом случае он определяет, какие пакеты необходимо установить, и устанавливает их, пользуясь всеми доступными репозитариями. Для того, чтобы apt-get мог использовать тот или иной репозитарий, информацию о нем необходимо поместить в файл /etc/apt/sources.list и выполнить команду
~# apt-get update
Эту команду необходимо также выполнять каждый раз, когда вы собираетесь работать с репозитарием после длительного перерыва, так как при поиске пакетов APT должен руководствоваться базой данных, отражающей актуальное состояние репозитария. Такая база данных создаётся заново каждый раз, когда в репозитарии происходит изменение: добавление, удаление или переименование пакета. Для ускорения работы apt-get хранит локальную копию базы данных, которая через некоторое время может уже не соответствовать реальному состоянию репозитария.
В качестве источника пакетов можно использовать и компакт-диски дистрибутива, поскольку на каждом диске присутствует вся необходимая для APT информация о содержащихся на нём пакетах. Для этого необходимо использовать утилиту apt-cdrom с единственным параметром add . Операцию следует повторить для CD из набора. После этого в /etc/apt/sources.list появится запись о подключённом диске.
При отсутствии подключения к сети строки в /etc/apt/sources.list , где говорится о ресурсах, доступных по сети, следует закомментировать.
Поиск пакетов
При отсутствии точного названия пакета для его поиска можно воспользоваться утилитой apt-cache , позволяющей искать не только по имени пакета, но и по его описанию:
~$ apt-cache search wine wine-utils - Эмулятор Wine (Дополнительные программы) libwine-arts - arts support library for wine libwine-twain - twain support library for wine libwine-devel - Headers for libwine-devel libwine - Main library for wine wine - Среда для запуска программ Windows (сборка от Etersoft)
Для того, чтобы подробнее узнать о каждом из найденных пакетов и прочитать его описание, можно воспользоваться командой apt-cache show , которая покажет информацию о пакете из репозитария:
~$ apt-cache show wine-utils
Package: wine-utils
Section: Emulators
Installed Size: 8700
Maintainer: Vitaly Lipatov
Получение зависимостей пакета:
~$ apt-cache depends wine-utils
wine-utils-20040716-alt1
Требует: wine = 20040716-alt1
Требует:
Показывает зависимости не только на файлы, но и на результирующие пакеты, в состав которых входят эти файлы, что очень удобно для анализа возможных трудностей с установкой.
Установка или обновление пакета
Установка пакета с помощью APT выполняется командой:
~# apt-get install имя_пакета
Если результате операций с пакетами без использования APT целостность системы нарушится, то apt-get откажется выполнять операции установки, удаления или обновления. В такой ситуации следует повторить операцию, задав опцию -f , заставляющую apt-get исправить нарушенные зависимости (если это возможно), следя при этом за сообщениями, выдаваемыми apt-get , анализируя их и чётко следуя рекомендациям программы.
Переустановка пакета:
~# apt-get install имя_пакета --reinstall
Полезный режим позволяюший исправить ошибки администратора и сборщика пакета.
Если вы не уверены в том, что в результате выполнения операции система останется работоспособной, запустите apt-get с опцией -s .
В этом случае будет показан отчёт о выполнении операции обновления, но само обновление произведено не будет:
~# apt-get install -s имя_пакета
Удаление установленного пакета
Для удаления пакета используется команда
~# apt-get remove имя_пакета
Для сохранения целостности системы будут удалены и все пакеты, зависящие от удаляемого: если отсутствует необходимый для работы приложения компонент (например, библиотека), то само приложение становится бесполезным. В случае удаления пакета, относящегося к базовым компонентам системы, apt-get потребует дополнительного подтверждения производимой операции с целью предотвратить возможную случайную ошибку.
Обновление всех установленных пакетов
Для обновления всех установленных пакетов используется команда
~# apt-get upgrade
Она позволяет обновить только те пакеты, для которых в репозитариях, перечисленных в /etc/apt/sources.list , имеются новые версии; при этом из системы не будут удалены никакие другие пакеты.
Этот способ полезен при работе со стабильными пакетами приложений, относительно которых известно, что они при смене версии изменяются несущественно.
Изменения в именовании пакетов или изменения их зависимостей командой apt-get upgrade не обрабатываются. Такие ситуации разрешаются в режиме обновления в масштабе дистрибутива:
~# apt-get dist-upgrade
В случае обновления всего дистрибутива APT проведёт сравнение системы с репозитарием и удалит устаревшие пакеты, установит новые версии присутствующих в системе пакетов, а также отследит ситуации с переименованиями пакетов или изменения зависимостей между старыми и новыми версиями программ. Всё, что потребуется поставить (или удалить) дополнительно к уже имеющемуся в системе, будет указано в отчёте apt-get , которым APT предварит само обновление.
Настройка APT
APT позволяет взаимодействовать с репозитарием с помощью различных протоколов доступа. Наиболее популярными из них являются HTTP и FTP .
Работа с локальным репозитарием и удаленными подробно описана в разделе
| |Что такое Apt-Get?
Apt – программа пользовательского интерфейса командной строки для упаковочной системы dpkg, использование которой является предпочтительным способом управления программным обеспечением из командной строки для любого дистрибутива. Это основная система управления пакетами в Debian и дистрибутивах Linux на базе Debian, таких как Ubuntu.
В то время как инструмент «dpkg» формирует базовый упаковочный уровень, apt-get и apt-cache предоставляют удобные интерфейсы и осуществляют обработку зависимостей. Это позволяет пользователям просто и рационально управлять большим количеством программного обеспечения.
Данное руководство говорит об основном использовании «apt-get» и «apt-cache» и их возможностях в управлении ПО. Все примеры рассматриваются на облачном сервере Ubuntu 12.04, но описанные действия и техники можно выполнить на любом дистрибутиве, основанном на Debian.
Обновление базы данных пакета с Apt — Get
Apt-get работает с базой данных известного и доступного программного обеспечения. Данная команда выполняет установку, поиск пакетов, а также другие действия, связанные с этой базой данных.
Поэтому прежде чем начать любую упаковочную операцию с apt-get, нужно убедиться в наличии новейшей локальной копии базы данных.
Обновить базу данных можно с помощью следующей команды. Apt-get требует административных привилегий при исполнении большинства операций:
sudo apt-get update
Будет выведен список серверов, из которых извлекается информация. После этого база данных обновится.
Обновление установленных пакетов с помощью Apt — Get
Пакеты системы можно обновить при помощи следующей команды:
sudo apt-get upgrade
Для более полного обновления используйте аргумент «dist-upgrade», который решает интеллектуальные зависимости новых пакетов и обновляет необходимые программы за счет менее важных:
sudo apt-get dist-upgrade
Установка новых пакетов с Apt — Get
Если имя пакета, который нужно установить, известно, то его можно установить с помощью следующего синтаксиса:
sudo apt-get install package1 package2 package3 ...
Можно также установить несколько пакетов за один раз, что позволяет получить все необходимое для проекта программное обеспечение за один шаг.
Важно понимать, что apt-get устанавливает не только запрашиваемое ПО, но также программы, необходимые для его установки или запуска.
К примеру, полный пакет текстового редактора «vim» можно установить, введя:
sudo apt-get install vim
Удаление пакета с Аpt-Get
Чтобы удалить пакет можно использовать следующую команду:
sudo apt-get remove package_name
Данная команда удаляет пакеты, но сохраняет конфигурационный файл, на случай, если пакет снова будет установлен. Таким образом, настройки останутся невредимыми, даже если программа не установлена.
Если конфигурационный файл не нужно хранить, его можно удалить вместе с программой, используя синтаксис:
sudo apt-get purge package_name
Данное действие удаляет любой конфигурационный файл, связанный с пакетом.
Чтобы удалить какой-либо ненужный пакет, установленный автоматически для поддержки другой программы, введите следующее:
sudo apt-get autoremove
Также можно указать имя пакета после команды «autoremove», чтобы удалить пакет и его зависимости.
Общие флаги Apt — Get
Существует ряд различных опций, которые можно указать при помощи флагов. Рассмотрим некоторые из них.
Чтобы осуществить «пробный прогон» процедуры с целью узнать ее действие, можно использовать флаг «-s» («simulate»):
sudo apt-get install -s htop
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
strace ltrace
The following NEW packages will be installed:
htop
0 upgraded, 1 newly installed, 0 to remove and 118 not upgraded.
Inst htop (1.0.1-1 Ubuntu:12.04/precise )
Conf htop (1.0.1-1 Ubuntu:12.04/precise )
На месте фактических действий можно увидеть разделы«Inst» и «Conf», которые указывают на локацию, куда пакет буде установлен и сконфигурирован, если убрать флаг «-s».
При необходимости настроить автоматическое подтверждение выбора, можно использовать флаг «-у», что автоматически отвечает «да» на все вопросы.
sudo apt-get remove -y htop
Если нужно скачать пакет, но не устанавливать его, можно выполнить следующую команду:
sudo apt-get install -d packagename
Данные файлы будут расположены в «/var/cache/apt/archives».
При необходимости подавить результаты можно использовать флаг «-qq»:
sudo apt-get remove -qq packagename
Поиск пакета с помощью Apt — Cache
Инструмент упаковки «apt», на самом деле, является набором связанных бесплатных инструментов, которые используются для управления программным обеспечением системы.
В то время как «apt-get» используется для обновления, установки и удаления пакетов, «apt-cache» используется для запроса информации в базе данных пакетов.
Чтобы найти нужные пакеты, можно использовать следующую команду. Обратите внимание, apt-cache обычно не требует административных привилегий.
apt-cache search what_you_are_looking_for
К примеру, если нужно найти «htop», улучшенную версию «top», можно ввести следующее:
apt-cache search htop
aha - ANSI color to HTML converter
htop - interactive processes viewer
Можно искать и более общие понятия. В данном примере нужно найти программное обеспечение преобразования mp3:
apt-cache search mp3 convert
abcde - A Better CD Encoder
cue2toc - converts CUE files to cdrdao"s TOC format
dir2ogg - audio file converter into ogg-vorbis format
easytag - viewing, editing and writing ID3 tags
hpodder - Tool to scan and download podcasts (podcatcher)
id3v2 - A command line id3v2 tag editor
kid3 - KDE MP3 ID3 tag editor
kid3-qt - Audio tag editor
. . .
Просмотр информации о пакете с Apt — Cache
Для просмотра информации о пакете, включая расширенное описание, используйте следующий синтаксис:
apt-cache show package_name
Это также предоставит информацию о размере скачивания и необходимых для пакета зависимостях.
Чтобы убедиться, что пакет установлен, и узнать, какому хранилищу он принадлежит, введите:
apt-cache policy package_name
Итоги
Данное руководство предоставляет достаточно информации для управления большей частью программного обеспечения на сервере.
Хотя иногда необходимо выйти за рамки этих инструментов и доступного в репозиториях программного обеспечения, большинством операций ПО можно управлять с помощью этих команд.
Tags: ,Иногда возникают ситуации, когда нужно узнать какие пакеты установлены в системе. Это может понадобиться если вы хотите сделать резервную копию установленных пакетов, проверить их целостность, перенести все пакеты в другую систему и для решения многих других задач. В Debian для этого можно использовать несколько методов.
В сегодняшней статье мы рассмотрим как посмотреть список установленных пакетов Debian с помощью терминала, в интерфейсе curses, а также в графическом интерфейсе. Такие списки можно использовать не только для резервного копирования, но и для того, чтобы просто перебрать и удалить ненужные программы, тем самым очистив систему от мусора.
Самый первый способ посмотреть установленные пакеты Debian, это утилита dpkg. Она может применяться не только в Debian, а во всех, основанных на нем дистрибутивах:
dpkg --get-selections | grep -v deinstall
dpkg --get-selections | grep -v deinstall > mylist.txt
Можно также убрать всю лишнюю информацию и сохранить только имена пакетов:
dpkg -l | grep ^ii | awk "{ print $2}" > mylist.txt
Следующий способ решения этой задачи - использование утилиты dpkg-query. Она похожа на предыдущий вариант, но немного проще. Такая команда отобразит все установленные пакеты вместе с информацией о них:
Здесь тоже можно выбрать только имена пакетов с помощью опции -f:
dpkg-query -f "${binary:Package}\n" -W
Третий метод - это утилита apt, которой мы привыкли пользоваться для установки приложений, она имеет команду list:
apt list --installed
apt list --installed | grep python
Мы более подробно рассматривали apt в статье . Еще одна интересная возможность apt - посмотреть какие пакеты были установлены вручную. Для этого наберите:
apt-mark showmanual
И еще один вариант с использованием apt:
apt-cache pkgnames
Утилита для управления пакетами aptitude тоже позволяет вывести список установленных пакетов:
aptitude search "~i!~M"
Также aptitude может работать в режиме curses, что очень удобно:
Последний способ посмотреть список установленных пакетов - это файл /var/lib/apt/extended_states. Это база данных, в которой содержится установленные программы debian в таком формате:
Package: имя_пакета
Architecture: архитектура
Auto-Installed: 0_или_1
cat /var/lib/apt/extended_states
Восстановление списка установленных пакетов
Многие пользователи создают список пакетов не просто чтобы посмотреть, а для будущего восстановления. Если вы делали список с помощью dpkg, то его можно очень просто восстановить в системе с помощью аналогичной команды:
sudo dpkg --clear-selections
$ sudo dpkg --set-selections < mylist.txt
Все очень просто. Чтобы установить пакеты после добавления их в список используйте команду:
sudo apt dselect-upgrade
Если же у вас просто есть список имен пакетов, то восстанавливать его нужно немного по-другому. Просто передайте все эти имена команде apt для установки:
xargs < mylist.txt apt install -y
Выводы
В этой статье мы рассмотрели как посмотреть список установленных пакетов Debian. Это может быть очень полезно и выполняется достаточно просто. Надеюсь, эта информация была полезной для вас.
Долгое время меня глодало незнание того, как сделать некоторые элементарные вещи в дебиановских менеджерах пакетов, но, как часто бывает, спросить рядом было не у кого, а до написания куда-либо руки не доходили. И вот наконец вопросы вызрели и я написал свой вопрос в дебиановскую рассылку . Естественно оказалось что пропустил что-то очевидное, но и узнал много неочевидных полезностей, посему решил набросать шпаргалку, авось кому пригодится.
Краткая справка Debian администратора
Основное и общеизвестное
Получение информации о новых/обновлённых пакетах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
А теперь то что не очевидно или требует полного прочтения документации
1. Как после update посмотреть какие пакеты будут обновлены?aptitude search ?upgradable
также можно юзать (если поставить)
sudo daptup
но после его установки точно также будет себя вести и обычный update
2. Как узнать что изменилось в пакетах которые будут обновлены?
Можно пробовать
sudo aptitude changelog package_name
для каждого пакета.
Но лучше поставить apt-listchanges, тогда перед любой установкой обновлений будет показан список изменений, по умолчанию настройки не очень удобные, поэтому лучше перенастроить под себя, например, выбрать формат вывода (пока использую текст, при больших обновлениях наверно pager лучше), не слать писем, спрашивать подтверждения, выводить всю информацию. Для этого нужно запустить
sudo dpkg-reconfigure apt-listchanges
3. Что делать если обновление что-то поломало и нужно откатиться?
Отката нет, можно попробовать найти предыдущую версию пакета
sudo aptitude version package_name
и установить её
sudo aptitude install package_name=version
4. Как найти все пакеты установленные вручную?
есть вариант команды (aptitude search "~i!~M"), но к сожалению он не даёт желаемого результата, так что вопрос остаётся открытым, есть куча способов основанных на анализе логов
/var/log/aptitude (+ ротированные куски)
/var/log/installer/initial-status.gz
/var/log/dpkg.log (+ ротированные куски)
но простого и готового решения нет, да информация теоретически может быть потеряна при ротациях, нужно конфигурить
5. Как посмотреть список файлов в пакете?
если пакет установлен
dpkg -L package_name
для любых пакетов поставить apt-file и
apt-file list package_name
6. Как посмотреть какому пакету принадлежит файл?
dpkg -S file_name
7. Как удалить все пакеты, где есть key в названии пакета?
sudo aptitude purge ~ikey
8. Как удалить оставшиеся конфиги от удалённых пакетов?
sudo aptitude purge ~c
9. Как найти пакет пакет, в котором содержится файл lib.so:
apt-file search lib.so
10. Как сконвертировать rpm пакет в deb?
alien --to-deb /path/to/file.rpm
11. Как найти список установленных ядер?
dpkg --list linux-* | grep ii
12. Как установить пакет из testing или experimental?
На эту тему нужно писать отдельно (например так), но если кратко, то команды для этого есть
sudo aptitude -t testing package_name
или
sudo aptitude package_name/testing
13. Как удалить метапакет, но оставить одну из зависимостей?
придётся почитать документацию про ключ unmarkauto или глянуть сюда .
14. Как узнать что попало в файловую систему мимо системы управления пакетами?
Есть утилита cruft, хотя вопрос интерпретации результатов (файла report) пока открыт
sudo cruft -d / -r report --ignore /home --ignore /var --ignore /tmp
15. Какие есть дополнительные репозитории?
Debian - wiki.debian.org/UnofficialRepositories
Ubuntu - множество всяких