현재 설치된 패키지 및 사용법에 대한 정보를 얻으려고 노력 중입니다 dpkg
. 그래서 dpkg-query
대부분의 자리 표시자가 제대로 작동하고 필요한 것을 얻었지만 자리 표시자 Filename
및 MD5sum
는 Size
항상 비어 있습니다.
간단한 명령으로 문제를 볼 수 있습니다.
dpkg-query -W -f '"location":"${Filename}","md5":"${MD5sum}","size":"${Size}"\\n'
그러면 행 수가 많아집니다.
"location":"","md5":"","size":""
답변1
에서 언급했듯이맨페이지, 이러한 필드는 "내부, 프런트엔드 관련"입니다. 실제로 그들은 dselect
.
이는 기본적으로 이들에 의존할 수 없음을 의미합니다 dpkg-query
. 이는 "사용 가능한" 데이터베이스에 저장된 값에 해당하며 /var/lib/dpkg/available
기본적 dpkg-query
으로 /var/lib/dpkg/status
현재 값만 고려됩니다. --load-avail
이론적으로는 "사용 가능한" 데이터베이스의 정보를 병합하는 옵션을 추가할 수 있습니다. 그러나 명령 문서에 명시된 대로 APT를 사용하는 경우 dselect
에는 ./var/lib/dpkg/available
dselect
-p
APT 기반 프런트엔드 사용자 는
apt-cache show package-name
대신 .available
dselect
다음 필드의 의미를 조금 확장하면 도움이 될 수 있습니다. Filename
, MD5sum
및 Size
( 및 MSDOS-Filename
)는 모두 패키지를 포함하는 파일에 대한 정보(파일 이름, 체크섬 및 크기)를 제공합니다. 패키지 자체와 밀접하게 관련되어 있지 않으므로 status
데이터베이스에서는 이를 필요로 하지 않으며 저장하지도 않습니다. 패키지 설치 여부와 관계없이 패키지 파일의 위치와 특성에 관계없이 패키지는 변경되지 않은 상태로 유지됩니다. 이 정보는 패키지를 검색하고 에 제공하는 데에만 유용합니다 dpkg
.
답변2
당신은 그것을 사용할 수 있습니다grep-available
grep-aptavail
대신 도구(또는 위에서 언급한 것보다 더 좋음)@Stephenkit):
grep-available -s Filename,MD5sum,size -PX <package_name>
예:
grep-available -s Filename,MD5sum,size -PX dpkg
예제 출력:
Filename: pool/main/d/dpkg/dpkg_1.18.24_amd64.deb
MD5sum: 5553b3fac608f5c4f9fa3ddbff18c2c5
Size: 2106696