Корректность установки пакета.
Ssid 12 марта, 2013 - 23:33
Давно интересует вопрос - есть ли в 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':
Для vim-syntax будет так:
qcheck <pkgname> :
_SerEga_ написал(а): qcheck
благодарю, видимо как раз то, что надо...
если можно, пару уточнений (подробной документации на русском по этой команде действительно не нашел, а раз вы её уже использовали...) по выводу команды.
Пример:
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 Похоже на
Похоже на permissions 600, что означает, что читать его может только root, тогда понятно почему не смог посчитать контрольную сумму
_SerEga_
так вот почему на другой машине (новая, то есть проблемы с железом исключены) у многих пакетов есть отличия в контрольных суммах, при этом все нормально работает
при чем в тех же файлах )))
вот ещё бы как-то отличить, где ошибки установки, а где приобретенные изменения
не тестил, но есть опция
не тестил, но есть опция откатить prelink перед подсчетом
Ещё вопрос - о возможных
Ещё вопрос - о возможных причинах данного явления...
"Битые сектора" на изношенном жестком, проблемы с материнкой, разъемами, шлейфом... что ещё?
Может к массовому появлению приводить не проблемы "железа", а какие-то программные ошибки?
Насчет битого диска можно
Насчет битого диска можно быть уверенным на все сто используя smartmontools. Веселые штуки можно получить накосячив с опциями gcc, включив при сборке отсутствующую в процессоре функциональность. Есть вероятность получить радомно сегфолтящуюся систему. Утилита qcheck сравнивает хеш файлов из базы пакетного менеджера с реальным положением дел. Для начала при помощи опции -B следует получить список расхождений. Затем можно пройтись по каждой позиции дабы посмотреть что именно изменилось с момента установки пакета. Часто ложно срабатывают пакеты, которые идут с конфигами по умолчанию (меняем конфиг - получаем расхождение). Иногда ложно срабатывают пакеты, содержащие файлы, которые затем могут быть переписаны какой нить полезной утилитой. Сомнительно расхождение в контрольных суммах исполняемых файлов и библиотеках. Рамдомное изменение таких файлов с сохранением работоспособности - вещь маловероятная ибо сегфолт. Так что в каждом конкретном случае стоит разобраться что, как и почему изменилось. Дабы не наступать на грабли дважды утилита имеет возможность проапдейтить базу, дабы исключить повторное ложное (по вашему мнению ессно) срабатывание в будущем. Подобный функционал свойственен ВСЕМ нормальным системам, и позволяет снизить риск внедрения руткитов, троянов и прочей шняги. Помимо этого сервера, доступные извне я обычно оснащаю системой контроля целостности типа AIDE. В общем и целом сей функционал полезен для системного администрирования. Использование системы контроля целостности для поиска каких либо неисправностей весьма сомнительно.
Ssid написал(а): Давно
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 написал(а):
qcheck --skip-protected -a -q
qcheck: unrecognized option '--skip-protected'
есть просто --skip не указаны
какие именно возможны
slep@nout ~ $ 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 ;)