As I didn’t get chance to have a play with the pre-release CentOS 7.0 builds I decided to wait until DigitalOcean external link lauched their image external link which they did just in time for the weekend.

Check the IP Address

First thing I did was type in ifconfig and got …..

[root@server ~]# ifconfig
-bash: ifconfig: command not found

….. not a good start, have dabbled with a Fedora external link when I installed OpenShift I remembered about the ip command …..

[root@server ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether ff:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
 inet brd scope global eth0
 valid_lft forever preferred_lft forever
 inet6 fe80::fe80:fe80:fe80:fe80/64 scope link 
 valid_lft forever preferred_lft forever

….. I can see a lot of muscle memory having to be re-learned.

Restarting services

Next up is a change I was expecting, the introduction of systemd external link  …..

[root@server ~]# yum install httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base:
 * extras:
 * updates:
Resolving Dependencies
  Running transaction check
  -> Package httpd.x86_64 0:2.4.617.el7.centos.1 will be installed
  Finished Dependency Resolution

Dependencies Resolved

 Package Arch Version Repository Size
 httpd x86_64 2.4.617.el7.centos.1 base 2.7 M

Transaction Summary
Install 1 Package

Total download size: 2.7 M
Installed size: 9.3 M
Is this ok [y/d/N]: y
Downloading packages:
httpd-2.4.617.el7.centos.1.x86_64.rpm | 2.7 MB 00:00:01 
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 Installing : httpd-2.4.617.el7.centos.1.x86_64 1/1 
 Verifying : httpd-2.4.617.el7.centos.1.x86_64 1/1

 httpd.x86_64 0:2.4.617.el7.centos.1

[root@server ~]# service httpd restart
Redirecting to /bin/systemctl restart httpd.service

…. as you can see it did what I asked, but dropped some hints that I should have used systemctl restart httpd. What would systemctl status httpd give us …..

[root@server ~]# systemctl status httpd
httpd.service  The Apache HTTP Server
 Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled)
 Active: active (running) since Sun 20140713 13:24:45 EDT; 4s ago
 Process: 21656 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
 Main PID: 21661 (httpd)
 Status: Processing requests…”
 CGroup: /system.slice/httpd.service
 ├─21661 /usr/sbin/httpd -DFOREGROUND
 ├─21663 /usr/sbin/httpd -DFOREGROUND
 ├─21664 /usr/sbin/httpd -DFOREGROUND
 ├─21665 /usr/sbin/httpd -DFOREGROUND
 ├─21666 /usr/sbin/httpd -DFOREGROUND
 └─21667 /usr/sbin/httpd -DFOREGROUND

Jul 13 13:24:45 systemd[1]: Starting The Apache HTTP Server
Jul 13 13:24:45 systemd[1]: Started The Apache HTTP Server.

….. now thats a lot more useful that what serivce httpd status used to give.

Other highlights & changes

Version number

The initial release of CentOS 7.0 is actually 7.0–1406 (see the numbering part of this notice external link )

New Kernel

CentOS 7.0–1406 ships with 3.10.0–123, which is alot better than the previous 2.6.x kernel which shipped with CentOS 6


CentOS now comes with FirewallD, I can’t say I have ever used it before so more reading external link is neededexternal link


XFS is now the default file system when you install, though DigitalOcean external link have stuck with ext4

Linux Containers

Docker (which I have written about here, here and here) is now fully support out of the box with no need to install EPEL external link , in fact, at the time of writing the CentOS repo was more up-to-date than EPEL.

[root@server ~]# yum list | grep docker
docker.x86_64 0.11.1–22.el7.centos extras 
docker-registry.noarch 0.6.8–8.el7 extras 

Other software

Some changes to later software across the board, here are the highlights ……