
를 실행하면 dpkg -l
설치된 패키지 목록이 표시되고 이를 재현하려는 "모델" 시스템과 비교합니다. 해당 목록에는 emacs23
제거하려는 패키지(예: )가 여러 개 표시되어 있습니다 . 그러나 을 실행하면 패키지가 설치되지 않았다는 apt-get remove emacs23
메시지가 표시됩니다 emacs23
.
# apt-get -y remove emacs23
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package emacs23 is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 97 not upgraded.
달리기는 apt-get update
도움이 되지 않았습니다:
업데이트 된 정보:
# dpkg -l emacs23
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
rc emacs23 23.3+1-1ubuntu The GNU Emacs editor (with GTK+ user interfa
# apt-cache policy emacs23
emacs23:
Installed: (none)
Candidate: 23.3+1-1ubuntu9.2
Version table:
23.3+1-1ubuntu9.2 0
500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
100 /var/lib/dpkg/status
23.3+1-1ubuntu9.1 0
500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
23.3+1-1ubuntu9 0
500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
# dpkg -l | grep emacs23
rc emacs23 23.3+1-1ubuntu9.2 The GNU Emacs editor (with GTK+ user interface)
이 명백한 혼란을 어떻게 해결합니까?
답변1
에서 man dpkg
:
-l, --list [package-name-pattern...]
List packages matching given pattern. If no package-name-pattern is given, list all packages in /var/lib/dpkg/status, excluding the
ones marked as not-installed (i.e. those which have been previously purged).
이는 dpkg-l
모든 항목을 나열한다는 의미입니다.비퍼지됨패키지 및~ 아니다모든설치됨패키지;
실제로 from man dpkg-query
( dpkg -l
프론트엔드 역할을 함)은 다음과 같습니다.
Desired action:
u = Unknown
i = Install
h = Hold
r = Remove
p = Purge
Package status:
n = Not-installed
c = Config-files
H = Half-installed
U = Unpacked
F = Half-configured
W = Triggers-awaiting
t = Triggers-pending
i = Installed
이는 rc
줄의 시작 부분에서 다음을 의미합니다.
r
: 패키지의 원하는 작업은 "제거"입니다.c
: 패키지 상태는 구성 파일만 존재합니다.
기존 시스템을 재현하고 싶기 때문에 rc
"모델" 시스템에 나타나지 않는 원하는 작업/상태 조합이 있는 패키지를 제거해야 합니다.
sudo apt-get purge emacs23
부작용으로 해당 패키지는 더 이상 나타나지 않습니다 dpkg -l
.