Debian Software Installation and Configuration

Debian Software Installation and Configuration

linux-logo debian-logo

The installation of the base Debian Linux (Sarge) system is explained in detail on our webpage on our webpage 'Debian Sarge Installation'. On this page, we describe specific software installations and its configuration on Debian and how to resolve certain problems.

apt-cacher

For those who have several Linux machines in a network (e.g. at home), it takes quite some time to upgrade each machine, because for each machine all of the new Debian packages have to be downloaded.
With "apt-cacher" this download needs to be done only once - all other machines download the packages from the machine, where apt-cacher is installed. By doing so, your download speed may increase from about 170 KB/s up to 2.5 - 3.8 MB/s should your local LAN be based on a 100 MB/s network.
Installation:
apt-get install apt-cacher
(apache will be installed as well, if not yet installed; choose "no suExec" if asked during installation)
Configuration:
Modify the file /etc/apt/sources.list on all machines in your network (including the one, where "apt-cacher" was installed), as follows:
In all lines with
deb http://host.domain package section
add the name of the machine, where you installed 'apt-cacher':
deb http://apt_cache_machine/apt-cacher/host.domain package section
In addition, we modified the file /etc/apt-cacher/apt-cacher.conf:
We set expire_hours=1 (1 instead of 36), because we want always be up-to-date and because we upgrade our local machines within one hour.
And you are done!
You may view the results/reports through an automatically created web-page on the machine, where 'apt-cacher' was installed. Just view the page:
http://apt_cache_machine/apt-cacher/
http://apt_cache_machine/apt-cacher/report
See also: http://debiananwenderhandbuch.de/apt-cacher.html
The package "apt-proxy" was tested as well; however, we often got messages such as "503 Service Unavailable" for several sources, which we could not resolve. With 'apt-cacher' things work smoothly so far.

Howto quickly install and configure a DNS-Server

We registered a new domain-name and wanted to quickly build our own DNS-server and to register it at the company, from where we got the domain-name.
This was done rather quickly for a new web-server for this domain.


- apt-get install bind
- cd /etc/bind
- Modify the file named.conf so that it looks as follows
  (note: the new entries are in bold):
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind/README.Debian for information on the
// structure of BIND configuration files in Debian for BIND versions 8.2.1
// and later, *BEFORE* you customize this configuration file.
//

include "/etc/bind/named.conf.options";

// reduce log verbosity on issues outside our control
logging {
        category lame-servers { null; };
        category cname { null; };
};

// prime the server with knowledge of the root servers
zone "." {
        type hint;
        file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};


zone "our-new-domain.ch" {
        type master;
        file "/etc/bind/our-new-domain.ch";
};


zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};

// add local zone definitions here
include "/etc/bind/named.conf.local";
In the new file /etc/bind/our-new-domain.ch we include the following information:

; This is a comment in the file /etc/bind/our-new.domain.ch
; On the line with '2004111601' use the format YYYYMMDDxx, where 'xx'
; usually is '01' fo the first version of this day.
;
$TTL 86400
our-new-domain.ch.      IN      SOA     www.our-new-domain.ch. root.our-new-domain.ch. (
                        2004111601
                        10800
                        3600
                        432000
                        38400 )
                IN      NS      our.dns.server
                IN      NS      alternate.dns.server

                IN      MX      20      our.dns.server

