Восстановить перемещение корневого каталога рекурсивно

У меня Ubuntu Desktop используется в качестве сервера. Этим утром я случайно переместил весь свой рут на ../

 root@server:/tmp/UPS/up/upsilon# mv /* ../
 mv: impossibile spostare "/dev" in "../dev": Dispositivo o risorsa occupata
 mv: impossibile spostare "/proc" in "../proc": Dispositivo o risorsa occupata
 mv: impossibile spostare "/run" in "../run": Dispositivo o risorsa occupata
 mv: impossibile spostare "/sys" in "../sys": Dispositivo o risorsa occupata
 mv: impossibile spostare "/tmp" in una sottodirectory di sé stessa, "../tmp"
 root@server:/tmp/UPS/up/upsilon# ls
 -bash: /bin/ls: No such file or directory

и был удаленно подключен в ssh. Теперь я не могу получить доступ больше. Я также не могу просмотреть Webmin.

Итак, теперь я не могу перезагрузить систему правильно? И я должен физически получить доступ к системной консоли и набрать эту команду:

../bin/mv ../{bin,boot,etc,home,media,mnt,opt,root,sbin,selinux,usr,var,vmlinuz*}

правильно?

Куда ушел мой корневой каталог и как его вернуть? Будет ли работать вышеуказанная команда?

14
задан 18 July 2016 в 02:42

3 ответа

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

Чтобы усложнить ситуацию, вы также переместили mv так, чтобы это не сработало, как ожидалось. Следующее должно работать (до тех пор, пока вы не перезагрузились после того, как спросили об этом!), Если вы все еще находитесь в той же директории, в которой находились, когда выключили свой последний mv.

../bin/mv ../{bin,boot,etc,home,media,mnt,opt,root,sbin,selinux,usr,var,vmlinuz*} /

Если у вас их нет, просто опустите их в команду.

И если у вас нет доступа (вы не сможете выполнить новый вход в систему, когда все в этом состоянии), вам придется монтировать файловую систему извне (через что-то вроде LiveCD и монтировать файловую систему, а затем переместите файлы в нужное место. Ответ Брайама должен помочь с этой частью.

0
ответ дан 18 July 2016 в 02:42

Если вы уже перезагрузились или вышли из системы, вы можете загрузиться с liveCD / USB, чтобы исправить вашу систему. Я собираюсь пропустить часть, где вы знаете, как создать Live-систему и загрузиться с Ubuntu (альтернативный cd также работает, просто перейдите в корневую оболочку):

Сначала вы должны смонтировать свою систему куда-нибудь Итак:

mkdir /mnt/system
mount /dev/sda1 /mnt/system

Я предполагаю, что /dev/sda1 это ваш корень. Если вы разделили /bin или /usr, вы должны также смонтировать их:

mount /dev/sda2 /mnt/system/usr

Теперь вам следует перейти в каталог, в котором вы находились до катастрофы:

cd /mnt/system/tmp/UPS/up/upsilon

Now с командой, которую дал Оли, которую я скопирую с явным видом:

mv ../{bin,boot,etc,home,media,mnt,opt,root,sbin,selinux,usr,var,vmlinuz*} /mnt/system/

Теперь убедитесь, что все в порядке:

# ls /mnt/system/
bin boot etc home media mnt opt root sbin selinux usr var etc...

Перезагрузите систему и будьте более осторожными в будущее.

0
ответ дан 18 July 2016 в 02:42

У меня была эта проблема, я обнаружил, что мне нужно было вызвать команду mv следующим образом:

/tmp/UPS/up/lib/ld-linux-x86-64.so.2 --library-path /tmp/UPS/up/lib/ /tmp/UPS/up/test/bin/mv /tmp/UPS/up/{bin,boot,etc,home,media,mnt,opt,root,sbin,selinux,usr,var} /

Надеюсь, это поможет другим.

0
ответ дан 18 July 2016 в 02:42

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

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