Делал, восстановил.
Вопрос в другом, как починить если бы бекапа не было, в теории. Ведь на ext2, да еще и спустя время после этой комманды шансы на восстановление стремяться к нулю. Значит только бекапом?
Сейчас вроде бы как перед затиранием корневого каталога должен высвечиваться prompt. Если ты его проигнорировал, то ССЗБ и осталось только сделать вдоль.
На восстановление системы, да, стремятся к нулю. Какие-нибудь данные можно попробовать выковырять testdisk'ом или ещё чем подобным. Но восстановить всё — и данные, и бинарники, и права доступа маловероятно. Устанавливать заново с дистрибутива и разорачивать с резервной копии.
На Linux-девайсах от Motorola можно запустить эту весёлую команду и навсегда убить телефон. Ибо сносится /etc/pds (калибровки, поэтому r/w), который для каждой модельки уникальный ^^
так как ты делал эту команду (предположительно) в bash — то значит всё удалилось, *НО* (наверно) bash остался в памяти и всё ещё может принимать некоторые команды.
с небольшими нюансами. например вместо команды ls (наверняка) нужно будет набрать echo *.
используя эти команды (и прочие извращения), попробуй как-нибудь (незнаю как) выкачать из сети (сеть тоже ведь работает!) утилиту для того чтобы сделать undelete.
далее через эту утилиту (как бы он не называлась бы) — восстанови необходимые важные тебе файлы (документы, не системные).
а остальные (системные) файлы — установи в штатном режиме через установщик дистрибутива, после перезагрузки.
Делал, восстановил. Вопрос в другом, как починить если бы бекапа не было, в теории. Ведь на ext2, да еще и спустя время после этой комманды шансы на восстановление стремяться к нулю. Значит только бекапом?
Откуда же такие неучи берутся. Ты хоть знаешь, что это за команда?
Вопрос был не в полезности, а в «ни создать файл, ни прочитать». Можно и создать, и прочитать.
аналогично, без libc уже ничего не сделаешь
libc ни при чём, в скрипте может быть echo -ne "longlineofdata" > /bin, которое создаст статический ELF. Но запустить его не получится, потому что права на выполнение не будет (даже если предварительно сделать umask 000). Может, кто-то другой придумает, как с этим справиться.
Кстати, ведь /proc никто не отмонтировал, файлы оттуда не удаляются, стало быть из /proc/*/exe можно вытащить бинарники запущенных программ. Вот только нужно ещё и либы, их я не знаю как достать, но теоретически возможно.
libc ни при чём, в скрипте может быть echo -ne «longlineofdata» > /bin, которое создаст статический ELF. Но запустить его не получится, потому что права на выполнение не будет (даже если предварительно сделать umask 000). Может, кто-то другой придумает, как с этим справиться.
Еще как причем, он не запуститься даже с правами. bash тебе выдаст сообщение, что файл не найден.
Взять решение от chmod -x chmod, запилить с его помощью сам чмод, дать ему чмод +х и чмодить дальше.
А разве есть решение, которое возможно запустить в наших условиях? Насколько я знаю, все решения требуют запустить что-то, на чём уже есть право на выполнение (либо запустить динамический линкер, либо нужен другой файл с правом на выполнение, который можно переписать, либо запустить cp, чтобы скопировать с другой системы chmod). Либо же возможность выполнить chmod должна быть в одной из уже запущенных программ: если бы был не bash, а busybox, было бы изи.