checkinstall
나는 git 소스에서 직접 빌드된 것으로 생각되는 .deb 패키지를 가지고 있었습니다 libmypackage1_0.10.7-1_armhf.deb
. 그런 다음 몇 달 후에 git pull
동일한 소스에서 하나를 만들고 .deb의 새 버전을 빌드했지만 이름이 libmypackage1_0.10.7-1_armhf.deb
다시 생겼습니다. .
몇 달이 지난 지금, 내가 만든 커밋의 git 해시가 파일 이름이나 버전에 포함되어 있지 않기 때문에 어떤 deb가 첫 번째 빌드인지 두 번째 빌드에 설치되었는지 더 이상 확신할 수 없습니다.
그러나 두 실행의 빌드 출력을 모두 유지했으며 libmypackage1_0.10.7-1_armhf.buildinfo
. 또는 다른 도구를 사용하여 쿼리 할 dpkg -i ...
수 있도록 종료하시겠습니까 ? 기본적으로 "현재 설치의 빌드 날짜는 언제입니까 ?" 또는 두 버전을 구별하는 데 도움이 되는 기타 정보를 쿼리하고 싶습니다 .apt
dpkg
libmypackage1_0.10.7-1
예제에서 약간 벗어나야 한다면 패키지에 대한 동일한 정보를 libmypackage
검색하고 싶다고 가정해 보겠습니다 bash
. 예를 들면 다음과 같습니다.
$ apt-show-versions bash
bash:armhf/stretch 4.4-5 uptodate
이 패키지의 빌드 날짜를 알려 주는 명령을 실행할 수 있습니까?
답변1
buildinfo
현재 정보는 deb
패키지와 함께 저장되지 않습니다.
필요한 정보를 결정하는 다른 방법도 많이 있습니다. deb
패키지는 타임스탬프를 유지하므로 신뢰할 수 있다고 가정하면(여기서는 그럴 것 같습니다), 패키지에 의해 설치된 파일의 타임스탬프를 보면 빌드 타임스탬프에 대한 대략적인 정보를 얻을 수 있습니다.
ls -ldtR $(dpkg -L libmypackage) | grep -v ^d | head
아직 s 가 있는 경우 deb
설치된 파일을 체크섬과 비교하여 어떤 파일이 설치되어 있는지 확인할 수 있습니다.
debsums libmypackage1_0.10.7-1_armhf.deb
파일을 빌드 정보에 연결 하려면 deb
해당 파일의 체크섬을 사용할 수 있습니다 changes
.