Firstly: the Debian bash package includes a file /etc/bash_completion which extends bash - for example, enabling zsh-style tab completion of hostnames. Source this file in your own .bashrc to get this functionality. It also makes it easy to extend/program bash yourself, via the directory /etc/bash_completion.d/, which is automatically sourced by /etc/bash_completion.
*www.oreillynet.com/linux/blog/2007/02/improving_bash.html
With bash competion installed you can use the TAB key to complete arguments to common commands like rpm, apt, find, grep etc. Also bash-completion will complete host-names for ssh, scp, by looking up hosts inside your $HOME/.ssh/authorized_keys file. For rpm based distros, bash-completion will even lookup package names already installed.
*bhaskarvk.info/technology/bash-tricks.html
do try ubuntu or debian.this afaik works with these distros only.there are no seperate pkgs for bash_completion in debian/ubuntu.
It is what i experiance,it completes virtually anything which i tries.it makes very easy to work with bash cli,an addiction.

I dont know much about the problem in fedora,mandrake rpm distros.
but look out the example quote from bash terminal in my debian:
Code:
sid:~# apt-get install php
Display all 252 possibilities? (y or n)
in next step it will display all those packages.
I think may be debian stores pkg details etc in some where in /var/
but if so,
it even completes cmd:
apt-get -t TAB TAB
Code:
root@sid:~# apt-get -t
experimental testing unstable
showed my apt-pinning options too!
I dont understand much,but google may help