나는 Debian (jessie)을 실행하고 있으며 다음을 따르고 있습니다.이것질문, 첫 번째 답변에서 제안한 대로 실행 중인 패키지를 설치했습니다.
sudo apt-get install gtk2-engines-* gtk3-engines*
그런데 이 방법으로 Eclipse 문제가 해결되지는 않았지만 이상한 점을 발견했습니다.
sudo apt-get purge gtk2-engines-* gtk3-engines*
그것은 말한다
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'gtk2-engines-gartoon' for regex 'gtk2-engines-*'
Note, selecting 'gtk2-engines-moblin' for regex 'gtk2-engines-*'
Note, selecting 'gtk2-engines-murrine' for regex 'gtk2-engines-*'
Note, selecting 'gtk2-engines-nodoka' for regex 'gtk2-engines-*'
Note, selecting 'gtk2-engines-qtcurve' for regex 'gtk2-engines-*'
Note, selecting 'gtk2-engines-ubuntulooks' for regex 'gtk2-engines-*'
Note, selecting 'gtk2-engines-pixbuf' for regex 'gtk2-engines-*'
Note, selecting 'gtk2-engines' for regex 'gtk2-engines-*'
Note, selecting 'gtk2-engines-wonderland' for regex 'gtk2-engines-*'
Note, selecting 'gtk2-engines-oxygen' for regex 'gtk2-engines-*'
Note, selecting 'gtk2-engines-cleanice' for regex 'gtk2-engines-*'
Note, selecting 'gtk2-engines-magicchicken' for regex 'gtk2-engines-*'
Note, selecting 'gtk2-engines-xfce' for regex 'gtk2-engines-*'
Note, selecting 'gtk2-engines-aurora' for regex 'gtk2-engines-*'
Note, selecting 'gnome-icon-theme-gartoon' instead of 'gtk2-engines-gartoon'
Note, selecting 'gtk3-engines-oxygen' for regex 'gtk3-engines*'
Note, selecting 'gtk3-engines-xfce' for regex 'gtk3-engines*'
The following packages were automatically installed and are no longer required:
kde-style-qtcurve kwin-style-qtcurve libgoocanvas-common libgoocanvas3
libkdecorations4abi2 libmlt++3 libmlt-data libmlt6 libsox-fmt-alsa
libsox-fmt-base libsox2 melt python-httplib2 python-mlt python-pygoocanvas
python-xdg
Use 'apt-get autoremove' to remove them.
괜찮아요, 그런데 이렇게 말해요
The following packages will be REMOVED:
gtk2-engines* gtk2-engines-aurora* gtk2-engines-cleanice*
gtk2-engines-magicchicken* gtk2-engines-moblin* gtk2-engines-murrine*
gtk2-engines-nodoka* gtk2-engines-oxygen* gtk2-engines-pixbuf*
gtk2-engines-qtcurve* gtk2-engines-ubuntulooks* gtk2-engines-wonderland*
gtk2-engines-xfce* gtk3-engines-oxygen* gtk3-engines-xfce* murrine-themes*
openshot* xfce4*
그가 선택한 이유
murrine-themes* openshot* xfce4*
?
regEx와 일치하는 모든 항목을 삭제하면 안 되나요?
gtk2-engines-* gtk3-engines*
아니면 여기에 기본적인 것이 빠져 있습니까?
답변1
$ apt-cache show xfce4 | grep ^Depends
Depends: xfwm4 (>= 4.12.0), xfconf (>= 4.12.0), xfce4-settings (>= 4.12.0), xfce4-panel (>= 4.12.0), xfdesktop4 (>= 4.12.0), thunar (>= 1.6.6), gtk2-engines-xfce (>= 3.2.0), xfce4-session (>= 4.12.0), xfce4-appfinder (>= 4.12.0), xfce4-mixer (>= 4.10.0), orage (>= 4.10.0), libxfce4ui-utils (>= 4.12)
보시다시피 xfce4 패키지는 gtk2-engines-xfce에 의존하므로 gtk2-engines-xfce를 제거하면 apt는 xfce4도 제거합니다. 언급한 다른 패키지와 유사하므로 openshot은 gtk2-engines-pixbuf에 의존하고 gtk2-engines-pixbuf는 gtk2-engines-murrine에 의존합니다.
또한 Henrik의 의견을 지적하고 싶습니다.
apt-get은 패키지 이름 대신 정규식을 인수로 사용할 수 있지만 쉘이 실제로 명령을 호출하기 전에 발생하는 파일 일치에 주의해야 합니다. 예를 보세요:
$ touch gtk2-engine-test
$ sudo apt-get remove gtk2-engine*
[sudo] password for boban:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gtk2-engine-test
apt에 정규식을 전달하려면 *, ?와 같은 파일 와일드카드 문자를 이스케이프해야 합니다. ,[,] 등이므로 올바른 명령은 다음과 같습니다.
sudo apt-get remove gtk2-engine\*
답변2
이미Boban P가 설명합니다., 패키지 제거 또는 제거를 요청하면 해당 패키지에 종속된 패키지도 제거됩니다.
이를 사용하여 aptitude why
수동으로 설치된 패키지가 무엇에 의존하는지, 즉 패키지가 설치된 이유를 확인할 수 있습니다. 인수는 글로벌 패턴이나 정규 표현식이 아닌 단일 패키지 이름입니다. 이것을 [능력 검색]((http://aptitude.alioth.debian.org/doc/en/ch02s04s05.html) 여러 패키지를 한 번에 쿼리합니다.
aptitude -v why $(aptitude -F %p search '~i ~ngtk2-engines.*')
출력이 매우 길어질 수 있습니다. 그렇지 않은 경우 -v
aptitude는 각 패키지를 설치하는 이유를 하나만 나열합니다.
apt-get
또한 및 명령에 대한 인수는 apt-cache
쉘 와일드카드 패턴이 아닌 정규식이라는 점에 유의하십시오. 인수에 특수 문자가 포함되어 있지 않으면 문자 그대로 간주되지만 인수에 특수 문자가 포함되어 있으면 ()[].?*+
정규식은 패키지 이름의 일부만 일치하면 됩니다. 따라서 gtk2-engines-*
패키지가 하위 문자열²과 일치 gtk2-engines
하므로 gtk2-engines
일치 항목으로 나열됩니다. 대신에 이를 작성할 계획일 수도 있지만 이렇게 하면 이름이 3로 시작하지 않는 패키지 gtk2-engines-.*
도 포착할 수 있습니다 . gtk2-engines
로 시작하는 패키지를 나열하려면 gtk2-engines-
를 사용하십시오 ^gtk2-engines-
.
gtk2-engines-*
또한 쉘 명령줄에서 특수 문자를 인용하는 습관을 들이십시오. glob 패턴과 일치하는 파일이 현재 디렉터리에 존재하는 경우(예: .deb
방금 다운로드한 파일) 패턴이 일치하는 파일로 대체됩니다.
1 또는적성 검색 패턴일부 버전에서는 있지만 Debian jessie에서는 그렇지 않습니다. ²0개 이상의 발생 (예: 0) 으로
끝나기 때문입니다 .
³현재 Debian에서는 이 기능을 사용할 수 없습니다.gtk2-engines
-