우분투 64 비트에서 모든 i386 패키지를 제거하는 방법? 따라 더 이상 필요없는 많은 i386

시간이 지남에 따라 더 이상 필요없는 많은 i386 패키지를 설치했습니다. 시스템을 정리하고 amd64 패키지로만 유지하려면 어떻게해야합니까?



답변

그들이 당신의 방식으로 있지 않다면, 나는 그들이있는 곳에 남겨 둘 것입니다.
삭제를 주장하는 경우 dpkg -l | grep i386i386 패키지 목록을 작성하는 데 사용 하십시오. 와 같은 것을 신중하게 확인한 후에 삭제할 수 있습니다 sudo apt-get purge <package-name>.


답변

자동화 된 상위 솔루션은 위험하며 항상 작동하지는 않습니다 (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”를 표시합니다.


답변

나는 다음과 같이 모든 32 비트 패키지를 공포했다.

sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`

답변

누군가 궁금해하는 경우에는 훨씬 더 깔끔하고 우아한 방법이 있습니다. 마지막 이전 답변은 동일한 작업을 수행하려고하지만 아키텍처는 특별한 경우를 제외하고 실제로 패키지 이름의 일부가 아니기 때문에 검색이 실패합니다.

루트로 (또는 sudo로) 다음을 실행하십시오.

aptitude remove ~i~ri386

apt-get보다 적성을 아직 사용하지 않았다면 그렇게하십시오. 정말 훌륭합니다. 적성의 검색어 목록은 여기 에서 찾을 수 있습니다 .


답변

위험이 더 낮은 다른 방법은 다음과 같습니다.

apt-get remove "^.*:i386$"

이것은 ":i386"모든 i386아키텍처 데비안 패키지에 대한 표준 명명 규칙 인로 끝나는 패키지 만 일치 합니다.


답변

데비안의 multiarch 가이드 :이 명령 언급 apt-get purge ".*:<arch>"이 같은 것 외모 i386:

apt-get purge ".*:i386"

그런 다음 dpkg에서 아키텍처를 제거 할 수 있습니다.

dpkg --remove-architecture i386