dpkg를 사용하여 패키지 정보 가져오기

dpkg를 사용하여 패키지 정보 가져오기

dpkg내 컴퓨터에 설치된 패키지 목록을 표시하는 도구를 사용하려고 합니다 . 해당 -l옵션을 사용하면 일부 패키지를 "un"으로 보고합니다. 이는 알 수 없음, "설치되지 않음"을 의미합니다. "설치되지 않음" 플래그는 그러한 패키지가 있고, 내가 실행 중인 시스템에서 사용할 수 있지만 내 컴퓨터(로컬)에는 존재하지 않으며 .deb웹에서 파일을 다운로드하여 설치해야 함을 의미합니까?

답변1

먼저 근본적인 문제를 해결하겠습니다.

dpkg -l | grep '^.i'

설치된 모든 패키지가 나열됩니다. 예를 들어 다른 도구도 이 정보를 제공할 수 있습니다.

apt list --installed

dpkg -l출력 에서 "설치되지 않음" dpkg은 패키지가 시스템에 설치되어 있지 않더라도 패키지가 존재하는 것으로 알려져 있음을 의미합니다. 패키지 파일 자체는 시스템(예: APT 캐시)에서 사용할 수 있지만 /var/cache/apt/archivess dpkg는 이를 모릅니다. dpkg관점 에서는 말씀하신 대로 패키지 파일을 다운로드하거나 다른 방법으로 구해서 설치해야 합니다.

답변2

dpkgun데이터베이스가 업데이트되지 않았기 때문에 (알 수 없음) 인쇄됩니다 . sync-availablefrom 패키지를 사용하여 정보를 dctrl-tools동기화할 수 있습니다 .dpkgapt

sudo apt install dctrl-tools
sudo sync-available

man sync-available:

 sync-available - sync dpkg's available database with apt's database 

DESCRIPTION
This program updates the dpkg(8) available database with the data in the apt(8)
package database. This is required for grep-available(1) and other similar
programs to give up-to-date results.

관련 정보