LINUX.ORG.RU

Восстановить базу portage

 ,


0

1

Копался со снапшотами, тасовал каталоги с симлинками туда-сюда, перезагружался в разные снапшоты, удалял ненужное, в общем, неожиданно я обнаружил, что я удалил каталог /var/db/pkg. Можно ли его как-нибудь восстановить по файлам в системе, или это был выстрел в голову?

Было что-то, восстанавливающее по emerge.log, погугли.
А вообще ссзб, надо бэкапы делать

xorik ★★★★★
()
Ответ на: комментарий от xorik

Было что-то, восстанавливающее по emerge.log, погугли

Нда, придётся таки собирать систему заново. У меня /var/log в tmpfs.

А вообще ссзб, надо бэкапы делать

Бэкапы как раз были, но я подумал: «А зачем мне эти ненужные снапшоты?» и поудалял их.

Kindly_Cat
() автор топика
Ответ на: комментарий от Kindly_Cat

У меня /var/log в tmpfs.

О, у меня так же, но некоторые службы перестали запускаться, т.к. там нет каталога для них, не сталкивался?

xorik ★★★★★
()

Если уж собирать по новой, то

emerge -aeuDN @system
emerge -buDN @system
emerge -kbaeuDN @world

Deleted
()
Ответ на: комментарий от xorik

Используйте каскадное монтирование, например через aufs.

Т.е. вы изначально ставите пакеты без смонтированной каскадно tmpfs на /var, затем монтируете каскадно tmpfs на /var.

kostik87 ★★★★★
()
Ответ на: комментарий от Kindly_Cat

А что ж вы не читаете сообщения, который вам пишут?

Хотя в впредь будет наука, вначале думать а потом делать, в особенности бэкапы.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Не очень понял, например у меня /var/log в tmpfs. Ставлю пакет, ему нужен например каталог /var/log/squid/, а он у меня удаляется после ребута, как поступить?

xorik ★★★★★
()
Ответ на: комментарий от xorik

Мда, вы знаете что такое aufs и каскадное монтирование ?

Пишу ещё раз, разжевывая, от установки системы (для более полного понимания), её можете пропустить :
1. Ставите систему;
2. Ядро собираете с поддержкой aufs или отдельный модуль;
3. Устанавливаете нужные сервисы, что бы создать структуру каталогов в /var, /var/log и прочем;
4. Создаёте, предположим в /mnt/, директории /mnt/log/ro и /mnt/log/rw;
5. Переносите фалы из /var/log/* в /mnt/log/rw;
6. На /mnt/log/rw монтируете tmpfs;
7. Собственно каскадно монтируете через aufs /mnt/log/ro и /mnt/log/rw на /var/log

shm     /mnt/log/rw tmpfs   defaults 0 0
var     /var/log        aufs    udba=reval,br:/mnt/log/rw:/mnt/log/ro  0 0

Теперь необходимая структура директорий для /var у вас будет лежать в /mnt/log/ro, при необходимости записи в /var/log посредством aufs будет происходить запись в tmpfs, смонтированной в /mnt/log/rw.

При необходимости установить какой-либо новый сервис после его установки переносите директории и прочие файлы, необходимые для его работы в /mnt/log/ro.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от xorik

Как я понял метод предложеный тебе, у тебя есть два /var/log один на винте, другой в tmpfs, на винте хранится струкрута директорий и монтируется в первую очередь, потом каскадом монтируется tmpfs, и сами файлы уже создаются в ней. В итоге имеем постоянную структуру директорий и стираемые логфайлы.

daemonpnz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.