1. # if you are looking for a debian package which mentions a particular text in its description, you can browse through all the package descriptions you have already downloaded (using apt-get update) using apt-cache, e.g., if you were looking for a debian package which provides the perl module Date::Calc, you could execute
    apt-cache search "Date::Calc"
    to find libdate-calc-perl
    # have a look at http://newbiedoc.sourceforge.net/tutorials/apt-get-intro/info.html.en for more of these tips...
  2. # apt-get may run out of room (e.g., reporting something like ``E: Dynamic MMAp ran out of room''). I usually solve this type of problem by changing the cache-limit in /etc/apt/apt.conf to make it look as follows:
     APT::Cache-Limit 141943904;
  3. # looking for a package which includes a key word in its description:
     apt-cache search keyword 
  4. # read the apt HowTo and the dselect for beginners guide if you are not yet familiar with apt (the advanced package tool) and its user interface dselect
  5. # have a look at apt-pinning if you want to mix stable, testing and unstable debian packages sources given a mostly-stable debian system. It basically says: install /etc/apt/preferences and include stable/testing/unstable mirrors in your /etc/apt/sources.list, and install non-stable packages using
     apt-get -t unstable install whatever.package 
    Caveat: if you include unstable debian packages in your /etc/apt/sources.list, and you use dselect, you will automatically downgrade your machine to an unstable release... If you include references to unstable packages in your /etc/apt/sources.list, you should not use dselect, but stick to apt-get install -t {stable|testing|unstable} package.
  6. # edit your /etc/apt/sources.list and /etc/apt/preferences (apt-pinning is for advanced users only!! If you do not know what apt-pinning is, you should not touch /etc/apt/preferences) if necessary (e.g., commenting out lines which you do not like or which you do not need. Have a look at the optimize the /etc/apt/sources.list file section to fine tune the /etc/apt/sources.list for your geographic location). Once you have configured your /etc/apt/sources.list, you can refresh your system's database with available debian packages:
     apt-get update 
  7. # optimizing the /etc/apt/sources.list file: determine the content of /etc/apt/sources.list which fits best to your location, using, e.g.,
     for a in stable testing unstable; do netselect-apt $a; mv sources.list sources.list.$a; done 
  8. # if you wish to setup a local mirror of debian packages in a directory, say /data/debian.packages, you have to generate a Packages and Packages.gz file so that apt-get and dselect can find these packages. Include the following line
     deb file:///data/debian.packages ./ 
    in your /etc/apt/sources.list (put the line somewhere in the beginning of the sources.list file: order is important... Packages are downloaded `first seen first fetched'). The following commands create the Packages and Packages.gz files:
     cd /data/debian.packages;dpkg-scanpackages . /dev/null > Packages;gzip -9c Packages > Packages.gz