Показать страницуИстория страницыСсылки сюдаCopy this pageExport to MarkdownODT преобразованиеНаверх Вы загрузили старую версию документа! Сохранив её, вы создадите новую текущую версию с этим содержимым. Медиафайлы{{tag>linux dpkg system packages}} ====== dpkg - Пакетный менеджер ====== ===== Продолжение настройки пакетов ===== <code bash> $ dpkg --configure -a </code> ===== Переустановка пакетов / Восстановдение пакетов ===== * [[debian:repaire:packages]] ==== Исправить ошибки ==== * [[system:apt|apt-get]] clean * [[system:apt|apt-get]] -f install * dpkg --configure -a ===== Список установленных пакетов ===== <code> dpkg --get-selections </code> ===== Поиск пакета, которому принадлежит конкретный файл. ===== Иногда не понятно какому пакету принадлежит данный файл в системе. Будь то исполняемый файл, библиотека и тп. Для этого существует команда dpkg -S чего_ищем, но здесь есть маленькая хитрость: Если указать просто имя програмки (к примеру ssh), то выдастся много ненужного мусора. Чтобы этого не происходило, нужно указывать полный путь к данной программе: <code> $ which ssh /usr/bin/ssh $ dpkg -S /usr/bin/ssh openssh-client: /usr/bin/ssh </code> или проще: <code> $ dpkg -S `which ssh` </code> openssh-client: /usr/bin/ssh Здесь видно что программа ssh входит в пакет openssh-client. ===== Удаление группы пакетов по признаку в названии.===== Иногда хочется удалить группу пакетов содержащих что-то общее в названии (к примеру kde или x-server). Для этого поможет команда dpkg -l 'чего_ищем' - показывает все пакеты удовлетворяющие запросу. К примеру: удалить все что содержит kde: * dpkg -P `dpkg -l '*kde*' | awk '{ print $2 }' | sed '1,6d'` здесь конвеер в подоболочке: * dpkg -P пакет(ы) - удалить пакет(ы) вместе с конфигурационными файлами * dpkg -l '*kde*' - показать все пакеты содержащие слово kde в любой части слова * awk '{ print $2 }' - печатать только второй столбик (содержащий имена пакетов) * sed '1,6d' - удалить первые 6 строк (мусор) У данного конвеера есть маленький недочет: dpkg пытается удалить даже не установленные пакеты в системе. Скриптик работающий более правильно пусть будет домашним заданием! ;-) Прочие вкусности. * dpkg -r имя_пакета - удалить пакет * dpkg -P имя_пакета - удалить пакет вместе с конфигурационными файлами; * dpkg -s имя_пакета - показать подробную информацию о пакете; * dpkg -L имя_пакета - показать список файлов содержащихся в пакете. * dpkg --get-selections - Показывает список установленных пакетов ===== Убрать варнинги dpkg ===== У меня при работе с dpkg и apt-get появились такие сообщения <code> dpkg: warning: parsing file '/var/lib/dpkg/status' near line 25810 package 'kernel-source-2.4.18': error in Version string 'linex3': version number does not start with digit dpkg: warning: parsing file '/var/lib/dpkg/available' near line 48390 package 'am-utils': 'Replaces' field, reference to 'amd': error in version: version number does not start with digit dpkg: warning: parsing file '/var/lib/dpkg/available' near line 48393 package 'am-utils': 'Conflicts' field, reference to 'amd': error in version: version number does not start with digit ... </code> Сообщение в которых фигурирует /var/lib/dpkg/available чистятся командой * $ sudo dpkg --clear-avail Те пакеты, в варнингах которых находится /var/lib/dpkg/status, удалены, но их настройки остались. Для того что бы окончательно почистить на ними можно применить команду apt-get purge * $ apt-get purge kernel-source-2.4.18 ===== Заморозить пакет ===== * aptitude -t squeeze install php * aptitude hold php СохранитьПросмотрРазличияОтменить Сводка изменений Примечание: редактируя эту страницу, вы соглашаетесь на использование своего вклада на условиях следующей лицензии: CC0 1.0 Universal