특정 데비안 패키지(.deb) 파일에 대한 정보를 어떻게 얻나요? [복사]

특정 데비안 패키지(.deb) 파일에 대한 정보를 어떻게 얻나요? [복사]

며칠 전에 설명적인 이름이 없는 .deb 파일을 다운로드했는데 실행하기 전에 그 파일이 어떤 버전인지 알고 싶었습니다 dpkg -i.

동일한 패키지가 저장소에도 포함되어 있는지 모르기 때문에 저장소의 데이터베이스를 쿼리하는 대신 실제 파일에서 이 정보를 추출하고 싶습니다.

답변1

패키지에 대한 광범위한 정보를 얻으려면 다음을 사용 -I하십시오 --info.

dpkg-deb -I package.deb
dpkg-deb --info package.deb

버전 사용량만 가져오거나 -f다음을 수행합니다 --field.

dpkg-deb -f package.deb Version
dpkg-deb --field package.deb Version

답변2

허용되는 답변은 확실히 최선의 접근 방식입니다.

deb 기반 시스템이 없는 경우 ardeb 파일이 실제로 거의 고정된 이름을 가진 3개의 파일이 포함된 deb 기반 아카이브라는 것을 아는 것이 도움이 됩니다. debian-binary는 메타데이터가 포함된 control이라는 압축 tar 파일이고, 메인 패키지는 data라는 압축 tar 파일에 있습니다. control.tar.xz 파일을 추출하고 제어 파일을 추출하여 버전을 확인할 수 있습니다.

$ ar vt zile_2.4.14-6_amd64.deb
rw-r--r-- 0/0      4 Feb 10 11:00 2018 debian-binary
rw-r--r-- 0/0   1372 Feb 10 11:00 2018 control.tar.xz
rw-r--r-- 0/0 170540 Feb 10 11:00 2018 data.tar.xz
$ mkdir /tmp/e ; cd /tmp/e ; ar x ~-/zile_2.4.14-6_amd64.deb
$ xzcat control.tar.xz | tar vtf -
drwxr-xr-x root/root         0 2018-02-10 11:00 ./
-rw-r--r-- root/root       557 2018-02-10 11:00 ./control
-rw-r--r-- root/root       874 2018-02-10 11:00 ./md5sums
-rwxr-xr-x root/root       468 2018-02-10 11:00 ./postinst
-rwxr-xr-x root/root       167 2018-02-10 11:00 ./postrm
-rwxr-xr-x root/root       219 2018-02-10 11:00 ./prerm
$ xzcat control.tar.xz | tar xf -
$ grep Version control
Version: 2.4.14-6
$

관련 정보