dpkg / apt-상충되는 정보 얻기

dpkg / apt-상충되는 정보 얻기

를 실행하면 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.

관련 정보