Как восстановить файлы с более старой установки?

Предыдущие ответы хороши, но я хочу уточнить одну деталь:

rm - это не просто команда. Это программа, которая находится в PATH.

Поэтому, что происходит, когда вы выполняете следующее:

вы вызываете (как root) rm -rf / экземпляр программы rm загружается в память с помощью аргументов -rf и / на основе этих аргументов. Программа rm запускает свои операции (проходя через все в mount / partition и рекурсивно удаляя ссылки на нее [извините за техничность;)]) после ее завершения , экземпляр программы rm выгружается в этот момент, единственные вещи в памяти - это программы, которые были загружены там ранее (например, bash, если у вас есть терминал в Ubuntu, Desktop, ядро, драйверы и т. д.), если вы попытаетесь позвонить любая другая команда (которая в случае, если Linux делает ее автономной программой), она потерпит неудачу, потому что такой программы не обнаружено в местах PATH (и местоположения PATH больше не существуют). Однако все загруженные все еще будут запускаться

Просто для того, чтобы понять, как это работает, попробуйте установить LAMP на ubuntu (в Virtualbox), некоторый кеш скриптов и скриптов PHP, затем вызовите эту команду зла. Удивительно (если вам повезло, и ваш кеш кода операции не заметил удаления файла php), вы все равно можете получить доступ к php-скриптам извне через веб-сервер apache!

PS: эта команда зла даже запускалась, как root wont delete [ f9], он не может удалить некоторые привилегированные процессы ядра из /proc и не может удалить некоторые вещи из /dev устройств, которые отображаются в вашей системе как файлы. На самом деле, корень не настолько всемогущ, как мы думаем, ядро, с другой стороны.

PPS: Также, как вторая мысль, у вас также будут файлы, которые были locked другим процессом в то время попытки удаления.

0
задан 20 January 2018 в 13:10

0 ответов

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

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