Korzystając z aptitude, aby wyszukać zainstalowane pakiety poza stabilną gałęzią, możesz użyć:
aptitude search "?narrow(?installed,?not(?archive(stable)))"
Aby zobaczyć wersje, a także nazwy pakietów (i zamiast opisów), możesz użyć polecenia z opcją formatowania ( -F
w skrócie) w następujący sposób.
aptitude search -F "%p %V %v" "?narrow(?installed,?not(?archive(stable)))"
Więcej formatów można znaleźć na stronie podręcznika (tutaj jest dokumentacja z dostępnymi opcjami ).
Działa to na przykład w Debianie, jeśli zainstalowałeś pakiety poza Squeeze (na przykład przez uruchomienie apt-get install -t sid package-name
.
Możesz sprawdzić, skąd pochodzi zainstalowany pakiet apt-cache policy
, użycie jest następujące:
apt-cache policy <package-name>
Na przykład mój pakiet python-numpy renderuje następujące dane wyjściowe:
$ LANG=C apt-cache policy python-numpy
python-numpy:
Installed: 1:1.6.2-1
Candidate: 1:1.6.2-1.2
Version table:
1:1.7.0-1 0
1 http://ftp.es.debian.org/debian/ experimental/main amd64 Packages
1:1.6.2-1.2 0
500 http://ftp.es.debian.org/debian/ sid/main amd64 Packages
*** 1:1.6.2-1 0
100 /var/lib/dpkg/status
1:1.4.1-5 0
990 http://ftp.es.debian.org/debian/ squeeze/main amd64 Packages
990 http://ftp.de.debian.org/debian/ squeeze/main amd64 Packages
Oznacza to, że jestem jedną wersją za obecną gałęzią sid / main, więc mam zainstalowaną wersję starszego sida. Widzę, że nie mam stabilnego, ponieważ jest jeszcze 1.4.1-5
i jestem obecnie na 1.6.2-1
.
W chwili przesłania pakiet ten był już zaktualizowany:)
?any-version()
, ponieważ~narrow(pat1, pat2)
jest taki sam?any-version(pat1 pat2)
i obsługuje?any-version(pat1 pat2 pat3)
bez wyglądania głupio.