The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Маленькие хитрости dpkg (dpkg packet debian linux)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: dpkg, packet, debian, linux,  (найти похожие документы)
From: Тарасов Антон aka Ant0 <mailbox@ant0.ru.> Date: Mon, 20 Oct 2006 14:31:37 +0000 (UTC) Subject: Маленькие хитрости dpkg Оригинал: http://ant0.ru/dpkg.html Версия 1.0 от 2 Июня 2006 Составлено: Anton Tarasov aka Ant0 (mailbox@ant0.ru) Для меня было удивлением узнать, что многие Debian-овцы не знают большинства прелестей dpkg (менеджер пакетов Debian). В этой статье попробую раскрыть некоторые приятные возможности, которыми иногда пользуюсь. Обновление системы из папки с новыми .deb пакетами. У меня дома выход в Сеть очень дорогой (GPRS), а иметь свежую систему хочеться. Для этого я регулярно приношу с работы домой кеш новых пакетов на DVD. Далее сливаю все это в одну папочку и даю комманду: dpkg -i -R -G -E --abort-after=10000 /путь/к/пакетам/ , здесь: * -i - установить пакет; * -R - делать это рекурсивно, начиная с указанного пути; * -G - не устанавливать более старую версию пакета, чем стоит в системе; * -E - не устанавливать пакет той же версии, что и в системе; * --abort-after=10000 - прервать выполнение комманды после 10000 ошибок. Часто получаеться что в кеше существует несколько версий одного и того же пакета. И если все они новее, чем в системе, то все они будут установлены в порядке возрастания. Но иногда случаеться что этим пакетам нужны разные версии других пакетов. Или устанавливливаються конфликтующие пакеты. Все это и порождает ошибки, а abort-after по дефолту равно 50 и этого не всегда достаточно. После выполнения данной комманды иногда приходиться запустить еще несколько раз комманду: dpkg --configure -a --abort-after=10000 , здесь: * --configure - сконфигурировать распакованный пакет; * -a - сделать это для всех распакованных, но еще не сконфигуренных пакетов; * --abort-after=10000 - прервать выполнение комманды после 10000 ошибок. Если ошибки остаються, то приходиться уже ручками исправлять чего не нравится dpkg (удалить конфликтующий пакет или установить конкретную версию нужного пакета). Поиск пакета, которому принадлежит конкретный файл. Иногда не понятно какому пакету принадлежит данный файл в системе. Будь то исполняемый файл, библиотека и тп. Для этого существует комманда dpkg -S чего_ищем, но здесь есть маленькая хитрость: Если указать просто имя програмки (к примеру ssh), то выдасться много ненужного мусора. Чтобы этого не происходило, нужно указывать полный путь к данной программе: $ which ssh /usr/bin/ssh $dpkg -S /usr/bin/ssh openssh-client: /usr/bin/ssh или проще: $ dpkg -S `which ssh` 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 -P имя_пакета - удалить пакет вместе с конфигурационными файлами; * dpkg -s имя_пакета - показать подробную информацию о пакете; * dpkg -L имя_пакета - показать список файлов содержащихся в пакете.

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Спонсоры:
MIRhosting
Fornex
Hosting by Ihor
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру