데비안의 dpkg는 패키지 변경(예: 설치/정리) 시간/날짜를 저장합니까?

데비안의 dpkg는 패키지 변경(예: 설치/정리) 시간/날짜를 저장합니까?

나는 이것을 알고 dpkg있으며 dpkg-query데비안 시스템에 현재 설치된 패키지를 찾는 데 좋은 도구입니다. 파일에 기록된 정보 외에 /var/log/dpkg.log.*찾을 수 있는 다른 곳이 있나요 ?언제변경되었습니다(예:시간그리고날짜패키지 설치)?

이 질문을 가정여기데비안의 패키지 시스템은 deb 파일의 출처에 대한 정보를 저장하는 데 관심이 없다고 말하면(그러면 어떻게 해야 합니까?) 관련 이벤트가 발생했을 때 정보를 저장하는 /var/log/dpkg.log.*유일한 장소라는 생각이 들기 시작했습니다.dpkg

아마도 누군가 이것을 확인할 수 있을 것입니다. 또는 패키지 설치 시간에 대한 정보가 저장되어 있는지(정말 멋질 것입니다!), 해당 정보를 찾을 수 있는 위치(어떤 파일?)를 알려주십시오.

답변1

/var/log/dpkg.logdpkg 자체가 남긴 유일한 로그 파일입니다. 어떤 패키지가 설치, 제거, 업그레이드되었는지 기록합니다. 이는 패키지 이름, 버전 및 작업만 나타냅니다. dpkg는 패키지 원본에 대한 지식이 없습니다. 각 작업의 날짜를 나타냅니다.

APT 제품군의 도구( apt-get, aptitude , Synaptic 등)에 의해 dpkg가 호출되면 APT 작업이 기록되고 /var/log/apt/history.log기록 됩니다 /var/log/apt/term.log. 이 파일에는 apt/history.log동일한 유형의 정보가 포함되어 있습니다 dpkg.log. 이 파일에는 apt/term.logdpkg 실행 기록(설치 전후 및 제거 스크립트, dpkg 실행, 트리거)이 포함되어 있습니다.

유사한 로그가 Aptitude 에 작성되었습니다 /var/log/aptitude. 이 로그에는 성공 여부에 관계없이 aptitude가 시도한 작업이 포함됩니다.

일반적으로 ctime 을 확인하여 현재 버전의 패키지가 설치된 시기를 확인할 수도 있습니다 /var/lib/dpkg/info/$package.*. 이러한 파일이 나중에 어떤 이유로(예: 백업에서 복원) 수정되면 최신 ctime을 갖게 될 수 있습니다. 현재 버전은 다른 버전의 업그레이드일 수 있습니다. 이 방법은 이전 버전에 대해 아무 것도 알려주지 않습니다.

설치하고 활성화하면관리자를 기다려주세요, 그러면 APT를 실행하고 일부 변경 사항을 적용할 때마다 /etc변경 사항이 버전 제어에 커밋됩니다. APT가 작업 수행 후 자동으로 커밋되면 로그 메시지에 수행된 작업(예: 설치된 패키지)이 표시됩니다.

패키지 소스를 문서화하는 도구는 없습니다. 일반적으로 APT를 사용할 때 소스나 우선순위가 변경되지 않는 한 주어진 패킷은 항상 동일한 소스에서 나옵니다. 드물지만 소스나 우선순위가 변경되는 경우 과거에 설치된 패키지의 소스에 대한 기록 정보를 검색할 수 있는 일반적인 방법은 없습니다.

답변2

의 설명서를 참조하세요 /var/log/apt. 파일 history.log및는 term.log최소한 and에 의해 작성되었습니다. 실행할 때 명령줄도 제공됩니다. 한 번 살펴보고 싶을 수도 있습니다. 이 외에도 작동 시간도 기록됩니다.apt-getaptitudeapt-gethistory.log

예를 들어, 사용된 패키지 설치에 해당하는 로그 섹션은 apt-get다음과 같습니다.

Start-Date: 2013-09-02  00:27:25
Commandline: apt-get install unrar
Install: unrar:amd64 (4.1.4-1)
End-Date: 2013-09-02  00:27:29

사용된 설치에 해당하는 로그 섹션은 aptitude다음과 같습니다.

Start-Date: 2013-09-02  16:39:11
Install: hello:amd64 (2.8-2)
End-Date: 2013-09-02  16:39:15

이 예제는 Debian amd64 wheezy 시스템에서 가져온 것입니다.

관련 정보