відновлення freebsd

Відновлення FreeBSD.

Під FreeBSD є чудовий інструмент оновлення системи для ледачих: freebsd-update. Исользуются просто:

перевіряє і викачує бінарні поновлення до системи, а

Але ось сталося так, що сервер завис в процесі оновлення системи - апаратна проблема. Більш того, завис він саме при оновленні критичною для функціонування всієї системи бібліотеки glibc (це з'ясувалося потім, при детальному обстеженні). В результаті вийшла система, яка на запуск будь-якої програми реагувала "Segmentation Fault".

Під FreeBSD є чудовий каталог / rescue, в якому міститися основні утиліти, статично скомпоновані з бібліотеками. Їм власне при відновленні і скористаємося. На запит при завантаженні системи "Enter full pathname of shell or RETURN for / bin / sh" дамо / rescue / sh. Тепер нам доступні досить багато інструментів для відновлення. Встановимо для зручності шляху:

Тепер, в першу чергу, буде проглядатися каталог / rescue при пошуку необхідної програми і нам не доведеться набирати повний шлях. Необхідно зробити перевірку некоректно отмонтировать розділів і змонтувати розділи:

Можна відновити пошкоджену бібліотеку з резервної копії (Ви ж робите резервні копії?), З інсталяційного диска або з / usr / src, якщо ви компілювали "світ" самі (make buildworld). Я скористався архівною копією з .tgz архіву місячної давності, після чого довів актуальний стан системи за допомогою команди freebsd-update. При наявності більш древньої копії, можливо буде потрібно відновити повністю каталоги / bin, / sbin, / lib, / libexec і відповідні каталоги з / usr. Дві години втраченого часу і трохи нервових клітин.

PS: Робіть резервні копії.

PPS: Роботодавці! Якщо вам шкода 300 баксів на резервний системний блок, то розплачуватися вам доведеться вимушеним простоєм. В даному випадку бізнес підприємства не був зав'язаний на Internet і відновлення пройшло досить швидко, але ж може бути і по-іншому.