You really have two separate problems happening here. The first is getting dependency problems because manually downloading then installing. The second is the 'broken pipe' error.
To avoid dependency problems, do all your installing with Synaptic (or Kpackage or apt-get) directly instead of downloading them manually then using Synaptic to install the downloaded package.
Here is a brief overview of installing packages in a Debian based system:
Actual package installation is done by dpkg. This is a text based application. For an already downloaded package you could do 'dpkg -i <path & package name>. But this may fail because there may be dependencies which dpkg does not know how to find and has not been told to install.
So the next level is apt-get which will search the net for the packages it needs (including dependency packages), download and install them. It uses dpkg to do the actual install and maintains a file called /etc/apt/sources.list to know where to search for packages. This file must be updated regularly as packages get moved around in the internet repositories. This is done with the command 'apt-get update'.
But to use apt-get you must know what packages are available, so you will need a 'package browser' list.
The most basic of these is dselect, which is text based and not overly user friendly. It also maintains a packages available database file which must be updated regularly with 'dselect update'. I've been told that dselect update will update both the dselect database and the apt-get sources.list so it is preferable to use this instead of the 'apt-get update' command which only updates apt's sources.list.
More user friendly alternatives for searching for packages are the gui based applications Kpackage and Synaptic. Both of these provide information on the packages available and can download and install the package.
Dselect, Kpackage and Synaptic all use apt-get to do the actual downloading & installing.
Debian based systems must use either Debian packages or applications compiled from source. To install an RPM package, first convert it to a .deb using 'alien'.
ie: alien -d <rpm packagename>
So, for an already download package, you can try dpkg -i <package> but be prepared for dependency problems which you will have to solve yourself by manually tacking down and installing any required dependencies.
Better way is to use apt-get & let it do the download:
First, you must become 'root'. Permissions are a big thing in Linux, only root (administrator level permissions) is allowed to install things. So, type 'su' to become root. Then do 'dselect update'. Usually the first time it is run it will need to download quite a bit & some of the downloads may fail. If this happens, just run the command again, eventually it will get all the data it needs.
To install (for example) 'firefox', first make sure your package lists are up to date with 'dselect update' then 'apt-get install firefox'. It should download the application & all required dependencies & install the application.
Selecting 'firefox' from Kpackage or Synaptic & following the install procedure (mark & install marked, etc) should do the same thing.
If you use Synaptic or Kpackage to install an already downloaded package it will skip the apt-get step & just go directly to dpkg which will give dependency problems such as you have just experienced (needing tzdata).
Your next problem is the 'broken pipe' thing. This may happen even if you used apt-get to retrieve and download the application. There are two possible solutions.
The best way is to let apt-get solve it for you...if it can. From a console, become root then type 'apt-get -f install' (-f is for "fix"). If that fixes it, all is well.
If not, first try removing tzdata and libc6 then reinstalling using apt-get
Code:
apt-get remove txdata libc6
apt-get install libc6
If this doesn't work, try removing then reinstalling the conflicting package.
Code:
apt-get remove locales
if this works apt will probably complete the install of tzdata at the same time since it is already in process of being installed. If it doesn't, then do
Code:
apt-get install tzdata
. Then do
Code:
apt-get install locales
to replace the locales package.
A warning: if your system has not been updated for some time, when you try to remove locales, it *may* want to remove a whole bunch of other stuff when you remove locales because of interlocking dependencies. If that happens, probably try 'apt-get install locales' to update things first.
If none of the above works, you can try forcing dpkg to overwrite the conflicting file.
Code:
dpkg --force-overwrite -i tzdata.deb
. You will probably have to specify the full path to the tzdata.deb file. You should follow this up with
to may sure apt isn't showing any errors when done.
Another warning: Any time you force things you *may* break things. At the very least you may have to redo your locales settings since you will have overwritten a config file somewhere. The command for this is
Code:
dpkg-reconfigure locales
.
Hope this helps.