[Main]   [About]   [ChangeLog]   [Compatibility]   [Links]   [Notes]

Miscellaneous Notes

Disclaimer: Some of the notes on this page assume that you have some prior experience installing and using GNU/Linux. If you're not comfortable using fdisk or running Linux as root, then don't! These notes are provided in the hope that they will be useful, but I take no responsibility for any data loss or hardware damage. Use these notes at your own risk!


Distro-Specific Notes
Program-Specific Notes
Other Miscellaneous Notes


Ark Linux 1.0

To be able to compile C source code on an Ark Linux 1.0 system, you'll need to have the Ark Development Suite installed.

Debian 3.1, Migration From Mandrake 9.1

The notes below were collected while migrating from Mandrake 9.1 to Debian 3.1. The services are listed in the order of importance (to me, anyway).

General Notes
  • Use Synaptic to install any missing packages. Two packages which aren't installed by default are configure-debian and sysvconfig.
  • If the video settings aren't correct after a fresh install, you can open a root terminal and run configure-debian > x11 > xserver-xfree86 to reconfigure. For the changes to take effect, you'll need to save any unsaved work and then press Ctrl+Alt+Backspace to kill and restart the X server.
  • If you don't need the services that netatalk provides, you can use sysvconfig to keep netatalk from starting up on the next system boot.
  • You can turn off CD automount with: configure-debian > admin > discover1.
  • If you've installed Debian on a multi-boot machine, see the user/group notes in the Multi-Boot section below.
DNS (bind9)
  • Copy config files from Mdk's /var/named to Debian's /etc/bind.
  • Copy&Paste the zones from Mdk's /etc/named.conf to Debian's /etc/bind/named.conf.local.
  • Add the full path (/etc/bind/) to the file names.
  • Restart the name server:   /etc/init.d/bind9 restart
HTTP (apache2)
  • The file to edit is /etc/apache2/sites-enabled/000-default.
  • Change the /var/www references to wherever your HTML files are (e.g., /pub/www/html/ on my system).
  • Comment out the "RedirectMatch ^/$ /apache2-default/" line.
  • Restart the http server:   /etc/init.d/apache2 restart
FTP (proftpd)
  • If necessary, install proftpd.
  • The file to edit is /etc/proftpd.conf.
  • Uncomment the Anonymous section and change '~ftp' to wherever your FTP files are (e.g., /pub/ftp/pub on my system).
  • Restart the ftp server:   /etc/init.d/proftpd restart
NFS
  • The file to edit is /etc/exports.
  • Add entries like "/data *.local.net(ro,sync)".
  • Restart the nfs server:   /etc/init.d/nfs-common restart
  • To mount NFS shares, a client machine needs something like the following in /etc/fstab: "sys1:/pub /mnt/sys1/pub nfs rw,rsize=1024,noauto 0 0".
dictd
  • The file to edit is /etc/dictd/dictd.conf.
  • Add a 'site "your.local.net"' line to the Site section.
  • Add "*.local.net" and "deny *" to the Access section.
  • Add database entries from Mdk's /etc/dictd.conf to the User section at the end.
  • Restart the dictd server:   killall dictd; /usr/sbin/dictd
  • Do a "ps aux" to check if the server is running. If it's not, it means that one or more dictionaries are invalid (sometimes you'll need to have certain locales installed). To find out which files are invalid, you'll need to do some trial and error by commenting and uncommenting questionable files.

Desktop Crash Recovery

Although GNU/Linux distros are generally very stable, it is possible to crash your desktop environment under certain conditions. On those rare occasions when the mouse locks up and your desktop/window manager becomes unresponsive, the following notes may help.

