# NetBSD 1. [TL;DR](#tldr) 1. [The `rc.conf` files](#the-rcconf-files) 1. [Package management](#package-management) 1. [Upgrade the system](#upgrade-the-system) 1. [Manage ports from the Ports collection](#manage-ports-from-the-ports-collection) 1. [Enable time sync for the NTP server](#enable-time-sync-for-the-ntp-server) 1. [Graphical UI](#graphical-ui) 1. [VirtualBox Guest Additions](#virtualbox-guest-additions) 1. [Linux binary compatibility](#linux-binary-compatibility) 1. [Further readings](#further-readings) 1. [Sources](#sources) ## TL;DR ```sh # Read manual pages. man 'man' man 5 'rc.conf' # List all available man pages. man -w 'time' # Read all available man pages. man -a 'time' # Search for keywords in the manual page descriptions. man -k 'mail' # Change the keyboard's layout. wsconsctl -kw encoding=it # Edit files. vi 'path/to/file' # Become 'root' from user sessions. # The user must know root's password *and* be member of the 'wheel' group. # Use '-' at the end to also load root's environment. su su - # Add users. useradd -m 'username' useradd -mG 'secondary_group' 'username' # Add new members to groups. usermod -G 'group_name' 'username' # Change users' default shell. chpass -s 'path/to/shell' 'username' chpass -s "$(grep 'bin/zsh' '/etc/shells')" 'username' # (Re)start services. service ntpd restart service vboxguest restart # Start services at boot. echo ntpd_enable="YES" >> '/etc/rc.conf' echo vboxguest_enable="YES" >> '/etc/rc.conf' # Upgrade the system to newer *minor* versions. sysinst sysupgrade auto 'https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.0/amd64' # Upgrade the system to newer *major* versions. sysinst sysupgrade fetch 'https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.0/amd64' \ && sysupgrade kernel \ && sysupgrade modules \ && reboot \ && sysupgrade sets \ && sysupgrade etcupdate \ && sysupgrade clean \ && reboot # Initialize the package managers. export PKG_PATH="https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/$(uname -p)/$(uname -r | cut -d '_' -f '1')/All" # Install packages the basic way. pkg_add -v 'git' pkg_add -v 'pkgin' # Install packages using `pkgin`. pkgin install 'firefox' pkgin in 'sqlite3' # Refresh the packages database. pkgin update pkgin up # Search for packages. pkgin search 'fish' pkgin se 'boinc' # Upgrade packages. pkgin upgrade pkgin ug # List installed packages. pkgin list pkgin ls # List files in packages. pkgin pkg-contents pkgin pc # *Gently* reboot the system. shutdown -r now shutdown -r +30 "System will reboot" # *Gently* shutdown the system. # `poweroff` is equivalent to `shutdown -p now`. shutdown -p +5 poweroff ``` ## The `rc.conf` files TODO ## Package management ### Upgrade the system TODO ### Manage ports from the Ports collection TODO ## Enable time sync for the NTP server ```sh sysrc ntpd_enable="YES" sysrc ntpd_sync_on_start="YES" ``` ## Graphical UI TODO ## VirtualBox Guest Additions TODO ## Linux binary compatibility TODO ## Further readings - [Website] ### Sources - [Documentation] [documentation]: https://www.netbsd.org/docs/ [website]: https://www.netbsd.org/