머리글

머리글

dpkg-query -l libgtk2.0-0 libgtk-3-0이 패키지의 버전을 검색하고 다음과 같은 결과를 얻습니다 .

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            Architecture       Description
+++-==========================-==================-==================-==========================================================
ii  libgtk-3-0:amd64           3.22.30-1ubuntu1   amd64              GTK+ graphical user interface library
ii  libgtk2.0-0:amd64          2.24.32-1ubuntu1   amd64              GTK+ graphical user interface library

여기에서 man dpkg-query첫 번째 열에 대한 다음 설명을 얻었습니다.

출력의 처음 세 열에는 필요한 작업, 패키지 상태 및 오류가 순서대로 표시됩니다.

          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

          Error flags:
            <empty> = (none)
            R = Reinst-required

그 설명으로 판단하면,원하는 행동이 이루어졌음을 의미설치하다패키지가 설치되었습니다. 패키지가 이미 설치되어 있으면 어떤 조치도 취할 필요가 없을 것으로 예상하기 때문에 혼란스럽습니다.

이 출력은 정확히 무엇을 말해주는가? 패키지를 업데이트해야 합니까, 아니면 이미 업데이트되어 있습니까?

답변1

당신이 말했듯이,

그 설명으로 판단하면,원하는 행동이 이루어졌음을 의미설치하다하지만 패키지가 이미 설치되어 있습니다.

이는 원하는 패키지 상태가 "설치됨"이고 패키지의 현재 상태가 "설치됨"임을 의미합니다. 둘 다 일치하므로 변경할 필요가 없습니다. 작업 열에 작업이 지정되지 않았습니다.패키징 시스템이 수행해야 하는 작업을 지정하는 작업 필요 - 실제로 이는 패키징 시스템에 이러한 패키지를 직접 또는 간접적으로 설치하도록 요청했음을 나타냅니다(통과하다종속성).

패키지가 최신인지 여부는 표시되지 않습니다.

apt policy libgtk2.0-0 libgtk-3-0

이것을 결정하기 위해.

dpkg-query의 로컬 패키지 데이터베이스만 확인하므로 /var/lib/dpkg/status다른 패키지 버전에 대해서는 알 수 없습니다. APT는 패키지 저장소를 처리하고 사용 가능한 패키지 버전(및 설치에 사용 가능한 후보 버전)을 이해하는 도구입니다.

답변2

귀하의 질문에 포함된 매뉴얼 발췌문과 출력 제목에 나와 있습니다.

머리글

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)
||/ 

수동(방해 요소를 제거하도록 편집됨)

Desired action:
    i = Install

Package status:
    i = Installed

매뉴얼에 있는 열의 의미를 잘못 이해했을 수도 있습니다. 여기서는 개별 문자를 참조합니다. 그리고 설명서에도 약간의 오류가 있는 것 같아요. 그렇게 말하지만 desired action내 생각엔 그게 바로 그런 뜻인 것 같아 desired state.

관련 정보