Легенда о восстановлении Unix

Автор оригинала: Mario Wolczko
  • Перевод
Сейчас много мыслей о том, что ждёт нас в будущем, в 2009 году, да и после. Но почему бы на мгновение не вернутсья в прошлое и не восхититься тем, как хардкорные юниксоиды того времени выкручивались, восстанавливая систему?

Это — перевод статьи Mario Wolczko, опубликованной в Usenet в 1986.


Бывало ли когда-нибудь, что ты оставлял терминал залогиненным, просто чтобы вернуться и увидеть, как (предполагаемый) друг написал в нём rm -rf ~/* и стоит возле клавиатуры: — Одолжи мне пятёрку до четверга, или я нажимаю «энтер».

Без всякого сомнения, этот человек не понимает, какую травму он может нанести, и воспринимает всё как милую шутку.

Это была тихая среда. Если быть точным — среда 1-го октября, 15:15 по британскому летнему времени. Питэр, мой коллега, отошёл от своего терминала и сказал мне: — Марио, у меня тут небольшая проблема с отправкой почты.

Понимая, что такое сообщение может сбить с толку кого угодно, я решил прогуляться до его терминала, чтобы посмотреть, что не так.

В терминале было странное сообщение об ошибке, примерно такое (я уже не помню всех деталей): cannot access /foo/bar for userid 147

Сначала я подумал: у кого userid 147? Отправитель сообщения, получатель или ещё что-то? Тогда я перешёл к другому, уже залогиненному терминалу, и набрал
grep 147 /etc/passwd

просто, чтобы получить ответ
/etc/passwd: No such file or directory.

Тут же я предположил, что чего-то нет. Всё подтвердилось, в ответ на
ls /etc

Я получил
ls: not found.

Я посоветовал Питэру, что хорошей идеей будет ничего сейчас не трогать, и пошёл искать нашего системного администратора.

Когда я пришёл к нему в офис, его дверь была приоткрыта, и в течение 10 секунд я понял, что у нас за проблема. Джэймс, наш менеджер, сидел с головой в руках, руками между коленями, как человек, мир которого только что рухнул. Наш недавно назначенный системный программист, Нэйл, стоял сзади него и пристально, вяло наблюдал за терминалом у него на экране. А я подсмотрел вверху экрана следующее:
# cd<br/># rm -rf *

Вот дерьмо, подумал я. И это ведь всё объясняет.

Я даже не помню, что происходило в следующие минуты; моя память словно размыта. Я помню только, что мы пробовали ls (снова), ps, who и, может, ещё несколько команд — всё бесполезно. Следующее, что я помню: я снова у моего терминала (многооконный графический терминал), набираю
cd /<br/>echo *

Я должен выразить благодарность Дэвиду Корну, ведь он сделал echo встроенной внутрь командной оболочки; не нужно и говорить, что бинарный файл /bin/echo за компанию со всем /bin был удалён. Что прояснилось в следующие несколько минут, так это то, что /dev, /etc и
/lib неразлучимо исчезли, но, к счастью, Нэйл прервал rm в тот момент, когда она была где-то между /news и /tmp; /usr и
/users остались нетронуты.

Тем временем Джэймс добрался до нашего шкафа с кассетами и вытащил что-то с надписью о том, что это бэкап корневой файловой системы, сделанный четыре недели назад. В воздухе витал вопрос: — Как же нам восстановить содержание кассеты?

Мы ведь потеряли не только /etc/restore — все файлы устройств контроллера ленточных накопителей были стёрты. А где живёт mknod? Правильно, /etc. Как насчёт восстановить любой из них по Ethernet с другого VAX? Понятное дело, /bin/tar пропал, а rcp люди из Беркли заботливо положили в
/bin в дистрибутиве 4.3. Кроме того, для работы сети нам нужен как минимум /etc/hosts. Версию cpio мы нашли в /usr/local, но без контроллера ленточных накопителей это, к сожалению, бесполезно.

В качестве альтернативы мы могли бы вытащить загрузочную ленту и пересобрать корневую файловую систему, но ни Джэймс, ни Нэйл никогда не делали этого прежде, и мы не были уверены, что это и есть то, что нам нужно — полностью переформатированный диск и потеря всех наших пользовательских файлов (мы делаем бэкапы пользовательских файлов каждый четверг; по закону Мёрфи всё и должно было случиться именно в среду).
Ещё решение — позаимствовать диск от другого VAX, загрузиться с него, и уже потом разбираться; но тогда бы пришлось звать DEC-инженера — это в самом лучшем случае. У нас было много пользователей, в муках завершающих свои кандидатские диссертации, и потеря возможно недельной работы была немыслима.

Так что же делать? Следующей идеей было написать программу, которая бы создала дескриптор устройства для контроллера ленточных накопителей, но все мы знаем, где живут cc, as и ld. Или, может, сделать минимального вида /etc/passwd, /etc/hosts и прочее, чтобы /usr/bin/ftp смог работать. По счастливой случайности, у меня оказался всё ещё открытый в одном из моих окон gnuemacs — мы могли бы воспользоваться им, чтобы создать passwd и всё остальное, но первым шагом нужно создать директорию, чтобы поместить их туда. Разумеется, был удалён /bin/mkdir, то же самое произошло с /bin/mv, так что мы не могли переименовать /tmp в /etc. Однако это явно была правильная линия для атаки.

К тому моменту к нам присоединился Alasdair, наш местный UNIX-гуру, как оказалось, знающий ассемблер VAX. Так что наш план стал таким:
  1. написать на ассемблере программу, которая бы могла либо переименовать /tmp в /etc, либо создать /etc;
  2. заассемблировать её на другом VAX, сделать uuencode;
  3. записать её в в uu-закодированный файл, используя мой GNU, и сделать uudecode (какой-то умный человек догадался поместить uudecode в /usr/bin).

Остаётся запустить программу. Ещё одно чудо: терминал, который использовался для нанесения ущерба, всё ещё был суперпользовательским после su (достаточно вспомнить, что su находится в /bin), так что у нас хотя бы появился шанс, что всё это заработает.

И вот, мы уже стоим на очаровательном пути к успеху. Потратив всего час, мы состряпали примерно дюжину строчек на ассемблере для создания /etc. Обрезанный бинарный файл оказался длиной всего 76 байт, так что мы сконвертировали его в HEX (читается немного лучше, чем вывод uuencode), и записали, используя мой редактор. Если у вас вдруг когда-нибудь возникнет такая проблема, вот HEX на будущее:
<br/>
070100002c000000000000000000000000<br/>
0000000000000000000000000000000000<br/>
dd8fff010000dd8f27000000fb02ef0700<br/>
0000fb01ef070000000000bc8f88000400<br/>
00bc012f65746300


У меня была подручная программа (а что, у кого-то не было?) для конвертирования ASCII HEX в двоичный код, и вывод /usr/bin/sum совпадал с нашим оригинальным бинарным файлом. Но стоп, секундочку — как же ты установишь права на выполнение без /bin/chmod? За несколько секунд сформированная мысль (которая, как обычно, завершает пару минут раздумий) принесла решение проблемы: нужно записать бинарный файл поверх уже существующего файла, для которого я являюсь владельцем. Вот и хорошо.

Мы вернулись к терминалу с правами суперпользователями, с осторожностью вспомнили поставить umask на 0 (чтобы я мог создавать внутри файлы, используя свой GNU), и запустили бинарный файл. Теперь у нас был /etc, с доступом на запись для всех. Теперь оставалось всего несколько шагов: нужно было создать passwd, hosts, services, protocols, (etc), после чего ftp был готов к работе. Потом мы восстановили содержимое /bin по сети (это невероятно, как тебе начинает жутко не хватать ls после всего нескольких коротких часов без него) и взяли файлы из /etc. Ключевым файлом был /etc/rrestore, с его помощью мы восстановили /dev с бэкап-кассеты. Тут и сказочке конец.

А вот теперь мы задаём себе вопрос, в чём же мораль этой истории. Ну, для начала, стоит хорошо запомнить вечные слова: не паниковать. Мы ведь сначала и хотели просто перезагрузить компьютер и попробовать всё как single-пользователь, но, к сожалению, система при загрузке не нашла бы /etc/init и /bin/sh. Здравое мышление спасло нас от таких действий.

Следующая вещь, которую стоит запомнить, это то, что утилиты UNIX могут использоваться с действительно нетипичными для них целями. Даже без моего gnuemacs мы бы могли выжить, используя, скажем, /usr/bin/grep как замену для /bin/cat.

И последняя вещь. Это невероятно, насколько громадную часть системы можно удалить, не загубив её окончательно. Несмотря на тот факт, что никто бы не смог войти в систему (/bin/login?), и почти все нужные команды пропали, всё остальное выглядело нормально. Естественно, некоторые вещи не могут оставаться живы без, скажем, /etc/termcap, /dev/kmem или /etc/utmp, но, в конечном итоге, всё работает в мире и согласии.

Я оставляю вопрос: оказавшись в такой же ситуации, с возможностью мыслить, учитывая приобретённый теперь опыт, можно было бы решить эту проблему проще?
Поделиться публикацией

Похожие публикации

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 102

    –7
    Я что-то не понял, но разве нельзя было жесткий подлючить к другой машине и скопировать данные?
      +1
      Какие жёсткие? У них там ленточные накопители.
        0
        Подключить ленту к другой машине?
          +1
          Корень ФС на накопителе с последовательным доступом? Ага, представляю.
            0
            Диски, конечно, тоже. На лентах бэкапы и всякие вспомогательные утилиты.
            +1
            нужна /bin/cp которой нет :)
              0
              Почему не подключить туда, где есть?:) Примаунтить и скопировать туда все, что нужно?
                +5
                ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Vax780_small.jpg (как картинку запостить не могу :( ) — вот так выглядит этот компьютер (модель правда не указали в статье), это не sata винт не выключая ПК переткнуть :), плюс наверняка гарантия от производителя, пломбы там и т.п.
                  +5
                  Примаунтить, говорите? Чем маунтить будете?

                  И да, как сказали выше, это не PC, далеко не PC.
              –3
              антиквариат
                +5
                Кстати, оффтопик, конечно, но хабраадминам: перевод не пропускают, если ссылка на оригинал содержит «~» (раньше очень модно было для личных сайтов).
                  +1
                  Только что в этом убедился, в другом топике. :) Распознаватор не распознает урл в качестве урла, если он содержит тильду.
                  0
                  Жессссть!!!

                  Но не смешно- самому приходилось попадать в подобные ситуации… исключительно по собственной глупости((
                    +4
                    Я один раз у себя на Генте умудрился coreutils удалить. Но ничего, в итоге умудрился скопировать их с другого дистрибутива, а потом и заемерджить. Опыт, кстати, очень ценный — становится лучше понятна система изнутри. Что действительно поражает — система продолжает в целом исправно работать. Даже без настолько важной её части.
                      0
                      Я тоже. При обновлении, да?
                        0
                        Угу. Что-то конфликтовало. Причём я видел, меня предупредили, что «через 10 секунд вам будет очень весело». Но я почему-то не остановил процесс. А в итоге получил гораздо менее запутанную систему, в общем-то.
                          0
                          Такими темпами скоро на улице не не сигареты стрелять будут, а диски с дистфайлами ^_^
                          Я бы сказал — не менее запутанную, а более понятную ^_^
                            –1
                            hmax интересно, кто в убунте такой умный придумал рассылать диски по 5шт?..
                            loginex диски раздай друзьям или встань в людном месте и кричи халявная убунта
                            archangel нельзя… милиция за ругань в общественном месте заберет…
                            loginex тогда кричи не в общественном
                            archangel еще и настучат по тыкве… подумают, что это он их убунтой обзывает…
                            archangel наушко «девушка, хотите убунту»:
                            loginex а дЭвушка ответит: Дженту рулит

                            (2006 год, цитата 10772)
                              +1
                              Сейчас по одному уже рассылают.
                                0
                                Один — это по умолчанию. Но в принципе дадут сколько попросишь, если только объяснишь, зачем тебе столько.
                        +1
                        да, порой приходилось разыгрывать жуткие комбинации- после кривого переформатирования винта скажем и пропадания парочки разделов… или MBR. Но иначе я бы и не знал, что такое загружаться с CDшным GRUB :)
                          0
                          Как-то раз в Debian умудрился удалить libc6. Естественно, ничто не соглашалось запускаться и работать =)) Слава богу машина была не особо важная, достаточно было лишь переустановить ОС.
                            +13
                            Это не наш путь. :-)
                            +1
                            дадаааа, было такое в апреле сего года, там маскировка от coreutils к mktemp была, и наоборот. я тоже тогда выбрал большее из зол и грохнул coreutils.
                          +2
                          Да, согласен с автором топика, главное не паниковать и не делать необдуманных действий… =)
                          Очень много слышал подобных историй из уст своих знакомых… И постоянно выручало их то, что они ребутились, а оставались в активном шеле =)
                            +1
                            НЕ ребутились? )
                              +1
                              ага, ссор, очепятка =)
                              0
                              Хочу только отметить, что это всё же не мои слова, а Марио. Хотя я с ним в этом абсолютно согласен. Паника вредна во всех аспектах жизни.
                              –1
                              Как я люблю прогрес и современную технику :) Мучений меньше
                                +1
                                ну да…
                                меньше знаешь — крепче спишь
                                  +2
                                  Если грохается, то навсегда :)

                                  Кстати, в статье нет таких проблем которые не могли бы возникнуть сейчас.
                                  0
                                  «Голова профессора Доуэля.»
                                    –30
                                    Ну и кто после этого не согласится, что UNIX-оиды извращенцы?? Слава богу, в наши дни достаочно переустановить систему)) Правда есть одна проблема: как запомнить труднозапоминаемый список установленных вручную пакетов???

                                      +9
                                      В описанной истории проблема не восстановить систему, а сохранить ценные данные
                                        0
                                        А что, одной командой создать список установленных пакетов, что бы потом другой командой их автоматически установить — уже не судьба?
                                          0
                                          В генту этот список сам создается (world). Так что достаточно его регулярно бэкапить, что я и делаю. Вообще нравится мне эта система, как поставил первый раз — ни разу не переустанавливал. От всех проблем спасал лайв-сиди с настройкой интернета и chroot.
                                            0
                                            А конфигурационные файлы?
                                              0
                                              Ну это само собой. Просто выше говорили именно о списке установленных пакетов, а он хранится не в /etc.
                                            –1
                                            А как отличить список установленных мнойи вручную от тех, что были в дистрибутиве и установились сами???
                                              +1
                                              Делаете список до и после, потом diff. А зачем вам это?
                                                0
                                                Просто экспериментирую с дистрами, и после установки приходится ставить вещи вроде mscorefonts, openvpn (для выхода в интернет), и еще разные пакеты, на память не вспомню, для более-менее комфортной работы.
                                            +2
                                            По-моему ребята решили головоломку, а не извращением занимались.
                                            +1
                                            захватывает)
                                              +2
                                              Хоть квест создавай по мотивам :)
                                                +5
                                                История из жизни:

                                                Потратив как-то несколько часов на подъем ubuntu 8.04.1 + (в голой рутовой консоли) squid + postfix + dovecot с SSL/TLS и всяческими тонкими настройками и в последние минуты делая все «на автомате», зачем-то захотел обновить пакет openssl.

                                                Причем не успела голова сообразить, что так — неправильно, руки уже набрали в консоли apt-get remove openssl (в кратковременном заблуждении считая, что потом мы сразу ему apt-get install сделаем), клацнуть Enter и пару раз нажать Y.

                                                Полтора десятка строчек пробежало по экрану, пока спина успела за долю секунды покрыться испариной, в мозг пришло понимание произошедшего, а пальцы левой руки судорожно нажали Ctrl+C.

                                                Думаю, ясно, что одна из двух Y была ответом на вопрос, действительно ли я хочу удалить несколько десятков пакетов, зависящих от openssl. Полтора десятков пакетов успешно покинуло винчестер, в том числе squid + postfix + dovecot… И ни 3129, ни 995, ни 25 порты дружелюбно откликаться уже не хотели. :)

                                                Хеппи енд у истории правда был простой и незамысловатый: по логам apt'а быстренько был составлен список удаленных пакетов, и они со всеми зависимостями были установлены снова. А конфиги сквида и прочих как лежали на своих местах, так и подхватились обратно без каких-либо телодвижений. :)

                                                Работоспособность сервера была восстановлена за 5 минут и ценой пары седых волос. :)
                                                  0
                                                  Удаляйте всегда пакеты без удаления зависящих.
                                                    +1
                                                    Гента и все LFS-подобные сборки в этом плане более неповоротливые. На компилирование самого быстрого паркета уходит очень много телодвижений.
                                                      0
                                                      То бишь лишиться значительного числа пакетов я бы просто не успел за описанные доли секунды? :)
                                                        +1
                                                        В общем да. Кроме того, там по-умолчанию 10 секунд ожидания специально.
                                                          +1
                                                          10 секунд — на удаление системных пакетов, без которых ни один linux жить не сможет. ls, cp, chroot и т.д. и т.п.
                                                          Остальные — 5 секунд.
                                                        0
                                                        Разговор не о компиляции паркета, а об удалении зависимостей.
                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                      0
                                                      ну у нас байка по фирме ходит, как один из сотрудников вместо |bash написал >bash, затёр шелл :) причём на сервере в сутках езды на поезде. А в генте sh — симлинк на bash, так что и его, получается, тоже.

                                                      В соседней ssh-tty к тому же серверу был emacs — вот через него он восстановил как-то ;)
                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                        –5
                                                        А не мог бы кто-нибудь, разбирающийся в вопросе, пояснить — а в чем, собственно, была проблема? Что им мешало просто переустановить систему с нуля или подключить ленту(или что там у них было) к другому компу?
                                                          +3
                                                          перезапишите касету сохранив третью и седьмую песню, слабо?
                                                            +6
                                                            Как человек, перезаписывавший на кассетах сотни программ для Спектрума, ответственно заявляю — не слабо.
                                                              0
                                                              ыыыыы :)) у меня на отцовском SHARP'e автопоиск (по паузам) ох как помогал быстро находить нужную игрушку :)))
                                                                +1
                                                                А на менее продвинутых машинах очень помогало умение по звуку определять тип грузящихся данных %)
                                                            +5
                                                            Переустановка системы убила бы результаты работы за неделю, а подключить «винт» к другому компу на VAX'е несколько сложнее, чем на «IBM PC», в статье прямо написано, что надо было вызывать инженеров DEC (производителя этих компов)

                                                              0
                                                              Почему убила бы? Почему сейчас не убивает?
                                                                +6
                                                                потому что сейчас не 1986 год
                                                                  +6
                                                                  Потому, что убила бы все разделы, бо с ленты распаковка шла 1 в 1 на диск.
                                                                +3
                                                                Установщик тогдашний при установке не дает нормально не затронуть разделы диска, он позволяет задать их размеры и после этого 1 в 1 распаковать дистрибутив по оным. Соответственно всё успешно удаляется. Посмотрите на vaxine.bitcon.no/section3.html к примеру.
                                                                  +1
                                                                  Ага, теперь понятно.
                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                  +5
                                                                  Вы еще не держите все на SVN? Тогда мы идем к вам )
                                                                  +3
                                                                  В таких случаях полезно иметь busybox где нибудь в /usr/local/bin :)
                                                                    +2
                                                                    Отличная идея для подарка на Новый год, кстати. Готовенький уютненький /usr/local/bin с шеллом и основными системными утилитами.
                                                                      0
                                                                      Для этого, я считаю, нужно просто иметь соседний раздел со стабильной ветвью дебиана.
                                                                        0
                                                                        И держать его примонтированным.
                                                                          +2
                                                                          Конечно. Чтобы при rm -rf / --no-preserve-root он тоже стерся.
                                                                            0
                                                                            Значит, нам необходимо изобрести дополнительные корневые файловые системы. Какой ужас.
                                                                              0
                                                                              Я считаю, что можно просто загружаться туда и чрутиться в сломанную систему.
                                                                    +3
                                                                    У меня компьютер месяц интернет раздавал с отключенным HDD, комп видимо дернули, отвалился шлейф, а оно потихоньку крутилось пока я не решил подправить немного, вошел по ssh а там пусто :) потом понял причину и посмотрел по логам когда это началось ;)
                                                                      –1
                                                                      хатя не, брешу кажется, уже залогинен он был, просто стоял в коморке, ибо по ssh-у врятле б меня пустило без диска(давненько это было могу ошибаться в деталях)
                                                                        0
                                                                        По ssh перестает пускать даже когда файловая система переходит в состояние read only.
                                                                        Я на такую граблю наступил когда одна кривая программка при удалении перезаписисала в Solaris файлик с конфигурацией софтового массива, а потом попросила ребутнуть машину. Зря я тогда согласился.
                                                                      0
                                                                      однажды давно мы лишились удалённого сервера из-за «админа», который перенаправил вывод чего-то, уж не помню чего в /dev/hda
                                                                        +9
                                                                        Фотография
                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                          –5
                                                                          Правильная мораль. Мой EeePC после хард-ребутов постоянно жалуется на левый конфиг Х-сервера синим экраном. Первые пару раз я полностью переустанавливал убунту и настраивал заново. Потом догадался сделать fsck — и всё, система смогла продолжить загрузку :)
                                                                            +3
                                                                            Вы батюшка извращенец.
                                                                              0
                                                                              Всего лишь новичок в линукс-системах.
                                                                                +1
                                                                                Тогда позвольте вам сказать. Читайте руководства и обращайтесь за помощью к более опытным.
                                                                                  0
                                                                                  Я знаю, но у меня такое ощущение что я иногда своими вопросами убить могу, поэтому на форуме обычно ответа не добиваюсь :)
                                                                                  На самом деле ситуация была достаточно щекотливая, и мне и в голову не могло прийти, что система не маунтит диск из-за битого журнала, а целостность не проверяет при запуске потому… что ноутбук на батарее. Когда узнал и выполнил проверку руками — был немного удивлён.
                                                                                    +1
                                                                                    Если бы такими вопросами можно было бы убить, мир *nix исчез бы изза самоубийства всех приверженцев в самом начале.
                                                                                      0
                                                                                      Наверное у меня нет таланта их задавать :)
                                                                                      +2
                                                                                      Кроме форумов есть много средств общения вроде IRC, UseNet, Jabber-чатов.
                                                                              +1
                                                                              тоже кое что вспомнилось в тему:
                                                                              на работе я часто пользуюсь mysql-консолью чтобы проделывать некоторые махинации с базой
                                                                              и вот однажды была запарка — надо было что-то быстро пофиксить (уже не помню) и я вместо select * from… сделал delete from… ) это произошло, потому что я пользовался историей команд. палец как говорится дернулся а мозг не успел до конца осознать. в итоге очистилась очень важная табличка из 300 с лишним строк
                                                                              табличка используется в сервисе 24х7х365
                                                                              но, к счастью админы оперативно сработали и за минут 15 все было восстановлено из ночного дампа %)
                                                                              я конечно тогда за эти 15 минут был весь в холодном поту))

                                                                              после этого я стараюсь не пользоваться историей команд.
                                                                                0
                                                                                У меня было веселее — собирался сдавать часть проекта, надо было почистить почти все таблицы. Выбрал все таблицы в pMA и вместо «очистить» выбрал «удалить». Есесна, я ожидал вопрос «вы уверены?» и сходу ответил «да». А потом уже вчитался в список выполненных запросов.

                                                                                Бэкап нашелся, конечно, но черт знает какой давности. Часть таблиц пришлось создавать заново, по памяти.
                                                                                  +4
                                                                                  А почему вы это делали на продакшене? Надо все отлаживать и писать на дев-версии, а оттуда готовыми скриптами переносить на продакшн…

                                                                                  А за работу на продашене такого рода — нужно по рукам канделябром, канделябром…
                                                                                    0
                                                                                    я так однажды выполнил оракловый скрипт, где в самом начала шло connect user/pass без указания SID, а потом drop table, create table, в терминале с не той переменной окружения ORACLE_SID.
                                                                                    в итоге сердце почти остановилось, когда вместо table or object does not exist я увидел table dropped successfully. система была не продакшн, но 3 млн записей все равно было жалко.
                                                                                    +2
                                                                                    Вспомнилась история, когда один инженер по ошибки (или по кривости рук) в солярисе сказал chmod +x в корне, потом испугался и решил вернуть все назад, сказав там же chmod -x.
                                                                                    Закончилась эта история переустановкой соляриса.
                                                                                      +1
                                                                                      Только легенда умаличвает, кто пустил «такого» любознательного мендежера к этому важному терминалу))
                                                                                        +2
                                                                                        Кстати, я так и не понял, если честно, он ли выполнил эту команду. rm, в смысле.
                                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                                            +1
                                                                                            Хорошо, что во FreeBSD домашние каталоги находятся в /usr/home/. Команда '% rm -rf /' до них доберётся в последнюю очередь. :))
                                                                                              +1
                                                                                              Коменты к этому топику очень неплохо демонстрируют то, что как минимум 20% людей вообще ничего не знают кроме современных технологий

                                                                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                              Самое читаемое