Debianhelp.co.uk
Rescue system after crashing /var in debian

Since the /var directory contains regularly updated data such as mail, it is more susceptible of corruption than, e.g., /usr/. Putting /var/ on a separate partition reduces risks. If disaster happens, you may have to rebuild the /var directory to rescue your Debian system.

Obtain the skeleton content of the /var directory from a minimum working Debian system based on the same or older Debian version, for example var.tar.gz, and place it in the root directory of the broken system. Then

# cd /
# mv var var-old # if any useful contents are left
# tar xvzf var.tar.gz # use sarge skeleton file
# aptitude # or dselect

This should provide a working system.

Install a package into an unbootable system in debian

Boot into Linux using a Debian rescue floppy/CD or an alternative partition in a multiboot Linux system. Mount the unbootable system on /target and use the chroot install mode of dpkg.

# dpkg --root /target -i packagefile.deb

Then configure and fix problems.

By the way, if a broken lilo is all that prevents booting, you can boot using a standard Debian rescue disk. At boot prompt, assuming the root partition of your Linux installation is in /dev/hda12 and you want runlevel 3, enter

boot: rescue root=/dev/hda12 3

Then you are booted into an almost fully functional system with the kernel on floppy disk.

Creating Command alias in Debian

You can set an alias for the frequently used command. For example:

$ alias la='ls -la'

Now, la works as a short hand for ls -la which lists all files in the long listing format.

You can identity exact path or identity of the command using type command. For example:

$ type ls
ls is hashed (/bin/ls)
$ type la
la is aliased to `ls -la'
$ type echo
echo is a shell builtin
$ type file
file is /usr/bin/file

Here ls was recently searched while file was not, thus ls is "hashed", i.e., the shell has an internal record for the quick access to the location of the ls comma

Strange access problems with some websites in debian

Recent Linux kernels enable ECN by default, which may cause access problems with some websites on bad routers. To check ECN status:

# cat /proc/sys/net/ipv4/tcp_ecn or

# sysctl net.ipv4.tcp_ecn

To turn it off, use

# echo "0" > /proc/sys/net/ipv4/tcp_ecn or

# sysctl -w net.ipv4.tcp_ecn=0

To disable TCP ECN on every boot, edit /etc/sysctl.conf and add

net.ipv4.tcp_ecn = 0

Too many open files in debian

The Linux kernel may complain "Too many open files". This is due to the small default value (8096) for file-max. To fix this problem, run the following command as root

# echo "65536" > /proc/sys/fs/file-max # for 2.2 and 2.4 kernel
# echo "131072" > /proc/sys/fs/inode-max # for 2.2 kernel only

or put the following into /etc/sysctl.conf for the permanent change

file-max=65536 # for 2.2 and 2.4 kernel
inode-max=131072 # for 2.2 kernel only

Cannot boot debian machine

No problem, even if you didn't bother to make a boot disk during install. If lilo is broken, grab the boot disk from the Debian installation set and boot your system from it. At the boot prompt, assuming the root partition of your Linux installation is on /dev/hda12 and you want runlevel 3, enter

boot: rescue root=/dev/hda12 3

Then you are booted into an almost fully functional system using the kernel on the floppy.

Disable beep sound in Debian

One can always unplug the PC speaker.For the Bash shell:

echo "set bell-style none">> ~/.inputrc

Convert a text file from DOS to Unix style

Convert a DOS text file (end-of-line = ^M^J) to a Unix text file (end-of-line = ^J).

# apt-get install sysutils
$ dos2unix dosfile