Hiddenknight's RHCE Expedition
hiddenknight821
Member Posts: 1,209 ■■■■■■□□□□
It's about time I created my RHCE thread here. After completing the RHCSA, I skimmed through the entire RHCE portion of Sander van Vugt book to get a rough idea of what I'd be getting myself into. I went back to Jang's book and skimming through some of it as well. I plan to use it as my primary resource and supplement it with LinuxAcademy and Van Vugt. Right now I am holding off the subscription and will resume it when I'm ready to lab hard as the videos are worthless for me without subtitles. Meanwhile, I decided to task myself with a small automation project. Wrote a bunch of bash scripts to rebuild my entire home lab I used for my RHCSA prep which took me over two months to complete. Just two days ago, I was able to perfect the automation after ironing out the bugs in my scripts.
On my machine, I'd temporarily change the boot order to LAN to pick up the boot image from the PXE server I set up on my Raspberry Pi a while ago. Before I can even walk away, I'd have to manually select the correct boot option I made as the default one doesn't use kickstart file. Then the kickstart file does the rest of the dirty work for me. I had to add the %pre kickstart script to clear away and create new partitions. Instead of having a local SFTP server to house my scripts, I used a private git repository hosted on bitbucket. The %post script would download all the necessary files in a directory. I'd have the main script run at the next reboot after Anaconda to complete the remaining configurations as I couldn't do everything in Anaconda's chroot.
Nevertheless, it was an interesting experience to take on. My scripts still have a lot of kinks that I need to iron out as I left out few comments and many error-handling. The scripts also need some refactoring as I was in a hurry, didn't bother making loops for duplicate lines with only one argument difference. Although, I did make my scripts more verbose by enabling debugging and redirect STDERR with STDOUT stream into a file. Adding $(date) was a lifesaver too. The script was nothing sophisticated than it should've been as I didn't use the double brackets in the 'if' statements consistently, and I have not use function once. I plan to hack the scripts again once I polish up my bash skill. At least I somewhat satisfied my first RHCE objective: Use shell scripting to automate system maintenance tasks.
Lately, I'm convinced I'm still missing something from my study as I feel the resources aren't enough to prepare me for the real world, let alone the RHCE exam. I've been contemplating, taking on iConrad linux lab challenge to prove my worth. If I do decide to go down this route, then I'd have to figure out how to do both in parallel and use newer software since his instruction was based on RHEL 6 and Spacewalk.
On my machine, I'd temporarily change the boot order to LAN to pick up the boot image from the PXE server I set up on my Raspberry Pi a while ago. Before I can even walk away, I'd have to manually select the correct boot option I made as the default one doesn't use kickstart file. Then the kickstart file does the rest of the dirty work for me. I had to add the %pre kickstart script to clear away and create new partitions. Instead of having a local SFTP server to house my scripts, I used a private git repository hosted on bitbucket. The %post script would download all the necessary files in a directory. I'd have the main script run at the next reboot after Anaconda to complete the remaining configurations as I couldn't do everything in Anaconda's chroot.
Nevertheless, it was an interesting experience to take on. My scripts still have a lot of kinks that I need to iron out as I left out few comments and many error-handling. The scripts also need some refactoring as I was in a hurry, didn't bother making loops for duplicate lines with only one argument difference. Although, I did make my scripts more verbose by enabling debugging and redirect STDERR with STDOUT stream into a file. Adding $(date) was a lifesaver too. The script was nothing sophisticated than it should've been as I didn't use the double brackets in the 'if' statements consistently, and I have not use function once. I plan to hack the scripts again once I polish up my bash skill. At least I somewhat satisfied my first RHCE objective: Use shell scripting to automate system maintenance tasks.
Lately, I'm convinced I'm still missing something from my study as I feel the resources aren't enough to prepare me for the real world, let alone the RHCE exam. I've been contemplating, taking on iConrad linux lab challenge to prove my worth. If I do decide to go down this route, then I'd have to figure out how to do both in parallel and use newer software since his instruction was based on RHEL 6 and Spacewalk.
Comments
-
Verities Member Posts: 1,162With your drive to improve yourself and ability to script this well already, I believe you would be successful as a Linux admin. I don't say that lightly since I work with a lot of "Linux admins" and a lot of them have 1 or 2 servers but they don't know jack squat about the OS. They're always contacting me with questions or for support, because they're too lazy to do their own research. What makes a good Linux admin is someone who can be given a task and figure out how to get it done. It doesn't matter how, just get it up and running. You have to do a ton of outside research when it comes to open source technologies but when you can implement them and explain how much money you saved for the organization you work for, they'll understand your worth.The knowledge you have from the RHCSA and the knowledge you will obtain from your RHCE studies will expose you to the tip of the ice berg. Like I said above though, its all about how much effort you put into it. A lot of Linux administration revolves around web servers now, so definitely become familiar with the LAMP/LEMP stack. Linux Academy has a lot of courses that can help you round out a skill set. I highly recommend the videos in this order:The System Administrator's Guide to Bash Scripting > Linux KVM Virtualization Essentials > SQL Primer > Git Quick Start > Ansible Quick Start > LFCE > RHCE.
Almost forgot to mention, if you can get that Linux lab completed that iConrad layed out, you can absolutely get a job in the field. I've never used Spacewalk, but I admin Satellite 5.8 and have deployed Satellite 6.1 and can tell you its one of the most powerful tools I have. With 5.8 If you configure it properly, you can send remote commands over port 5222 (jabber) as root, run SCAP scans with STIG benchmarks, and even create custom channels (repos) for your environment. -
OctalDump Member Posts: 1,722Spacewalk is basically the upstream of Satellite 5 (similar to Fedora and RHEL) and is open, and I think (at least when it was written) RHEL6 is much more common than RHEL7, which is why iConrad points in that direction. For CentOS 7, look over at this guide. I think it'd be perfectly doable using CentOS 7. You could go pure Red Hat if you like. Real world is mixed (like really mixed, some are pure, some use CentOS and RHEL, some use multiple distros in multiple versions etc).
The iConrad path would actually be good prep for RHCA, since it covers JBoss, Satellite/Spacewalk/Puppet/Salt/Ansible, virtualisation, security, HA, storage etc. Basically, it was designed to make you ready for Senior Linux roles, since it includes nearly everything you'd touch in an enterprise environment, and set up in a way similar to enterprise environment.2017 Goals - Something Cisco, Something Linux, Agile PM -
hiddenknight821 Member Posts: 1,209 ■■■■■■□□□□I highly recommend the videos in this order:The System Administrator's Guide to Bash Scripting > Linux KVM Virtualization Essentials > SQL Primer > Git Quick Start > Ansible Quick Start > LFCE > RHCE.
Wish I can watch those videos, but I've already mentioned they're worthless to me without subtitles as I'm hard of hearing. I'd try to pick up a book on some of those topics if necessary. Sometimes, I just wish there are more books out there written in nutshells like the videos. So far, I find tech blogs far easier to consume information.Spacewalk is basically the upstream of Satellite 5 (similar to Fedora and RHEL) and is open, and I think (at least when it was written) RHEL6 is much more common than RHEL7, which is why iConrad points in that direction. For CentOS 7, look over at this guide. I think it'd be perfectly doable using CentOS 7.
You were right about why iConrad stuck with CentOS 6. It's just that I'd have to put together the up-to-date version, which I was having trouble finding. And +1 Thanks for the awesome link. You saved me time! Just bookmarked it.The iConrad path would actually be good prep for RHCA, since it covers JBoss, Satellite/Spacewalk/Puppet/Salt/Ansible, virtualisation, security, HA, storage etc. Basically, it was designed to make you ready for Senior Linux roles, since it includes nearly everything you'd touch in an enterprise environment, and set up in a way similar to enterprise environment.
What you just said motivated me to jump on the iConrad's bandwagon RIGHT NOW!
Here's the update on my progress so far. I decided to publish my automated scripting project on GitHub. More than half of the stuff I did really helped me pass my RHCSA as I had to do some digging around for months before passing the exam in August.
UPDATE: Just realized the README file needs some serious formatting. In the meantime, please pardon the clutters. Learning Markdown and revising the file as we speak.
UPDATE 2: All done with the README.md file! Although, I did have a lot to say, but I'd need to be a bit more throughout as my only documentation prior to that README file was the comments in the code. Please don't be afraid to give me feedback as I see I still have more room for improvement. I know some would complain that I didn't use the INCLUDE file in all of my scripts if many of them share similar variables. I've thought about that and was in a hurry to push this project out and get it published. -
hiddenknight821 Member Posts: 1,209 ■■■■■■□□□□I totally forgot to come back here to update the thread I created here. I've made a lot of progress since my last post. I recently took the RHCE for the first time last Friday, April 27. Took the exam in a classroom with 5 others. I didn't pass. Got 174. I couldn't be happier as I didn't touch maybe 1/3 of the tasks due to running out of time. Now that I've seen the exam, I'm pretty confident I can pass the next time.
My biggest challenge with the exam was time management. I was also stressing with trying not to get a zero, avoiding any bizarre mishap that people from various sources on the web have been reporting. I really should've relaxed as I'm now convinced some people are just not good test takers despite being extremely competent at their jobs. Another thing I learned is that you can't skip a single objective even if you think you won't be tested on it. I may have skipped an objective or two. Instead, I spent my time reading the man pages during the exam on those skipped objectives. So, don't be me.
As of right now, I'm not sure when I can re-sit the exam again, but I'm due for renewal next year. It's certainly not easy to find the time and money to take the exam. Let alone, the travel plan and waiting on the next nearest available classroom exam. I really need to focus on picking up other skills I procrastinated.
In the meantime, I'm going to relearn Python but in version 3, then move on to Ansible. Then from there, I plan to make use of my Python skill to replicate the exam environment as much as I can with a timer and grader with the help of Vagrant. I don't plan on distributing this project as it'd for my personal use only due to NDA. I have typed up 50 pages of study note in Google Doc along with 22 pages of practice exercises touching 95% of the objectives.
With this being said, don't give up. We all will get there eventually. Failures make great teachers in life. I have greater respect for those who tried, especially those who tried repeatedly. -
d4nz1g Member Posts: 464hey Knight, congratz for your progress so far.
On the lab challenges, do you think they are helpful? Which ones do you think is worth going through to assess my skills? -
hiddenknight821 Member Posts: 1,209 ■■■■■■□□□□Which lab challenges are you speaking of? I prefer to create my own lab environment and lab questions. I make it even more challenging than the practice questions I'd find in the Appendix of Jang's book. IMO, this is the best way to prepare for the exam, especially if you don't have experience, which I do not have. I hope to post my practice questions on my GitHub someday, but I can't guarantee it'd be in the near future.
The only challenge about the exam is that you have to know all the objectives and be able to do what's being asked within 3.5 hours. So in that sense, you should practice the weak areas if you find yourself checking the man pages often. I like to rebuild my lab and re-do the exercises again from scratch as often as I have to. So once you can do the exercises in your sleep, then I'd say you are well-prepared to defeat the challenge.
If you don't know how to test the configurations, then that'd be your biggest challenge for the exam. You can also attempt Lisenet's sample exam to gauage how you well you can perform on the exam.