diff options
Diffstat (limited to 'content-org/bsd.org')
-rw-r--r-- | content-org/bsd.org | 140 |
1 files changed, 81 insertions, 59 deletions
diff --git a/content-org/bsd.org b/content-org/bsd.org index 3f71ed2..2d137d6 100644 --- a/content-org/bsd.org +++ b/content-org/bsd.org @@ -3,17 +3,27 @@ #+URL: https://michal.sapka.me/unix-history/ #+STARTUP: show2levels indent logdone -#+HUGO_BASE_DIR: ~/sites/site-crys-bsd/ +#+HUGO_BASE_DIR: ~/ghq/michal.sapka.me/mms/site #+HUGO_WEIGHT: auto -#+HUGO_SECTION: +#+HUGO_SECTION: bsd -* DONE Michal's Guide to BSD + +* BSD :@bsd: +:PROPERTIES: +:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :primary_menu bsd +:EXPORT_HUGO_MENU: :menu bsd +:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :image_dir "bsd" :image_max_width 600 +:EXPORT_HUGO_PAIRED_SHORTCODES: image +:END: + +** DONE Michal's Guide to BSD CLOSED: [2024-03-06 Wed 14:45] :PROPERTIES: :EXPORT_FILE_NAME: _index :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :abstract A site dedicated to BSD family of systems :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :noreturn yes -:EXPORT_HUGO_PAIRED_SHORTCODES: recent-updates menu img-r +:EXPORT_HUGO_PAIRED_SHORTCODES: menu +:EXPORT_HUGO_MENU: :menu bsd-null :END: #+attr_shortcode: "bsd" @@ -22,18 +32,11 @@ Dune #+end_menu -* BSDs -:PROPERTIES: -:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :primary_menu bsd -:EXPORT_HUGO_MENU: :menu bsd -:END: - ** DONE Why I run a BSD on a PC :@bsd: CLOSED: [2024-05-01 Wed 21:48] :PROPERTIES: :EXPORT_FILE_NAME: why-bsd :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :abstract Reasons why BSD may be the best OS for you -:EXPORT_HUGO_PAIRED_SHORTCODES: img-r :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :menu_item_override "Why I run BSD on a PC" :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :menu_item_override_start_li true :EXPORT_HUGO_MENU_OVERRIDE: :post "but" @@ -87,10 +90,14 @@ Netflix gives back, but it does not dictate the direction. But the biggest differential factor between BSDs and GNU/Linux is the way it is structured. -#+attr_shortcode: "run-bsd.png" -#+begin_img-r +#+attr_shortcode: :file run-bsd.png +#+attr_shortcode: :alt White, all caps "Run BSD" over black background +#+attr_shortcode: :class pull-right +#+attr_shortcode: :forced_width 200 +#+begin_image RunBSD -#+end_img-r +#+end_image + In Linux, all components are designed to work together, but are completely separate. You've got the kernel, init systems, multimedia daemons, userland, bootloader, virtualization and containerization mechanisms, package managers, and so on. @@ -107,6 +114,7 @@ When you install any BSD you are getting the complete package. *** Build-in technology To give just two examples here: + 1. OpenBSD comes with complete web stack built in. We've got a packet filter (best in class), reverse proxy and http server. We've even got a TLS certificate manager. @@ -157,10 +165,15 @@ More often than not, using BSD is just a next phase after being involved in Linu Also, it seems hard to be /only/ focused on BSD, so people being paid to do BSD work tend to do the same with GNU/Linux. All in all, I found the crowd to be very welcoming of new people. -#+attr_shortcode: "openbsd.png" -#+begin_img-r -RunBSD -#+end_img-r +#+attr_shortcode: :file openbsd.png +#+attr_shortcode: :alt A yellow fish named puffy over the text - OpenBSD +#+attr_shortcode: :class pull-right +#+attr_shortcode: :forced_width 200 +#+attr_shortcode: :transparency yes +#+begin_image +OpenBSD +#+end_image + You can find amazing people over at [[https://wiki.bsd.cafe/][bsd.cafe]] or [[https://bsd.network/][bsd.network]]. The oldest public UNIX system, [[https://sdf.org/][SDF]] is running on NetBSD and quite a few of it's members are active in BSD community. There's also [[https://mwl.io][Michael W. Lucas]] who makes a living writing AMAZING technical BSD-related books. @@ -235,12 +248,12 @@ You can read more testimonials on [[https://runbsd.info/][RunBSD]] site, or rand [fn:src] I am not; just barely licking C for now. [fn:hist] vide: [[/bsd/history][BSD History]] on this site. -** DONE BSDs may not be a system for you :@bsd: + +** DONE BSDs may not be a system for you CLOSED: [2024-04-20 Sat 22:13] :PROPERTIES: :EXPORT_FILE_NAME: why-not-bsd :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :abstract Reasons why BSD may not be the best OS for you -:EXPORT_HUGO_PAIRED_SHORTCODES: img-r :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :menu_item_override "perhaps you shouldn't" :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :menu_item_override_end_li true :END: @@ -322,7 +335,7 @@ Folks these days assume /a lot/ and BSDs don't even come with ZSH out of the box Ever used the basic /Shell/? Too bad, as /Shell/ is what you should assume in all your scripts. -*** Pace of change +*** Pce of change Next: do you like to call yourself an /early adopter/? Being in the /bleeding edge/ is what gets you going? @@ -363,18 +376,20 @@ They are supported by volunteers, so your mileage may vary. It's a good thing, I promise! -* OpenBSD :@bsd: +** OpenBSD :PROPERTIES: :EXPORT_HUGO_MENU: :menu bsd :parent "openbsd" :EXPORT_HUGO_CUSTOM_FRONT_MATTER: :primary_menu bsd - :END: -** DONE OpenBSD webstack: Relayd, Httpd and Acme-client +:END: + +*** DONE OpenBSD webstack: Relayd, Httpd and Acme-client CLOSED: [2023-07-19 Mon 19:08] :PROPERTIES: :EXPORT_FILE_NAME: open-bsd-web-stack :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :abstract How to setup the web server stack work? :EXPORT_HUGO_MENU_OVERRIDE: :identifier "obsdweb" :name "Webstack: Relayd, Httpd and Acme-Client" :END: + OpenBSD comes with three great tools out of the box: - httpd(8) - an HTTP daemon - relayd(8) - a relay daemon @@ -603,7 +618,8 @@ I also can't recommend enough "Httpd and Relayd Mastery" by Michael W. Lucas[fn: [fn:nginx-sec] The ports collection of OpenBSD contains a fork of NGINX with a similar security treatment. [fn:mwl2] yeah, the one from the top of this article. He's a household name and a staple of the BSD community. I'm primarily a software engineer, and all this sysadmin thing I am doing is a side quest for me. His books make it so much easier. I've already read four of his books, and I will read more as they are amazing. Even a dense person like yours truly comes out smarter after the lecture. While I'm not a [Full Michael](https://www.tiltedwindmillpress.com/product/full-michael-2023-06/) kind of person, it seems my library will soon have a very strong representation of his. [fn:win] because there is no fourth way. Please repeat after me: there is no webserver in Windows. -** DONE OpenBSD: Blocking bad bots using Relayd + +*** DONE OpenBSD: Blocking bad bots using Relayd CLOSED: [2023-12-11 Mon 19:08] :PROPERTIES: :EXPORT_FILE_NAME: blocking-bad-bots-openbsd @@ -621,7 +637,7 @@ b) what if I don't want some bots to even have the chance to ask? Get that SEO scanning and LLM training out of here! -*** Blocking crawlers +**** Blocking crawlers The rest of this guide assumes webstack: Relayd and Httpd. Relayd is great and since it works on higher level than pf, we can read headers. @@ -670,7 +686,8 @@ Therefore, my "https" protocol now has a series of blocks: [fn:log-style]: vide https://man.openbsd.org/httpd.conf.5#style -** DONE OpenBSD: Forwarding requests from Relayd to a custom webserver + +*** DONE OpenBSD: Forwarding requests from Relayd to a custom webserver CLOSED: [2023-07-19 Mon 19:30] :PROPERTIES: :EXPORT_FILE_NAME: relayd-custom-webserver @@ -719,7 +736,7 @@ Remember that in Relayd(8) last one wins. We already have a match for the domain and added another matcher for the path. The request will be forwarded to the last marching matcher - so we put our new matchers at the end of the protocol definition. -*** Updates +**** Updates 2023-07-28: remove wrong information abot PF. 2023-07-30: fix invalid cron format @@ -735,14 +752,9 @@ LSP for Java/Scala is still a joke, and I refuse to pollute my system with Intel [[https://go.dev/][Go][, on the other hand, is a modern language designed for humans. I am not good at it, but I am infinitetly[fn:infinit] better than a week ago. [fn:infinit] Any positive number would be infinite progress compared to zero, or as an old wise man once said: "to have a nickel and to not a nickel is already two nickles". -* FreeBSD :@bsd: -:PROPERTIES: -:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :primary_menu bsd -:EXPORT_HUGO_MENU: :menu bsd :parent "freebsd" -:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :image_dir "mages" :image_max_width 600 -:EXPORT_HUGO_PAIRED_SHORTCODES: image -:END: -** DONE FreeBSD: examples of Jail usage +** FreeBSD + +*** DONE FreeBSD: examples of Jail usage CLOSED: [2023-12-01 Mon 21:29] :PROPERTIES: :EXPORT_FILE_NAME: jails-usage-examples @@ -889,18 +901,16 @@ Our tinfoil friends will be proud of us. [this article will be expanded with more examples in the near future] ** Thinkpad :@bsd: :PROPERTIES: -:EXPORT_HUGO_SECTION: thinkpad +:EXPORT_HUGO_SECTION: bsd/thinkpad :EXPORT_HUGO_MENU: :menu bsd-thinkpad -:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :primary_menu bsd-thinkpad :END: *** DONE FreeBSD on Thinkpad X1 Extreme G2 CLOSED: [2024-04-10 Wed 22:42] :PROPERTIES: :EXPORT_FILE_NAME: _index :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :abstract My my laptop on FreeBSD -:EXPORT_HUGO_PAIRED_SHORTCODES: img-c img-r menu +:EXPORT_HUGO_PAIRED_SHORTCODES: menu :EXPORT_HUGO_MENU: :menu bsd :parent freebsd :name "Thinkpad X1 Extreme G2 support" -:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :primary_menu bsd :END: @@ -938,14 +948,15 @@ Some articles I've written about trying to get it to a usable state: #+begin_menu History of BSD #+end_menu + *** DONE FreeBSD: Review of Thinkpad Extreme G2 CLOSED: [2023-02-25 Mon 22:30] :PROPERTIES: :EXPORT_FILE_NAME: freebsd-on-thinkpad-x1-extreme-g2 :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :abstract it works, but there are drawbacks :EXPORT_HUGO_MENU_OVERRIDE: :name "Impressions, Instalation and problems" -:EXPORT_HUGO_PAIRED_SHORTCODES: img-c img-r :END: + My wife got a new computer, so I can easily break my laptop whenever I want - so it's time for FreeBSD! @@ -960,10 +971,15 @@ It's more involved than something like Fedora, and some concepts were foreign to Within 15 mins of booting from the USB Drive, I had a working hardened system running on an encrypted ZFS drive with wireless networking and essential services configured. -#+attr_shortcode: "freebsd-setup-fs.png" "https://docs.freebsd.org/en/books/handbook/bsdinstall/" -#+begin_img-c + +#+attr_shortcode: :file freebsd-setup-fs.png +#+attr_shortcode: :alt White, all caps "Run BSD" over black background +#+attr_shortcode: :class centered +#+attr_shortcode: :source https://docs.freebsd.org/en/books/handbook/bsdinstall/ +#+begin_image Partitioning -#+end_img-c +#+end_image + Many things worked out of the box, but not all of them. @@ -987,10 +1003,16 @@ FreeBSD is supposed to be more user-friendly, but it seems not to be the case he Work on [[https://wiki.freebsd.org/WiFi/Iwlwifi][fully supporting]] the card is already planned, but I have no idea when I can expect results. From what I've learned, the team can't reuse code from Linux due to licensing incompatibilities between [[https://www.gnu.org/licenses/gpl-3.0.html][GPL]] and [[https://docs.freebsd.org/en/articles/license-guide/][BSD license]] [update: there are more problems]. -#+attr_shortcode: "freebsd-beastie.png" -#+begin_img-r +#+attr_shortcode: :file freebsd-beastie.png +#+attr_shortcode: :alt White, all caps "Run BSD" over black background +#+attr_shortcode: :class pull-right +#+attr_shortcode: :forced_width 150 +#+attr_shortcode: :src https://docs.freebsd.org/en/books/handbook/bsdinstall/ +#+attr_shortcode: :transparency yes +#+begin_image FreeBSD Beastie -#+end_img-r +#+end_image + This is one of the few instances when I am rethinking my life choices, and I would love to be able to help with C code. Also, Bluetooth on this card is not supported, and there is no work done to address it - but luckily, I am already de-wirelessing my life. @@ -1028,13 +1050,13 @@ For personal servers, however, I see no way of abandoning BSD. - 2023-02-04: [[/2023/freebsd-configuring-nvidia-and-xorg-on-thinkpad-x1-extreme-g2][Configuring NVIDIA]]. - 2023-03-15: [[/2023/freebsd-on-modern-intel-wifi-cards-and-resume][Problems with WiFi after resume]] + *** DONE FreeBSD: Fixing ThinkPad X1 Wifi CLOSED: [2023-08-03 Mon 21:40] :PROPERTIES: :EXPORT_FILE_NAME: fixing-thinkpad-x1-wifi-on-freebsd :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :abstract replacing a wificard fixes everything :EXPORT_HUGO_MENU_OVERRIDE: :name "Fixing WiFi for good" -:EXPORT_HUGO_PAIRED_SHORTCODES: img-c :END: As much as I like FreeBSD, my laptop has mostly sat dormant for the last few weeks. @@ -1061,10 +1083,13 @@ After a few nags met with silence, I just gave up and ordered a used [[https://w Have I mentioned that ThinkPads are still good devices? Replacing the WiFi adapter was sparkly[fn:spark] but easy. Just pop the two antenna connectors, unscrew a single screw, remove the card, and do the same in reverse for the new one. Try to do that with a MacBook![fn:battery] -#+attr_shortcode: "intel-ac9260.jpg" -#+begin_img-c +#+attr_shortcode: :file intel-ac9260.jpg +#+attr_shortcode: :alt Opened laptop with a screwdrive on top +#+attr_shortcode: :class centered +#+begin_image Sitting and working nicely -#+end_img-c +#+end_image + Then, with a single reinstall[^reinstall] of the system, everything started working. I'm still limited to WiFi 2, but it works over 5GHz. It's a small problem because my system can finally suspend and resume. @@ -1090,6 +1115,7 @@ I will break the system so ZFS will be a great addition. And having more applic [fn:systemd] Which is one of the few good things about [systemd](https://michal.sapka.me/2023/systemd-is-fast/) [fn:golang] I could have learned to Go, but I chose a totally unmarketable skill for a programmer. I think it makes it even cooler. [fn:pf] I am currently reading /[[https://nostarch.com/pf3][[The Book of PF]]/ so I can have any benefit. Great book. Would recommend. + *** DONE FreeBSD: Switching Between Speakers and Headphones CLOSED: [2023-03-16 Mon 23:02] :PROPERTIES: @@ -1149,7 +1175,6 @@ CLOSED: [2023-03-16 Mon 23:02] :END: *This applies to FreeBSD 13.1* - Recently I [[/2023/freebsd-on-thinkpad-x1-extreme-g2][posted]] about my problems with FreeBSD. One of them was resume. After installing FreeBSD, I was able to put my laptop to sleep via @@ -1253,23 +1278,20 @@ Notes: I learned the BUS trick from [[https://nudesystems.com/how-to-fix-no-screen-found-xorg-error-on-freebsd/][Nude Systems]]. -* Gaming +** Gaming :PROPERTIES: -:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :primary_menu bsd :EXPORT_HUGO_MENU: :menu bsd :parent "gaming" -:EXPORT_HUGO_SECTION: gaming -:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :primary_menu bsd -:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :image_dir "images" :image_max_width 576 -:EXPORT_HUGO_PAIRED_SHORTCODES: image +:EXPORT_HUGO_SECTION: bsd/freebsd-gaming :END: -** DONE ScummVM +*** DONE ScummVM CLOSED: [2024-09-20 Fri 21:34] :PROPERTIES: :EXPORT_FILE_NAME: scummvm :EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :abstract Running old adventure games :END: + [[https://www.scummvm.org/][ScummVM]] started as a way to run classic LucasArts point-and-click adventure games on modern hardware. Today is has grown to a general runner for classic adventure games. If ScummVM is supported on your OS, you have a huge selection of games to choose from - just check the [[https://www.scummvm.org/compatibility/][compatibility list]]! |