APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

Moving from SCO to Linux

© October 2001 Tony Lawrence

I've been running SCO as my personal desktop OS for many years now. I started with Xenix on a 286, and ended with 5.0.6 on a Pentium III.

I should say at the outset that I was not at all unhappy with SCO as my personal OS. There were some minor annoyances such as difficulties in compiling open source code, but the platform was stable, reliable and rugged. It served my needs.

However, it was time to change. I've known for sometime that I needed to pay more attention to Linux. I had installed Linux on spare machines, and played with it here and there, but that isn't enough. To become as conversant with Linux as I am with SCO, I needed to use it every day; I needed to experience the problems, to learn the glitches, to discover the ins and outs. The only way to do that was to make it my personal desktop.

The decision to do that was made more than a year ago- I've been putting it off, finding reasons why right now just isn't convenient, half-heartedly trying to convince myself that maybe I really didn't need to do this after all.

I finally reached the point of no more excuses. I had picked up a copy of Red Hat 7.1 a few weeks back but hadn't even looked at it. I could install it on a spare machine again, but I knew that wouldn't really get me into it- I'd just skim the surface- no, it was time to bite the bullet and make the transition. I honestly had dozens of other tasks competing for my attention, but it had just been put off too long. With long inward sighs, I made and verified two full DVD-RAM backups and one tape. I used Microlite BackupEDGE SS for this, and made sure that the DVD media would boot. If anything went wrong, I could easily restore to the exact state.

I then opened the Red Hat CD's and rebooted the machine with CD 1 in the IDE CDROM drive. That bombed almost immediately. Rather than trying to figure out why, I rebooted with the CD in the DVD-RAM drive (DVD-RAM drives read ordinary CD's). This time Red Hat was wiling to install. Goodbye SCO. Goodbye comfortable environment where I always know what to do. Time to learn new things.


The first thing to decide was how to partition my drive. I am of divided mind in this area. Nowadays, when using SCO servers, I only make two file systems, / and /boot. However, SCO's HTFS file system is much more rugged than Linux's ext2fs. While there are journalling file systems for Linux, I'm not sure they are fully mainstream yet, so I didn't want to go that route. There's also the matter of upgrades; although it isn't really difficult to upgrade with one big filesystem, having separate areas can speed things up and is just a little easier. Therefore, I decided to follow the typical advice of separate file systems. But how much space in each?

I knew that I was going to take the lazy way out and tell the installer to just install everything. That puts a lot of unnecessary stuff on the system, but it would also save me time hunting for things I might need. But while I knew how much total space all that would use (around 2 GB ), I didn't know where it would use it. I did some quick web research, but couldn't nail it down quickly enough, so I took a wild guess and set things up like this:

   Device Boot    Start       End    Blocks   Id  System
/dev/sda1  *  1  5  40131  83  Linux  (for  /boot)
/dev/sda2  6  1116  8924107+  5  Extended
/dev/sda5  6  267  2104483+  83  Linux  (for /)
/dev/sda6  268  722  3654756  83  Linux  (for /usr)
/dev/sda7  723  984  2104483+  83  Linux  (for /var)
/dev/sda8  985  1050  530113+  83  Linux  (for /home)
/dev/sda9  1051  1116  530113+  82  Linux swap

After the install (uneventful, by the way), this gave me:

Filesystem  1k-blocks  Used Available Use% Mounted on
/dev/sda5  2071384  69208  1896952  4% /
/dev/sda1  38859  3853  33000  11% /boot
/dev/sda8  521748  1740  493504  1% /home
/dev/sda6  3597348  2122644  1291968  63% /usr
/dev/sda7  2071384  45644  1920516  3% /var


My next task was to install Microlite Backupedgess and begin to restore what I needed. I first indexed the backup so that I could do quick command line restores of certain things I wanted right away, and then created a full listing that I edited down to just the things I wanted.

I couldn't just blindly restore- the SCO system keeps user directories in /usr, over here they'd be /home, etc. There was also the matter of space- the SCO had been (aside from /boot) one big file system. So I had to selectively pick and choose what I wanted. The "Instant File Restore" from DVD-RAM made short work of that: I'd restore a directory tree, move it where I wanted it, and move on to the next.

