My home PC server has been installed with CentOS 7. After three years with Ubuntu on this PC, I’ve decided this was a good time to switch back to something I’m more familiar and comfortable with. Although Ubuntu was really meant to be easy to use and sport a prettier user interface, it somehow didn’t work out for me.
Installing CentOS 7 was relatively straightforward. That’s because I could just trash Ubuntu and install CentOS 7. I didn’t need to upgrade. There was nothing, almost, on the OS disk that I needed to preserve. For some years now, all my data is contained in separate disks. Not separate partitions, but really separate disks. It makes jumping into a new operating system so easy this way.
Barely a week after the officially release of CentOS 7, I’ve already dived into it. The installation steps were straightforward. I used a USB stick to do a local install, so the graphical installer ran. I haven’t done a graphical install in a long while. It does look like the installation steps are cut down from before. The setup details that you have to provide are now organised neatly into 7 sections. The installer shows you which ones need your attention, and you don’t have to work with them in any prescribed order. It’s a nice refreshing change.
The ISO image I downloaded (the “everything” version) can be directly written into a USB stick with dd
. It will support EFI booting too, which my computer is able to do. This will be my first EFI Linux installation at home.
I want to gripe about the software selection. To this day, installers are asking users to make choices between options that don’t seem to be mutually exclusive. The installer only allows you to pick one, but what if you want two or more of them? For example, here are the software selection offered by CentOS 7:
- Minimal install
- Infrastructure Server
- File and Print Server
- Basic Web Server
- Virtualization Host
- Server with GUI
- GNOME Desktop
- KDE Plasma Workspace
- Development and Creative Workstation
Let’s see, for my home PC server, I should obviously choose File and Print Server. I will use it as a file server after all. But, hey, I want a GUI with it. Should I then choose Server with GUI? What if I want a full GNOME Desktop too? Now how about development and creative software that I’d expect to also need to have?
Although there are further package choices you can pick after you’ve selected your base environment, there seems to be limited flexibility. It’s actually not a big problem, at least for someone familiar with RPMs and using yum
. I can always install additional stuffs by hand later. However, I think it would be so much better if the installer had allowed options to be added together. The packages or environments can be organised into logical groups, and users choose what groups of stuffs are needed.
Moving on, the disk partitioning crashed twice on me. Yeah, I think it might have worked perfectly if I had let the installer auto-partition everything for me. But I have my ideas about how my disks should be partitioned. I like a separate /opt
, and at least at a work place server, also a separate /var
.
I noticed Btrfs is offered. I’m surprised. I thought Btrfs wasn’t considered all that production stable quality. I checked up, and found that Red Hat labels Btrfs a “technology preview”. Is it a nicer way of saying “beta”? Now I’m worried. I thought everything in an enterprise Linux should be stable and reliable. Users (which mean the system administrators in this case) should not have to think about the impact or repercussions of their installation choices on the robustness or stability of their resulting system. Whatever they choose, the resulting installed system should work with enterprise grade quality.
Oh well, perhaps Btrfs is a lot better than my failed experience last year. I liked Btrfs’ feature set, and I’ll try it out again when I have time. For now, I’d suggest to stick with XFS. XFS is not new, but it is a new offering from previous versions. Ext4 is no longer offered by default.
Installation was otherwise uneventful. I use a SSD for the OS boot disk, so the install was relatively quick.
First boot. I found eth0
has become enp5s0
. Why, oh why. It’s enp5s0f0
in my work place server. I thought the Intel NIC at work was somehow fancy enough that justified a special interface name. My home PC, however, has a plain simple Realtek NIC. Please tell me what’s wrong with eth0
?
I wished I could report how comfortable I felt with CentOS 7. Alas, it was short lived. I quickly discovered much new learning that I had to do.
- The old style init scripts are no more. It’s time to start learning systemd. Use the systemctl command to start, stop, restart, and check status of services, among other things. Service names have changed from simple
httpd
tohttpd.service
. - Where is my MySQL server? Ok, its now mariadb.
- There’s
iptables
, but you know saved configurations used to be in/etc/sysconfig/iptables
. Start learningfirewall-cmd
, because CentOS now uses firewalld.
There’s going to be more to learn, I’m sure. But despite all these little changes, I still feel more at ease in CentOS than Ubuntu. Changes are okay, provided the change is for the better, of course. I can see systemd and firewalld are progressive changes designed to bring CentOS forward. So as much as I, and maybe others, like to gripe about having to learn new things, this is a mighty good time anyway to get introduced to new plumbing in the latest enterprise Linux.
Ubuntu also switching to systemd. Even coreOS uses systemd (at least we’re all on the same page!)
I have been using CentOS for several months now, and would like to know more how to use the different aspects of this fine OS… on an old Mac Pro 1,1 which is one of the only linux distros I have been able to install on this machine. The 32 bit EFI boot on these machines makes it complicated, if you want to use a 64 bit OS, which is tricky for me.
I find your site helpful… I wish I understood it all better. For example which file system to use so I can use OS X or CentOS, and share files, backups, etc.