Sortowalna lista wszystkich pakietów (dpkg)


Chcę usunąć wszystkie zainstalowane pakiety w systemie, który używa
       dpkg
.
Póki co używam
       dpkg -l
.
Ma jednak jedną wadę: sortowanie wyniku jest bez znaczenia.
Rozdział:
root@aptguettler:~# LANG=C dpkg-query -l| sort | head
+++-===========================================================-=================================================-============-================================================================================
Desired=Unknown/Install/Remove/Purge/Hold
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
ii a11y-profile-manager-indicator 0.1.10-0ubuntu3 amd64 Accessibility Profile Manager - Unity desktop indicator

Ogon:
root@aptguettler:~# LANG=C dpkg-query -l| sort | tail
rc texlive-publishers-doc 2015.20160320-1 all TeX Live: Documentation files for texlive-publishers
rc texlive-science 2015.20160320-1 all TeX Live: Natural and computer sciences
rc texlive-science-doc 2015.20160320-1 all TeX Live: Documentation files for texlive-science
rc tpconfig 3.1.3-15 amd64 touchpad device configuration utility
rc ttf-indic-fonts-core 1:0.5.14ubuntu1 all Core collection of free fonts for languages of India
rc ttf-punjabi-fonts 1:0.5.14ubuntu1 all Free TrueType fonts for the Punjabi language
rc unity-lens-friends 0.1.3+14.04.20140317-0ubuntu1 amd64 Friends scope for unity
rc webaccounts-extension-common 0.5-0ubuntu2.14.04.1 amd64 Ubuntu Online Accounts browser extension - common files
rc xfonts-mathml 6ubuntu1 all Type1 Symbol font for MathML
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend

Przechowuję historię tego dzieła
       etckeeper
(Powiązane pytanie, na które należy odpowiedzieć

napisz wyjście hwinfo za pomocą etckeepera
https://serverfault.com/questi ... eeper
).
Oto, co chciałbym poprawić:
  • Struny ascii-art nie są dobre. Powinno być usunięte.
  • Pierwsze dwa znaki (na przykład
             ii       
    ) należy usunąć lub pojawić się na końcu.

W systemach opartych na rpm
       rpm -qa
robi dokładnie to, czego potrzebuję.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Próbować
dpkg --get-selections | grep -v deinstall

Jeśli chcesz uzyskać dokładną wersję pakietów w wynikach, możesz wykonać:
dpkg -l | grep '^ii' | awk '{print $2 "\t" $3}'

To wyświetla tylko kolumny 2 i 3. Wyświetla również tylko zainstalowane pakiety, nie odinstalowane i inne.
Edycja: Inną opcją jest dpkg-query:
dpkg-query --show --showformat='${Package} ${Version}  ${Architecture} ${db:Status-Abbrev} \n'

Gdzie --showformat (lub -f) określa, które kolumny chcesz wyświetlić, w tym przypadku nazwę pakietu, wersję i architekturę oraz krótki stan (np. „Ii” i „rc”) na końcu, „\ n” to koniec linii ...
Nawiasem mówiąc, „ii” identyfikuje zainstalowane pakiety, „rc” to pakiety odinstalowane, więc użyłem grep i awk do odfiltrowania odinstalowanych pakietów.
Jeśli chcesz, możesz dodać następujące szerokości kolumn:
dpkg-query --show --showformat='${Package;-50} ${Version;-40}  ${Architecture;-5} ${db:Status-Abbrev} \n'

Ujemna szerokość kolumny oznacza orientację lewą, a dodatnią - prawą.
Uważaj jednak, ponieważ nazwa pakietu zostanie obcięta, jeśli szerokość będzie mniejsza niż liczba znaków w nazwie pakietu.
Nie jestem pewien, do czego ta lista jest potrzebna. Jeśli chcesz mieć tylko czytelną listę, nie ma nic złego w awk lub innych poleceniach, jeśli chcesz mieć „kopię zapasową” oprogramowania do zainstalowania na innym komputerze.
         dpkg --get-selections
(bez rur) jest tym, czego potrzebujesz, widzisz

https://wiki.debian.org/ListInstalledPackages
https://wiki.debian.org/ListInstalledPackages

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się