Преимущества использования специфичных для дистрибутива файлов конфигурации по сравнению с универсальными сценариями запуска?

Преимущества использования специфичных для дистрибутива файлов конфигурации по сравнению с универсальными сценариями запуска?

Например, в случае Debian можно указать конфигурацию сети в конфигурационном файле конкретного дистрибутива./etc/сеть/интерфейсыили можно использовать общие скрипты Sys-V, где сетевая конфигурация может быть указана с помощью общих инструментов, таких как ipи ifconfig. Я бы предпочел последний вариант, так как мне не нужно изучать структуру и синтаксис файла конфигурации, специфичного для дистрибутива. Однако есть ли какие-либо преимущества использования файлов конфигурации, специфичных для дистрибутива, по сравнению со скриптами запуска?

решение1

Я бы посоветовал использовать файлы, специфичные для дистрибутива, поскольку они часто используются менее очевидными способами другими инструментами в дистрибутиве. Так что обычно случается так, что вам часто приходится работать с этими конфигурациями и создавать себе небольшой беспорядок.

Я могу поделиться опытом, который у меня был с Fedora/Redhat с настройкой сети. Вы можете вручную добавить их в каталог, /etc/sysconfig/network-scriptsиспользуя простые файлы, такие как ifcfg-eth0.

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

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

решение2

Использование специфичных для дистрибутива файлов конфигурации имеет то преимущество, что вы можете использовать автоматизацию, предоставляемую вашим дистрибутивом. Например, пакеты Debian хранят скрипты в /etc/network/if-up.d/и родственных им, которые выполняются при включении или выключении сетевого интерфейса. Эти скрипты обновляют источники DNS, очищают очереди почты, сообщают службам о необходимости прослушивания нового интерфейса, синхронизируют системное время, выполняют автоматическое монтирование и т. д. Если вы используете низкоуровневые инструменты, такие как ifconfigи ipвместо специфичных для дистрибутива инструментов, таких как ifupи /etc/network/interfaces, вы теряете преимущества всей этой автоматизации. Вы, скорее всего, потратите больше времени на воссоздание этой автоматизации в переносимом виде, чем на использование того, что уже есть, и выражение вашей конфигурации в терминах доступных возможностей.

Если вы администрируете гетерогенную сеть, вам придется иметь дело как минимум с разными менеджерами пакетов, разными установщиками и разными скриптами инициализации. После этого использование скриптов конфигурации сети, специфичных для дистрибутива, не требует больших усилий.

решение3

Конфигурационные файлы, специфичные для дистрибутивов, могут обеспечить гораздо более быструю загрузку. Например, systemdмодули Arch linux приводят к загрузке, которая занимает всего около 20 секунд. Ранее Arch использовал набор скриптов, похожих на BSD или Slackware. В то время как Arch загружался быстро, systemdмодули загружаются гораздо быстрее.

Связанный контент