마지막으로 스크립트/명령을 실행한 이후 업그레이드된 패키지의 모든 뉴스를 나열하고 싶습니다. 그런 다음 업그레이드 정보 요약을 제공하기 위해 cron 작업에서 일주일에 한 번 실행될 수 있습니다.
명령 은 apt-listchanges
내가 원하는 대로 보이지만 내가 설명한 대로 정확하게 작동하도록 할 수는 없습니다. 내가 실행하려는 명령은 다음과 같습니다.
apt-listchanges -f text -a --which=news --save_seen=/var/lib/apt/listchanges.db /var/cache/apt/archives/*.deb
기본적으로 모든 패키지를 확인하는 대신 실제 패키지를 나열하려는 것 같아서 모든 것을 캐시에 넣었는데 이것이 최선의 방법인지 잘 모르겠습니다.
하지만 더 큰 문제는 기본적으로 현재 설치된 버전 간의 변경 사항만 표시하기 때문에 변경 사항이 전혀 표시되지 않는다는 점입니다. 그래서 모든 변경 사항을 표시하는 -a 옵션을 추가한 다음 이전에 표시된 변경 사항 표시를 중지한다고 주장하는 save_seen 옵션을 추가했습니다. 그러나 명령을 실행할 때마다 모든 변경 사항이 표시됩니다.
예상대로 작동하도록 명령을 조정하는 방법이 있습니까? 또는 적절한 후크를 사용하여 각 업그레이드 패키지에 대한 뉴스를 파일에 추가하는 것과 같은 다른 솔루션이 있을 수도 있습니다. 그러면 스크립트가 실행될 때마다 해당 파일을 읽고 내용을 삭제할 수 있습니다.
답변1
apt-listchanges
많은 조정이 필요하지 않은 두 가지 방법을 생각할 수 있습니다 . 둘 다 의 apt-listchanges
기본 후크를 사용합니다 . 시스템에 존재하는지 apt
확인하십시오 . 이는 곧 업그레이드될 패키지 목록과 함께 실행되므로 현재 설치된 버전을 해당 버전과 비교할 수 있기 때문에 /etc/apt/apt.conf.d/20listchanges
효과적입니다 . ( "설계상 사후 실행이 어렵습니다. 이 옵션을 사용할 수 있지만 적절한 값을 추적해야 합니다.")apt-listchanges
apt
apt-listchanges
--since
첫 번째 방법은 apt-listchanges
변경 사항이 포함된 이메일을 보내도록 구성됩니다. 이를 위해서는 시스템에 유효한 메일 설정이 필요합니다. 이는 불편할 수 있지만 매우 편리합니다. , 설정 및 [apt]
섹션(해당하는 경우)에서 실행될 때마다 실행되고 뉴스 항목(및/또는 설정에 따라 변경 로그)이 포함된 이메일을 보냅니다./etc/apt/listchanges.conf
frontend=mail
email_address
apt-listchanges
apt
which
실제로 시도하지 않은 두 번째 것은 apt-listchanges
단순히 뉴스 항목 및/또는 변경 로그를 표준 출력으로 덤프하고 이를 로그 파일로 리디렉션하여 편리하게 읽을 수 있도록 구성되었습니다. [apt]
섹션 의 /etc/apt/listchanges.conf
설정 frontend=text
에서 /etc/apt/apt.conf.d/20listchanges
대상 파일에 추가 리디렉션을 추가합니다.