есть ли способ переименовать каталоги linux по умолчанию (dev, sbin, root и т. д.)

Хорошо, странный вопрос. Я хочу переименовать (переместить и переименовать, если быть более точным) каталоги Linux по умолчанию, такие как dev или sbin (например, в / system / devices и / administrator / binary). Я попытался найти какие-то настройки в menuconfig компиляции ядра, но, на первый взгляд, в ядре нет опций для этого. Возможно ли это без символических ссылок и других нечестных способов?

2 ответа
2

Если вы используете символическую ссылку, вам может сойти с рук, если вы переместите их, нет, каталог dev, по крайней мере, все жестко закодирован во многих файлах. Некоторые из / sbin мая быть жестко запрограммированными в скриптах и ​​exe. Хотя после этого вы можете получить всплывающие сообщения об ошибках, это будет ничто по сравнению с перезагрузкой.

    Ну и да, и нет.

    Ядро Linux на самом деле не заботится о большинстве из них, за исключением нескольких путей (таких как прямая загрузка прошивки из /lib/modules/*/firmware, или обратные вызовы, такие как /sbin/request-key). Все остальное используется исключительно инструментами пользовательского пространства. В /sbin/init path является специальным для ядра только в том случае, если у вас нет initramfs — если у вас есть, то initramfs решает, что выполнять как init.

    Итак, что касается ядро идет, вы можете свободно переименовывать почти все и при необходимости просто пропатчить несколько оставшихся жестко запрограммированных путей.

    Тем не мение, каждый второй пакет заботится об этих путях. Различные программы будут иметь стандартные пути, скомпилированные в — например, так же, как большинство скриптов имеют фиксированный путь интерпретатора, например #!/bin/sh объявлен вверху, поэтому каждый исполняемый файл ELF ссылается на путь /lib/ld-linux.so.2 как «интерпретатор ELF» (за исключением статически связанных исполняемых файлов).

    Во время компиляции многие программы также ищут определенные пути через pkg-config и встраивают их в саму программу или ее файлы данных. Например, большинство демонов ожидают, что их файлы конфигурации будут находиться именно в /etc или /etc/theprogram, так далее.

    Так что, хотя это технически возможно, это большая работа — примерно как запуск собственного дистрибутива полностью с нуля — и, скорее всего, вы еще нужно сохранить символические ссылки вроде /bin -> /Programs для совместимости. На самом деле, некоторые дистрибутивы вроде Гобо Linux имеют пробовал именно это, и они все равно должны сохранить символические ссылки.

      Добавить комментарий

      Ваш адрес email не будет опубликован. Обязательные поля помечены *