This article on the IBM Developer site has a history of shell evolution. It isn’t anything novel, but the nice family tree diagram and comparison of scripts in different shells are illuminating. They don’t discuss zsh. The zsh FAQ outlines a brief history of that shell. In that FAQ, zsh is described as closest to the Korn shell (ksh). There are also some options to make zsh act like other shells like CSH_JUNKIE that makes it more compatible with csh.
Read MoreTypos
I was setting up some simple jails following the useful instructions in the FreeBSD Handbook. Setting up a thin jail using ZFS snapshots is pretty straightforward and I was able to get a jailed system up and running in short order. That’s when the fun began. I wanted to test a NGINX server running in the jail on an inherited IP. When I tried to do the install from the host using pkg -j thinjail install nginx-lite it failed essentially saying that it couldn’t connect to update the repository catalog.
Read Morezsh on FreeBSD
After some deliberation, experimentation and research, I’ve decided to go with zsh as my interactive shell on FreeBSD. zsh has nice modern shell features that I’m missing when I’m at the shell prompt in sh, the default FreeBSD shell. Simple stuff like !! or !$ that I tend to use quite a bit. I’m most familiar with bash, but that seems to cut against the grain of FreeBSD. Also, zsh is the default on MacOS now so I use it quite freqently there.
Read Morebyhve
Although the name is resonant of a Beyonce fan group, bhyve is an interesting hypervisor for FreeBSD. To get started, I followed the script in the FreeBSD Handbook and within about 5 minutes, had a FreeBSD guest running on a VM inside my FreeBSD host. I did get caught in a boot loop. Going to the shell and using shutdown -p now got me out of it and I was able to start the VM normally using sh /usr/share/examples/bhyve/vmrun.
Read MoreFreeBSD jail
One of the most interesting aspects of FreeBSD to me was the virtualization features. There are two main ones: jails and bhyve. I haven’t looked at bhyve in detail yet, but jails are very interesting. Jails are akin to LXD/LXD as they are both ways to improve on chroot. They are both more about system virtualization rather than the application virtualization approach of Docker. On a first comparison, creating a jail seems more involved than creating a container on LXD.
Read Morefreebsd-update
One thing that I’ve noticed and appreciated about FreeBSD is that it is a monolithic project. In Linux, you have the kernel and then all of the user space stuff that is part of a distribution. Sometimes, it just seems strange to have these different parts being updated with one command. FreeBSD does it differently. freebsd-update fetch gets the updates for the OS and pkg update gets them for the installed packages.
Read MoreRACADM
My Dell R620 server has an iDRAC 7 card in it. Since the server is very loud compared to my other computers (laptops and a custom build micro tower), it’s nice to be able to control it from across the house. It’s not exactly in the most accessible place in my office and I hate crawling around to hit a power button. Due to the noise and power consumption, I tend to switch the system off (shutdown -p now) when I’m done with it and it’s very nice to have a system that you can just ssh into and run /admin1-> racadm serveraction powerup to start it up.
Read MoreZFS boot environments
I had some passing familiarity with ZFS in Linux and it seemed interesting. On FreeBSD, ZFS is more core to the platform. There is lot to it but the concepts aren’t difficult. One of the core elements of ZFS are datasets. A dataset is sort of like a partition but more flexible. You can use them for snapshots and other things. A list of the datasets in a system is produced with zfs list:
Read MoreUbuntu to FreeBSD
Having been an Ubuntu user for many years, a new OS is taking some getting used to. Although there is a nice quickstart guide for Linux users on the FreeBSD website, there are still some things that are muscle memory for me that is requiring some more time. They are mostly around shell differences. sh is definitely not bash. I understand why bash isn’t in the base system due to licensing and a preference for simple solutions, but sh has a few limitations that seem to bite me.
Read MoreFirst BSD config
I was poking around on my recently installed FreeBSD system and I noticed a strange message in /var/run/dmesg.boot that said est: CPU supports Enhanced Speedstep, but is not recognized.. That seemed odd, so I looked it up and found some information about what it was. It seems that the system was not set in the BIOS to allow the OS to manage the performance profile. It also led me to look at powerd to enable the performance mode.
Read More