이전에 일부 외부 소스를 추가했지만 /etc/apt/sources.list.d
지금은 그 중 하나를 제거하고 싶습니다. 내가 너무 할:
- 이 소스에서만 모든 패키지 제거
- 모든 패키지를 원본 소스의 버전으로 복원
- 또는 이 프로세스를 수동으로 수행할 수 있도록 이 소스의 모든 패키지를 나열하세요.
어떻게 해야 하나요?
답변1
제거하려는 저장소의 구성에 따라 apt list --installed
제거하거나 다운그레이드해야 하는 패키지를 식별하는 데 충분한 정보가 있을 수 있습니다. 저장소가 고유한 "원본"을 정의하는 경우 다른 옵션을 사용하는 것입니다 aptitude search '~i ~Oorigin'
( origin
필요에 따라 대체).
(이것은 일반적인 답변입니다.질문을 수정하세요제거하려는 소스를 정확하게 지정하기 위해 특정 답변을 추가할 수 있습니다. )
답변2
또는 dpkg를 사용하세요.
dpkg -l | awk '/^.i/ {print $2}' | xargs apt-cache policy | awk '/^[a-z0-9.\-]+:/ {pkg=$1}; /\*\*\*/ {OFS="\t"; ver=$2; getline; print pkg,ver,$2,$3}'|grep -v /var/lib/dpkg/status| sed -e 's/://'|awk '{printf "%-40s %-36s %-36s %-16s \n",$1,$2,$3, $4}' | grep -i yourkeyword
예를 들어
dpkg -l | awk '/^.i/ {print $2}' | xargs apt-cache policy | awk '/^[a-z0-9.\-]+:/ {pkg=$1}; /\*\*\*/ {OFS="\t"; ver=$2; getline; print pkg,ver,$2,$3}'|grep -v /var/lib/dpkg/status| sed -e 's/://'|awk '{printf "%-40s %-36s %-36s %-16s \n",$1,$2,$3, $4}' | grep -i multimedia
반품:
audacious 1:3.8.2-dmo1 http://www.deb-multimedia.org stretch/main
audacious-plugins 1:3.8.2-dmo1 http://www.deb-multimedia.org stretch/main
audacious-plugins-data 1:3.8.2-dmo1 http://www.deb-multimedia.org stretch/main
snipp
이는 deb-multimedia.org의 패키지를 보여줍니다. 결과는 다음과 같습니다.dpkg-query -W -f='${Section}\t\t${Package}\n' | awk '/^.i/ {print $2}' | xargs apt-cache policy | awk '/^[a-z0-9.\-]+:/ {pkg=$1}; /\*\*\*/ {OFS="\t"; ver=$2; getline; print pkg,ver,$2,$3}'|grep -v /var/lib/dpkg/status| sed -e 's/://'|awk '{printf "%-40s %-36s %-36s %-16s \n",$1,$2,$3, $4}' | egrep -i multimedia