Действительно ли возможно удалить sh?

Это может звучать глупым, но я хочу удалить sh (в целях исследования) и заменить его моей собственной оболочкой. Действительно ли это на самом деле возможно?

Много сценариев и программ, кажется, имеют его hardcoded в, таким образом, я вызываю сомнение относительно его жизнеспособности.

2
задан 9 September 2016 в 13:37

2 ответа

⚠️, ПРЕДУПРЕЖДАЮЩИЙ! ЧИТАЙТЕ ПРЕЖДЕ, ЧЕМ ВЫПОЛНИТЬ ЛЮБЫЕ КОМАНДЫ! ⚠️

Этот ответ только предоставлен для исследования и к дальнейшему знанию Ubuntu Linux. Выполнение любых команд в этом ответе может уничтожить Вашу систему полностью. Удостоверьтесь, что Вы находитесь в VM или резервном копировании. Я не ответственен, если Вы повреждаете свою систему.

Команда sh обеспечивают dash, посредством символьной ссылки:

$ ll /bin/sh
lrwxrwxrwx 1 root root 4 Jun  1 08:33 /bin/sh -> dash*

$ which sh
/bin/sh

$ dpkg -S /bin/dash
dash: /bin/dash

$ dpkg -S /bin/sh
diversion by dash from: /bin/sh
diversion by dash to: /bin/sh.distrib
dash: /bin/sh

Для удаления его работайте ниже команды:

sudo apt remove dash

APT ответит Вам ударом на удар со следующим сообщением об ошибке:

You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'

Если Вы действительно готовы уничтожить свою систему, ввести это и нажать Return.

Ubuntu затем удалит bash, lightdm, и ubuntu-desktop метапакет (а также все пакеты, которые зависят от тех трех), потому что у них всех есть зависимость от dash. Если Ваша текущая оболочка не будет работать отлично, Ваша система будет неприменима после уничтожения последнего экземпляра bash или dash.

Если Вы на самом деле выполняете с этой командой, единственный способ восстановить надлежащие файлы состоит в том, чтобы загрузиться в Живой CD и переустановить пакеты через a chrootсессия восстановления редактора.

Если Вы действительно удачливы, Вы могли бы все еще смочь восстановить свою систему, живую путем переустановки пакетов, если у Вас все еще есть корневая открытая оболочка. Системы восстановились с худшего прежде, но удача действительно должна быть на Вашей стороне для этого.


Вместо этого я предложил бы, чтобы Вы переделали /bin/sh символьная ссылка для указания на оболочку. В этом случае можно просто восстановить назад к dash если что-то идет действительно действительно неправильно. Сделайте это путем выполнения этих команд:

sudo -s
cd /bin
rm sh
ln -s /path/to/your/shell sh
chmod 777 sh

Восстановите назад к dash путем повторения этих шагов, но определения dash вместо Вашей собственной оболочки. Или просто выполненный sudo apt install --reinstall dash. Вы, возможно, должны были бы указать пользовательское init сделать это.

4
ответ дан 2 December 2019 в 02:18

Я установил бы Вашу собственную оболочку вместе с SH. Удаление SH является ОЧЕНЬ плохой идеей как многочисленные программы и сценарии, полагается на него.

0
ответ дан 2 December 2019 в 02:18

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

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