For example in case of Debian, one can specify network configuration in distribution-specific configuration file /etc/network/interfaces or one could use generic Sys-V scripts where network configuration can be specified with generic tools like ip and ifconfig. I would prefer latter option as I don't need to learn the structure and syntax of the distribution-specific configuration file. However, are there any advantages of using distribution-specific configuration files over start-up scripts?


I would suggest using the distribution specific files because they're often used in less obvious ways by other tools within the distribution. So typically what happens is you'll find yourself often having to work against these configurations and creating a nice little mess for yourself.

I can share an experience I had with Fedora/Redhat with the networking setup. You can manually add these in the /etc/sysconfig/network-scripts directory using simple files such as ifcfg-eth0.

However if you try and get these and NetworkManager to co-exist together you'll start to find that you're having to periodically go in to fix you setup customizations that it's not really worth going off the path.

There are examples that I can dig up if you need more convincing, but in general it's best to work with the distro rather than work against it.

  • 1
    Very much this advice. As much as I hate how some of the Linux distributions set up their startup and configuration scripts, trying to work around them leads to more pain. – kurtm Oct 15 '13 at 3:18

Using distribution-specific configuration files has the advantage that you can leverage the automation provided by your distribution. For example Debian packages store scripts in /etc/network/if-up.d/ and siblings that are executed when a network interface is brought up or down. These scripts update DNS sources, flush mail queues, tell services to listen to the new interface, synchronize the system time, perform automounts, etc. If you use low-level tools such as ifconfig and ip instead of distribution-specific tools such as ifup and /etc/network/interfaces, you lose the benefit of all this automation. You're likely to waste more time recreating this automation in a portable way than leveraging what's already there and expressing your configuration in terms of available facilities.

If you're administering a heterogeneous network, you'll have to cope at least with different package managers, different installers, and different init scripts. Next to this, using distribution-specific network configuration scripts is not much effort.


The distribution-specific configuration files can enable a much faster boot. For example, the Arch linux systemd units lead to a boot that takes only 20 seconds or so. Previously, Arch used a BSD or Slackware like set of scripts. While Arch used to boot rapidly, the systemd units take much less time.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.