Что делать, если вы удалили / usr / local?

Я хотел переместить каталог на /usr/local, но вместо этого mv -r набрал rm -r.

Есть ли способ восстановить удаленные данные в Ubuntu 12.04?

Есть предложения?

Обновление:

Я понимаю, что это потерять не так сложно. Но как насчет будущего.
Есть ли способ обезопасить удаленные файлы (как, например, в Windows - все удаленные файлы gona trash) и восстановить их, если они были удалены случайно?

Или лучше использовать резервное копирование, и оно защищает это действительно слабое место в Ubuntu? [ 1110]

1
задан 14 August 2013 в 02:16

3 ответа

Взгляните на . Есть ли способ восстановить файлы в каталоге / usr / local в Ubuntu? в случае сбоя сервера.

В итоге: LapTop006 указал, что пакеты Ubuntu не должны ничего устанавливать в /usr/local. Один из способов узнать, есть ли у них , - запустить grep '/usr/local/' /var/lib/dpkg/info/*.list. В нем перечислены все, что есть (поэтому его вывод обычно пуст).

Если вы действительно хотите попытаться восстановить данные, wzzrd предложил попробовать ext3grep .

0
ответ дан 14 August 2013 в 02:16

В дополнение к ответу Елии.

Если у вас установлена ​​другая аналогичная установка 12.04 (такая же современная), вы можете попытаться использовать tar или rsync для восстановления / копирования (или перестройки) структуры каталогов. Как объяснено, это в основном для программного обеспечения, скомпилированного из исходного кода (префикс по умолчанию).

Пример

rsync (на сломанном хосте скопируйте /usr/local с исправного хоста через SSH, сломанный корневой раздел смонтирован на /mnt/broken_root):

rsync -axAX --progress --stats root@GOOD_HOST:/usr/local /mnt/broken_root/usr

ПРИМЕЧАНИЕ. Будьте осторожны с косая черта при использовании rsync.

0
ответ дан 14 August 2013 в 02:16

Если вам необходимо восстановить удаленные файлы, необходимо немедленно закрыть только что установленную систему и не использовать ее. Вы можете запустить с live CD при условии, что своп отключен . См. инструкции здесь .

Однако, в большинстве случаев лучше заменить содержимое /usr/local, чем пытаться восстановить . По крайней мере, если вы использовали /usr/local обычным способом.

Обычно /usr/local используется для установки программного обеспечения, которое вы сами скомпилировали из исходного кода. Если вы только (или в основном) использовали его для этой цели, вам следует просто переустановить программное обеспечение (т. Е. Пересоздать /usr/local и собрать и установить программы и / или библиотеки, аналогичные тем, которые вы создали и установили ранее).

Скорее всего, это будет меньше работы и займет меньше времени, чем попытка восстановить содержимое. И это точно будет надежнее. Восстановление данных целесообразно, когда вы потеряли информацию, которую хотите получить, например, содержимое документа, для которого не было выполнено резервное копирование. Но он не будет надежно возвращать вам все те файлы, которые у вас были раньше, там, где они были раньше.

Если вы использовали /usr/local обычным способом, то вам просто нужно перестроить его содержимое.

Если вы не помните, что там было, вам может быть трудно восстановить его. Но вам будет еще труднее его восстановить; очень сложно (часто невозможно) восстановить удаленные файлы, если вы не знаете о них много.

Если вы никогда не использовали его вообще, то, вероятно, там нет ничего важного. Поэтому, если вы не помните, чтобы когда-либо использовало /usr/local для чего-либо, вы можете просто воссоздать его с помощью sudo mkdir /usr/local и больше ничего не делать. (Его подпапки по-прежнему будут отсутствовать, но все, что их использует, как правило, создает их, если они не существуют, поэтому обычно это не проблема.)

Предотвращение этого в будущем

Это относится к обновленной части вопроса.

Сравнение функций безопасности удаления файлов в Ubuntu и Windows

Функция, которую вы ищете, вероятно, будет больше похожа на Восстановление системы в Windows, чем на корзину Windows. В конце концов, когда вы удаляете файлы на рабочем столе в Ubuntu, они отправляются в корзину (если только вы не укажете, что они должны быть удалены навсегда, например, нажав Shift + Delete ). В корзине их можно удалить по-настоящему (очистив корзину) или вынести из корзины. Это поведение идентично корзине в Windows.

И в Windows, и в Ubuntu при удалении файлов из командной строки они действительно удаляются. (Это не означает, что они не подлежат восстановлению, но обычно это означает, что их трудно восстановить и, вероятно, они содержат не подлежащие восстановлению части.)

Хотя в Ubuntu и Windows есть логическая область хранения файлов, помеченных для удаления ( мусор и корзина), Ubuntu не имеет какой-либо функции, которая соответствует восстановлению системы в Windows.

Создание резервных копий

Если вам нужно защититься от потери каких-либо данных, ваше предположение совершенно верно: резервные копии - это правильное решение. Тем не менее, это не особенно "слабое место" в Ubuntu; вы можете серьезно повредить любую часть вашей системы, запустив rm -r от имени пользователя root! (Запуск deltree в качестве администратора в Windows также опасен.)

Избегайте любых ненужных операций над системными каталогами

Перемещение или переименование системных каталогов встречается редко и обычно не требуется. Я рекомендую избегать каких-либо действий с системным каталогом верхнего уровня без необходимости, особенно если вы не можете терпеть поломку.

Избегайте -r, кроме случаев, когда это необходимо (отсутствует такая вещь, как mv -r)

В отличие от команды rm, команда mv не имеет флага -r (см. man mv для деталей). Вам не нужен такой флаг, даже для перемещения непустого каталога. Если вы избегаете использовать -r для команд, где это не нужно, и проявляете особую осторожность в меньшинстве случаев, когда вы используете -r, вы можете уменьшить риск потери данных или других нежелательных изменений в вашей системе. .

Используйте gksudo nautilus (осторожно!), Если хотите убрать вместо , удалить системные файлы.

Вы можете открыть окно браузера файлов root, запустив gksudo nautilus. (В некоторых более поздних версиях Ubuntu gksudo устанавливается не всегда. Вы можете получить его, установив пакет gksu, или вместо него можно использовать sudo -H. Вы не должны использовать plain sudo для запуска графических программ. ) Это дает вам графический интерфейс просмотра файлов с практически неограниченной мощностью.

Это несет в себе свои опасности, и Я не думаю, что это действительно безопаснее, чем командная строка . Однако, когда вы удаляете файл, он должен идти в корзину, а не быть действительно удаленным. Он перейдет в корзину пользователя root, а не в корзину обычного пользователя. Вы можете получить доступ к корзине пользователя root из этого же окна браузера корневых файлов.

Отправка файлов в корзину с правами root не является очень распространенной операцией, поэтому я рекомендую убедиться, что она работает с неважным файлом (возможно, тем, который вы создали для тестирования), и что вы можете восстановить тестовый файл, до того, как полагаясь на такое поведение системы.

Если вы решите использовать окно браузера корневых файлов, помните, что, как и при запуске команд с sudo, ошибка может иметь общесистемные последствия. Кроме того, любая программа, которую вы запускаете из окна браузера корневых файлов, сама будет работать от имени пользователя root . По этим причинам я рекомендую всегда закрывать окно браузера корневых файлов, как только вы его используете.

0
ответ дан 14 August 2013 в 02:16

Другие вопросы по тегам:

Похожие вопросы: