dpkg를 사용하여 서로 다른 패키지 버전 간의 변경 로그를 볼 수 있는 방법이 있습니까?
최근 업데이트에서 "passwd"가 업그레이드된 이유를 알고 싶다면 dpkg를 사용하여 변경된 내용을 확인할 수 있나요?
$ dpkg -l passwd
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii passwd 1:4.2-3.1 amd64 change and administer password an
1:4.2-3.3으로 업그레이드 중...
나는 데비안이 살펴볼 수 있다는 것을 안다패키지 지시거기에서 연결을 시작하세요데비안 변경 로그.
그러나 이는 모든 deb 기반 배포판에서 작동하지 않으며 새 콘텐츠를 빠르게 탐색하는 것이 어색할 수 있습니다.
답변1
dpkg는 패키지 변경 로그를 읽는 도구를 제공하지 않습니다. 패키지의 압축을 풀고 변경 로그를 읽어야 합니다.
dpkg -X <package.deb> <folder>
그런 다음 dpkg-parsechangelog 유틸리티를 사용하여 변경 로그를 읽을 수 있습니다.
dpkg-parsechangelog -l <folder>/usr/share/doc/<package>/changelog.Debian.gz
이것은 정말 고통스럽기 때문에 배포판이 apt-get을 사용하는 경우 다음을 사용할 수 있습니다.
apt-get changelog <packagename>
또는
apt changelog <packagename>
답변2
패키지가 설치되어 있으면 방문만 하면 /usr/share/doc/<package_name>/
업스트림 및 데비안(패키지) 변경 로그를 확인할 수 있습니다 .ChangeLog
이러한 파일은 gzip으로 압축되어 있을 수 있으며, 이 경우 zless
.
답변3
최근 업데이트에서 "passwd"가 업그레이드된 이유를 알고 싶다면 dpkg를 사용하여 변경된 내용을 확인할 수 있나요?
적절한 목록 변경이 특정 사용 사례를 다룹니다. 업그레이드에 해당하는 변경 로그 항목을 볼 수 있습니다.
설치되지 않은 패키지의 변경 로그를 보려면 온라인에서 보는 것이 가장 쉬운 방법일 것입니다. 예를 들어https://packages.qa.debian.org, 필요한 소스 패키지(예: dpkg)를 입력하면 오른쪽의 "링크" 아래에 변경 로그가 표시됩니다. 이 경우에 당신은 끝납니다http://metadata.ftp-master.debian.org/changelogs/main/d/dpkg/unstable_changelog.
물론 이 특정 사이트는 데비안에서만 작동합니다.
답변4
야 나 이거 알아매우오래됐지만 마침내 여기에 왔고 이 질문은 Linux를 배우는 사람들에게 매우 흥미로울 것입니다. 그러니 용서해주세요.
사용 가능한 명령
패키지가 설치되어 있으면 포장을 풀지 않고도 읽을 수 있는 몇 가지 방법이 있습니다.
1. 우지: 입력하면만질레스당신은 읽을 것입니다 :
zless - 압축된 텍스트의 CRT 보기를 위한 파일 열람 필터입니다.
2.zcat: 에서맨즈캣:
zcat은 gunzip -c와 동일합니다. (일부 시스템에서는 압축할 원래 링크를 유지하기 위해 zcat을 gzcat로 설치할 수 있습니다.) zcat는 명령줄이나 표준 입력에서 파일 목록의 압축을 풀고 압축되지 않은 데이터를 표준 출력에 씁니다. zcat은 .gz 접미사가 있는지 여부에 관계없이 올바른 매직 번호로 파일의 압축을 풉니다.
3.gunzip -c <경로/파일> | less: 위의 zcat에서 우리는 zcat이 "gunzip -c"의 별칭일 뿐이라는 것을 배웠습니다. 따라서 gunzip과 "less"를 사용할 수 있습니다.
찾다
변경 로그를 찾으세요. 전통적인 이름은 다음과 같습니다.
- Changelog.gz (프로그램 자체)
- changelog.Debian.gz(패키지 문제 수정)
- NEWS.gz (changelog.gz와 동일)
- NEWS.Debian.gz (changelog.Debian.gz와 동일)
변경 로그는 항상 에 설치되므로 /usr/share/doc
폴더를 나열하여 변경 로그의 이름을 확인할 수 있습니다. 패키지를 passwd
예로 들어보겠습니다 .
$ ls -l /usr/share/doc/passwd
total 24
-rw-r--r-- 1 root root 2279 nov 24 09:05 changelog.Debian.gz
-rw-r--r-- 1 root root 5153 nov 11 2021 copyright
drwxr-xr-x 1 root root 36 dez 17 12:13 examples
-rw-r--r-- 1 root root 801 nov 11 2021 NEWS.Debian.gz
-rw-r--r-- 1 root root 2075 nov 11 2021 README.Debian
-rw-r--r-- 1 root root 1020 nov 11 2021 TODO.Debian
이제 하나씩 읽어보세요(zcat 또는 zless).
$ zcat /usr/share/doc/passwd/changelog.Debian.gz
$ zcat /usr/share/doc/passwd/NEWS.Debian.gz
또는 변경 로그가 /usr/share/doc에 있는지 모르므로 이를 검색한 다음 나열하고 마지막으로 읽으십시오.
$ find / -type d -name passwd 2>/dev/null
/usr/share/doc/passwd
이는 2>/dev/null
모든 성가신 Permission denied
메시지를 피하기 위한 것입니다.