端末コマンドは、システムに非フリーソフトウェアがないことを示します。

端末コマンドは、システムに非フリーソフトウェアがないことを示します。

vrms[1] 「ホスト名に無料または貢献パッケージがインストールされていません。rmsは誇りに思っています」を返します。 [ dpkg-query -W -f='${Section}\t${Package}\n' | grep ^non-free2] 端末には何も返しません。

しかし、実行後

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

そしてまた同じ手順を繰り返してください

関連情報