dpkg -p는 일부 패키지(예: vim)에서 작동하지 않습니다.

dpkg -p는 일부 패키지(예: vim)에서 작동하지 않습니다.

저는 LPIC 시험을 준비하고 있으며 랩 작업 중 하나는 패키지 dpkg -p, 특히 패키지에 대한 세부 정보를 찾는 것입니다.그리고 dpkg -p vim. 솔루션에서 명령은 패키지에 대한 정보를 생성하지만 내 출력은 다음과 같습니다.

root@home:~# dpkg -p vim
dpkg-query: package 'vim' is not available
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.

설치되어 정기적으로 사용하며 내 시스템에서도 찾을 수 있습니다.

root@home:~# type vim
vim is hashed (/usr/bin/vim)
root@home:~# which vim
/usr/bin/vim

어떤 면에서는 문제가 있는 것 같지만 dpkg -p다른 패키지에서는 작동합니다(몇 가지를 시도해 보았는데 모두 잘 작동합니다).

root@home:~# dpkg -p eject
Package: eject
Priority: important
Section: utils
Installed-Size: 160
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
...

내 시스템(VPS) 정보는 다음과 같습니다.

Ubuntu 18.04.5 LTS
Linux 4.15.0-143-generic #147-Ubuntu SMP Wed Apr 14 16:10:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

강좌에서 솔루션을 재현할 수 없는 이유는 무엇입니까? 감사합니다!

답변1

오래 전에는 dpkg아직 존재하지 않는 애플리케이션이 아니라 apt다른 프런트엔드에서 사용했습니다. 예를 들어 이러한 도구는 런타임 시 dselect파일로 끝나는 사용 가능한 패키지 목록을 업데이트하는 역할을 했습니다 . 기능은 사용 가능한 최신 목록 파일에 따라 다릅니다./var/lib/dpkg/availabledselect updatedpkg -p

요즘에는 항상 그런 것은 아닙니다. 전혀 신경쓰지 마세요 apt. /var/lib/dpkg/available어떤 방식으로든 이 파일을 업데이트하는 다른(아마도 GUI) 도구가 있을 수 있으므로 /var/lib/dpkg/available부분적으로 채워질 수 있습니다.

맨페이지dpkg(또는 dpkg-query) 말하다:

-p, --print-avail패키지 이름...

과 같이 패키지 이름에 대한 자세한 정보를 표시합니다 /var/lib/dpkg/available.APT 기반 프런트엔드 사용자는 다음을 apt-cache show package-name사용해야 합니다..

게다가:

--update-avail[패키지 파일]
--merge-avail[패키지 파일]

고쳐 쓰다포장 백'모래선택어떤 패키지를 사용할 수 있는지에 대한 아이디어. 작업을 통해 --merge-avail이전 정보가 패키지 파일의 정보와 결합됩니다. action 을 사용하면 --update-avail이전 정보가 패키지 파일의 정보로 대체됩니다. 데비안과 함께 배포되는 패키지 파일은 간단히 "패키지"라고 불립니다. Packages-file 매개변수가 없거나 이름이 "-"인 경우 표준 입력에서 읽습니다(dpkg 1.17.7부터).포장 백사용 가능한 패키지 기록을 /var/lib/dpkg/available.

당신은 그것을 사용할 수 있습니다apt-cache dumpavail사용 가능한 파일 형식 출력을 즉시 생성합니다.

dumpavail dumpavail 사용 가능한 목록을 표준 출력으로 인쇄합니다. 이는 dpkg(1)과 함께 사용하기에 적합하며 dselect(1) 메서드에서 사용됩니다.

결과를 병합합니다(이 예제는 Ubuntu에서 실행되지 않았습니다).

# apt-cache dumpavail | dpkg --merge-avail -
Updating available packages info, using -.
Information about 119859 packages was updated.

dpkg -p vimapt-cache show vim지금은 작동하지만 직접 사용하는 것이 더 간단할 수 있습니다 apt show vim.

결론: 일부 LPIC 문제는 시대에 뒤떨어질 수 있지만 시험에 응시하려면 더 이상 어디에서도 사용되지 않는 특정 시험 내용을 공부해야 합니다.

관련 정보