Operations 14 min read

Common Issues and Solutions When Migrating to Red Hat Enterprise Linux 7

This article summarizes eight typical problems encountered when upgrading to RHEL 7—including service management, rc.local scripts, automatic file cleanup, time synchronization, hostname handling, MySQL installation, network configuration, and logging—providing command‑by‑command solutions and best‑practice recommendations.

Sohu Tech Products
Sohu Tech Products
Sohu Tech Products
Common Issues and Solutions When Migrating to Red Hat Enterprise Linux 7

Red Hat Enterprise Linux (RHEL) is widely used for its security, stability, performance and open‑source nature. The latest release, RHEL 7, introduces many changes compared with earlier versions, which can be confusing for existing users.

Part 1 – Service Management Changes

In RHEL 6 and earlier, services were managed with service and chkconfig. RHEL 7 replaces these with systemctl (systemd). The table below shows the equivalent commands for starting, stopping, checking status, restarting, and enabling/disabling services such as Apache ( httpd).

Purpose

RHEL 6

RHEL 7

Start service

service httpd start
systemctl start httpd

(or httpd.service)

Stop service

service httpd stop
systemctl stop httpd

Check status

service httpd status
systemctl status httpd

Restart

service httpd restart
systemctl restart httpd

Check if enabled at boot

chkconfig --list httpd
systemctl is-enabled httpd

Enable at boot

chkconfig httpd on
systemctl enable httpd

Disable at boot

chkconfig httpd off
systemctl disable httpd

Part 2 – Custom Scripts in /etc/rc.local

In RHEL 6 you could place custom startup scripts in /etc/rc.local. RHEL 7 keeps the file only for compatibility and disables it by default. To use it you must make it executable ( chmod +x /etc/rc.d/rc.local) and note that /etc/rc.local is a symlink to /etc/rc.d/rc.local, which has different permissions.

Part 3 – Automatic File Cleanup

RHEL 6 relied on the tmpwatch utility (configured in /etc/cron.daily/tmpwatch) to purge old files from /tmp and /var/tmp. RHEL 7 uses systemd‑tmpfiles‑clean.service with its timer ( /usr/lib/systemd/system/systemd-tmpfiles-clean.timer) and configuration files ( /usr/lib/tmpfiles.d/tmp.conf) to perform the same task.

Part 4 – Time Synchronization

RHEL 6 uses the traditional NTP daemon (configuration in /etc/ntp.conf) and the ntpdate command. RHEL 7 switches to chrony as the default time‑sync service while still providing a compatible ntpdate command. The newer timedatectl tool can display status, set the system clock, change the time zone, and enable NTP synchronization. timedatectl (or timedatectl status)

Show date/time and NTP status timedatectl set-time "2019-07-01 12:00:00" Set system date/time timedatectl list-timezones List available time zones timedatectl set-timezone Asia/Shanghai Configure time zone timedatectl set-ntp true Enable time‑sync service timedatectl set-local-rtc 0 Set hardware clock to UTC

Part 5 – Hostname Modification

RHEL 6 required editing /etc/sysconfig/network after using the hostname command, which did not survive a reboot. RHEL 7 introduces hostnamectl, which changes the hostname instantly and persists across reboots. It also supports graphical tools nmtui and nmtui‑hostname. Hostnames are categorized as static, pretty, and transient.

Part 6 – Installing MySQL

In RHEL 6 you could install MySQL directly with yum install mysql‑server. RHEL 7 replaces the default MySQL package with MariaDB; you can install it via yum install mariadb‑server. MariaDB is a drop‑in replacement for MySQL, sharing the same origin.

Part 7 – Network Interface Configuration

RHEL 6 offered graphical tools such as system-config-network or setup. These are absent in RHEL 7, which uses nmcli (CLI) and nmtui (TUI) for network configuration. It is also recommended to replace legacy commands like ifconfig and route with the ip suite (e.g., ip addr, ip route).

Part 8 – Logging System Upgrade

RHEL 6 relied on rsyslog. RHEL 7 adds systemd‑journald alongside rsyslog, providing the journalctl command for powerful log queries. Common examples include viewing the last 20 lines ( journalctl -n 20), filtering by PID, service, boot, priority, or time range.

Show last 20 lines journalctl -n 20 Show logs of PID 1 journalctl _PID=1 Show sshd logs journalctl _COMM=sshd Show previous boot journalctl -b -1 Show error‑level logs journalctl -p err Show yesterday's logs journalctl --since yesterday Show logs in a time range journalctl --since 09:00 --until 18:00 Conclusion

Beyond the eight issues covered, RHEL 7 also introduces other features such as firewalld (replacing iptables) and various systemd utilities like loginctl and coredumpctl. Exploring these new tools can greatly improve system management and reliability.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Service ManagementcommandsLinux AdministrationRHEL7Systemd
Sohu Tech Products
Written by

Sohu Tech Products

A knowledge-sharing platform for Sohu's technology products. As a leading Chinese internet brand with media, video, search, and gaming services and over 700 million users, Sohu continuously drives tech innovation and practice. We’ll share practical insights and tech news here.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.