If it's a desktop/window manager crash (as opposed to a system crash), then you should be able to:
  1. Press Ctrl+Alt+F1 (or Ctrl+Alt+F2 ... Ctrl+Alt+F6) to enter text mode,
  2. Log in as root,
  3. Run   ps aux   to find the Process ID of the offending program (it should be somewhere near the bottom of the list, right above bash and ps),
  4. Run   kill -KILL [PID]   (replace [PID] with the program's process ID),
  5. Press Ctrl+Alt+F7 to return to your desktop environment.
If all went well, your desktop environment should be responding as usual now. If not, you can try the above steps again on a process that may have been spawned by the offending program. If that still doesn't help, you can try pressing Ctrl+Alt+Backspace to kill and restart the X server (note that any unsaved work will be lost).

If none of the above helps, then it's probably a system crash. In that case, your first option is to try a soft reset by pressing Ctrl+Alt+Delete, which should initiate a normal reboot sequence. If that fails, your only other option (as far as I know) is a hard reset.


Development Tools and Libraries

To be able to compile the C source code found on this website, you'll need to have the following development tools installed on your system:
Additionally, depending on the distro and the type of program you want to compile, you may also need to install one or more of the following development libraries:

Library:Required For:
libncurses5-devc* programs
libgnome-devGNOME1/GTK1 g* programs
libgtk1.2-devGTK1 g* programs
libgtk2.0-devGTK2 g* programs

The names above are from Debian 4.0, but should be fairly similar on other distros.


Distro Names

These are a few of the distros that have merged or changed their name over the years:

Old Name(s)New Name
Auditor + WHAXBackTrack
BackTrackKali Linux
ClarkConnect Server and GatewayClearOS
Corel LinuxXandros Desktop OS
EeebuntuAurora OS
e-smithSME Server
GoblinXImagineOS
Mandrake + Conectiva + Lycoris Desktop/LXMandriva
MiniSlackZenwalk
ParallelKnoppixPelicanHPC
Peanut LinuxaLinux
Pocketlinuxeasys GNU/Linux
Red Hat LinuxFedora Project
RR4Sabayon
SiduxAptosid
STX LinuxSaxenOS
TEENpup LinuxLegacy OS
XenoppixVMKnoppix
'+' indicates a merge



Duplicate Files, Finding

Before writing gDelDups, I did some searching on the Debian 4.0 DVDs and found a command line utility called FDupes that can be used to find duplicate files within given directories. FDupes can check multiple directories and subdirectories (using the "-r" option), and the results can be redirected to a file for easier viewing:

1. Redirect the results to a file:fdupes dirpaths > tempfile.tmp
2. Open the results in a text editor:mcedit tempfile.tmp

If your distro doesn't include FDupes, the alternative below should work on most systems. To check multiple directories, you can either specify all of them on the md5sum line (in place of "/dirpath/*"), or you can repeat Step 1 using the append form of redirection (i.e., ">>" instead of ">") for all of the desired directories.

1. Redirect the md5 checksums to a file:md5sum /dirpath/* > tempfile1.tmp
2. Sort the lines and redirect to another file:sort -df tempfile1.tmp > tempfile2.tmp
3. Check tempfile2 for duplicate checksums:mcedit tempfile2.tmp



gFnRename 0.4.1

On GTK+ 2.4.x systems, the text in the Pathbox that shows the current directory may be invisible. To work around this quirk, you can edit AppUpdatePathbox() in main.c and uncomment the line near the end of the function before compiling the program. Note, however, that the extra call to gtk_combo_box_prepend_text() will cause the current directory to be listed twice, so this should only be done if absolutely necessary (i.e., on pre-GTK+2.6 systems only).


Grand Prix 2 On A Windows VM

As is evident from my other website, I'm a bit of a nut when it comes to car/motorcycle racing sims. The notes below describe how to set up a Windows98 virtual machine to play GP2 on a GNU/Linux host machine using QEMU and Qemu Launcher. (If you're not familiar with virtualization terminology, host refers to the real or physical machine while guest or virtual machine refers to emulated hardware.)

Here's what you'll need: The setup procedure is as follows: Qemu Launcher Settings

In the tables below, the settings marked with an asterisk (*) are paths/filenames for my particular setup and should be changed as necessary, depending on how your files are named and where they're located. Table 1 is a once-only setup for installing Windows98. The settings to save should be something similar to the ones in Table 2.

  Table 1: For Installing Win98

Disks And Memory OptionsSetting
  Use CD-ROM (checkbox)checked
  Boot disk (dropdown)CD-ROM
  CD-ROM (entry)/pub/windows/win98se.iso *
  Hard disk 0 (entry)/pub/hdimage/win98se.img *
  RAM (MB) (spinbox)256
Hardware OptionsSetting
  Enable audio (checkbox)checked
  Video card (radiobutton)Cirrus Logic GD 5446 PCI VGA
  Sound card (radiobutton)Creative Sound Blaster 16


  Table 2: For Running Win98 And GP2

General OptionsSetting
  Configuration name (entry)windows98
  Configuration notes (entry)Windows 98 with GP2 disc
Disks And Memory OptionsSetting
  Use CD-ROM (checkbox)checked
  Boot disk (dropdown)Hard disk 0
  CD-ROM (entry)/pub/windows/grandprix2.iso *
  Hard disk 0 (entry)/pub/hdimage/win98se.img *
  Hard disk 3 (entry)fat:rw:/home/paul/vfatwin *
  RAM (MB) (spinbox)256
Hardware OptionsSetting
  System Type (dropdown)PC, 32-bit (x86)
  Set clock to local time (checkbox)checked
  Enable audio (checkbox)checked
  Number of CPUs (spinbox)1
  Video card (radiobutton)Cirrus Logic GD 5446 PCI VGA
  Sound card (radiobutton)Creative Sound Blaster 16
Emulator OptionsSetting
  Process priority (spinbox)0
  Acceleration (radiobutton)Enable

Warning: The directory that serves as the D: drive ("/home/paul/vfatwin" in the Hard disk 3 example above) should not be altered by the host while the VM is running. If you need to copy files to that directory from the host, be sure to shut down the VM before doing so. Also, the contents of that directory should comply with Windows file naming convention; otherwise, QEMU may refuse to start.


gTextCvt

When creating dictionaries, if you encounter missing entries (ones that you know are in the dictionary, but aren't being found by the dict client), the most likely cause is an incorrectly sorted index file.

If the index file is fairly small, you can edit it manually since you'll probably only need to move a few lines in the correct order. The example below should give you a general idea of how the lines should be sorted:
Incorrect
Lintel     GHWI   Dv
lint     GG/0   JW
lintian     GHJK   M+
Linux4Geeks     GLur   GM
LinuxAlpha.org     GL03   BX
Linux/Coldfire     GLMz   HH
linuxconf     GL2O   Pd
linuxcookbook     GMFr   FD
Linux Cyrillic Edition     GLT6   Cr
linuxdoc     GMKu   uu
Linux/Epia     GLZj   Gg
Linux ESware     GLgD   C3
linuxfacile     GM5c   Gr
Linux for Windows 9X     GLi6   DN
Linux     GHfQ   Dtj
linuxinfo     GNFb   Cn
Linuxin GNU/Linux     GNAH   FU
LinuxInstall.org Project     GNIC   K8
linuxlogo     GNS+   Go
Linux MLD     GLmH   C6
Correct
lint     GG/0   JW
Lintel     GHWI   Dv
lintian     GHJK   M+
Linux     GHfQ   Dtj
Linux Cyrillic Edition     GLT6   Cr
Linux ESware     GLgD   C3
Linux for Windows 9X     GLi6   DN
Linux MLD     GLmH   C6
Linux4Geeks     GLur   GM
LinuxAlpha.org     GL03   BX
Linux/Coldfire     GLMz   HH
linuxconf     GL2O   Pd
linuxcookbook     GMFr   FD
linuxdoc     GMKu   uu
Linux/Epia     GLZj   Gg
linuxfacile     GM5c   Gr
Linuxin GNU/Linux     GNAH   FU
linuxinfo     GNFb   Cn
LinuxInstall.org Project     GNIC   K8
linuxlogo     GNS+   Go

If the index file is fairly large, you can try re-sorting it on a different distro. Note that Debian-based distros are more likely to include a version of sort that works correctly. To sort the index file from the command line:
mv [name].index [name2].index
sort -df [name2].index > [name].index
You can then move the index file back to the machine running the dictd server.


iloog 7.10

To be able to compile and run the programs found on this website, you'll need to open a root terminal to umount the automatically-mounted source partition (the one that contains the source files) and then remount it. In my particular case, the steps are as follows:
umount /mnt/hda3
mkdir /pub
mount -t ext3 /dev/hda3 /pub
You'll need to change "hda3" to wherever your source tarballs are stored, and you'll need to change "ext3" to the appropriate filesystem type. Once the partition is remounted, you should be able to compile and run my programs in the usual way, as described in Source Packages.


KANOTIX / KNOPPIX Installation

To install KNOPPIX or KANOTIX on a hard disk, the first thing you'll need to do is allocate some space for the new installation. If you haven't already done so, run   sudo passwd   and   su   to become root. If you don't already have some allocated space, use   fdisk   or   qparted   to partition the drive. After you've partitioned the drive and decided which partitions to use, run one of the following:

KANOTIX 2005-02kanotix-installer
KNOPPIX 3.1, 3.2, 3.3knx-hdinstall
KNOPPIX 3.4, 3.6, 3.7, 3.9knoppix-installer


Mandrake 8.0 PowerPack

To be able to compile the older g* programs (dated before 2003.10.01) on a Mandrake 8.0 system, you'll need to install the following:
From Installation CD #2:     db1-devel-1.85-4mdk.i586.rpm

Mandrake 8.2 PowerPack

To be able to compile C source code on a Mandrake 8.2 system, you'll need to install the following:
From Installation CD #1:     gcc3.0-cpp-3.0.4-2mdk.i586.rpm
From Installation CD #2:     gcc3.0-3.0.4-2mdk.i586.rpm
After installing the above packages, you'll also need to do the following:
cd /etc/alternatives
mv gcc gcc-old
ln -s /usr/bin/gcc-3.0.4 gcc

Mandriva 2006 PowerPack+ (SOHO)

To be able to compile the GTK1 and/or GTK2 g* programs on a Mandriva 2006 system, you'll need to install one or both of the following:
For GTK1 g* programs :   libgtk+1.2-devel-1.2.10-41mdk
For GTK2 g* programs :   libgtk+2.0_0-devel-2.8.3-4mdk


Mandriva Free 2009.1

To be able to compile ncurses and GTK2 programs on a Mandriva Free 2009.1 system, you'll need to use the Software Manager to install the following:
Development > C > task-c-devel
Development > GNOME and GTK+ > glade3


Multi-Boot Machines

Below is a list of some things to keep in mind when installing and setting up a distro on a multi-boot machine.

  Disk Partitioning / Formatting Notes:   Distro Installation Notes:   Removable Hard Disk Trays:   Miscellaneous Notes:

Peanut Linux 9.5 and 9.6

To be able to compile C source code on a Peanut Linux 9.5 or 9.6 system, you'll need to install one of the following:
For Peanut Linux 9.5 :   peanut-GCC-2.95.3-9.5.i386.rpm
For Peanut Linux 9.6 :   GCC-peanut-3.3.3-9.6.tar.bz2
For Peanut Linux 9.6, you'll need to unpack the bz2 file in the root of the filesystem since the directory structure within the tarball is relative (not absolute):
cp -a GCC-peanut-3.3.3-9.6.tar.bz2 /
cd /
tar jxvf GCC-peanut-3.3.3-9.6.tar.bz2
For both Peanut Linux 9.5 and 9.6, if you want to be able to compile the c* programs, you'll also need to copy the form.h header from /usr/include/ncurses to /usr/include:
cp -a /usr/include/ncurses/form.h /usr/include


RedHat 6.0 and 6.1

To be able to compile the GTK1 g* programs on a RedHat 6.0 or 6.1 system, you'll need to install the libtool package from the distribution CD.


Serial Null Modem Pin Configuration

The table on the left shows the pin configuration when both ends are 25-pin. The table on the right is for a cable that has a 9-pin connector at one end and a 25-pin at the other.

25-Pin Null Modem CablingAdapter Lines
Connector 1Connector 2
1 Red1 Red
2 Blue2 White
3 White3 Blue
4 Green4 Yellow
5 Yellow5 Green
6 --- *6 --- *
7 Black7 Black
8 Grey *8 Brown *
20 Brown20 Grey
9-pin25-pin
18
23
32
420
57
66
74
85
922

* For the 25-pin connectors, pins 6 and 8 are shorted.


Source Packages, Compiling and Installing

One way to install a downloaded source tarball is to log into a root terminal, copy the tarball to the /usr/local/src/ directory, unpack it, and then change to the newly-created directory:
  cd /usr/local/src
  cp -a [Path]/[PackageName].tar.gz .
  tar zxvf [PackageName].tar.gz
  cd [PackageName]
If you want to minimize the use of the root account, you could unpack and compile the package in your home directory (or wherever the tarball was downloaded to), in which case you'd skip the first two lines above.

The installation then proceeds as follows:

For Ncurses (c*) Programs:
  make
  make install
For GNOME1/GTK1 (g*) Programs:
  ./configure
  make
  make install
For GTK+ 1.2 and GTK+ 2.4 (g*) Programs:
  sh autogen.sh
  make
  make install
For the newer g* programs, the autogen.sh script creates the necessary Makefiles to build the final executable. If autogen.sh fails, it means that your system is missing one or more of the required development tools and/or libraries; in which case, you'll need to install the missing packages and try again.

If autogen.sh succeeds but make fails, you can try changing to the src directory and then run make there.

If make succeeds but make install fails, you have two choices. If you want the program to be available system-wide, you'll need to copy it to somewhere in your path (e.g., cp -a src/[ProgramName] /usr/local/bin). Or, if system-wide availability isn't important, you can just run the program from its location (e.g., [FullPath]/[ProgramName]).


Testing Distros

For distros that aren't listed on the Compatibility page, you can follow the steps below to find out whether or not the c* and/or g* programs will compile and run on your system.
  1. Check if make and gcc are installed:   which make gcc
    The which command should output the full paths of make and gcc, each on a separate line.
  2. Check if the autotools are installed:   which autoconf libtool automake
  3. Check if the development library is installed:   ls /usr/include
    For the c* programs, check to see if the file ncurses.h is listed. For the g* programs, check to see if the directory gtk-1.2 or gtk-2.0 is listed.
If all of the required tools and libraries are present on your system, you should be able to compile and run the programs listed on the Main page.


Ubuntu 5.10, 6.06, and 6.10

To be able to compile C source code on an Ubuntu 5.10, 6.06, or 6.10 system, you'll need to use Synaptic (or apt-get) to install the following:
Additionally, depending on the distro, you may also need to install one or more of the following:

VectorLinux 2.0

The list below shows the locations of the configuration files for various window managers and desktop environments on Vector 2.0:

  Global SettingsUser Settings
WM Selector/etc/XwmMenu.ini  
Blackbox/usr/X11R6/share/blackbox/~/.blackboxrc
Fluxbox/usr/local/share/fluxbox/~/.fluxbox/
IceWM/usr/local/lib/X11/icewm/~/.icewm/
XFCe/usr/local/etc/xfce/~/.xfce/





For questions, comments, etc... see the README file.


[Main]   [About]   [ChangeLog]   [Compatibility]   [Links]   [Notes]

This page was last updated on: Saturday, July 10, 2010