CentOS 7 introduces many important changes from previous versions like CentOS 5.x or CentOS 6.x. That’s why today we are going to show you CentOS 7 vs CentOS 6 important changes
At my web hosting company we always delay the usage of new Linux distributions, because the on the first months or years of a Linux distro are always the ones where devs and ops find the most bugs.
If you are running a web hosting company, among many things, there is one thing that will be always in top of your mind: stability. Customers hate errors on their operating systems, or on their web apps. That’s why sometimes you need to sacrifice new features vs keeping your customers happy.
Even CentOS 7 was released a few years ago and since cPanel 11.50 it is already available for cPanel / WHM users, we just started using it right now because now it is fully used everywhere, there are tons of docs about anything related to CentOS 7, and software support for web hosting markets is ready for production stages.
CentOS 7 vs CentOS 6: Important Command Changes
Let’s see the important day to day changes when it comes to Linux commands used in system administration tasks.
Service Management
Services are handled using systemctl, a new daemon that is going to replace the old init.d
Restart, stop, start and service status
systemctl restart X.service systemctl start X.service systemctl stop X.service systemctl status X.service
Replace “X” with your service. If you need to apply this to Apache, this would be the exact commands:
systemctl restart httpd.service systemctl start httpd.service systemctl stop httpd.service systemctl status httpd.service
Enabling or Disabling Services at Boot
Chkconfig has changed, now it is deprecated and you must use systemctl as you see above:
systemctl enable X.service
If you need to enable Apache service, you just need to run:
systemctl enable httpd.service
To check if any of your services is configured at boot time, you can use this command:
systemctl list-unit-files | grep X
Example for munin-node:
[[email protected] ~]# systemctl list-unit-files | grep httpd httpd.service enabled
Systemctl Usage
Systemctl can be configured and tweaked in the same way as on CentOS 6. To tweak systemctl configuration you can edit two files located at:
/usr/lib/sysctl.d/
You will find this two files:
00-system.conf 50-default.conf
In order to make changes you can edit those filres, or the best way is to generate new .conf files inside that directory, for example: extra-configurations.conf, save your custom systemctl rules there, save the file and then run this command to apply changes:
sysctl --system
System Updates with DNF
System updates on CentOS 7 are handled using dnf command, which is almost the same as the old classic yum command See the exampls above to search, install and remove packages from CentOS
dnf search package
dnf install package
dnf remove package
FirewallD as default Firewall
And the time finally came to replace the old lovely iptables with a new firewall rule management. This is a major change on CentOS 7 vs CentOS 6. CentOS 7 made the switch from iptables to firewalld, which offer new major changes to increase your server network filtering.
One big difference of using FirewallD is that when you add new firewall rules you don’t need to reload the whole table as it happened on iptables. The rich rule language allows you to add new dynamic security rules every time you need.
FirewallD comes installed by default on CentOS 7.x. However, if it doesn’t on your system, you can install it using this command:
dnf install firewalld
To start the graphical firewall configuration tool using the command-line type the following command:
firewall-config
If you don’t have firewall-config installed you can grab this from CentOS base repo by running:
dnf install firewall-config
FirewallD and CSF Firewall can not interact and run live on the same system. CSF Firewall is one of the best firewalls ever, and the #1 choice for cPanel servers. If you are going to install CSF Firewall on cPanel, first you need to stop and disable firewalld on your server using this commands.
Stop firewalld
systemctl stop firewalld
Disable/Remove firewalld from the system startup
systemctl disable firewalld
After that you can proceed with CSF firewall installation procedure normally.
Conclusion
This are the most important changes from CentOS 7 vs CentOS 6 in terms of system administration commands that are used in the day to day. However, there are many other important changes like the new adoption of Grub2 as boot loader, support for XFS, among many other things.