Gentoo. Случайно стёр /var/lib/portage/. Что там было, и как его восстановить? Пока единственное, что заметил: на "emerge world" пишет "'world' is an empty set"
/var/lib/portage/world можно восстановить скриптом regenworld, как описано здесь: http://www.opennet.ru/docs/RUS/gentoo_book/gentoo_doc-1.3.html (благо я /var/log/emerge.log 2 года не чистил), либо самостоятельно анализировать `equery list -i` и `equery d ...`. Я спрашивал про другие файлы в этой директории.
>либо самостоятельно анализировать `equery list -i` и `equery d ...`
Таким макаром внесёшь в world и не нужные там пакеты, которые только по зависимостям нужны. И проще уж тогда по find /var/db/pkg -maxdepth 2 -mindepth 2 -mtime +30|evrem|sort -u
Можно скинуть в /var/lib/portage/world и потом ручками почистить все *lib* и т.п. :)
Потом по emerge --depclean проверить, чтобы не было снесено что-то полезное.
>и потом ручками почистить все *lib* и т.п. :)
где-то на генту.ру было название софтины, которая удаляет мусор из world (то что по зависимастям тянется)
> Таким макаром внесёшь в world и не нужные там пакеты, которые только по зависимостям нужны. И проще уж тогда по find /var/db/pkg -maxdepth 2 -mindepth 2|evrem|sort -u
Спасибо, учту. Что такое evrem ?
В любом случае, regenworld сработал нормально.
У меня вопрос, зачем нужны другие файлы в этой директории?
>Спасибо, учту. Что такое evrem ?
УпсЮ пардон. Это самопальный скриптик для удаления версии из имени пакета:
#!/usr/bin/perl -w
use strict;
while(<>)
{
s/\[ebuild.+\]\s+//;
s/\[I\-\-\] \[ \]\s*//;
s/\s+.+$//;
s/\-r\d+$//;
s/_(pre|alpha|beta|rc|p)\d*$//;
s/^(.+)\-[\d\.]+[a-z]?$/$1/;
print;
}