My Linux Experiences
Last update: January 24, 2022
About a year ago I got the bug to try out Linux. I had upgraded my main PC and had a "spare" P2-333 machine with 256 MB and a 4 gig hard drive just begging to be used.
The First Install - Redhat 9I did a lot of research before I settled on this distribution but figured it was only an experiment and I could always just wipe the hard drive and start with something else later. It turns out that it all worked pretty good with the default install but there was some stuff that didn't come out the way I expected. I couldn't get Samba to play nice with the rest of my windows network and soon became frustrated. I wiped it and reinstalled thinking there was a problem with the install but no good - still broke. During this install I got a clue though - there's a FIREWALL turned on by default when you install and that turns out to be what was blocking the Samba traffic. Once I turned the firewall off (didn't need it) all worked just fine.
I played with the apps (and games) in Gnome and finally got around to thinking about the web server, Apache. Turning it on was easy and I found that it was pretty straightforward after that to load up my web content.
I opened up port 80 on my router and pointed it at the server and could access it from the outside world. OK, but it's not nice to have to know one's changing DSL IP address whenever you wanted to access the web page. I had at one time set up PCAnywhere on my windows PC and used the services of no-ip.com to route from an external name to my PC. It worked just fine with my web server too so now I was available from the outside.
The End of RedhatWell, Redhat decided that they wanted to get out of the "free" business. I never really was happy with their support policy and even less so with the Fedora project support so I started looking for something else. I had another PC around - AMD K5-166 with 64 MB of RAM so I started looking for something different and perhaps better.
I looked at quite a few - Fedora, Debian, Slackware, and SuSE. Except for SuSE I was able to download the full ISO image and install what I wanted - Apache and Samba with no GUI interface. I tried them all but was not particularly satisfied with the results. One of my major goals was simple patches and none of these fit. I could never get SuSE 8.2 to do an FTP install with the 64 Meg of RAM and more was not possible so I never really got anywhere with SuSE.
The Trustix Solution
At long last I found one that was a bit of an odd distribution - Trustix.
It had the features and easy update facilities I wanted and it didn't
even have GUI options. I got it up and running pretty easily and was
able to easily switch over my web and Samba services. The Redhat
machine then became history.
December 17, 2004
It's been a while since I updated this. The UPS is installed and working just fine. Nice to see what is really happening with my power. Also nice to see that it can really handle the short outages just fine. It would be interesting to know how it handles longer ones but I'm in no hurry to test it.
I have a new plan for the Netware stuff. I've already copied some of the more static stuff that is mapped to other drive letters anyway to the Linux server. What's left will easily fit on the main drive of the linux server so that can happen most anytime. Once I get all the data moved I can shut down the Netware server and then move the drives as a mirrored pair to the Linux server. Then it's more shuffling of data and I'm done. Netware is then history - I'm sorry to see it go but it's time seems to have passed for me and my customers.
December 29, 2004
Today was RAID day. I had fired up the backup server a couple of days ago and rsync was doing it's thing quite nicely. I switched the router to us the backup and then shut down the main server. I then installed the two 4.3 GB SCSI drives that were Netware drives in the server along with an Adaptec 2940W card. Boot up the system and it all hangs while trying to load the drivers for the old Adaptec 1542 card. Pulling the 1542 card solved the problem - some conflict there. I evaded the issue by pulling the internal tape drive that was in the Netware server and installed it in the Linux server cabled from the 2940W card. It all booted up just fine and the hardware all works at this point.
Now to build the RAID array - not all that tough. Ran cfdisk and set up the two "RAID" partitions and coded the raidtab from as directed in a very nice tutorial at: "The Software-RAID HOWTO". Went to run mkraid and it says it couldn't do it because there was no "chunk size" specified. Well, the example I had didn't include it and the man page for mkraid isn't all that helpful so I just put one in and it all worked just swell. Only took around 7.5 minutes to sync the two drives up so the performance is pretty good. Then built the file system (reiserfs) and set up a mount point. All is going just great and this part is working well. Moved the data over to the array and fixed up the Samba parameters and it all seems to work great.
I decided it would be good to run a backup so I fired it up and ... no-go. Says "excessive retries" so I'm wondering if that seldom used tape drive is dead. It does rewind and eject the cart just fine so it's not completely out of it so I try the obvious - run a cleaner cart through it. That does the trick and all is well. Ran the cleaner cart again after the backup (tape drive says so - slow blinking green light) and all seems to be well.
Ran into yet another Samba issue. Turns out people in the group for the directory can't delete existing files because they don't own them (root does). There's a parameter "create mask" that is comes into play whenever you create or delete a file. This mask is "and-ed" on the file system rights and the result is what is applied. The default is "0755" which lets the owner do it but not the group even if they have the file system rights. I set up a global default for this mask to "0777" which then lets me do the controls I need at the file system level like I expect to.
January 24, 2005
Well, about 9:35 PM on January 5th I got my wish. We had nasty freezing rain that caused widespread power outages in the area. The UPS ran for about 55 minutes and apcupsd nicely handled a clean shutdown. Unfortunately the UPS itself didn't get shut down. Because of this there was no power off/on for the PC power supply to see and therefore when the power came back the server didn't. I was still up 2 1/2 hours later when the power came back so I got things manually restarted. It was late so I figured I'd check on why the UPS wasn't turned off the next day.
About 2:50 the next morning the power went out again. This time the batteries lasted about 20 minutes - not all that bad for only 4 hours charge time. Of course I wasn't awake at the time so the server was still off when I got up the next morning. I got it back up and running and then tracked down the problem. It seems that the "halt.local" script that is installed with apcupsd has an "if" statement testing for "START_APCUPSD" variable set to "yes" but nothing ever sets this variable. Searching the web I found references to this variable but it looks like the setting of it was removed some time ago. The solution I came up with was to comment out the "if" statement (and the ending "fi"). So far it hasn't been tested and I'm in no hurry.
May 2, 2005
It's been a little while but I haven't been idle - just busy with other things. Things are running pretty smoothly actually so not much to do except keep up with patches. I've added a host or two to Apache but otherwise not a lot new. I've been reading Learning Perl (the Llama Book) and starting to actually understand Perl. I've been generating a flat file version of the FCC Amateur callsign database every week and I can access it with a C program I wrote some time ago. On reading about Perl I started thinking that I could write this program in Perl and then make a CGI script of it so I could use it via the web. Well, it actually works (after a fashion) and I'm anxious to finish off the book so I can move on the the next book: Perl DBI. I have plans for a MySQL database and web pages sometime in the future.
Another change is to change the mail server to send mail via my ISP. I was getting tired of this server or that refusing to talk to my mail server because somebody in my subnet was bad. And then AOL decided they were going to block my ISP's email server - for probably the fourth time in the last year or so. I sent everyone on my mailman mailing lists a note saying "get off AOL, set up a forwarding service, or set up a yahoo email account or expect to loose emails". I refuse to waste any more of my time worrying about AOL users not getting email I sent. If they get it, fine. If not, I'm not really going to care.
The UPS shutdown software continues to be untested, but I can wait. Tape backups with TAR continue to work just fine when I remember to do them. I do backup critical stuff to the big storage volume automatically so it wouldn't be the end of the world if the main 4 Gig drive died without a current tape backup. I was using STAR for daily backups but found I could restore anything from them. Not good. Figured out how to get TAR to backup stuff from a specified date and got that to work just fine. I never did track down why I can't restore from a STAR backup and I probably won't bother with it. Think I'll just stick with gold old TAR.
May 14, 2005
The UPS "fix" (see January 24) does work! Unfortunately nobody can see this yet because the phone line (and DSL) is still down. Last night we had some severe weather go through and the neighbor's tree fell across the utility lines. Took out HV feed line and then yanked the 240 volt local feeders hard enough to snap the pole in my back yard in half. This also yanked my electrical service off the side of my house. Ohio Edison was out about 3 AM sawing enough of the tree out of the way to clear some things up. They planted a new pole and went to breakfast. By about 10 AM all their stuff was back up. Around that time SBC showed up and was amazed at how serious the problem was - this despite my telling the guy I reported it to last night exactly what had happened. As I write this, SBC is still "planning" what to do.
You can look at http://ak8b.us/storm-may2005.htm for more info.
December 17, 2005
Way too long since the last update. If I can just remember all that I did ...
I did finish the Llama Book and have a much better understanding of Perl. If you've used a programming language, particularly C, this is the book for you. Perl definitely looks a LOT like C and has a lot of really neat extras. There is also a very good (but not complete) discussion on how regular expressions work.
Since MySQL has decided to associate themselves with SCO I have started looking at Postgres instead. I'm missing something as I can't seem to get it updatable from MS Access. I'm sure it's something silly but it's not real high priority yet either. It's installed and I fiddled with it a bit but that's it. Some day when I get serious about dumping MySQL I'll do something more. I only have one database right now anyway.
A couple of weeks before my daughter and I were going on vacation this summer she asked about signing up for a service where we could upload pictures that everyone could see. I asked her to hold off until I looked for something I could run myself on my own server and she reluctantly agreed. It took me all of 5 minutes to find one called Gallery. I installed it and had it up and running in about an hour. Showed her how to use it and within a couple of hours she gave it her stamp of approval. At the time version 2.0 wasn't out so this is version 1.5 (I think) and works perfectly for our purposes. Another zero cost neat feature! Since Holiday Inn Express has free Wi-Fi we were able to upload stuff the same day for part of our vacation. Pretty neat! If you want to look it's at http://gallery.ak8b.us - remember it's only DSL so the uplink is not all that fast for the photos but it serves the purpose at no cost.
I replaced the CD-ROM drive with a DVD-ROM drive so I can offload some of the more static stuff onto a DVD+RW disk. These are the CD image type things like the ham callbook and such. It was working just fine until the last kernel update a few days ago. I didn't notice at the time but the DVD would no longer mount. Finally tracked it down and it seems that this kernel is more picky about parameters in fstab - invalid parameters seem to prevent the mount instead of just being ignored. Changed the line to '/dev/cdrom /media/cdrom subfs auto,procuid,nosuid,nodev 0 0' and all works fine now.
Space is starting to get a bit tighter on the storage volume. I figure sometime in the next 6 months I will have to add more space. I think a 250 GB SATA drive makes sense. I'll need a card for it and I'm still looking for a good one without spending a fortune. Great performance is not a requirement for this - it just needs to be reliable. I'm thinking one of the Silicon Image based cards should do the trick.
Since SuSE has announced that support for 9.0 is going to end on Jan 1, 2006 I think it's time to think about upgrading the server before they announce the drop date for 9.1. I've installed SuSE 10.0 on my laptop and desktop machines and there are some issues with packages being dropped that I will have to resolve. Most notably is the absence of clam. It's not a big problem though - go to the clam website and there is a place to download binaries for SuSE (which turns out to be ftp.suse.com), The other missing item I found was ddclient but the rpm from 9.3 installs and runs OK so I'm not worried there either. I kind of understand why they dropped clam as they have something else they're pushing, but not ddclient. Makes no sense to me. I need to search through all the stuff I have installed and make sure it's available on 10.0.
May 15, 2006
Well, another long time between updates but not a whole lot happening anyway.
I did add a 250 GB drive to the mix and rearranged things quite a bit. I abandoned the SATA route and stuck with good old Parallel ATA. When I opened the machine up I discovered it only had a 250 watt power supply and decided that I should probably put something bigger in. I had a spare around so that one was easily solved. I did check for heating problems and nothing in there was even beyond warm right after shutdown so I don't need to worry about cooling. It's a giant sized tower so there is lots of air space and I had already added a couple of extra fans.
I learned a few things when I installed this drive. Most importantly I learned to not mess up the fstab. BAD things happen at boot time if you do - like the boot doesn't continue through. Took me a long time to figure out what had happened as the appropriate message kept scrolling off the top of the screen too quick to catch it.
Anyway, in stages I reworked the big drives into a mirrored pair of 20 GB partitions and whatever was left for individual large storage spaces. The new 250 will be used for backup and the old 120 for just "stuff" like suse install disks and the like. It's just a large sharable space.
I then moved the /srv/www files over to the "new" mirrored space. It became /msrv/1/www so there were a bunch of things to change. It took me a few days to find them all but everything seems to be OK now. After I found them all I decided that something wouldn't like this when it comes time for updates so I built a symbolic link so you can still see everything like it's still in /srv/www.
Today was also the day of the dreaded announcement from SuSE about the end of 9.1. The magic date is June 15th so it's time to get moving and upgrade to 10.0. I know I could just continue to run with it but I should just bite the bullet and do it.
I found what happened to some of the packages that were missing. They moved to the source DVD. At least ddclient did. Postgres and clamav are available from ftp.suse.com/pub/projects/
December 7, 2006
Long time again but then not a lot has happened either.
I acquired a "better" backup server - it's a Gateway (ugh!) Celeron 533 with 160 MB of RAM. I have SuSE 10.0 loaded and TWO 4 GB hard drives in it so it can fully support all the web page stuff including the Gallery. Had some trouble with cooling - the single fan in the mini sized power supply was the ONLY fan and it was supposed to blow on the CPU heatsink. Worked OK with the cover off but crapped out in short order once I put the cover on. I added a case fan and a deflector to the PS fan to blow air more towards the CPU. Works fine now. Anyway, it's ready to go.
I had to do a bit more work on this backup server because I started integrating CGI scripts in some web pages that pick up data from SQL databases so I had to get MySQL set up on this server too. I don't have all the details worked out for syncing the SQL data yet but it should be pretty easy. The data doesn't change that much so a once a day sync should do it.
I haven't gotten any updates for the SuSE 9.1 system for a while now and updating is going to have to happen soon.
And of course the sellout of SuSE to the evil empire has complicated matters. I'm just not ready to go through a major switch of distros right now even though I have the one I want to use all picked out (I think). I think I'll get it updated to 10.0 which will buy me some time to get the next step figured out.
I did some experimentation with CentOS which is based on RedHat Enterprise Server. It looks like the way to go and has some reasonably long support timelines. I've always been uncomfortable with the relatively short ones of SuSE but I really liked how slick and easy things were to install and maintain. Fortunately the RedHat way is somewhat familiar to me so it shouldn't be too bad. I think I'm going to load CentOS on my desktop PC over top of SuSE and see how that goes. That should give me some good experience for the future.
I finally got around to updating POPFile to the latest release. I figured this would be a problem since SuSE 9.1 didn't have the latest release of SQLite which the POPFile now needs. It turns out that POPFile can't use the current version (bugs in SQLite) so all was cool.
October 17, 2008
OK, a REALLY long time since the last update.
I've pretty much decided to leave the server, for now at least, on SuSE 9.1. Everything is pretty stable and works just fine. I can keep Clam antivirus updated manually.
I've also done some web development with CGI scripts. What I've done is pretty basic and mostly just functional but it's for my use only so it doesn't really have to look pretty. I've propagated the code and ideas to different databases and some different funtionality.
This was all before I recently discovered PHP. I'd been putting off learning yet another scripting language only to discover that it's much easier than learning PERL. In fact, it so closely resembles C that I now realize that I never should have spent time doing CGI scripts. I had the basics down for PHP in just a couple of hours and was writing database applications within four. It's so much easier when the "new" language so closely resembles one you already know.
I have one new challenge coming up though. I'm going to be moving one of the web sites to another Linux server and it does include moving a MySQL database with it. I think I have everything figured out so it should go smoothly. I have a couple of months at least so I have time to work out any problems.
September 5, 2010
The server is still chugging along but I'm going to have to get more involved keeping Clam updated. I can no longer find a proper RPM for it so I have to build it myself. The first time I did it all went pretty well and I figured I'd wait a few days before actually installing it. The very next day after the build a new release was announced. I skipped that one and waited for the next release and went through the build again. It's probably time to actually install it.
I've been looking at CENTOS. I'm liking what I see but haven't had much time to play with it yet. I just got a new (to me anyway) IBM T42 notebook and installed CENTOS 5.5 on it so I could play with it more.
I'm usng MySQL more with PHP, particularly with the addition of the trian club web site: http://www.cuyahogavalleyterminal.org. Most of it is hidden from non-members though so you don't really see it. I'm also generating the calendar "offline" but automatically based on MySQL data.
August 15, 2014
Long ago (November of 2010) I started building a replacement server with CentOS 5.5. I decided not to wait for CentOS 6 since there was no clear timeframe that it would happen in. Anyway, the new server went into service in early 2011 and has been humming along ever since. It's now upgraded to 5.10 and is starting to show it's age. I started working on a "new" server running 6.5 and it's starting to come together.
Again there's a "wait for CentOS 7" decision to make. The good news is that if there ever is a 32 bit version I'll be able to migrate in place from 6.5 but there is no guarantee that we will ever see a 32 bit version. I'm not sure there is anything in 7 that I'll need anyway so going to 6.5 is not all bad. It still has a lot of years of support left.
The 6.5 server project got kicked off when a friend of mine gave me a set of 4 18 GB SCSI drives with SCA interfaces. I wasn't sure what I would do with them but a little searching on eBay found some inexpensive ($3-4) converter plugs so I ordered a couple. I'm using a pair of the drives in a mirror configuration for the boot partition. After some fight with a bad SCSI cable I got it working - it's a complex road for mirrored boot partitions but well documented. I added another hard drive (SATA) to make testing easier. I have most everything installed and working but I'm still testing some of my more odd scripts to make sure they work properly.
This motherboard is not as robust as the one I'm using for the CentOS 5 server but it's got plenty of guts to do the job. It is a bit of a step down as it's a 32 bit system as opposed to the CentOS 5 board which is a 64 bit board - even though I'm not running the 64 bit version of CentOS on it. That board has exhibited some odd behavior recently which also prompted getting something newer started.
On the applications side of things I've quit writing new scripts in Perl and switched to using Python - something I should have done long ago. I'm doing even more with PHP and have found almost nothing that I couldn't accomplish with it. I've been using it extensively with my radio club's web site, http://www.cfarc.org, even though it's not hosted on my server. The train club site is also seeing a LOT of PHP usage including a totally PHP calendar (the radio club too) and a whole host of stuff not publicly available using PHP.
I promise to do an update after I get the CentOS 6.5 server running.
And the CentOS 6 system will be running MariaDB instead of MySQL. I've had no real issues with the switch and the databases switch over easily. One less product by that anti open source "O" company to be concerned with.
April 9, 2017
I know, I promised to keep this updated more often. It's definitely time.
Several things to tell about.
New Backup Server - Since the last update the Raspberry Pi has made it's debut and gone through a few model changes. I succumed to the need to play with one so I bought a model B+ and started playing with it. I then thought: Hey, could this become a backup server? The answer turned out to be 'YES'.
There was a distro for the Pi called 'Pidora' which was based on Fedora. I loaded it and was able to get Apache and MySQL running with no problems. I added a 64 GB USB stick and some rsync scripts and easily got a backup server running.
Alas, there was only ONE version of Pidora released and there is no maintenance. It works but I'll need something that can be maintained. I think I have something lined up but it will have to wait a while longer. I'll have a Model 2 available soon to do the upgrade on.
CentOS 6 Server - I've been kind of lax here too. I did move everything except the email services to this machine. It's now running version 6.8, soon to be 6.9. The version 5 server is now officially unsupported but since it's only running email that's probably OK for a while. The CentOS 6 server has a mirrored pair of terrabyte drives plus an unmirrored 500 GB drive in it for storage along with the pair of 18 GB SCSI drives. The hardware is working well and seems quite stable.
I think I have everything I can converted off of CGI scripts. The only thing left is the APC monitoring page and I'm not planning on rewriting their code.
The End of DSL - I decided that DSL from Bright Net was never going to get any faster so I looked at alternatives. I looked at going directly to AT&T but was scared away at the high cost of buying equipment and installation (about $200). I also didn't really like the idea of them having control of my router. Not being a real fan of Time Warner I had shied away from them initially but remembering my bad experience with them was quite a few years in the past I decided to check them out. It turned out that I could actually SAVE a few bucks (less than $10) a month by switching my internet and phone service over to them. AT&T was charging $30 a month for crappy phone features and added to my ISP charges was more than what Time Warner wanted for both internet (15 MBit) and phone (full service unlimited). The internet speed worked out to about 12 times the speed and of course the phone restrictions I had with AT&T would disappear. I did buy my own modem ($80) but it's only a modem and I kept control of my own router.
Router Upgrade - I knew that the old DI-604 was not a great router and realized that I needed something with better features for the future. Asking around I was steered to using a Linksys WRT-54G router with custom firmware (Tomato). To run Tomato I needed to find either an old WRT-54G (version 4 or below) or I could buy the new replacement - the WRT-54GL. I opted to buy the new one and it worked well - right up to the time when it was attacked by a water leak. By the time the leak had happened I had acquired a used WRT-54G that was a suitable replacement and was able to quickly get things back up and running.
I am considering replacing this router with something more robust - a Ubiquiti EdgeRouter X. It doesn't have any wireless in it but that's not a problem for me as I have another router set up as an access point anyway. The EdgeRouter has VERY robust configuration capabilities out of the box and will allow me to split off the 'IoT' devices (TV, DVR and BD player so far) on their own subnet.
That's all for now.
January 30, 2021
I actually started playing with Python in 2016 but it has since then become my go-to language. I should have done that long ago!
The End Is Near for CentOS
I started looking for something else since my attempts at getting CentOS 7 working on hardware I have has been pretty much futile. Forget CentOS 8. I looked at Ubuntu LTS but found it lacking. I gave OpenSUSE a try and it seems like it will be the one. I have a server up and running but so far only doing local Samba service for backup space. It should work fine for the rest too but I just haven't spent a lot of time with it. I'm using the Tumbleweed variant and updating only occasionally at this time. I don't think it's a good idea to be updating daily.
I'm using a somewhat different strategy for the LVM - instead of mirrioring the whole disk with MDADM I just put all of my disks into LVM and have LVM mirroring the ones that really need it. I was mirroring everything including backups on CentOS which is pretty much not necessary. I did do some testing and having LVM do the mirroring is actually a little bit faster.
The motherboard is one I picked up at a Hamfest for $30. It's running an AMD Athlon(tm) II X4 555 Processor at 2.3 GHz and has 4 GB of ram. Probably overkill on the RAM but it had a bunch on the board so I just used it. The boot drive is a 40 GB IDE drive. I have a 72 GB SCSI drive and controller becoming available soon and I'll move it to that when I get that out of my desktop. There are two 500 GB and one 1 TB SATA drives for the LVM. That's actually bigger than what I have on the CentOS server. More will 'migrate' from the CentOS server as I shut it down. It's got 6 SATA ports on the motherboard so I have quite a bit of expansion possibilities. Unfortunately this board does not have on-board video so I had to throw in a video card (PCI).
I would probably have web services on this machine if I could get the SQL directory password lookups to work under Apache. I'm missing something simple I'm sure and I'll eventually find it. Once that's done there is not much of a barrier to switching most stuff over. Email will probably be the last to go.
And yes, there is already an OpenSUSE backup server running on a Raspberry PI 2 although it's not really finished up yet.
I'm also running OpenSUSE on my laptop (Lenovo Thinkpad T520). I do update the laptop more frequently.
I promise to do an update once I get the OpenSUSE server in place.
January 7, 2022
I've move almost everything to the OpenSUsE server. The only thing remaining on Centos is the mail server and it's days are numbered. I had moved the Samba shares a couple of months ago and just moved the web server earlier this week. It's been a bit of a struggle getting https working (a kludge with the Apache loadmodule.conf was required) but it's there now. Let's Encrypt is now providing a good certificate and will update as needed.
Update - January 24, 2022
As of yesterday everything is now moved. It's probably not all working perfectly but it's close. I generated a separate certificate for Dovecot (with Let's Encrypt) and now it's working great. It's all better than it was on CentOS.
I liked CentOS but what Redhat did to it sealed it's fate. Hopefully OpenSUSE will not go the same way.