Я читал знаменитую легенду восстановления Unix , и мне пришло в голову удивление:
Если бы у меня была открыта оболочка BusyBox, а двоичный файл BusyBox был удален сам, смогу ли я по-прежнему использовать все команды, включенные в двоичный файл BusyBox?
Ясно, что я не смог бы использовать версию BB этих команд из другой запущенной оболочки, например bash
, так как сам файл BusyBox был бы недоступен для bash
открытия и запуска. Но из запущенного экземпляра BusyBox, мне кажется, может быть два метода, с помощью которых BB будет выполнять команду:
- Он может создать и выполнить новый экземпляр BusyBox, вызвав его с использованием соответствующего имени и прочитав для этого файл BusyBox с диска.
- Он может выполнить разветвление и выполнить некоторую внутреннюю логику для запуска указанной команды (например, запустив ее как вызов функции).
Если (1) работает BusyBox, я ожидаю, что некоторые команды, предоставленные BusyBox, станут недоступными из запущенного экземпляра BB после удаления двоичного файла BB.
Если (2) работает так, BusyBox можно использовать даже для восстановления системы, в которой был удален сам BB - при условии, что все еще доступен работающий экземпляр BusyBox.
Это где-нибудь задокументировано? Если нет, есть ли способ безопасно проверить это?
PATH
сброса? Это принимает значение по умолчанию PATH
?
is there a way to safely test it?
Загрузите общийopenwrt
образ x86 и прикрепите его к новой машине VirtualBox