====== Quick FreeBSD Tricks ====== In several places, I have simply inserted the code as a script to be downloaded. I tend to keep things like this around so I can just run a simple command instead of copying/pasting an entire line. ===== Hardware Devices ===== ==== To locate all attached drives, scan dmesg.boot ==== #! /bin/sh egrep '(ad|cd|da)[0-9]' /var/run/dmesg.boot | sort Or, simply run geom disk list ==== List USB devices ==== usbconfig ===== Monitoring ===== ==== CPU Temperatures ==== Following command will show you the temperature of each core of a processor sysctl -a | grep temperature | grep cpu ==== iotop substitute ==== iotop is a well known utility under Linux, but not available for FreeBSD. However, the following command will do the same thing (does not apparently work for iSCSI devices) top -m io -o total ==== watch substitute ==== Under Linux, watch repeats a command over and over, so it is useful for monitoring long running processes. The FreeBSD command //cmdwatch// does the same thing, with the same flags. cmdwatch zpool iostat -v ===== Package Management ===== ==== setting pkg to not ask permission ==== I was used to Debian's apt-get, and used the -y (answer "Yes" to all questions) parameter. Looking for something similar for pkg, I ran across [[http://dan.langille.org/2013/12/06/bootstrapping-installing-pkg-on-freebsd-unattended-and-without-answering-yes/]] which showed a possible answer; set an environmental variable as part of the call. env ASSUME_ALWAYS_YES=YES pkg install p5-libwww will install LWP (p5-libwww) without waiting for you to select "Yes" ==== clean pkg cache ==== After a while, your pkg cache will use more and more space on your disk, with copies of packages you have already installed. The following command cleans that cache. pkg clean ===== User Administration ===== ==== Administrative Permission ==== By default, a new user is **not** able to become root. To do this, you must add them to the //wheel// group. Use the following command pw user mod username -G wheel where //username// is the username of the user who has access ==== Changing Shell ==== I just like //bash// for my shell. While it is not the standard for BSD, it is much more powerful than the standard //sh//, so I like to use it for my personal account. Once bash is installed, set it as the default shell for a user. chsh -s bash username Warning: do not modify the root account's shell. You will break your system. If you want a bash script to run as root, be sure to include #! /usr/bin/env bash at the head of your scripts. ===== zfs tricks ===== * zfs unshare -a * zfs share -a * showmount -e