답변:
그들이 당신의 방식으로 있지 않다면, 나는 그들이있는 곳에 남겨 둘 것입니다.
삭제를 주장하는 경우 dpkg -l | grep i386
i386 패키지 목록을 작성하는 데 사용 하십시오. 와 같은 것을 신중하게 확인한 후에 삭제할 수 있습니다 sudo apt-get purge <package-name>
.
apt-get purge <package-name>
그래도 여전히 작동해야합니다.
dpkg -l | grep amd64
내가 내 목록에서 I386 PKG있어 amd64-microcode 3.20160316.3 i386
, 내가 생각하는 그 ':'은 grep 패턴 중요하다 ! ( dpkg -l | grep ":amd64"
)
자동화 된 상위 솔루션은 위험하며 항상 작동하지는 않습니다 (1).
sudo aptitude purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
또는
sudo apt-get purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
(항상 하나의 도구 만 사용하십시오. 종속성 문제가있는 경우 적성이 더 좋으므로 선호합니다.)
또한 좋은 생각
dpkg --remove-architecture i386
그리고 아마도
dpkg --print-foreign-architectures
(1) 이전 명령은 이름에 i386 만있는 패키지를 나열하지만 (64 비트 아키텍처 용이지만) 정규 표현식이 작동하지 않으며 dpkg는 이미 제거되었지만 여전히 구성 파일이 남아있는 패키지를 표시합니다 ( dpkg -l 상태로 "ii"대신 "rc"를 표시합니다.
awk
어쨌든 사용 하고 있기 때문에 grep
호출을 제거 할 수도 있습니다 . 또한 $()
백틱 대신에 선호됩니다. 방금 제공 한 명령에 sudo apt purge $(dpkg --get-selections | awk '$1 ~ /:i386$/ { print $1 }')
나는 다음과 같이 모든 32 비트 패키지를 공포했다.
sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
dpkg -l | grep i386
, 패키지를 점검 할 때 여전히 아이디어가 있고, 이전 의견에 +1하고 쉘 스크립트 기술과 관련이 있다고 생각합니다.
sudo dpkg --remove-architecture i386
위험이 더 낮은 다른 방법은 다음과 같습니다.
apt-get remove "^.*:i386$"
이것은 ":i386"
모든 i386
아키텍처 데비안 패키지에 대한 표준 명명 규칙 인로 끝나는 패키지 만 일치 합니다.
sudo apt-get purge .*:i386
데비안의 multiarch 가이드 :이 명령 언급 apt-get purge ".*:<arch>"
이 같은 것 외모 i386
:
apt-get purge ".*:i386"
그런 다음 dpkg에서 아키텍처를 제거 할 수 있습니다.
dpkg --remove-architecture i386