I was reading about RHEL 8, and this statement is made:

Network scripts are deprecated in Red Hat Enterprise Linux 8 and they are no longer provided by default. The basic installation provides a new version of the ifup and ifdown scripts which call the NetworkManager service through the nmcli tool.

OK, so to me this would imply that /etc/sysconfig/network-scripts would no longer be used, though it is unclear from my reading what is supposed to replace ifcfg-eth0 (or similar).

But then I read this page about static IP addresses, which asserted:

The procedure to configure a static IP address on RHEL 8: Create a file named /etc/sysconfig/network-scripts/ifcfg-eth0 as follows:

Restart network service on RHEL 8: systemctl restart NetworkManager OR sudo nmcli connection reload

So, is it only the ifup and ifdown that are deprecated, but the configuration files remain? Is the distinction between scripts and configuration files, even though they seem lumped under a single chapter? Chapter 12 of the RHEL defixed network scripts as the:

Chapter 12. Network Scripts
...configuration files for network interfaces and the scripts to activate and deactivate them are located in the /etc/sysconfig/network-scripts/ directory.

So, what constitutes what is deprecated? It doesn't seem to be the scripts in /etc/sysconfig/network-scripts since that apparently is still an appropriate way to configure a static IP.

I do not yet have a RHEL 8 box running, so I am hoping someone can shed light on what it is one is supposed to avoid.


From your first link:

Note that custom commands in /sbin/ifup-local, ifdown-pre-local and ifdown-local scripts are not executed.

If any of these scripts are required, the installation of the deprecated network scripts in the system is still possible with the following command:

~]# yum install network-scripts

So, anything contained in the RHEL 8 network-scripts RPM file or relying on functionality of that RPM is now deprecated. In particular, if you previously used scripts like /sbin/ifup-local to set up some advanced routing or other specialized network configuration, now it's time to find out a new way to do that.

Note that when NetworkManager was introduced into RHEL, it included - and still does - a configuration back-end that uses the old configuration file locations, but with a new NetworkManager infrastructure and an extended version of the old configuration script syntax. So the /etc/sysconfig/network-scripts/ifcfg-* files will still be there and using the same syntax, although they will now be parsed by NetworkManager and not executed as sourced scripts.

The deprecated network-scripts package essentially contains:

  • the SysVinit-style service script /etc/init.d/network
  • the ifup*, ifdown*, init.ipv6-global and network-functions* scripts you've used to seeing in the /etc/sysconfig/network-scripts/ directory
  • classic versions of /usr/sbin/ifup and /usr/sbin/ifdown (which would override the compatibility wrappers for nmcli that are present by default)
  • the /usr/sbin/usernetctl command
  • and the associated documentation and example files

So, when you're not using the deprecated network-scripts RPM, you would now expect the /etc/sysconfig/network-scripts/ directory to only contain the ifcfg-* files for your network interfaces, and possibly route-* files for custom routes, but no other files at all. If you needed the usernetctl command, it's among the deprecated functionality and you should start using the appropriate nmcli subcommands as its replacement.

ifup and ifdown will still be available, but now do their job through NetworkManager, unless you install the deprecated network-scripts RPM.

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.