+++ title = 'OpenBSD notes' date = '2023-11-14T09:31:48+0100' #lastmod = '' #showDate = false showReadingTime = false showWordCount = false showPagination = false #showAuthor = false showBreadcrumbs = true feed_exclude = true # site_exclude = true draft = true +++ These are my notes that I want to summarize about the OpenBSD operating system. ## Get some filesystem information ```console $ dumpfs /dev/rsd1a magic 19540119 (FFS2) time Thu Nov 16 21:14:34 2023 [...] (snip; lots of output...) ``` ## Python ### ModuleNotFoundError I recently tried to look at CHIRP, a tool to program (amateur) radios. But at its start I only got an error: ~~~console $ chirp 09:29:10: Debug: Adding duplicate image handler for 'Windows bitmap file' 09:29:10: Debug: Adding duplicate animation handler for '1' type 09:29:10: Debug: Adding duplicate animation handler for '2' type 09:29:10: Debug: Adding duplicate image handler for 'Windows bitmap file' 09:29:10: Debug: Adding duplicate animation handler for '1' type 09:29:10: Debug: Adding duplicate animation handler for '2' type 09:29:10: Debug: Adding duplicate image handler for 'Windows bitmap file' 09:29:10: Debug: Adding duplicate animation handler for '1' type 09:29:10: Debug: Adding duplicate animation handler for '2' type Traceback (most recent call last): File "/usr/local/bin/chirp", line 8, in sys.exit(chirpmain()) File "/usr/local/lib/python3.10/site-packages/chirp/wxui/__init__.py", line 36, in chirpmain from chirp.wxui import main File "/usr/local/lib/python3.10/site-packages/chirp/wxui/main.py", line 49, in from chirp.wxui import printing File "/usr/local/lib/python3.10/site-packages/chirp/wxui/printing.py", line 18, in import yattag ModuleNotFoundError: No module named 'yattag' ~~~ Most of these kind of errors look like this and it's quite clear: we need to install a package called yattag -- more precisely it is a python module. I do install python modules this way: ~~~console $ python3 -m pip install --user --upgrade yattag Collecting yattag Downloading yattag-1.15.2.tar.gz (28 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: yattag Building wheel for yattag (pyproject.toml) ... done Created wheel for yattag: filename=yattag-1.15.2-py3-none-any.whl size=15667 sha256=115df1349df26ea2ad2c0fdbf25c808a79242711fe2d7d44c97a0868a5454dd1 Stored in directory: /home/dominic/.cache/pip/wheels/3f/6e/e5/d526243c27041915f63eacc0804babeb86b6973b0bc1991f06 Successfully built yattag Installing collected packages: yattag Successfully installed yattag-1.15.2 ~~~ ## Git ## Cloudlog Cloudlog is a webapplication written in PHP that allows ham radio amateurs to log contacts online. I host my own instance on my server and I finally looked into why I never got satellites shown in SAT Timers. I use php-fpm and it is running as the user `www`. It is kind of jailed and it cannot read `/etc/ssl/cert.pem` -- so the https connections cannot be verified and it failes at downloading the satellites infos from other websites. I solved this by copying `/etc/ssl` to `/var/www/etc/ssl` via rsync, keeping file permissions intact. I may setup a cronjob for this maybe. ~~~console $ doas cp -r /etc/ssl etc/ssl $ doas rcctl restart php80_fpm ~~~ ## Apache (Server) As I host my own Cloudlog instance on my server I run into problems sometimes. The SAT and Hams.at tools never worked for me and I looked into this today. I got some weird SSL related errors and I thought first it was a misconfiguration in my `php.ini` file but it finally turned out, that `ServerRoot` in my Apache configuration pointed to `/var/www` and Cloudlog wasn't able to read the main CA file from `/etc/ssl/cert.pem`. I copied `/etc/ssl` to `/var/www/etc/ssl` and it works just fine -- now I need a solution to update these certs when the OS updates the files in `/etc/ssl` because a symlink did not work for this. tl;dr; ~~~console $ doas rsync -avhzrp /etc/ssl/ etc/ssl sending incremental file list created directory etc/ssl ./ cert.pem ikeca.cnf openssl.cnf x509v3.cnf private/ sent 155.82K bytes received 133 bytes 311.90K bytes/sec total size is 344.08K speedup is 2.21 $ doas rcctl restart php80_fpm php80_fpm(ok) php80_fpm(ok) ~~~