The RHCSA is “performance-based”; we’ll be judged on our ability to solve problems on a live computer system in real time. This is not one of those tests that’s all about rote memorization.
That means we’ll need two main things to prepare for the test:
- A PC that can run Red Hat Enterprise Linux. This can be a physical box or a virtual machine. See System Requirements.
- CentOS 7, which is basically a free RHEL 7 clone. See Getting the Software.
Red Hat apparently doesn’t provide specific system requirements for RHEL 7. But I have some recommendations based on the need to run virtual machines under a physical or virtual RHEL 7 host.
If you’re working with a physical machine, I’d recommend a PC with at least 4GB RAM and a 64-bit multi-core Intel or AMD processor.
It’s also possible to do this entirely within a virtual machine on Fedora, Ubuntu, Mac OS X, Windows, etc., but only if your processor supports hardware virtualization (what Intel calls VT-x and AMD calls AMD-V) and your hypervisor software supports nested virtualization.
Nested virtualization is necessary in this case, because the RHCSA requirements include installing virtual machines as guests on an RHEL host. If the RHEL host itself is a virtual machine… well, that’s what nested virtualization means.
If you’re not sure if your setup supports this, I’ll help you figure it out; just let me know in the comments.
Getting the Software
Like all Linux distributions, Red Hat Enterprise Linux is an open-source operating system. This allows any company, organization, or individual to take Red Hat’s source code and compile an RHEL clone, as long as they remove Red Hat’s trademarks and update code. We call these clones rebuild distributions.
Geek that I am, my favorite for a long time was Scientific Linux, a rebuild developed by Fermilab and CERN. Scientific Linux has been used for crazy-cool things like the discovery of the Higgs Boson, so it always gave me a vicarious thrill to ssh into my test machines (“what will I discover this time?”). Hey, we find adventure where we can get it.
But RHEL 7 was released in June 2014 with a corresponding revision to the RHCSA test. CentOS is the first (and, at this writing, the only) rebuild updated as such.
So CentOS it is. Download here.
Next time we’ll go over the installation process. Meanwhile, I’d welcome your questions and feedback.
When you first dig into studying for the RHCSA, it can seem overwhelming. After all, several mammoth tomes are dedicated to the RHCSA cert and its big brother, the RHCE.
On the plus side, lugging Linux certification books around is a great workout and you can cancel your gym membership.
As with all large projects, the best cure for that overwhelm is to break it down into its constituent pieces. Red Hat obligingly provides a detailed list of exam objectives, which I’ll be covering one by one on this blog. Check it out:
Red Hat reserves the right to add, modify, and remove objectives. Such changes will be made public in advance through revisions to this document. RHCSA exam candidates should be able to accomplish the tasks below without assistance. These have been grouped into several categories.
Understand and use essential tools
- Access a shell prompt and issue commands with correct syntax.
- Use input-output redirection (>, >>, |, 2>, etc.).
- Use grep and regular expressions to analyze text.
- Access remote systems using ssh and VNC.
- Log in and switch users in multiuser targets.
- Archive, compress, unpack, and uncompress files using tar, star, gzip, and bzip2.
- Create and edit text files.
- Create, delete, copy, and move files and directories.
- Create hard and soft links.
- List, set, and change standard ugo/rwx permissions.
- Locate, read, and use system documentation including man, info, and files in /usr/share/doc.
NOTE: Red Hat may use applications during the exam that are not included in Red Hat Enterprise Linux for the purpose of evaluating candidate’s abilities to meet this objective.
Operate running systems
- Boot, reboot, and shut down a system normally.
- Boot systems into different targets manually.
- Interrupt the boot process in order to gain access to a system.
- Identify CPU/memory intensive processes, adjust process priority with renice, and kill processes.
- Locate and interpret system log files and journals.
- Access a virtual machine’s console.
- Start and stop virtual machines.
- Start, stop, and check the status of network services.
- Securely transfer files between systems.
Configure local storage
- List, create, delete partitions on MBR and GPT disks.
- Create and remove physical volumes, assign physical volumes to volume groups, and create and delete logical Volumes.
- Create and configure LUKS-encrypted partitions and logical volumes to prompt for password and mount a decrypted file system at boot.
- Configure systems to mount file systems at boot by Universally Unique ID (UUID) or label.
- Add new partitions and logical volumes, and swap to a system non-destructively.
Create and configure file systems
- Create, mount, unmount, and use vfat, ext4 and xfs file systems.
- Mount, unmount, and use LUKS-encrypted file systems.
- Mount and unmount CIFS and NFS network file systems.
- Configure systems to mount LUKS-encrypted, and network file systems automatically.
- Extend existing unencrypted logical volumes.
- Create and configure set-GID directories for collaboration.
- Create and manage Access Control Lists (ACLs).
- Diagnose and correct file permission problems.
Deploy, configure, and maintain systems
- Configure networking and hostname resolution statically or dynamically.
- Schedule tasks using at and cron.
- Start and stop services and configure services to start automatically at boot.
- Configure systems to boot into a specific target automatically.
- Install Red Hat Enterprise Linux automatically using Kickstart.
- Configure a physical machine to host virtual guests.
- Install Red Hat Enterprise Linux systems as virtual guests.
- Configure systems to launch virtual machines at boot.
- Configure network services to start automatically at boot.
- Configure a system to use time services.
- Install and update software packages from Red Hat Network, a remote repository, or from the local file system.
- Update the kernel package appropriately to ensure a bootable system.
- Modify the system bootloader.
Manage users and groups
- Create, delete, and modify local user accounts.
- Change passwords and adjust password aging for local user accounts.
- Create, delete, and modify local groups and group memberships.
- Configure a system to use an existing LDAP directory service for user and group information.
- Configure a system to use an existing authentication service for user and group information.
- Configure firewall settings using system-config-firewall or iptables.
- Configure key-based authentication for SSH.
- Set enforcing and permissive modes for SELinux.
- List and identify SELinux file and process context.
- Restore default file contexts.
- Use boolean settings to modify system SELinux settings.
- Diagnose and address routine SELinux policy violations