portage - проверка правильности установки пакетов
kondakov 23 июля, 2008 - 23:39
Вопрос - есть ли на уровне portage / emerge / emaint / eselect какой-нибудь механизм (программа,скрипт. и т.п., которая проверяет правильность установленного пакета.
Ну, например
emerge -s example
net-libs/example_2.3 installed
net-libs/example_2.5 available
А что это на самом деле означает? То, есть нало проверить (MD5, permissions, )
что в установленном пакете example_2.3 действительно находятся (не затерты, не поменяны права, симв. ссылки)
на
/usr/bin/example
/usr/lib/example.so.4
/usr/lib/example.so -> /usr/lib/example.so.4
/lib/libexample.so.1.3
/lib/libexampl++.1.4
/etc/example.conf
ну , что-то в таком роде
Что бы можно было выяснить, затер ли кто-то или что-то из пакета и он теперь "полуживой"
Надеюсь вопрос ясен?
»
- Для комментирования войдите или зарегистрируйтесь
имхо чушь
имхо чушь какая-то понаписана. По поводу md5 - приглядитесь к тому, что пишет emerge при emerge something (подксказка - там смайлики есть еще :-) ). net-libs/example_2.3 installed - это он пишет, какая версия установлена, net-libs/example_2.5 available - это он пишет, какая доступна, но не установлена.
Почему сразу
Почему сразу чушь?
Я ставил пакеты через .\configure, make && make install - некоторые некорректно написанные пакеты (сейчас уже не помню детали) затерли so файлы и ссылки от "оригинального" emerge- но с точки зрения emerge -s example - пакет был установлен. В качестве эксперимента попробуйте стереть какой-нибудь второстепенный /lib/*.so файл или подправьте ("случайно") в пакете ссылку - emerge -uv такие вещи не находит
эти комманды
эти комманды просто ищуют по дереву пакетов.
из-за таких проблем очень не рекомендуется ставить напрямую из исходников. если это всёже необходимо - нужно ставить в префикс.
теперь найти что-то очень сложно.
поидее можно сочинить скрипт который будет использовать equery из пакета gentoolkit, или посмотреть на пакет udept.
можно просто пересобрать всё, но возможно останется мусор
emerge -e world
.
Кажется, в app-portage/portage-utils я что-то встречал. Там много всего, не помню точно
Всё верно. qcheck
Всё верно. qcheck из app-portage/portage-utils
Может и велосипед, а может и нет:
*Вставляется в ком.строку как есть. Расчитана на bash.
FOUND!! http://www.gentoo.org
FOUND!!
http://www.gentoo.org/doc/en/gentoolkit.xml - equery check делает то, что надо
Мда, про
Мда, про существование prelink сия тулза не подозревает.
Да нет, у меня
Да нет, у меня работает и всегда работало... Так что подозревает )