RHEL7 is here

Immediate adaption efforts are need – that’s what I feel when I started to mess around with the latest version of Redhat.

morpheus “Good! Adaptation, improvisation, but your weakness is not your technique.” – Morpheus

 

 

Systemd

First thing I notice is many services have been migrated to systemd. That means the traditional service and chkconfig commands are no longer working. Fortunately, systemd is quite easy to work with, for example:

systemctl enable mariadb
systemctl start mariadb
systemctl disable firewalld
sysctmctl -a | grep ntp

Also interesting is that systemd works on remote system with the -H switch. One can also configure systemd to monitor a service and restart it when necessary. For example, edit /usr/lib/systemd/system/httpd.service and add Restart=always to the [Service] section.

A more detail illustration can be found at herehere

XFS

The default filesystem is now XFS and mounted with the following options:

rw,relatime,seclabel,attr2,inode64,noquota

NIC name changes

NIC are now named after its port and slot. For instance, my vbox vm has its first NIC named after enp0s3. NIC names are assigned by systemd. In previous versions, they’re assigned by udev.

NIC teaming

It’s something completely new, see Redhat’s doc. I only managed to bring up a teamed connection with the graphical network manager. It’s not using the bonding module at all. To check a team’s status, do this:

[[email protected] ~]# teamdctl team0 state
setup:
runner: roundrobin
ports:
eth0
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
eth1
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up

Setting hostname

Is no longer done in ifcfg script. Run hostnamectl to set a hostname or update /etc/hostname

hostnamectl set-hostname test01.domain.local

Kernel and release code name

Stock kernel is now 3.10.0-123.el7.x86_64. The 7.0 release’s code name is Maipo. Why not call it Bond :)

Runlevel

Default runlevel is also controlled by systemd and /etc/inittab is no longer used. Good thing is inittab contains doc to change the default runlevel.

 ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

NTP

Although the ntp package is still available and is not included in default install, ntp service is reported to be running with timedatectl. It seems ntp has been replaced by chrony.

More to come…

References

  • http://www.certdepot.net/rhel7-get-started-systemd/
  • http://www.certdepot.net/rhel7-set-ntp-service/
  • https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Configure_a_Network_Team_Using-the_Command_Line.html

Updating RHEL to specific minor release

There are times when updating to the latest minor release is not preferred, maybe a software compatibility issue or just plain stupidity. On RHEL 6.1 and beyond, one can utilzie the releasever parameter to lock the update to specific one. For example:

yum –releasever=6.2 update

But what about RHEL5.x? Redhat suggested mounting the corresponding ISO and set it up as a local repository. Lots of work especially when it’s required for no good reason.

Here there seems to be another way to do it. First, using the update-to option to install the redhat-release package you need. For instance, I want to upgrade from 5.7 to 5.8:

yum update-to redhat-release-5Server-5.8.0.3

Thereis a little trick here, the last release digit needs to be guessed. So I tried from 5.8.0.0 and finally found 5.8.0.3 is available. It can be done with the yum info command.

Next thing is to prevent further update of the redhat-release package. Edit /etc/yum.conf and add

exclude=redhat-release*

Then run yum update as usual.

[[email protected] ~]# lsb_release  -r
Release:    5.8

References:

  • https://access.redhat.com/site/solutions/92383