salut,
oui le fichier preferences est très important, car si dans le sources.list tu as un depot sid/unstable tu passera en unstable 
une fois le fichier preferences créé tu fait:
apt-get update
apt-get upgrade
apt-cache policy
cache policy te permettra de verifier dans quel version tu va chercher tes paquets. Le nombre le plus grand devant les depots que tu vera sera la version privilégiée…
exemple:
jerome@jerome:~$ sudo apt-cache policy
Password:
Fichiers du paquet :
100 /var/lib/dpkg/status
release a=now
889 http://debian.space-based.de experimental/main Packages
release v=3.1,o=space-based.de,a=experimental,l=blablubb,c=main
origin debian.space-based.de
992 http://www.debian-multimedia.org sid/main Packages
release o=Unofficial Multimedia Packages,a=unstable,l=Unofficial Multimedia Packages,c=main
origin www.debian-multimedia.org
500 http://starnux.net unstable/main Packages
origin starnux.net
500 http://boisson.homeip.net beryl/./ Packages
release o=Matou,l=Debian,c=contrib
origin boisson.homeip.net
500 http://ftp.crans.org sarge/contrib Packages
release v=3.1r2,o=Debian,a=stable,l=Debian AMD64 archive,c=contrib
origin ftp.crans.org
500 http://ftp.crans.org sarge/main Packages
release v=3.1r2,o=Debian,a=stable,l=Debian AMD64 archive,c=main
origin ftp.crans.org
889 http://ftp.fr.debian.org experimental/non-free Packages
release o=Debian,a=experimental,l=Debian,c=non-free
origin ftp.fr.debian.org
889 http://ftp.fr.debian.org experimental/contrib Packages
release o=Debian,a=experimental,l=Debian,c=contrib
origin ftp.fr.debian.org
889 http://ftp.fr.debian.org experimental/main Packages
release o=Debian,a=experimental,l=Debian,c=main
origin ftp.fr.debian.org
992 http://ftp.fr.debian.org unstable/non-free Packages
release o=Debian,a=unstable,l=Debian,c=non-free
origin ftp.fr.debian.org
992 http://ftp.fr.debian.org unstable/contrib Packages
release o=Debian,a=unstable,l=Debian,c=contrib
origin ftp.fr.debian.org
992 http://ftp.fr.debian.org unstable/main Packages
release o=Debian,a=unstable,l=Debian,c=main
origin ftp.fr.debian.org
997 http://ftp.fr.debian.org testing/non-free Packages
release o=Debian,a=testing,l=Debian,c=non-free
origin ftp.fr.debian.org
997 http://ftp.fr.debian.org testing/contrib Packages
release o=Debian,a=testing,l=Debian,c=contrib
origin ftp.fr.debian.org
997 http://ftp.fr.debian.org testing/main Packages
release o=Debian,a=testing,l=Debian,c=main
origin ftp.fr.debian.org
999 file: apt-build/main Packages
release o=apt-build,l=apt-build,c=main
Paquets étiquetés :
mplayer -> 1:1.0-rc1svn20070225-0.1
usplash -> (non trouvé)
jerome@jerome:~$
là je tappes dans la version testing.
une fois ceci fait, pour passer d’une release au dessus(comme pour toi sarge->etch/testing)
tu peut faire un apt-get dist-upgrade
plusieurs fois et si ca coince un peut tu fait :
apt-get -f install