Computer problem solving

Although my introduction to computing was through what you might now consider antiques, I have moved with the times, especially in recent years. I have built numerous PCs over the last few years, including several of my own, fortunately relatively unchanging these days, which is just as well as it's difficult to find the money to upgrade them.

My current main expertise lies in the building of PC systems from board level, and configuring them with operating systems. My personal preference is for Linux, particularly the Debian distribution, but I also use FreeBSD with some enthusiasm and OpenBSD and NetBSD with slightly less, and have had experience with more common operating systems, including MS-DOS, and Windows. Solaris is well known to me as well, and I have supported HP-UX in past work. I have some knowledge of Macintosh and Archimedes systems, though it's all a bit out of date now.

I always carry a USB stick with three things I sometimes need to boot. Getting them all to work in this way was not easy, but it was fun. So, I've written a page about it: How to make your own bootstick.

One of my best bits of tinkering resulted in me setting up a computer to run Asterisk, and connecting the household's telephones to it, as well as using softphones. One of my phones is an old Post Office 746, fully converted. It was not properly converted when I got it, and a few things came to light which people interested in this might like to read about. So, here is my document on converting, and verifying proper conversion of, the Post Office 700 series of telephones. Further, I have even overcome the contention between fax and phone calls by combining fax sending with Asterisk. For receiving, I use a provider who provides fax to email and allocate some of my numbers for it. See my fax for two with Asterisk and HylaFAX for details on how I did it.

My latest bit of Asterisk tinkering has brought the AGI script into use. This virtually obsolete script supports call charges that vary by time of day, which LCDC (its replacement) does not yet handle. It also tries an enum lookup.

I have created ratefiles for both BT and VoIPtalk. They took some doing due to the multitude of rates and lack of consistency. These ratefiles are believed to be correct as of April 2009, and are provided here if you want them, but subject to the following conditions:

  1. I make no representations as to the accuracy, and therefore do not accept liability if you are charged different rates.

  2. I assume the BT line is on “Unlimited Evenings & Weekends”.

  3. I assume that VoIPtalk's prefixes, which differ from BT's for some countries, are correct, and that the VoIPtalk account is a simple prepay one.

  4. All prices are in millipence per minute, except for fixed fee calls, where they are in millipence per call, and combined connection fee and timed, when the rate of the most expensive minute of either the first or second has been used.

(Millipence are thousandths of a penny – the British equivalent of millicents.)

Download BT rates and VoIPtalk rates.

Also, a while ago, I had the misfortune to experience a filesystem problem affecting package files on a Debian system. I tried using fsck to fix it but it was unsuccessful. I then copied the entire /usr partition to a spare, swapped over to using it and rebooted, did a mkfs on the old partition and moved everything back – all damaged files were gone. This meant that some of the files from the various packages would be missing.

I sought some advice on how to do a reinstall but it did not prove very successful – the process often stopped with an error. It was during this, I came up with a method that, although quite tedious and time consuming at times, should work reasonably efficiently.

First, by all means try aptitude reinstall '~i' but don't be surprised if it fails as soon as the packages have downloaded.

I think the best way forward is:

  1. Do aptitude reinstall '?installed?priority(required)'. It will either succeed or fail. If it succeeds, repeat it for the next priority down – important, standard, optional and extra.

  2. A failure will be indicated on a line beginning with E:. If only one package is mentioned in the error, do aptitude reinstall thatpackage. If two are mentioned, the error will be related to package2 pre-depending on package1. Do aptitude reinstall package1. Go back to step one but between the ' marks, on the end, add !?name(package-you-just-reinstalled). Keep repeating this step until either step 1 succeeds or you exhaust the current priority, when you should move on to the next.

The reinstall is complete when the extra packages, if any, have been reinstalled.