apt 패키지의 변경 로그를 보려고 하면 aptitude
오류가 자주 발생합니다 Cannot display changelog: Origin of <package> is unknown (maybe not an official Debian package ...)
. 여기서 "Debian"이라는 단어는 약간 오해의 소지가 있습니다. 왜냐하면 지금까지는 메인 파일에 나열된 소스에서 오는 패키지만 /etc/apt/sources.list
"changelog"를 가질 수 있는 것으로 보이기 때문입니다 . 내가 아는 한 이것은 Ubuntu 패키지이며 해당 Debian 패키지에서 파생되었지만 패키지 버전에서 유래하고 http://archive.ubuntu.com/ubuntu/
종종 ubuntu
패키지 버전에 나타나므로 Ubuntu 관리자가 분산 바이너리를 다시 빌드했음을 나타냅니다.
man aptitude
변경 로그는 두 곳에서 언급됩니다:
명령 설명에서
changelog
:변경 로그
각 소스 또는 바이너리 패키지에 대한 데비안 변경 로그를 다운로드하고 표시합니다.
환경 변수 설명에서
$PAGER
:휴대용 소형 무선 호출기
이 환경 변수가 설정되면 aptitude는 "aptitude Changelog"가 호출될 때 변경 로그를 표시하는 데 사용됩니다. 설정되지 않은 경우 기본값은 입니다
more
.
aptitude
데비안이 아닌 패키지의 변경 로그를 표시 하는 방법이 있습니까 ? /etc/apt/sources.list.d/*
이 작업을 수행하기 위해 파일 에 추가할 수 있는 마법의 라인이 있습니까 ?
"데비안"이 아닌 패키지 제공자가 사용자에게 변경 로그를 제공할 수 있는 방법이 있습니까?
PS 동일한 상황이 적용되며 apt changelog
오류 메시지와 함께 실패합니다.
E: Failed to fetch changelog:/<package>.changelog Changelog unavailable for <package>-<version>
분명히, aptitude
, apt changelog
및 apt-listchanges
모두 출력에 동일한 파일을 사용합니다.
답변1
로컬에서 완전히 사용할 수 없는 경우 변경 로그는 메타데이터 서비스에서 개별적으로 검색됩니다.https://metadata.ftp-master.debian.org/changelogs/데비안의 경우https://changelogs.ubuntu.com/changelogs/pool우분투의 경우. 동작은 구성된 소스에 따라 다르며 다음 명령을 사용하여 볼 수 있습니다.
apt-config dump Acquire::Changelogs
다른 저장소에서는 적절한 서비스와 구성 조각을 제공할 수 있지만 이를 수행하는 저장소는 없습니다.
Ubuntu에서 패키지는 잘린 변경 로그를 전송하므로 apt changelog
항상 서버에서 변경 로그를 검색하려고 시도합니다.
특정 패키지에 대한 변경 로그를 검색하는 데 사용되는 URL은 다음을 통해 얻을 수 있습니다.
apt changelog --print-uris ...
aptitude
다양한 구성 지시문을 사용하며 APT::Changelogs::Server
메타데이터 서버를 가리키는 핵심입니다. 원산지에 따른 차별도 없습니다. 이로 인해 외부 저장소가 적절한 구성을 제공하기가 더 어려워집니다.
apt-listchanges
다운로드한 패키지 파일에서 변경 로그를 추출합니다. 사용할 수 없는 경우 반환됩니다 apt-get changelog
( 와 동일 apt changelog
).
답변2
An은 apt changelog tar
파일을 읽습니다 /usr/share/doc/tar/changelog.Debian
. 그러면 패킷이 changelog.Debian
규칙을 따르지 않으면 apt changelog
쓸모가 없습니다.
답변3
"aptchangelogcurl" 명령은 항상 로컬 Changelog.gz 파일 대신 인터넷 사이트에서 변경 로그를 찾는다는 사실을 발견했습니다. 자세히 조사한 결과, 컬파카크지의 변경 로그 파일에 "#"으로 시작하는 두 개의 특수 라인이 추가되어 있는 것으로 나타났습니다. 올바른 방법(예: 규칙을 준수하지 않음). 이 두 줄을 삭제하거나 "#" 앞에 공백을 추가하면 로컬 Changelog.gz 파일이 검색됩니다.