localhost       IN      A       127.0.0.1
www             IN      A       ip.address.of.our.dns.server
Then, we enter (still as root): /etc/init.d/bind restart and we wait for a couple of hours, until this new hostname has been progagated across the internet (see host www.our-new-domain.ch or dig www.our-new-domain.ch.

Testing your Firewall with a Portscanner

In order to test our firewalls (often, this is the picoFirewall, we used several mechanisms. Because under Debian Linux the package 'The Saint' is not directly available, we were looking for a good alternative... and found nmap and nessus as a very powerful solution.

nmap

apt-get install nmap
nmap -P0 -A -v host_to_test.domain
(-P0 : do not ping before scanning)
(-A  : enables _a_dditional _a_dvanced _a_ggressive)
(-v  : verbose mode)
We then installed in addition the software nessus, which is a powerful security scanner (or vulnerability scanner). However, there are a few tricks to be observed, when configuring and using this software; here are our experiences:
apt-get install nessus nessusd nessus-plugins
--> the following packets are installed:
    libgd-gif1 libnasl2 libnessus2 nessus nessus-plugins nessusd openssl
Questions are asked (CR means hitting the RETURN key):
* CA certificate lifetime (default 1460 days): CR
* Server certificate lifetime (default 365 days): CR
* Your country (two letter ISO-code; in my case CH for Switzerland): CH
* State/province (default: none): CR
* location (default: none): CR
* Organisation (default: Nessus Users United): CR
* Message, that /etc/nessus/nessusd.conf is updated, etc.: CR

As user=root enter:
   nessus-adduser
   your_login_name
   CR (default: pass)
   your_login_password
   your_login_password
   default accept    (allow this user to test whatever he/she wants)
   cntl-d
   CR  (for default 'y')

Enter (as regular user): nessus
enter your password and click on 'Log in'
Click on Ok (and leave the first item activated as the default)
--> Message-box "Could not open a connection to localhost" appears
--> Aha, we have not yet startet the nessus-daemon, as the command
    ps -ef | grep -v grep | grep nessusd
    shows.
    We first modify /etc/nessus/nessusd.conf and set ping_hosts = no
    in order to scan hosts, which do not reply to pings.
    So, as root we start the nessus-daemon with:
    nessusd -D
    (you will get the prompt back after a few seconds...)
As regular user we again start 'nessus'
  enter the password
  Click on 'Log in'
  Click on 'Yes' to accept the certificate
  You are now on the tab 'Plugins'; all plugins are selected
  --> unselect 'Denial of service'
  Click on Ok
  Click on the tab 'Target selection'; we select one target: name.subdom.domain
  Click on 'Start the scan'
  --> We get the message "nessusd returned an empty report"
  --> Aha, under the tab 'Prefs.' we probably have to de-select
      'Do a TCP ping'; let's de-select it and Click on 'Start the scan' again.
  Now we wait for a while.....
  With the default settings we now used, it may well take an hour or so
  to port scan one host!
  The bar in the field 'Portscan' will grow slowly to the right...
  Once the portscan bar is completely on the right, the bar in the field
  'Checks' will grow to the right... (this will take less time now)
  Once the port scan and the checks are terminated, a new window will
  appear (Nessus "NG" Report); you may have to click on the entry appearing
  in the field under 'Subnet'. Then, the probed host will appear in the
  field under 'Host'. Click on this hostname and view the entries in the field
  below 'Port'. Click on any of the entries appearing there and - should then
  an entry in the field below 'Severity' appear, click on this entry and
  read the information in the large field.
  Should you wish to save the report, click on 'Save report...' and
  enter a filename in the selection field, followed by click on 'OK'.
  Then click on 'Close window' and click on 'Quit' in the 'Nessus Setup'
  window.

Installing and Modifying Mailgraph to Clip Peaks in the Graphs

Mailgraph is an extremely nice tool for monitoring e-mail traffic: it graphically displays sent, received, rejected, and bounced e-mails, as well as statistics about received viruses and spam mail. Our own measures against viruses and spam are described on this page.
The installation of mailgraph is pretty easy:
apt-get install mailgraph   (We got version 1.8-1)
The cgi-bin script will be installed as /usr/lib/cgi-bin/mailgraph.cgi and may be accessed on the local page http://host.domain/cgi-bin/mailgraph.cgi The graphs are stored in directory /var/cache/mailgraph/,cgi-bin,mailgraph.cgi and may be removed there, if you want to have all graphs created newly (this is only necessary while you are experimenting with the mailgraph.cgi script; see next paragraph).

We experienced, that sometimes an automatic monitoring tool has sent an enormous amount of e-mails to some staff members and therefore the plots contained very high peaks, thus almost making it impossible to actually view the regular statistics.
I have modified mailgraph.cgi so that one may specify individual upper limits for each of the eight graphs created by mailgraph. You may download this modified version if you like. Please note, that you will have to modify the parameters uplim and uplime for your specific situation directly in the script mailgraph.cgi - our version has such parameters for a test e-mail server with very few users!
It is recommended, to first save the original script! So enter:
cd /usr/lib/cgi-bin ; cp -p mailgraph.cgi mailgraph.cgi_orig
before you put the modified script under the same name in the same place.
The modifications were made by having a look on the man-page of rrdgraph, which is part of Tobi Oetiker's rrdtool.

Saving power, reducing heat and noise with kernel 2.6

My colleague Stefan Heimers made me aware, on how the power consumption of the CPU can be reduced. At the same time, the heat production and usually the fan rotation speed of the CPU-cooler is reduced, thus producing less noise. The following has to be done, should you have a pentium 4 processor and an installed a 2.6 Kernel:

- Enter the following two lines in /etc/modules:
  cpufreq-userspace
  p4-clockmod
- Then enter the following three commands:
  modprobe cpufreq-userspace
  modprobe p4-clockmod
  apt-get install powernowd
With this, the CPU is frequency scaled depending on the system load. On some P4 CPU's the frequency is throttled from 3 GHz down to 350 MHz or from 2.4 GHz down to 300 Mhz, if the system is not used a lot. If the CPU is used again heavily, the frequency is increased to the maximum rapidly.
However, I experienced, that while having started VMware, the CPU's speed remained on 300 MHz and was not increased to 2.4 GHz as expected. I will have a closer look at this behaviour and report here later.
Anyway, for machines running on a 24/24 schedule, this seems like a very useful feature to apply: why should the CPU run on its highest possible frequency, while there is not much to do?
Should you wish, to currently use the maximum speed of your CPU, you may look on the current minimum frequency of your CPU by entering:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Now, let us look at the maximum frequency:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Should the maximum frequency be 2400000 (2.4 GHz) and the mininimum frequency 300000 (0.3 GHz = 300 MHz) and should you temporarily wish, to use the maximum frequency of your CPU, enter the following command:
echo "2400000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Later, you may again set the minimum to what it was before, by:
echo "300000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
The actual, current CPU frequency may always be observed with the command:
cat /proc/cpuinfo   or   cat /proc/cpuinfo | grep MHz

Attention: Should you want to use VMware, be warned, that you got into troubles! Assume, your current CPU-speed is 300 MHz and you start VMware and run a 'virtual PC' under Linux, the virtual machine may overtake the low clock-rate and once VMware and the virtual PC is running, the CPU-frequency is much higher than when starting, you may be unable to double-click fast enough, in order to activate something 'behind' an icon. There are two solutions for this:
1. Create a file /etc/default/powernowd with the content:
OPTIONS="-q -n" With this, also nice'd programs such as some software from VMware is used for speeding up the CPU-clock-rate. Then enter: /etc/init.d/powernowd restart.However, in this case also other programs, which have been set on 'nice' on purpose, may use the full CPU power.
2. Before starting VMware, make sure the CPU is running on full speed until VMware is fully up. This may be done writing a small script in /usr/local/bin, call 'FullCPU', to be run as user=root:

# FullCPU   10Oct2004 / uk
#
cd /sys/devices/system/cpu/cpu0/cpufreq
if test $? -ne 0 ; then
   echo "Cannot enter directory /sys/devices/system/cpu/cpu0/cpufreq - exit"
   exit
fi
minfreq=`cat cpuinfo_min_freq`
maxfreq=`cat cpuinfo_max_freq`
echo "$maxfreq" > scaling_min_freq
/etc/init.d/powernowd force-reload
sleep 30
echo "$minfreq" > scaling_min_freq
/etc/init.d/powernowd force-reload
#

For a more elegant version, see on our web-page:
powernowd-toggle

Possible Problems with ext3 Journaling filesystem

On one of our PCs, running Kernel 2.6.8, we had a problem during mid-October 2004: In the file /var/log/messages we see entries like:

Oct 16 02:43:08 og kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 16 02:43:08 og kernel: hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
When switching to console mode (cntl-alt-F1), we see something like:
EXT3-fs error (device hda6) in start_transaction: Journal has aborted
What helped, was booting with a Knoppix-CD, then enter su - to become root and afterwards enter cat /etc/fstab in order to see, what partitions were detected. In our case, the partition where Debian linux was running before and has caused problems with the ext3 file system, a filesystem check was done as follows: fsck /dev/hda6. The journal file was obviously re-created and things worked smooth after a reboot.

Mhh... 10 days later we have the same problem, but this time Knoppix cannot create a file /etc/fstab - could this be due to a hardware problem? Disk failure? We shut down the PC for one day and were then successful in booting it with Knoppix, did a fsck /dev/hda6 and the machine booted again.

After kernel-Upgrade Default Session manager is not KDE but Gnome

After updating from a 2.4 kernel to kernel 2.6.7 (or 2.6.8, or else), upon login KDE is not starting anymore; rather, Gnome starts.
In order to change this 'feature' and having KDE as the preferred desktop, you have to do the following:

cd /etc/alternatives
--> Remove the existing link:  x-session-manager -> /usr/bin/gnome-sesssion
rm x-session-manager
ln -s /usr/bin/startkde x-session-manager
From then on KDE will appear as window manager after every login of all users.

Installing the NVIDIA Driver with Kernel 2.6

In order to have smaller fonts on the console when booting, we had an entry 'vga=0x31a' in the 'kernel'-line of the file /boot/grub/menu.lst, when booting a kernel 2.4.26 . After upgrading to a 2.6 kernel (kernel 2.6.7) we had no such entry in /boot/grub/menu.lst and after booting, the nvidia-logo appeared, but the the screen became dark and the console appeared again (We use a 'GeForce4 Ti 4200').
We then changed the line and added 'vga=0x303', so that the corresponging line in /boot/grub/menu.lst looks as follows:
kernel /boot/vmlinuz-2.6.7-1-686 root=/dev/hda6 ro vga=0x303
(Instead of 'vga=0x303' you may also try 'vga=normal').
Mhhh - later, on another machine, the same problem appeared: cannot start kdm, although the nvidia logo shortly appears. In this case, the reason was, that this Debian originally was installed from 'Woody' and the mouse driver was compiled into the kernel; in the new kernel this was not the case anymore. So we did two things, to solve the problem: First, we did a apt.get install hotplug and then we did a 'modprobe mousedev' and a modprobe psmouse; and we entered both 'mousedev' and 'psmouse' into the file /etc/modules.
With this modification, the X-server started nicely. Of course, the creation of the new NVIDIA module was done as follows:

- Download the sources for your kernel
- cd /usr/src
- tar xjvf kernel-source-2.6.7.tar.bz2
- rm linux
- ln -s kernel-source-2.6.7 linux
- Download the newest driver from www.nvidia.com
- We got the driver NVIDIA-Linux-x86-1.0-6111-pkg1.run
- Enter:   sh NVIDIA-Linux-x86-1.0-6111-pkg1.run  and build the module
- Once you have built the module, you simply enter
/etc/init.d/kdm start
and your login-screen appears.

Remote Printing with CUPS

After some upgrades if Debian, printing from remote clients did not work anymore. On the remote machines I get errors like...

Network host 'printserver' is busy, down, or unreachable; will retry in 30 seconds...
Modifying the file /etc/cups/cupsd.conf and setting 'Browsing On', 'BrowseAddress 192.168.0.17' (my server), setting (under section Location) 'Allow From 127.0.0.1 192.168.0.11 192.168.0.12 192.168.0.13' (my clients), and setting (under Location /admin) 'Allow From 127.0.0.1 192.168.0.11 192.168.0.12 192.168.0.13' did not solve the problems...
Any help would be much appreciated!

What helped, was the following procedure:

- Edit the file /etc/inetd.conf
- Modifify the line with: #<off># printer stream tcp nowait lp /usr/lib/cups/daemon/cups-lpd cups-lpd
- ...                 to: printer stream tcp nowait lp /usr/lib/cups/daemon/cups-lpd cups-lpd
- Then enter the command: /etc/init.d/inetd reload
With this, the print jobs of your remote machine will work fine, whether with the command 'lp' or with turboprint.

VMware

  Please note: VMware Workstation Version 4.0 is not running under Kernel 2.6 -
  however, if you have bought version 4.0 you are entitled to download version
  4.5 (we got version 4.5.3) and the old license is still valid.
  In the following, we assume, that we already have a SuSE Linux on our PC,
  which can be mounted by the command:   mount /suse
  Alternatively you may have a previous version of vmware-directories that
  you may copy from a second disk to a new one (or you just keep the current
  directories ~/.vmware and ~/vmware).
  cp -rp /suse/etc/vmware /etc/
  cp -p /suse/etc/init.d/vmware /etc/init.d
  Convert the RPM-package into a Debian-package:
  alien --to-deb VMware-workstation-4.5.2-8848.i386.rpm
  dpkg -i vmwareworkstation_4.5.2-8849_i386.deb
  Copy the /etc/vmware directory from old to this machine (scp -rp ...)
  Copy the /etc/init.d/vmware to /etc/init.d
  vmware-config.pl   (always answer with CR to questions)
  !! When a comment about gcc version 3.3.4 comes, answer 'yes', not the default
 'no' !!
  Edit /etc/vmware/locations
     and set:  answer INITDIR etc   (instead of /etc/init.d)
  cp -p /suse/opt/kde3/share/icons/crystalsvg/48x48/apps/vmware.png
        /usr/share/icons/crystalsvg/48x48/apps/.
  After having started vmware, install the new version of 'VMware Tools'
  (VM - Install VMware Tools... - Install , etc.)

Matlab

If Matlab aborts after starting with matlab and the following message appears...

Opening Log file:  /home/user/java.log.11300
Aborted
...then you should try to start matlab without the Java virtual machine:
matlab -nojvm
With this, Matlab runs fine from the command-window. You may find further information by searching 'Google' for the keywords 'matlab debian abort'.

USB memory stick

  * plug in Memory-Stick
  * become root (su -)
  * modprobe usb-storage
  * in /etc/fstab: directly after the line with "proc  /proc ..."
    add a line like this:
    usbdevfs   /proc/bus/usb   usbdevfs noauto,user   0 0
  * now root may mount the memory stick:  mount /dev/sda1 /mnt
    and read/write on /mnt
  * in /etc/fstab enter a line as follows:
    /dev/sda1  /usbstick       auto    user,noauto    0 0
  * mkdir /usbstick
  * in /etc/modules add:
    # For USB memory stick
    usb-storage
  * Now every user may mount and umount /usbstick

X11 Forwarding

  In order to allow X11-forwarding (example: ssh -X remotehost ; login ;
  then enter 'xclock'), the following has to be done:
  * Edit /etc/ssh/sshd_config
  * modify   X11Forwarding yes
    (set 'yes' instead of 'no')
  * restart the ssh-daemon:  killall -SIGHUP sshd

Automounter and NFS

  What we want: we would like to enter the command:
     cd /nfs/host/home/sarah
  and then be in the directory /home/sarah of the machine 'host' and be
  able to read and write to files there (should we have permission to do so).
  We may do so only if we have the same UID on both machines.

  A Debian NFS client needs: apt-get install nfs-common portmap
  A Debian NFS server needs: apt-get install nfs-common portmap nfs-kernel-server
  We usually have our machines as both NFS clients and servers.
  On those machines (NFS servers) where you want to export filesystems,
  add the exported filesystem and the machines, which are allowed to
  access the filesystem in /etc/exports:
  /   host1(rw,sync) host2(rw,sync)

  To activate these settings, enter:   exportfs -a
  To verify, which filesystems are exportet to which machines, enter:  exportfs

  We also want the automounter:  apt-get install autofs
  In the file /etc/auto.master add a line with:
  /nfs   /etc/auto.net.main -rw,intr,timeo=4,retrans=2

  Create a file /etc/auto.net.main with the following content:
  # auto.net.main
  #
  * -fstype=autofs,-Dhost=& file:/etc/auto.net.sub
  #

  Create a file /etc/auto.net.sub with the following content:
  # /etc/auto.net.sub
  #
  * ${host}:/&
  #

  Now, we need a mount mount on the NFS-clients:   mkdir /nfs

  (Re-)start some services:
  /etc/init.d/portmap start
  /etc/init.d/nfs-kernel-server start
  /etc/init.d/nfs-common start
  (I am not quite sure, whether this is sufficient... I guess, in my case I
   had to re-boot the machines, which is not typical to Linux! So if you
   know how to do this, please tell me so - see the link on the bottom of this
   page).
   Or: maybe this would do it (?):  /etc/init.d/autofs start

   And now the fun is ready! You may now simply enter:
      cd /nfs/host/directory   (Example:  cd /nfs/bora/home/urs)
   and you are on the remote machine (host or bora) in the directory
   'directory' (or '/home/urs' as in the example).

   Should you want (as some people do) to enter a   cd /net/host/directory
   ('net' instead of 'nfs'), then simply use '/net' instead of '/nfs' in the
   entry of the file /etc/auto.master . In this case you have to create the
   mount-point accordingly:   mkdir /net

BigBrother

In order to avoid problems, where Big Brother cannot read the file /var/log/messages, add user=bb (BigBrother) in the file /etc/group to the group 'adm' (the same group, to whom the /var/log/messages file belongs to):
adm:x:4:bb
With this, the regular alert messages " /var/log/messages is unreadable " (under the item "Urgent message file problems reported") will not be sent any more.

VNC

- apt-get install vncserver xvncviewer
  Usage:
     - login on a remote host (e.g. tuk)
     - (special on our host tuk: export PATH=$PATH:/nfs/seismo/app_2.0/vnc)
     - vncserver
       --> get a message like:  New 'X' desktop is   tuk:2
     - start a new window on your local machine
     - enter: xvncviewer
     - a small window appears; enter  tuk:2
     - and give your (vnc-) password

IMAP

We tried many different imap daemons as servers: cyrus-imapd and cyrus21-imapd were both complicated to configure, with courier-imap we had problems as well, uw-imapd worked fine without any configuration, but we had problems accessing the mail server with a Nokia 9200 communicator handy. Finally we installed dovecot-imapd (see e.g. on http://www.pl-berichte.de/work/server/andere/dovecot.html), where all the problems had gone.
It is important, however, to set the directory ("Ordner") of the mail directory ("Verzeichnis") to an empty field. With this, you see all directories using K-Mail and things will also work with the Nokia Communicators 9110 and 9210.

Problems when upgrading with (dist-)upgrade

Should you - after having executed apt-get upgrade get the message not fully installed or removed, then you might want to fully install the packages using the fowllowing command:
apt-get install -f    - Note, that the only parameter is -f !

We experienced a problem after updating our system with the commands apt-get update and followed by apt-get dist-upgrade. We got the following messages:

# apt-get dist-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
The following packages have been kept back:
  motion
The following packages will be upgraded:
  g++-3.3 g77-3.3 gcc-3.3 libg2c0 libg2c0-dev libstdc++5-3.3-dev
6 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0B/6076kB of archives.
After unpacking 0B of additional disk space will be used.
Do you want to continue? [Y/n]
(Reading database ... 102764 files and directories currently installed.)
Preparing to replace gcc-3.3 1:3.3.4-6sarge1 (using .../gcc-3.3_1%3a3.3.4-6sarge1.1_i386.deb) ...
Unpacking replacement gcc-3.3 ...
dpkg: error processing /var/cache/apt/archives/gcc-3.3_1%3a3.3.4-6sarge1.1_i386.deb (--unpack):
 trying to overwrite `/usr/share/doc/gcc-3.3-base/changelog.Debian.gz', which is also in package gcc-3.3-base
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Preparing to replace libstdc++5-3.3-dev 1:3.3.4-6sarge1 (using .../libstdc++5-3.3-dev_1%3a3.3.4-6sarge1.1_i386.deb) ...
Unpacking replacement libstdc++5-3.3-dev ...
dpkg: error processing /var/cache/apt/archives/libstdc++5-3.3-dev_1%3a3.3.4-6sarge1.1_i386.deb (--unpack):
 trying to overwrite `/usr/share/doc/libstdc++5/changelog.Debian.gz', which is also in package libstdc++5
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Preparing to replace g++-3.3 1:3.3.4-6sarge1 (using .../g++-3.3_1%3a3.3.4-6sarge1.1_i386.deb) ...
Unpacking replacement g++-3.3 ...
dpkg: error processing /var/cache/apt/archives/g++-3.3_1%3a3.3.4-6sarge1.1_i386.deb (--unpack):
 trying to overwrite `/usr/share/doc/gcc-3.3-base/changelog.Debian.gz', which is also in package gcc-3.3-base
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Preparing to replace libg2c0 1:3.3.4-6sarge1 (using .../libg2c0_1%3a3.3.4-6sarge1.1_i386.deb) ...
Unpacking replacement libg2c0 ...
dpkg: error processing /var/cache/apt/archives/libg2c0_1%3a3.3.4-6sarge1.1_i386.deb (--unpack):
 trying to overwrite `/usr/share/doc/gcc-3.3-base/changelog.Debian.gz', which is also in package gcc-3.3-base
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Preparing to replace libg2c0-dev 1:3.3.4-6sarge1 (using .../libg2c0-dev_1%3a3.3.4-6sarge1.1_i386.deb) ...
Unpacking replacement libg2c0-dev ...
dpkg: error processing /var/cache/apt/archives/libg2c0-dev_1%3a3.3.4-6sarge1.1_i386.deb (--unpack):
 trying to overwrite `/usr/share/doc/gcc-3.3-base/changelog.Debian.gz', which is also in package gcc-3.3-base
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Preparing to replace g77-3.3 1:3.3.4-6sarge1 (using .../g77-3.3_1%3a3.3.4-6sarge1.1_i386.deb) ...
Unpacking replacement g77-3.3 ...
dpkg: error processing /var/cache/apt/archives/g77-3.3_1%3a3.3.4-6sarge1.1_i386.deb (--unpack):
 trying to overwrite `/usr/share/doc/gcc-3.3-base/changelog.Debian.gz', which is also in package gcc-3.3-base
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/gcc-3.3_1%3a3.3.4-6sarge1.1_i386.deb
 /var/cache/apt/archives/libstdc++5-3.3-dev_1%3a3.3.4-6sarge1.1_i386.deb
 /var/cache/apt/archives/g++-3.3_1%3a3.3.4-6sarge1.1_i386.deb
 /var/cache/apt/archives/libg2c0_1%3a3.3.4-6sarge1.1_i386.deb
 /var/cache/apt/archives/libg2c0-dev_1%3a3.3.4-6sarge1.1_i386.deb
 /var/cache/apt/archives/g77-3.3_1%3a3.3.4-6sarge1.1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Our Debian-Linux expert Stefan Heimers told me, that obviously the same file would be in two different packets, possibly because in a newer version it was moved into another packet. He pointed out two solutions:
a) Remove the old packet, which contains the file
b) Let the file overwrite with: dpkg -i --force-overwrite /var/cache/apt/archive/
However, before doing so, one or two days after I got these error messages, I once again entered apt-get update, followed by apt-get dist-upgrade... and all the error messages did not come again! So this means, the developpers do a wonderful job and should you ever be in a similar situation, I recommend to just wait for one to three days and then to try the upgrade again; most certainly the problem should then be solved.
This result (to just wait...) is also in agreement on what I found on a webpage on the WWW.
Otherwise, you might still try the recommendations given above.

Problems after upgrading to Kernel 2.6.8 and KDE 3.3

You may experience, that after booting you cannot login because the password cannot be entered. A temporary workaround is, to switch to a konsole and as root enter: /etc/init.d/kdm stop, followed by /etc/init.d/kdm start. Then you may enter your password and successfully login. Another solution is to 'cd /etc/kde3/kdm' and then to 'cp -p kdmrc.dpkg-dist kdmrc'; this solution solves the problem even for the next boots.

Should the sound not work, try as root the command 'alsaconf'. Specifically, on a Dell Inspiron 8200 also do the following:

- comment any entries in /etc/modules like ac97_codec and i810_audio
- add lines with the following entries to /etc/modules :
snd_ac97_codec
snd_intel8x0
- And, in the file /etc/hotplug/blacklist add a line with:
snd_intel8x0m

Possibly, the command 'alsactl store' might help to store your sound properties.

K3B - Burn a DVD

Burning DVDs has become a problem recently under Linux. We use Debian (Sarge) and resolved the problem, that we were not able to burn CDs or DVDs with neither xcdroast nor k3b under Kernel 2.6.8, as follows:
- Install Kernel 2.6.10 (such as 2.6.10-1-686)
- k3b gave the error message "Unable to find growisofs executable"
- We then did: apt-get install dvd+rw-tools
    (this obviously installs growisofs)
- After having started k3b and selected 'Burn', we received the message
    "failed to change write speed"
- The solution is, to select under 'Speed' neither '1x' nor 'Auto', but
    'Ignore' !! Then burning a DVD works fine!
- And: Do this as user=root; otherwise you will get an error message,
    such as .... (???) [ To be completed... ]

Last Update: 24Apr2005 uk   -   Created: 23Jul2004

Go to our Linux homepage