すべてのパッケージを一覧表示する方法私はインストールしました外部コマンドを使用せずにUbuntu / Debianの一部のリポジトリで、またはaptitude
同じ基本コマンドを使用するapt list --installed
ここ:
現在のリポジトリをすべて一覧表示します。
apt-cache policy | sed -n 's/.*o=\([^,]\+\).*/\1/p' | uniq
そしてここ、
for p in $(dpkg -l | awk '/ii/{ print $2 }'); do for i in $(apt-cache policy "$p" | awk '/Installed/{ print $2}'); do apt-cache policy "$p" | grep -A1 '\*\*\*\ '$i'' | if grep -q jessie; then echo $p; fi; done; done
後者は解決策ではありません。なぜなら著者でもそれがそうだと認めるからだ。「とても醜い」しかし、基本的なツールのみを使用するアプローチは良いです。
それとも最善の方法は、いくつかのインストールログをawk
解析するスクリプトを書くことですか?apt
しかし、なぜ疑問に思うのですか?現在、私のリポジトリはすべて次のとおりです。
LP-PPA-myid,a=focal
cloudsmith/myid/repo,a=bullseye
Docker,a=bullseye
Google LLC,a=stable
Debian,a=oldstable
Debian,a=testing
Debian Backports,a=bullseye-backports
Debian,a=stable-security
Debian,a=stable
しかし、なぜNodejsリポジトリがリストにないのかわかりません。
$ apt-cache policy nodejs
nodejs:
Installed: 16.18.1-deb-1nodesource1
Candidate: 16.19.0-deb-1nodesource1
Version table:
16.19.0-deb-1nodesource1 500
500 https://deb.nodesource.com/node_16.x bullseye/main amd64 Packages
*** 16.18.1-deb-1nodesource1 100
100 /var/lib/dpkg/status
12.22.12~dfsg-1~deb11u1 500
500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
12.22.5~dfsg-2~11u1 500
500 http://deb.debian.org/debian bullseye/main amd64 Packages