2013-03-01 13 views
1

Если я начинаю новый дистрибутив (например LFS):Изменение структуры каталогов defult

  1. Как я могу изменить структуру каталогов?
  2. Что я должен ожидать после его готовности? (возможно, не удается установить большинство пакетов без изменений, не так ли?

Но перед тем как вы проголосовали: меня попросили создать новый дистрибутив для конкретного проекта, который им нужен (на самом деле, новую структуру каталогов с несколькими изменениями, например, удалите каталоги и bin, но без остановки системы. Применение этого дистрибутива настолько ограничено, поэтому я думаю, что это не должно быть большой проблемой, поскольку им нужно всего лишь несколько пакеты для установки

ответ

2

Эти несколько советов, которые приходят на мой взгляд, и, безусловно, это не является полным:.

  1. Ваш PATH должен быть обновлен в сценариях запуска, таких как ~/.bashrc, /etc/profile.d и т. Д., Чтобы отразить обновленные каталоги.
  2. Файлы конфигурации имеют тенденцию часто использовать /var. (/var/log, /var/tmp) Вам нужно будет изменить все эти ссылки на местоположение.
  3. В основном ваше ядро ​​начнет /sbin/init, который начнет инициализацию на /etc/rc.d или эквивалент. Если вы начнете отслеживать все сценарии и службы, вызываемые в этих сценариях запуска, я считаю, что вы должны уловить все места, которые вам нужны, чтобы изменить имена путей.
+0

Спасибо за ответ, а также указав '/ sbin/init' и'/etc/rc.d', это должно быть приятным началом! :) – Mahdi

2

вы можете создать папку под названием system и переместить все файлы в папку /system. и после этого создайте символические ссылки, поэтому система все еще может быть использована. Пример:

su -i

cd /

mkdir system

mv /usr /system/usr

ln -s /system/usr /usr

Я просто сделал это ........ он сломал мою систему XD (я думаю, это потому, что я переместил все файлы в /system, в том числе /boot witch используется GRUB)

Вероятность взлома системы огромна, если у вас нет знаний фона. Например, если вы переместите /bin в /system/bin, то после этого вы не сможете создать символическую ссылку, потому что команда ln (которая является программой) находится в папке /bin, поэтому ее перемещение закончится ошибкой.

также, проверьте gobolinux.org, который основан на том, что я только что сделал. Вся система была реорганизована и поддерживала совместимость, они создали символические ссылки, поэтому им не нужно перепрограммировать приложение при переносе приложений.