Linux Upgrades

Both my home server, and my VPS (Virtual Private Server) need updates. My home server uses Kubuntu 22.04 LTS, and the current version is 25.04 (or 24.04 if I want to stick to LTS, which I probably should). My VPS is on Debian 10.13 (buster), and the current stable version is 12 (bookworm). Both are nagging me that the version they’re running is no longer supported and I should upgrade ASAP.

Ok, for the Kubuntu machine, there’s an update program. But when I run it

sudo do-release-upgrade

I get a message that says

The package 'postgresql-14-postgis-3' is marked for removal but it is in the removal denial list.

I think that means I need to remove PostGIS and try again, and then hopefully reinstall PostGIS after the update. But I’m reluctant to do so, in case it breaks something. I guess I need to bite the bullet and do it.

My VPS was originally Debian 5, and over the years I’ve upgraded it many times just by editing the /etc/apt/sources.list to the new release name, and running

sudo apt update
sudo apt upgrade

But when I contacted Linode technical support about something else, they were horrified that I appeared to them to be using Debian 5. When I told them what I’d done, they were even more horrified. Evidently the proper way update is to spin up a new VPS instance with their Debian 12 image, and then migrate applications and files over. I’d worry about missing something. On the other hand, it might be a chance to leave behind the cruft of things I no longer need.

I guess I’ll start with the local server by removing PostGIS and proceeding from there. For the VPS, I might try just cloning the VPS and doing the old fashioned way.

Well, that was a waste of time and money

So our house network looks kind of like

-fiber-[Fiber Modem]-[Router/WAP]-[switch]-[security camera]
-[living room drop]
-[dining room drop]
-\
-upstairs-[switch]-[linux]
-[iMac]
-[Mac Studio]

The cables represented by dashes (except the fiber one) are supposed to be Cat5e, but they might only be Cat5. The switches are 10/100/1000 Mbps and all three of the wired computers are running 1000 Mbps. The new one, the Mac Studio, had to be coerced in that speed, because it didn’t seem to be capable of negotiating correctly. I wrote that off to the fact that the switch is several years old and came out before 2.5G/5G/10G Ethernet was a thing. The WiFi is 802.11ac (I think) although I never really saw even close to the theoretical speed out of it. I think most of the time Speedtest.net would show the computers on the wired connections getting somewhere between 600-800 Mbps and the wifi only getting maybe 40 Mbps on a good day. But that was perfectly adequate for most uses – I want the faster speed on my wired computers because I’m uploading big video files and running various servers.

A few months ago, Greenlight told me that they were updating my fiber to 2Gbps. At the time, because my whole network is 1 Gbps, I didn’t think much of it. But recently Vicki’s been complaining about the WiFi being too slow and dropping out whenever the microwave is on. Fair enough, my experience is that home routers is that they need to be replaced every 5 or 10 years, and this one was in that age range (I think.)

I’ve been looking for routers that can do at least 2 Gbps on the fiber “modem” side, and also on the uplink to the switch. I did some investigation, and couldn’t find one at a decent price point. But then a couple of days ago I found a review of “best routers” that seemed to be saying that one of the routers could do the trick. It also had WiFi 6 which should speed up some of the WiFi’d devices. I also found some switches that said that they could do 2.5 Gbps on all the ports.

I spent a very frustrating time yesterday trying to get it all set up. My first problem was I forgot that because I’ve got a static IP, I had to manually enter the WAN IP address and other stuff. I got it all set up, the switches were showing 2.5 Gbps from each other, from the new router, and from the Studio. Speedtest was showing the wired computers were making 900+ Mbps up and down, and WiFi on my iPad was just about as 2/3rds as fast.

One weird thing I noticed is that the link between the router and the fiber “modem” was still showing at 1 Gbps. I didn’t realize it at the time, but the review I read mislead me. The router is capable of 2.5 Gbps WAN, but only using something called “Dual WAN”, which I think means using the both the port labeled WAN and the first port labeled LAN to connect to the fiber modem. But since only that LAN port is 2.5 Gig, I’d be able to get data to the router faster, but it couldn’t go out faster to the upstairs wired computers. I suppose that might make the WiFi a bit faster? Also the fiber modem only has one port, so I’m not sure how to make use of the “Dual WAN”.

I tested port forwarding and all that stuff and it all seemed to be working just fine, when I decided to see if copying files between the 3 wired connections were any faster. (In retrospect, they probably wouldn’t be since 2 of the three computers are only capable of 1 Gbps.) Soon after I started the copy, the Linux computer completely stopped talking to any network. I rebooted and it still wasn’t talking. I fiddled with a bunch of configuration, but the only thing that got it working again was putting back the original 10/100/1000 Mbps switch upstairs. Not sure why that happened, or why switching the switch could fix things.

At that point, I was having trouble with my Mac Studio. The Ethernet kept dropping and coming back up. I looked in the hardware settings for the Ethernet port and it was set to Automatic instead of Manual like it was supposed to be. And every time I switched it to Manual and reconfigured everything, after I clicked “Ok” and then clicked “Show Details” again it was back to Automatic. I eventually gave up on that and just used my old Thunderbolt to Ethernet dongle I used to use with my work laptop when I had one. Actually after I woke up this morning I had an idea and deleted the Ethernet configuration and made a new one, and it worked fine.

