터미널 명령은 시스템에 비자유 소프트웨어가 없음을 표시합니다.

터미널 명령은 시스템에 비자유 소프트웨어가 없음을 표시합니다.

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

첫 번째 명령은 패키지 라이센스를 확인하지 않고 설치된 패키지가 어느 저장소에서 왔는지 확인하고비자유 저장소.

두 번째 명령은 아키텍처 접미사를 포함해서는 안 되는 라이선스 파일의 잘못된 경로를 확인합니다. 예를 들어 패키지 /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

그리고 다시 같은 단계를 반복하세요

관련 정보