libreoffice를 제거하고 싶습니다. 이 프로그램은 약 36개의 모듈로 구성됩니다. 이상적으로는 다음을 사용하여 제거할 수 있습니다.
aptitude remove libreoffice3.6* libreoffice-debian-menus libobasis3.6-*
하지만 그건 실패
Couldn't find any package whose name or description matched "libreoffice3.6*"
등.
패턴별로 패키지 세트를 삭제하려면 어떻게 해야 하나요?
dpkg
추신: use 또는 에 대한 답변 apt
도 만족스럽습니다 .
답변1
apt-get
또는apt
(아님 ) 을 사용aptitude
하고 고정된 정규식을 사용하십시오.정규식에서
.
모든 문자를 의미하며*
0회 이상을 의미합니다. 따라서 표현식은libreoffice.*
문자열libreoffice
과 그 뒤에 임의 개수의 문자가 오는 모든 패키지 이름과 일치합니다.^
(문자열의 시작과 일치) 또는$
(문자열의 끝과 일치) 또는 둘 다를 사용하여 정규식을 고정해야 합니다 . 그렇지 않으면 정규식은 APT에서 인식되지 않습니다.쉘이 별표를 해석하는 것을 방지하려면 정규식을 작은따옴표로 묶으십시오.
예:
이름이 로 시작하는 모든 패키지를 제거하려면 libreoffice
다음을 실행하십시오.
sudo apt remove '^libreoffice.*$'
답변2
대안은 다음과 같습니다.
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
- 패키지 이름이 있는 열만 표시하도록 필터링합니다.
- 해당 패키지 각각에 대해 제거 명령을 실행하십시오.
답변3
Aptitude는 전역 패턴을 지원하며 다음과 같은 또 다른 멋진 일치 항목을 제공합니다.
aptitude remove '?and(?name(libreoffice), name(3.6), ~i)' libreoffice-debian-menus
이는 이름에 있고 설치된 모든 패키지와 일치합니다 libreoffice
( 3.6
이것이 ~i
의 약자입니다.
답변4
동일한 접두어를 가진 많은 파일을 제거해야 할 때 중괄호 확장이 매우 편리하다고 생각합니다.
sudo apt remove libreoffice-l10n-{bg,ca,cs,da,de,en-za,es,fr,hu,id,ja,ko,nb,nl,pl,pt,ru,sv,th,tr,uk,vi,zh-cn,zh-tw}
나는 이 명령을 사용하여 전혀 사용하지 않는 모든 언어 팩을 제거했습니다. 예, 정규식을 사용하면 어느 것을 유지하고 나머지는 삭제할지 알 수 있습니다. 어쨌든 나는 기억하기 쉽고 많은 bash 명령에서도 작동하기 때문에 이것을 좋아합니다.