libreoffice를 제거하고 싶습니다. 이 프로그램은 약 30 개의 모듈로 구성됩니다. 이상적으로는 다음을 사용하여 제거 할 수 있습니다.
aptitude remove libreoffice3.6* libreoffice-debian-menus libobasis3.6-*
그러나 그것은 실패
Couldn't find any package whose name or description matched "libreoffice3.6*"
기타
패턴별로 패키지 세트를 삭제하려면 어떻게합니까?
PS : 나는 사용과 대답에 대한 행복 해요 dpkg
또는 apt
도
답변
-
사용
apt-get
하지 말고aptitude
정규식을 사용하십시오 . -
정규식에서
.
모든 문자를*
의미하며 0 회 이상을 의미합니다. 따라서 표현식libreoffice.*
은 문자열을 포함하는 모든 패키지 이름과 임의libreoffice
의 문자 수 와 일치합니다 . -
쉘이 별표를 해석하지 않도록하려면 정규식을 작은 따옴표로 묶으십시오. (라는 이름의 파일이 있다면
libreoffice.example
현재 디렉토리에 예를 들어, 쉘은 대체 할libreoffice.*
함께libreoffice.example
이 동작을 중지 작은 따옴표를 사용할 필요가 있으므로.)
결과:
sudo apt-get remove 'libreoffice.*'
답변
대안은 다음과 같습니다.
dpkg -l | grep libreoffice | awk '{print $2}' | xargs -n1 echo
일치하는 모든 패키지가 나열됩니다 libreoffice
. 제거하려는 모든 것이 확인되면 다음 명령 을주의해서 실행하십시오 .
dpkg -l | grep libreoffice | awk '{print $2}' | xargs -n1 sudo apt-get purge -y
아이디어:
- 시스템에 설치된 모든 패키지를 나열하십시오.
- 일치하는 항목 만 표시하도록 필터링
libreoffice
- 패키지 이름을 가진 열만 표시하도록 필터링
- 해당 패키지 각각에서 purge 명령을 실행하십시오.
답변
적성은 전역 패턴을 지원하며 다음과 같은 또 다른 멋진 일치 항목을 지원합니다.
aptitude remove '?and(?name(libreoffice), name(3.6), ~i)' libreoffice-debian-menus
이것은 이름 libreoffice
과 패키지가 3.6
설치된 모든 패키지와 일치합니다 (즉, 그 ~i
의미입니다).