Как заменить основные утилиты GNU на Busybox
Мне было интересно: возможно ли заменить GNU coreutils на Busybox в Ubuntu? Это безопасно? Могу ли я заменить что-то еще (например, binutils и bash) на Busybox? Сколько свободного дискового пространства я получу с этим? И, если правдоподобно, как я мог это сделать?
1 ответ
Это невозможно. Busybox в Ubuntu не поддерживает полный набор утилит, предоставляемых coreutils. Примеры включают base64
, comm
, install
, nohup
, Пакеты могут безопасно использовать программы, установленные coreutils
без зависимости от него как от пакета, так как он является необходимым пакетом; нет никаких сведений о том, какие команды coreutils может использовать пакет. Вы можете попробовать собрать Busybox из исходного кода, поскольку полный набор команд включает install
, comm
а также nohup
, а также uuencode
/ uudecode
который мог бы использовать сервер как альтернативу base64
, Тем не менее, даже это имеет пропущенные команды, такие как groups
, paste
, nproc
, truncate
, так далее.
Вы могли бы попробовать. Сделать что-то вроде:
- Symlink
/bin/busybox
к командам coreutils, которые поддерживаютсяbusybox
, - Установить заполнитель
coreutils
пакет с более высоким номером эпохи, чем пакет Ubuntu coreutils, поэтому обновление пакета никогда не произойдет для coreutils. - Установить только те двоичные файлы из фактического
coreutils
пакет, который Busybox не поддерживал. - Надеюсь, что система не рушится. Привыкайте вручную обновлять команды coreutils, когда пакет будет исправлен.
Также невозможно заменить bash или binutils. Bash предлагает гораздо более богатый синтаксис, чем Busybox ash. И, насколько я могу судить, binutils абсолютно не похож на Busybox.
Ubuntu просто не та система, которую вы хотите, если вы заинтересованы в космосе. Посмотрите на некоторые из альтернатив, упомянутых в этом сообщении Супер пользователя.