Корректность установки пакета.

Давно интересует вопрос - есть ли в Gentoo-based системах возможность проверить целостность установленного содержимого пакета, корректность его установки?
То есть все ли файлы пакета записаны и не "битые" ли они?

Контрольные суммы файлов

Контрольные суммы файлов установленного пакета лежат в '/var/db/pkg/category/package-version/CONTENTS'

К примеру для vim-syntax это будет: /var/db/pkg/app-vim/gentoo-syntax-20120109/CONTENTS .

Я не знаю как запустить проверку файлов пакета средствами emerge, но, скорее всего, должна быть опция, почитайте 'man emerge'. Если же не найдёте, то можно проверить в ручную с помощью 'md5sum -c':

grep -v dir /var/db/pkg/category/package-version/CONTENTS | awk '{ print $3,"",$2 }' | md5sum  -c

Для vim-syntax будет так:

grep -v dir /var/db/pkg/app-vim/gentoo-syntax-20120109/CONTENTS | awk '{ print $3,"",$2 }' | md5sum  -c

qcheck <pkgname> :

qcheck <pkgname>       : verify integrity of installed packages

_SerEga_ написал(а): qcheck

_SerEga_ написал(а):
qcheck <pkgname> 

благодарю, видимо как раз то, что надо...

если можно, пару уточнений (подробной документации на русском по этой команде действительно не нашел, а раз вы её уже использовали...) по выводу команды.
Пример:
3719 out of 3796 files are good (Unable to digest 1 file)
это означает несколько десятков "битых пакетов"? или в случае сборки из исходников некоторые файлы пакета могут отсутствовать в зависимости от параметров в make-файле?

P.S. просто если должны быть все "are good" у меня подавляющее большинство пакетов "битые" (((

активно не тестил, в паре

активно не тестил, в паре пакетов, которые я проверил - все сошлось
контрольные суммы могут отличаться из-за prelink
в каких случаях пишет "Unable to digest" не знаю.
по идее, это те файлы которые emerge ставил в систему, т.е. опции сборки и т.д. влиять не должно

Может у кого-то есть ссылки

Может у кого-то есть ссылки на подробное описание этой команды?
если самый частый вывод "MD5-DIGEST" понятен, то те же "Unable to digest" или "PERM 600" (??) - совсем не очевидны

"PERM 600"из под юзера или

"PERM 600"

из под юзера или рута запускал?
более подробного описания не знаю

из-под обычного

из-под обычного пользователя
принципиально?

PERM 600 Похоже на

PERM 600

Похоже на permissions 600, что означает, что читать его может только root, тогда понятно почему не смог посчитать контрольную сумму

_SerEga_

_SerEga_ написал(а):
...
контрольные суммы могут отличаться из-за prelink

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

вот ещё бы как-то отличить, где ошибки установки, а где приобретенные изменения

не тестил, но есть опция

не тестил, но есть опция откатить prelink перед подсчетом

Ещё вопрос - о возможных

Ещё вопрос - о возможных причинах данного явления...
"Битые сектора" на изношенном жестком, проблемы с материнкой, разъемами, шлейфом... что ещё?
Может к массовому появлению приводить не проблемы "железа", а какие-то программные ошибки?

Насчет битого диска можно

Насчет битого диска можно быть уверенным на все сто используя smartmontools. Веселые штуки можно получить накосячив с опциями gcc, включив при сборке отсутствующую в процессоре функциональность. Есть вероятность получить радомно сегфолтящуюся систему. Утилита qcheck сравнивает хеш файлов из базы пакетного менеджера с реальным положением дел. Для начала при помощи опции -B следует получить список расхождений. Затем можно пройтись по каждой позиции дабы посмотреть что именно изменилось с момента установки пакета. Часто ложно срабатывают пакеты, которые идут с конфигами по умолчанию (меняем конфиг - получаем расхождение). Иногда ложно срабатывают пакеты, содержащие файлы, которые затем могут быть переписаны какой нить полезной утилитой. Сомнительно расхождение в контрольных суммах исполняемых файлов и библиотеках. Рамдомное изменение таких файлов с сохранением работоспособности - вещь маловероятная ибо сегфолт. Так что в каждом конкретном случае стоит разобраться что, как и почему изменилось. Дабы не наступать на грабли дважды утилита имеет возможность проапдейтить базу, дабы исключить повторное ложное (по вашему мнению ессно) срабатывание в будущем. Подобный функционал свойственен ВСЕМ нормальным системам, и позволяет снизить риск внедрения руткитов, троянов и прочей шняги. Помимо этого сервера, доступные извне я обычно оснащаю системой контроля целостности типа AIDE. В общем и целом сей функционал полезен для системного администрирования. Использование системы контроля целостности для поиска каких либо неисправностей весьма сомнительно.

Ssid написал(а): Давно

Ssid написал(а):
Давно интересует вопрос - есть ли в Gentoo-based системах возможность проверить целостность установленного содержимого пакета, корректность его установки?
То есть все ли файлы пакета записаны и не "битые" ли они?

 qcheck --skip-protected -a -q

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga написал(а):

slepnoga написал(а):
 qcheck --skip-protected -a -q

qcheck --skip-protected -a -q
qcheck: unrecognized option '--skip-protected'

есть просто --skip
какие именно возможны не указаны

slep@nout ~ $ q

slep@nout ~ $ q -V
portage-utils-0.21: compiled on Dec 25 2012
$Id: q.c,v 1.52 2011/03/17 03:32:51 vapier Exp $
q written for Gentoo by <solar and vapier @ gentoo.org>

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".