From ccf5005147d226830a13929991e94d2df6bbd0f2 Mon Sep 17 00:00:00 2001 From: Michele Cereda Date: Fri, 6 Sep 2024 08:44:56 +0200 Subject: [PATCH] chore(kb): start article about netbsd --- knowledge base/netbsd.md | 165 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 knowledge base/netbsd.md diff --git a/knowledge base/netbsd.md b/knowledge base/netbsd.md new file mode 100644 index 0000000..d93a5fc --- /dev/null +++ b/knowledge base/netbsd.md @@ -0,0 +1,165 @@ +# 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 + +# *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/ + +