While restoring, I noticed errors coming from Gnome's attempts to automount the CD (the DVD-RAM, actually). I personally find automounting extremely annoying, so I shut that off from the Gnome control panel.

After restoring everything I wanted from backup, I finally ended up with this:

Filesystem  1k-blocks  Used Available Use% Mounted on
/dev/sda5  2071384  769916  1196244  40% /
/dev/sda1  38859  7582  29271  21% /boot
/dev/sda8  521748  240584  254660  49% /home
/dev/sda6  3597348  2252824  1161788  66% /usr
/dev/sda7  2071384  725392  1240768  37% /var

Update Agent

I now felt it was time to use the Red Hat Update agent to apply necessary patches and upgrades. Red Hat has really made that a painless task- once you are registered, just clicking on the Agent does all the work. As I had installed everything, there were a lot of updates to be brought down, but it all went quickly, and most importantly smoothly- no errors, no unresolved dependencies. Simple. I have small pangs of "should I really be trusting them to just go ahead and update all this stuff?", but what the heck- it's not so hard to reinstall if I needed to (I made fresh Microlite Edge backups before running the Update Agent).


The SCO system had run Visionfs, primarily so that my wife can store Windows files and have them included with the Unix backup. That required configuring Samba.

I know about Swat, but Samba is so easy to work with that I just edit /etc/smb.conf by hand. The important things I added were:

netbios name = scobox
workgroup = WORKGROUP
hosts allow = 10.1.36. 127.
guest account = linda

  comment = linda
  path = /home/linda
  public = no
  writable = yes
  printable = no

Web Pages

I also have some local web pages and cgi-scripts that I use to keep track of certain business related things. The Red Hat web stuff is now under /var/www; I moved my stuff in place and it all worked without any attention to /etc/httpd/conf/httpd.conf. I will have to get into that later, though, because I want to mirror my aplawrence.com site down here for convenience and to give a staging area for deployment.


My next task was to add a printer, using the Linux "printtool". This worked fine for text, but failed miserably for postscript (note when testing printers from printtool- if you make changes, you have to save them and restart lpd). That's what I have learned to expect with Linux; although the filters can handle this very well, there's something broken somewhere (at least with regard to my Laserjet 6L printer) because I have yet to have it work without manual editing. Actually, having the printer handle postscript isn't all that important to me because the only reason I need that is for printing from Netscape, and for that I can use the same "webprint" script I used on SCO:

# webprint
gs -q -sDEVICE=ljet4 -r600 -sPAPERSIZE=letter -dNOPAUSE -dSAFER -sOutputFile="-" - > /dev/lp0

