/bin/sh, /bin/bash и /bin/dash все сломано, как я могу установить их снова
Удалено все /bin/sh
, /bin/bash
а также /bin/dash
, Я не могу установить их, потому что dpkg
а также apt-get
нужна оболочка для установки и нет доступной оболочки. Я все еще вошел в систему, и моя Ubuntu все еще работает. Есть ли способ выйти из этой ситуации. Кстати, у меня сейчас нет Live CD.
2 ответа
Как у вас сейчас работает система:
Загрузите пакеты. Обычно я бы предложил запустить
apt-get download bash dash
но если у вас есть браузер, вы можете ловить их вручную с http://packages.ubuntu.com/ Просто убедитесь, что вы получаете версию для своего дистрибутивного выпуска и архитектуры.Извлеките нужные файлы и поместите их в нужное место. Вам может понадобиться Alt+F2 для запуска
pkexec nautilus
получить root-права на запись./bin/sh
на самом деле символическая ссылка на/bin/dash
, Я не уверен, как это делается (это "переадресация", но я не уверен, каким пакетом), поэтому вам может потребоваться вручную создать символическую ссылку. Опять из Alt+F2:pkexec ln -s /bin/dash /bin/sh
Но я бы также скачал LiveCD сейчас, пока вы там, и записал его на USB-накопитель. Если вы что-то забыли, вам это понадобится при перезагрузке.
Процедура для тире:
sudo apt-get download dash #download dash *.deb file
sudo dpkg-deb -x dash*.deb #extract deb file, a bin directory will be created
sudo cp ./bin/dash /bin/ #copy binary file to /bin directory
sudo ln -s /bin/dash /bin/sh #create a symbolic link from sh to dash
Теперь бинарный файл восстановлен, и все должно быть в порядке, но чтобы просто убедиться, запустите это:
sudo apt-get install --reinstall dash
Та же процедура для bash, но на этот раз нет необходимости создавать символическую ссылку:
sudo apt-get download bash
sudo dpk-deb -x bash*.deb
sudo cp ./bin/bash /bin/
Просто чтобы убедиться:
sudo apt-get install --reinstall bash