Полезные советы. Проверка установленных пакетов с помощью debsums.

Теперь у вас наконец-то есть установленные бинарники или пакеты в системе. Но они могут быть установлены некорректно или не полностью. Что могло произойти при нестабильном сетевом соединении. Можно заместить такие пакеты, но для этого сначала надо сравнить информацию по файлам в файловой системе и находящуюся в пакете.

В Ubuntu и прочих Debian-based системах можно использовать утилиту debsums, которая сверяет MD5 суммы в каждом установленном пакете с md5sum файлами найденными в директории /var/lib/dpkg/info.

Для установки этой программы воспользуемся:

$ sudo aptitude install debsums

Если запустить debsums без каких-либо опций, то она начнет проверять все доступные ей файлы. В таком случае вывод программы можно перенаправить в отдельный файл. Если md5sum файла совпадает, то справа от названия файла выведется OK. Если md5sum файл отсутствует или не найден, то может быть выведено сообщение md5sums missing или REPLACED. Для исправления такой ситуации необходимо сгенерировать новые md5sums файлы.

Запускаем проверку всех файлов:

$ debsums

ПАМЯТКА У простого пользователя может не хватить прав для работы с некоторыми файлами, поэтому для запуска используйте sudo, а не запуск от пользователя root.

Если необходимо сохранить вывод данной операции, то необходимо перенаправить вывод и ошибки в файл. А добавив амперсанд в конце команды мы сможем продолжить работать в shell пока идет работа команды:

$ debsums &> /tmp/foo &

Для проверки всех конфигурационных файлов, поставляемых с пакетами, на изменения, запускаем debsums с опцией -a:

$ debsums -a

Если вы хотите видеть только измененные файлы и пропустить кучу прочей информации, то нужно воспользоваться опцией -c:

$ debsums -c

Для вывода файлов у который нет информации md5sum воспользуйтесь опцией -l:

$ debsums -l

Если хотите увидеть только ошибки, то воспользуйтесь опцией -s:

$ debsums -s

Для проверки конкретного пакета, укажите имя пакета после debsums в качестве аргумента:

$ debsums coreutils

Если md5sum файла не было с пакетом, то воспользовавшись командой dpkg -L в комбинации с небольшим скриптом на shell, мы можем сгенерировать недостающие файлы в формате необходимом для хранения в директории /var/lib/dpkg/info. Для примера сгенерируем недостающую информацию для пакета rsync.

$ for file in `dpkg -L rsync | grep ^/`; do
test -f "$file" && md5sum "$file";
done > /tmp/rsync.md5sums

В первой строке получаем фалов для нужного пакета, во второй строке запускаем md5sum только для фалов и в третьей сохраняем полученную информацию в файл.

Для полноценного использования полученной информации с debsums с помощью еще одного shell скрипта уберем первый слэш в начале пути к файлу.

$ sed -e 's# /# #g' /tmp/rsync.md5sums > /tmp/rsync.debsums

Теперь после всех обработок можно скопировать полученный файл в /var/lib/dpkg/info.


Полезные советы. Полезные комбинации опций при использовании aptitude.

Опция -v добавляет дополнительную информацию при выполнении операций с помощью aptitude. Если вызвать aptitude с -v, то будет показана md5 сумма пакета, она может быть использована для тестирования пакета если он поврежден. Использование -vv добавит еще больше информации при выполнении команды:

$ aptitude show -vv minicom

Можно использовать опцию -s для того, чтобы посмотреть что же произойдет при выполнении операции, без ее реального выполнения.

$ sudo aptitude -s install minicom

Если добавим опцию -s, то увидим дополнительную информацию:

$ sudo aptitude -vs install minicom

Чтобы не хочется подтверждать установку пакета, то можно воспользоваться опцией -y:

$ sudo aptitude -vs -y install "~ninc"

Похожие записи:

  1. Полезные советы. Удаление пакетов и очистка кэша с помощью aptitude
  2. Полезные советы. Установка пакетов с помощью aptitude
  3. Полезные советы. Обновление и поиск пакетов с помощью aptitude


Полезные советы. Удаление пакетов и очистка кэша с помощью aptitude.

Удалять пакеты с помощью aptitude также легко, как и устанавливать. Для этого достаточно указать опцию remove:

$ sudo aptitude remove minicom

После установки с помощью aptitude скачанные файл .deb находятся /var/cache/archives. Иногда вы хотите почистить файлы из кэша использую опцию clean или autoclean для увеличения свободного места на диске.

$ sudo aptitude clean

Если у вас очень медленное соединение и на скачивание обновлений уходит неделя, то стоит дважды подумать перед чисткой или использовать autoclean с помощью которой удаляются только просроченные (устаревшие) пакеты.

Похожие записи:

  1. Полезные советы. Полезные комбинации опций при использовании aptitude
  2. Полезные советы. Установка пакетов с помощью aptitude
  3. Полезные советы. Обновление и поиск пакетов с помощью aptitude
  4. Полезные советы. Удаление пакетов и очистка кэша с помощью APT
  5. Полезные советы. Удаление пакета с помощью dpkg


© 2001-2015 NLG