Я хотел переместить каталог на /usr/local
, но вместо этого mv -r
набрал rm -r
.
Есть ли способ восстановить удаленные данные в Ubuntu 12.04?
Есть предложения?
Обновление:
Я понимаю, что это потерять не так сложно. Но как насчет будущего.
Есть ли способ обезопасить удаленные файлы (как, например, в Windows - все удаленные файлы gona trash) и восстановить их, если они были удалены случайно?
Или лучше использовать резервное копирование, и оно защищает это действительно слабое место в Ubuntu? [ 1110]
Взгляните на . Есть ли способ восстановить файлы в каталоге / usr / local в Ubuntu? в случае сбоя сервера.
В итоге: LapTop006 указал, что пакеты Ubuntu не должны ничего устанавливать в /usr/local
. Один из способов узнать, есть ли у них , - запустить grep '/usr/local/' /var/lib/dpkg/info/*.list
. В нем перечислены все, что есть (поэтому его вывод обычно пуст).
Если вы действительно хотите попытаться восстановить данные, wzzrd предложил попробовать ext3grep .
В дополнение к ответу Елии.
Если у вас установлена другая аналогичная установка 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.
Если вам необходимо восстановить удаленные файлы, необходимо немедленно закрыть только что установленную систему и не использовать ее. Вы можете запустить с live CD при условии, что своп отключен . См. инструкции здесь .
Однако, в большинстве случаев лучше заменить содержимое /usr/local
, чем пытаться восстановить . По крайней мере, если вы использовали /usr/local
обычным способом.
Обычно /usr/local
используется для установки программного обеспечения, которое вы сами скомпилировали из исходного кода. Если вы только (или в основном) использовали его для этой цели, вам следует просто переустановить программное обеспечение (т. Е. Пересоздать /usr/local
и собрать и установить программы и / или библиотеки, аналогичные тем, которые вы создали и установили ранее).
Скорее всего, это будет меньше работы и займет меньше времени, чем попытка восстановить содержимое. И это точно будет надежнее. Восстановление данных целесообразно, когда вы потеряли информацию, которую хотите получить, например, содержимое документа, для которого не было выполнено резервное копирование. Но он не будет надежно возвращать вам все те файлы, которые у вас были раньше, там, где они были раньше.
Если вы использовали /usr/local
обычным способом, то вам просто нужно перестроить его содержимое.
Если вы не помните, что там было, вам может быть трудно восстановить его. Но вам будет еще труднее его восстановить; очень сложно (часто невозможно) восстановить удаленные файлы, если вы не знаете о них много.
Если вы никогда не использовали его вообще, то, вероятно, там нет ничего важного. Поэтому, если вы не помните, чтобы когда-либо использовало /usr/local
для чего-либо, вы можете просто воссоздать его с помощью sudo mkdir /usr/local
и больше ничего не делать. (Его подпапки по-прежнему будут отсутствовать, но все, что их использует, как правило, создает их, если они не существуют, поэтому обычно это не проблема.)
Это относится к обновленной части вопроса.
Функция, которую вы ищете, вероятно, будет больше похожа на Восстановление системы в Windows, чем на корзину Windows. В конце концов, когда вы удаляете файлы на рабочем столе в Ubuntu, они отправляются в корзину (если только вы не укажете, что они должны быть удалены навсегда, например, нажав Shift kbd> + Delete KBD>). В корзине их можно удалить по-настоящему (очистив корзину) или вынести из корзины. Это поведение идентично корзине в 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 . По этим причинам я рекомендую всегда закрывать окно браузера корневых файлов, как только вы его используете.