Я читав знамениту легенду про відновлення 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