vrms
[1] 「ホスト名に無料または貢献パッケージがインストールされていません。rmsは誇りに思っています」を返します。 [ dpkg-query -W -f='${Section}\t${Package}\n' | grep ^non-free
2] 端末には何も返しません。
しかし、実行後
packages=`dpkg --get-selections | awk '{ print $1 }' | sed 's/:amd64//'`
for package in $packages; do echo "<<< $package >>> "; cat /usr/share/doc/$package/copyright; done > ./licenses
一部のパッケージにライセンスがないことを示す次の出力が表示されます。
cat: /usr/share/doc/libddccontrol0/copyright: No such file or directory
cat: /usr/share/doc/linux-image-4.19.0-12-amd64/copyright: No such file or directory
cat: /usr/share/doc/live-tools/copyright: No such file or directory
cat: /usr/share/doc/rsync/copyright: No such file or directory
cat: /usr/share/doc/user-setup/copyright: No such file or directory
この場合、[1]と[2]コマンドはどちらも利用可能であることをどのように決定しますか?
答え1
最初のコマンドは、パッケージライセンスを確認せずに、インストールされたパッケージがどのリポジトリから来たかを確認します。非自由ストレージ。
2番目のコマンドは、アーキテクチャサフィックスを含めてはいけないライセンスファイルの間違ったパスを確認します。たとえば、パッケージ/usr/share/doc/binutils-common/copyright
の場合、アーキテクチャbinutils-common
サフィックスを含めないでください/usr/share/doc/binutils-common:amd64/copyright
(参照)。ファイル一覧binutils-common amd64パッケージの場合)。
答え2
実装するdpkg --get-selections | grep deinstall
出力に同じパッケージが返された場合は、次のコマンドを使用してそのパッケージを消去します。apt-get purge PACKAGENAME
そしてまた同じ手順を繰り返してください