Thro's Linux Desktop adventures

So, in line with the 1 year linux challenge, this is where I am going to chronicle things i have made work, choices i have made (and why) and other home-lab type stuff I have messed with running Linux and open source applications wherever possible.

First, a starting point / context for where I’m coming from. My linux background goes back quite some way, back to 1996. I was actually a very early Linux on desktop user.

First distro was slackware 3.1 (nicknamed slackware '96 as a nod to “Windows 95” which was new at the time) - on a 486dx33 with a mighty 4 MB of RAM and a 120 MB hard drive. Downloaded from the internet via 28.8k modem onto 1.44mb floppies. The install experience was… annoying to say the least. We’re talking about 20-30 plus disks to get a working desktop. And by working, i mean a basic FVWM desktop with a pager and an x-term to launch stuff. And it was slow. X really, really needed 8 MB of RAM, which i eventually upgraded to with that machine. And there’s nothing quite like the annoyance of formatting your machine only to find disk 5 of the X11 set is corrupted!!!

Still, running two copies of Doom in X simultaneously for LOLz was a big step up from DOS + Windows.

Getting it onto the internet? Ha. Good luck. No mobile internet to google stuff for (indeed, google did not yet exist), so if you broke your home internet, you’d need to borrow somebody elses - or read the man pages long and hard. The motivation for this? To run (and code for) a MUD.

I started working at an ISP shortly after this (1997-1998 ish); i’d started a web development business with a couple of friends in 1996 and that led to getting employed by one of our customers (a regional ISP) based on my Linux knowledge when we dissolved the business due to the other guys wanting to focus on university commitments. The ISP in question had a couple of Solaris boxes (1 x86 and 1 Sparc), and i was employee number 2, to help run the place. The solaris boxes were used mail, authentication and squid proxy-cache.

This led to LAN internet access and the ability to test various distributions and desktop environments without having to download via 28.8k onto floppies :smiley:

Debian Bo (1.2) was next briefly but Bo was really primitive at the time and I ended up running Redhat 4.1 (and onwards) for a while. Actually bought a boxed copy of Redhat 5.0, which broke so much stuff because it was an early adopter of glibc2. So much stuff just simply would not compile due to the libc changes.

Ended up migrating to Debian 2.1 (i think) and things were so much better than Bo. We had apt! No more wrangling with dpkg directly! We could automatically retrieve dependencies over the network! Wow!

Debian is where i stayed, for a long time. We deployed a bunch of Debian based firewalls to various corporate and educational customers to give their premises shared, secure internet access. Eventually, around 2000 i was running desktop Linux as my host work platform, and spinning up Windows in a virtual machine if required (VMware workstation 1.x was new :D). We migrated most of the ISP to Debian based systems as the business grew, first the squid cache (for improved performance; Solaris didn’t get the nickname slowlaris for nothing!) then splitting mail into POP and relay servers, then individual firewalls, inter-vlan routers etc.

Around 2001 i left the ISP for another company and was back to Windows on the desktop for work. I’d upgraded PC to something actually competent back in 1998 (pentium 2 350) and dual booted for a bit, but when i got home from work gaming was a thing, so Linux didn’t see quite as much desktop use as before.

The next 2 years were basically Linux cli administration of various network related boxes, but basically switched most of my network stuff to FreeBSD, initially to do ipsec over point to point wifi (a building to building link across a road through an industrial estate back in 2002 using 802.11a). Later set up an IPSEC/L2TP vpn server on FreeBSD using mpd.

I also ran FreeBSD as a dual boot desktop for a while between something like 2003-2005… performance seemed a lot more consistent than Linux (less random hitching under load). I really feel FreeBSD is better engineered. But these days desktop 3d software is just sketchy enough to run on Linux, never mind going further into the fringe…

Then in 2005 i started working in a full on enterprise Windows environment and Linux went fully on the back burner - until 2016 or so.

1 Like

So… back to Linux desktop…

A few things happened recently to prompt me to get back onto Desktop Linux

  • Windows 10 (well, in truth, the direction things were heading from Windows 8.0 onwards)
  • Proton - you mean i can run Witcher 3 under Linux? Sold!
  • General improvements to WINE
  • Vastly improved driver support
  • “Commonality” with the rest of my home environment - FreeNAS file server, pfsense firewall, macOS laptop. Sure the OS platform is different but file formats are the same, much of the user space cli software is same/similar, etc.
  • a deep seated, long term hatred of windows, going back to Windows XP
  • plus, i just built a new PC and Microsoft wanted a new license out of me. For Windows 10. Nah… not keen.

New PC:

  • Asrock X470 Taichi
  • Ryzen 2700x
  • 32 GB DDR4-3000 (2x16)
  • 1x NVME Evo 970 1TB, 2x Evo 860 SATA 1TB SSDs
  • AMD Vega 64 Reference

Installed Ubuntu 1804 LTS. Things worked pretty well out of the box in all honesty, however there were performance improvements to be had with more recent software, and Ubuntu LTS wasn’t going to give me it.

Given we are running RHEL at work for a couple of business apps, i decided that rather than running non-LTS Ubuntu, i’d give Fedora a go. It had been a very long time since i’d used an rpm based distro, and the various Lennart projects that seem to be getting pushed into everything originate at Redhat. I’d need to learn them sooner or later so may as well go with Fedora.

Oh … the work machine (i’m on linux at work too)

  • Some elitedesk HP thing
  • Core i7-6700
  • 64 GB DDR4
  • 1TB SSD (2x500s)
  • AMD RX550 (bare minimum card to get off the integrated GPU and get some sort of accelerated 3d for “work” stuff)
  • 1x additional dual port ethernet nic (purpose will be clear later)

I tried running this on CentOS 7, but it would appear that Polaris driver support in kernel 3.1 is … trash tier. Regular kernel panics that just “went away” when upgrading it to Fedora 28. So Fedora both at work and at home.

So… work machine.

1TB isn’t a lot for virtual machines. How can we fix this?

Luckily, i have a FreeNAS box in a server rack relatively close by to me (an old Dell R710 with a bunch of SAS in it and 32 GB of RAM), and an old dual e1000e nic from a decommissioned server.

  • plop NIC in
  • hook it up to my test network’s NFS VLAN
  • export an NFS share on the FreeNAS side - set security by IP only
  • mount the NFS share on boot

Bingo! Another 4TB of VM space :slight_smile:

I have the NFS share mounted under
~thro/NFS via /etc/fstab

But VMware workstation is a pain in the balls to make work on Fedora? Let’s set up the new Work-lab in KVM! (post a little later when i get time :D)

Performance actually seems pretty acceptable (even though its only NFS over 1GbE). At least for lab purposes.

Just make sure to turn off atime tracking on the ZFS data set. Otherwise you’ll generate writes for every read, and that’s not a good thing for a VM datastore!

So, VM lab on my KVM host / Linux Desktop. What are my goals?

  • ability to spin up multiple windows VMs (obviously)
  • snapshot/rollback/etc for a Windows VM for hosting Windows admin tools (for production environment)
  • make sure (some of) these Windows VMs are entirely isolated from our production Windows environment
  • ideally, set up multiple network segments to simulate multi-site AD
  • ideally, set up network throttling, simulate delay, packet loss, etc.

How to do this?

Spin up a pfsense virtual machine and use it as a router between different KVM networks (more details in a later post).!