Meanwhile I reconnected most of the other devices to WiFi, including the Roku, and right now with Vicki watching videos on one of her devices and me watching videos on the Roku, Speedtest is showing the WiFi speed down to 30-40 Mbps again. Sigh.

So honestly I think I’ve spent a lot of time and money, and given myself a terrible day of screwing around with things that used to work and then didn’t work, and now work again, and all for nothing really. And I still have to manually re-attach some of the Wyze cameras to the WiFi, which in one case will involve going up on a step ladder to push a reset button and show it a QR code.

So this is happening

I’m slowly ramping up to start a drone business. I have the website https://RochDrone.com/ with copious design help from Bob Raymonda, I have business cards (also designed by Bob), I’ve just filed a DBA, and I’m about to start advertising.

My business card

Funny aside here: Notice that the URL is https rather than http. I’ve got several websites hosted on my server, and I’ve been resisting for years getting certificates for them all and redirecting from http to https. I figured it would be a full weekend type job. But what I discovered once I decided that it was a major requirement if I’m going to run a business website on my server was that basically I had to install a script and run it, answering a couple of questions mostly with defaults it provided, and I was done in 20 minutes. And 10 of that was thinking it wasn’t working because I accidentally forwarded the wrong port on my router.

The goal of the business was originally was to get my neighbors to pay me to get a look up on their roofs to see if their gutters are full of leaves or they have a shingle lifting or an obvious leaking spot at a chimney or a vent pipe. I mean, I would have paid for that when I had contractors telling me my gutters were full and I should pay them hundreds of dollars to clean them. But when I talk to other people, they don’t seem all that enthused. Well, maybe when they see the ad they’ll come around.

Alternatively, there’s a lot of real estate listings that would be improved by some nice drone shots. Or maybe contractors who’d like a look at a roof before they start estimating. Or home owners who’d like before and after shots of what the contractor has done. Or maybe weddings or graduating classes who’d like a cool video group picture. Or (and this one I didn’t think of, but I got approached by two rappers) an overhead shot in a music video.

I never thought this would become a full time job. What I’m hoping for is for it to grow to the point where I’ve got one or two shoots a week. But first, I’ve got to drive traffic to my website. Having a link here on my blog couldn’t hurt.

I’m trying to decide if I want my drone stuff to move to a separate YouTube channel. I worry that going forward it’s probably going to be the only content on my channel and I don’t want to make a new channel and starve my existing one.

A weird thought

I had a weird thought the other night. There are a couple of programming tasks on my massive “to do” list that I figured I’d power through in the first few months of retirement before I started spending hours and hours alternating between training in my kayak and touring on bikes with my wife.

Well, life doesn’t always work out the way you intended and none of my todo items has been checked off because the pain that last year made it uncomfortable to sit for too long, and which was just on the “barely tolerable” end of things by the end of a normal length kayak race has now progressed to absolutely intolerable for even short stints at a desk chair or kayak. I’ve spent about 15 minutes total all winter in my erg, and haven’t even put my kayaks in the water. Normally by this time of the year I’d have 30 or 40 hours on the erg and about the same on the water. And I limit my sitting at my desk chair to short periods to deal with bills and paying taxes and the like. Even the library easy chairs are uncomfortable verging on painful these days.

But back to my weird thought. I have a new iPad. I can’t afford a new laptop. So I was thinking that for those programming tasks, what I might try is to install “code-server”, which is a hosted version of Visual Studio Code, on my linux server. This gives you the full power of a pretty extensive IDE available through an iPads web browser. I could try coding up one of those projects using that, maybe using the git integration to push the app to a free heroku instance for testing and debugging. I wonder if that’s doable?

Well, in order to find out, first I’d have to install code-server and make it available through my web server. Oh, what’s this, it appears you need to use nginx as your web server rather than Apache to do that. Well, no problem, I’ve been intending to make that switch to make it easier to use LetsEncrypt to put everything behind https like I should have years ago. Oh wait, one of my sites uses Perl fastcgi. Looks like there’s some extra hoops you have to jump through to configure that. And also convert all my .htacess files into clauses in the nginx configuration files.

Sigh, this is going to be a full in yak shaving exercise, isn’t it? I just wish the pain killers I take to be able to sleep at night didn’t leave me dizzy and disoriented all day, or that they actually killed the pain instead of just knocking me out.

Well that aint good

Further to Scraping a third party site:

Woke up this morning to an email from Linode saying my linode server has been running at 200% CPU. Logged in, and sure enough CPU is high, and there are a bazillion “firefox-esr” processes running. Did a kill-all on them, and the CPU immediately dropped to reasonable numbers. There was still a “geckodriver” process running, and when I killed that it went into zombie state instead of going away. I had to do an /etc/init.d/apache2 reload to make that one go away.

Did some tests, both from the nightly “scrape the whole damn site” cron job and the web site’s “scrape one flight plan when the user clicks on that flight plan” and I’m not currently seeing any orphaned firefox-esr or geckodriver processes. So it appears that when I scrape, I correctly close the Webdriver connection which correctly stops the firefox and geckodriver processes.

So I guess I need to keep an eye on this and see if I can figure out what the client is doing to make the website fail to close the Webdriver connection. Or maybe I left some turdlets around on the system when I was doing testing? I don’t know.