Vermaden writes practical FreeBSD guides on ZFS boot environments, desktop setups, hardware, and comparisons with other operating systems.
HN commenters name it among the most active and popular FreeBSD resources, alongside Klara Systems and IT Notes.
Thanks for reply and for have shared your project first!
> I think we can refresh some the things that make it powerful with a fresh coat of paint, to make it more accessible to a “younger generation.”
That's what scare me, again in general: I see regular small complaint of modern absurdity, posts like:
- https://tiramisu.bearblog.dev/your-desktop-is-not-a-destination/ | https://news.ycombinator.com/item?id=33838697
- https://mjg59.dreamwidth.org/61535.html
- https://vermaden.wordpress.com/2022/02/07/epitaph-to-laptops/
- https://rsapkf.org/weblog/q2z/
- https://tomcritchlow.com/2022/04/21/new-rss/
- https://jfm.carcosa.net/blog/computing/usenet/ | https://news.ycombinator.com/item?id=33510169
- https://dianne.skoll.ca/projects/remind/ | https://news.ycombinator.com/item?id=28363453
- https://github.com/akkartik/teliva
- https://akiflow.com/
- https://onezero.medium.com/the-document-metaphor-desktop-gui-doesnt-work-anymore-d276271bfa40
- https://den.dev/blog/user-hostile-software/
- https://www.charlieharrington.com/smart-phone-dumb-terminal/
- https://mattmower.com/2021/08/02/what-we-lost/
and COUNTLESS others, similarly many "new stuff"/innovations appear and are actually partial, limited and limiting solutions to problems already solved decades ago in a more broad and superior way.
Emacs itself is a bit horrific in the sense that it's codebase is hard to be kept up by modern developers who have troubles knowing it, but at least represent the classic…
Most call them Jails, but others like to call them containers. But in comparison to Linux containers they are very different. Some would argue what you can do in jails you can do in Linux containers but, that's another discussion.
Each Jail, can have it's own network adapter, allowing yourself to host network applications, firewalls, servers and routers isolated from your main network.
These jails can have firewalls allowing you to test firewall changes without burning down your network. As well as isolated Web Servers, Music Servers, Game Servers taking no further resources other than what you give it.
You can also apply resource limits to jails, and the whole lot too. IOPS, CPU Cycles, Cores, Network, Quota Size.
With this you can then create locked sandbox environments for applications. Firefox/chromium can all run in their own jail ensuring that any virii are isolated from your core system while ensuring they only have 2mbit of network. You can even run Linux within. Ubuntu on FreeBSD, who would of thought. Can you run FreeBSD on Linux?
What I'm currently setting on my colocation box as I call them are cell's. Zones as if you wish to go Solaris'ly. Which by you can host bHyve, FreeBSD's native hypervisor in a separate jails giving you isolation. I host game servers publicly, so knowing they're restricted to their own cell, with a set amount of resources means I know my system is going to brick if something goes astray. As that too with ZFS allows me to backup…
I hosted my coding environment on a VPS running FreeBSD and happen to jump between VPS provider quite a bit due to location and pricing. My migration method was simply:
$ zfs snapshot zroot/home@migrate
$ zfs send -R zroot/home@migrate | ssh newhost zfs recv zroot/home
ZFS automatic snapshots (via zfstools[1]) can also saved hours of headaches trying to recover an older version of a file. Since snapshot appears as a regular mount (ZFS even automatically expose them under /path/to/mount/.zfs/snapshot), all existing tooling just works (cp, cat, running diff against snapshot, etc.).
My Linux machine these days also runs ZFS, but the level of integration with the system is still far from that of FreeBSD's. That can range from something as simple as ZFS ARC stats in top, to native support for ZFS Boot Environment allowing the system to boot directly from snapshots or do an offline upgrade of a clone of a live system[2]. (On Linux side of things there's zfsbootmenu[3] which provides something similar but the project is still quite new.)
The filesystem may not matter that much, and I'm sure many these features can be replicated with LVM, but having a unified tooling and community around it really makes quite a difference in quality of life as an end-user.
[1]: https://github.com/bdrewery/zfstools
[2]: https://vermaden.wordpress.com/2021/02/23/upgrade-freebsd-with-zfs-boot-environments/
[3]: https://zfsbootmenu.org/
This blog is my 3rd blog attempt.
Earlier two ones are here:
- http://strony.toya.net.pl/~vermaden/links.htm
- http://vermaden.blogspot.com/
This time I did not focused on the layout and things like that - I focused on the content - as now - after 6 years of 'doing' this - http://vermaden.wordpress.com/ - blog - the content is the thing that matters the most.
I also tried other free platforms - but WordPress got me by one important thing - it was the only one from the free ones that allowed REALLY WIDE area for the content of blog posts (with this free theme I use) - that was really important for me for all these commands outputs - so they will not be wrapped - or require scroll everytime.
I know WordPress is not the best platform - but its there and its free - I do not make money out of the things I post there - I just want to share what others may find useful. For that its more then enough for me.
I also do not understand what is wrong with Aliexpress - I regularly buy some things there and they are always the ones that are in the photos/descriptions and they are delivered to the place I live ...
Hope that helps.
Regards, vermaden
> Single disks were never a recommended option for ZFS, it's a filesystem designed for arrays.
Not quite true IMHO. One of best features of ZFS is checksumming to ensure data integrity, where errors can be corrected if you have enough redundancy.
You certainly lose this feature with single disks, but you're not necessarily worse off than any other file system.
What ZFS gives you on a single disk is very convenient snapshots and very convenient (incremental) streaming of those snapshots to another system (via either a push or pull mechanism). Doing this with other file systems generally entail a lot more work and much less efficiency. btrfs can do it, but if you're using ext4, then you'll probably use rsync which has to walk the file tree to find changed files.
Also with ZFS and snapshots you can turn them into clones: writable copies. This allow boot environments were updates/upgrades can be done, and if things do not work out, you can boot back to the original setup:
* https://mwl.io/archives/2363
* https://vermaden.wordpress.com/2021/02/23/upgrade-freebsd-with-zfs-boot-environments/
> Run that on someone else's managed k8s setup ... this way I'm only responsible for my application and its interface.
It's the eternal trade-off of security vs. convenience. The downside of this approach is that if there is a vulnerability, you will need to wait on someone else to get the fix out. Probably fine nearly always, but you are giving up some flexibility.
Another way to get a reasonable handle on the "managing a whole OS ..." complexity is to use some tools that make it easier for you, even if it's still "manually" done.
Personally, I like FreeBSD + ZFS-on-root, which gives "boot environments"[1], which lets you do OS upgrades worry-free, since you can always rollback to the old working BE.
But also I'm just an old fart who runs stuff on bare metal in my basement and hasn't gotten into k8s, so YMMV (:
[1] eg: https://vermaden.wordpress.com/2021/02/23/upgrade-freebsd-with-zfs-boot-environments/ (though I do note that BEs can be accomplished without ZFS, just not quite as featureful. See: https://forums.freebsd.org/threads/ufs-boot-environments.79628/)