Безрукий я, /bin/ls No such file or directory или Как я случайно перенес папку lib на удаленном linux-сервере

Недавно я нашел новый способ разнообразить скучный вечер вторника.

Сделал я это конечно ненарочно. Появилось задание — кое что подправить в одном скрипте на удаленном сервере, который принадлежал заказчику. VPS.

Пришли shell-доступы, я настроил filezilla, открыл ssh в консоли. В filezilla листал на тачпаде дерево каталогов и как-то так неудачно зацепил пальцем, что перетянул папку lib из корневого каталога куда-то. Не успел увидеть. Быстро закрыл filezilla, думал может поможет.

Но не помогло. Папка lib переместилась из корня куда-то в подпапки и обратно через filezilla подключиться уже не удалось.

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

Никакими другими правдами и неправдами на сервер уже не было возможно попасть. Меня бросило в жар.

Трясущимися руками я набрал ls в корневом каталоге и получил:

-bash: /bin/ls: No such file or directory

Мне еще больше поплохело. Из всех команд, что я перепробовал, работали cd, cat и echo. Я не мог определить ни куда я переместил злосчастный lib, ни возможности его перенести если вдруг выясню.

Методом тыка и подглядывания в локальное дерево каталогов, я таки нашел lib в папке home, куда он переместился целиком и полностью. Но вот беда:

-bash: /bin/mv: No such file or directory

В сети люди говорили, что возможно следует поискать mv где-то в папках из переменной $PATH, но это ничего не дало. Файлы были в bin, я мог проверить это с помощью cat, но выполнятся без lib не хотели.

И тут мне на помощь пришел замечательный человек под ником Tonny с ServerFault. Он буквально спас мой день (а также ночь и пачку нервов). Я не думаю, что ты прочитаешь это, Tonny, но thank you, dude! I owe you a beer!

Решение проблемы нашлось в

/bin/busybox

«Busybox is almost completely self-contained and has build-in versions of most standard Unix commands» — Busybox — почти самостоятельная замена большинства базовых команд linux.

 

Как и посоветовал Тони, мне помогло:

/bin/busybox mv /home/lib /lib

И все стало на свои места.

Только ощущение осталось, как будто прыгнул Rope-jumping. Только без веревки.

Не попадайтесь.

Полезно(4)Бесполезно(0)

Добавить комментарий

4 Responses to “ Безрукий я, /bin/ls No such file or directory или Как я случайно перенес папку lib на удаленном linux-сервере ”

  1. actionless

    спасибо, вы теперь мой Тонни

    Полезно(0)Бесполезно(0)
  2. Говорили мне не сидеть под рутом) спасибо, помогла статейка)

    Полезно(0)Бесполезно(0)