Compiling C++ Statically

The first programming language I took when I started my undergraduate study in computer science was C. The second language was C++, taken in the following semester.I really liked C/C++ back then, but I never got a chance to actually use C/C++ in any real-life project. After transfering to the University of Auckland in New Zealand, I had to pick up Java as almost all computer science courses taught in Java back in early 2000....

December 24, 2018 · 2 min · 405 words · kenno

Ansible Automation Exam EX407

Last week I passed the Red Hat exam, Certificate of Expertise in Ansible Automation (EX407), and I just want to note down my experience of taking this exam. The exam duration is 4 hours, and I was able to complete all the questions in 3 hours and 45 minutes. Was it because questions were difficult? No, on the contrary in my opinions questions aren’t very difficult, comparing to the Ansible learning material in D407....

December 15, 2018 · 2 min · 292 words · kenno

Upgrading Freebsd 11.2 to 12.0-RELEASE

FreeBSD 12.0-RELEASE was released today, and that means it’s time to upgrade 2 of FreeBSD 11.2 machines to this latest version. One of my FreeBSD boxes is a desktop used at work, and the upgrade went well without any issues. In this post, I’m going to document how the upgrade is done on my nas server at home. First ensure that the FreeBSD is up to date: root@nas:~ # freebsd-update fetch src component not installed, skipped Looking up update....

December 12, 2018 · 4 min · 679 words · kenno

Fix puppet-firewalld: puppet fails with unknown type of string error

To manage firewalld on a desktop, I use the module created by Craig Dunn available at https://github.com/crayfishx/puppet-firewalld. Recently, I came across this issue for the second time after restarting puppetserver: # puppet agent -vt Info: Using configured environment 'production' Info: Retrieving pluginfacts Info: Retrieving plugin Info: Loading facts Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Resource Statement, Could not autoload puppet/type/firewalld_rich_rule: /etc/puppetlabs/code/modules/firewalld/lib/puppet_x/firewalld/property/rich_rule_action....

September 18, 2018 · 2 min · 224 words · kenno

Becoming a Red Hat Certified Engineer

After spending almost 8 weeks preparation, I finally took the Red Hat Certified Engineer (RHCE) exam yesterday. I found the questions are not very difficult, however it’s very easy to make mistakes. The exam duration is 3.5 hours and I had about 15 minutes left when I completed the last question. Having done the the Red Hat Certified System Administrator (RHCSA) before, I remember if you receive an email from Red Hat with an attachment, that implies that you pass the exam....

September 13, 2018 · 1 min · 170 words · kenno

Update ThinkPad X1 Carbon G6 BIOS Update on Fedora

As a ThinkPad fan, I really like X1 Carbon (G6). I run Fedora 28 on it, and almost everything runs flawlessly. One issue that bothers me a lot is problem with suspend. The X1 Carbon G6 supports S0i3 instead of the S3. Without the S3, when the laptop is put to suspended, the battery continue to drain and sometimes the cpu fan keeps running. Fortunately, this issue has been recently addressed by Lenovo through firmware update....

September 13, 2018 · 2 min · 279 words · kenno

Connect to a WPA2-Enterprise Connection Using nmcli

This is like a re-post of a question from askubuntu.com. To get to that post, I usually had to google it. So, I’ll post it here so I know where to look for when I need it again. At work, we use WPA2-Enterprise for wireless connection. To create a new connection on my laptop with wlp3s0 as Wifi device, follow this step: That’s it if you know how to do it....

August 27, 2018 · 1 min · 81 words · kenno

How to Generate SELinux Policy Manual Page

It seems that by default, SELinux policy manpage is not available. Here’s how to make it available. First install selinux-policy-devel package Then generate the man page by running: # sepolicy manpage -a -p /usr/share/man/man8<br/> -a : all domains -p : path to store the manpage (by default it’s /tmp) /usr/share/man/man8 – section 8 of manpage is for system admin command Create or update manual page index caches # mandb Benefit...

August 26, 2018 · 1 min · 80 words · kenno

RHEL Recovering the Root Password

Early last year I started a blog post about the preparation for Red Hat Certified System Administrator (RHCSA) exam. My intention back then was to have more posts follow suit about the exam topics. Like many things in life, things don’t always go according to plan. That was the only post, but I passed the RHCSA exam. Today, I’m going to start another new post about the preparation for the Red Hat Certified System Engineer (RHCSE) exam....

August 12, 2018 · 2 min · 376 words · kenno

How to change shell in Fedora

If your search engine take you to this page, chances are you get used to use chsh to change user’s shell. On Fedora (28 at least), chsh is not available by default. You can install util-linux-user according to this post to get the chsh command. However, there is another alternative which I didn’t even think of - use usermod command. Here’s how I did it to change to zsh shell:...

July 23, 2018 · 1 min · 91 words · kenno