On the other hand, I'm stubborn. It's supposed to work, so why doesn't it? So I followed the trail and found that "magicfilter" is what's used here. Great- something I know nothing about. I did find its configuration for Postscript printing (it's a file with a ".foo" extension in /var/spool/lpd/lp if your printer is named "lp"), and I tried adjusting it, but still couldn't get it to work right. I guess I'll leave that for another day. Debugging this is a pain, because the only way to test is to try to print a Postscript file. That generates reams of paper when it fails, so you have to:

The final resoluton of this was simple: change the printer driver (in Printtool) to Laserjet4. The printer is a 6L, but that screws up Ghostscript, whereas Laserjet 4 works fine.


Right about then, I needed to call out with a modem to a client's site. Ooops, couldn't remember how to do that. Maybe cu? Well, it's there, but it's a mess. Tip? Nope. I tried "apropos modem", but got nothing useful. "apropos dial" also came up empty. Not expecting success, I tried "apropos serial" and the second line reminded me of "minicom". That worked fine. I'll have to learn how to script it or at least set up a dialing directory, but for the moment dialing manually works- nowadays I don't have a lot of places left where I have to use modems anyway.

Email and News

Well, by now I had been a number of hours without email. Was I having withdrawal symptoms? No, but that needed to be brought back. First step was to put the proper information back into Netscape and to restore my saved mail files. You have to exit Netscape completely and come back in for it to notice this.

Netscape has a lot of problems. I had to disable javascript for mail and news (not that I WANTED it anyway) or it would regularly crash. With that disabled, mail and news still crash, just not as often. Using the "Find" menu choice often leaves you unable to type into the search box; fortunately ALT-F does work correctly. For most folders, if I try to File a message, I get a hung hourglass. A work-around is to select "Newsgroups" from the menu; this releases the hourglass and the message will be filed.

Things can be better: I tried Mozilla and although it has its own share of frustrations, it seems to work better than this version of Netscape. But it does still crash here and there, and although it can file messages without hanging, it has strange ideas about sorting, and doesn't seem to expect that while I only want to view new messages in News, that doesn't mean that I want my Inbox treated the same way. I'm of divided mind as to which set of glitches annoys me the least.

The little things

It's the little things that get you. For some reason, I often want to know what line number I'm currently on in vi. I'm used to doing ":.=" (colon-dot-equal). With vi here (technically "vim"), that doesn't work- it's ":=" (colon-equal) instead. I couldn't get ssh-agent working between this box and my web site until I realized that I need to create the public key with ssh-keygen -t dsa, and store it on the other site as "authorized_keys2". I'm used to typing "df -v" amd "memsize", among other things. (see SCO/Linux Differences)

First Crash

I also managed to crash this system by adding a hard drive and accidentally loosening the CD-RW cable in the process. I had to boot from the Linux CD and use "rescue" mode to recover it. That sets you up with everything mounted under /mnt/sysimage; all I had to do was:

lilo - r /mnt/sysimage
umount /mnt/sysimage/proc
umount /mnt/sysimage/home
umount /mnt/sysimage/var
umount /mnt/sysimage/boot
umount /mnt/sysimage

I'm not even sure I had to do more than the "lilo -r"; it's possible that the rescue mode would have taken care of all the rest if I had just exited.

When the system came back up, it of course had to run fsck on each and every file system. I shut it down once more just to be certain everything was OK, and when I rebooted, I had reached "maximum mount count", which is 20 boots by default. So every filesystem had to be checked yet again. To avoid that in the future, I brought the sytem to single user mode ( init 1 ), and ran tune2fs to adjust the maximum mount count to different, larger, prime numbers for each file system. I chose prime numbers to avoid having more than one file system checked on each boot; of course eventually I'll reach the multiplication of the primes, but that's a long way away. There's another, time based, fsck check; I also disabled those because there's no need for both checks on a machine that boots every day.

Brave New World

Well, it's only been a few days now. Everything I really need is working, but I still find myself hitting "ESC-K" and typing SCO commands now and then. Netscape and Mozila are annoyingly prone to crashes (much more so than Netscape was on SCO). Right this moment I'm using Mozilla for browsing and Netscape for Mail and News (the Mozilla mail and news just unexplainedly stopped working, but I was finding it too difficult anyway- the browser is nice, though).

But it's fun. It's good to wake up your mind by challenging all those long ago habits with new methods, new commands, new places. I've got quite a few things I need to get into, some loose ends that aren't quite the way I want them, but I'll get to those. Every day brings new realization of things I need to know to be efficient or sometimes just to do something I need to do, but as my knowledge increases, that will all get easier. And it is fun.

Publish your articles, comments, book reviews or opinions here!

© October 2001 Tony Lawrence All rights reserved

Got something to add? Send me email.

(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> Moving from SCO to Linux

Inexpensive and informative Apple related e-books:

Sierra: A Take Control Crash Course

iOS 8: A Take Control Crash Course

Take Control of Upgrading to El Capitan

Photos for Mac: A Take Control Crash Course

Take control of Apple TV, Second Edition

More Articles by © Tony Lawrence

---August 26, 2004

Well, I still have Linux machines (several), but I use Mac OS X as my main desktop now. It is interesting to see how many problems Linux had just a few years back.


---August 26, 2004

Printer Friendly Version

Have you tried Searching this site?

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us

Printer Friendly Version

UNIX does not allow path names to be prefixed by a drive name or number; that would be precisely the kind of device dependence that operating systems ought to eliminate. (Andrew S. Tanenbaum)

Linux posts

Troubleshooting posts

This post tagged:







Unix/Linux Consultants

Skills Tests

Unix/Linux Book Reviews

My Unix/Linux Troubleshooting Book

This site runs on Linode