zypper를 사용하여 다운로드한 "hello"라는 프로그램을 사용하고 있다고 가정해 보겠습니다. 문제는 이 hello 패키지에 특정 .patch가 포함되어 있는지 확인하는 방법입니다.
기본적으로 rpm 소스 파일이 필요하다고 생각하고(그런데 zypper를 사용하여 어떻게 찾나요?) unrpm
*.patch 파일이 포함되어 있는지 확인합니다. 이게 맞나요 아니면 다른 방법이 있나요?
답변1
zypper
의 명령을 사용하여 src.rpm을 다운로드할 수 있습니다 source-install
.
zypper si -D --download-only hello
.src.rpm이 다운로드되며 패키지를 빌드하는 데 필요한 종속성은 무시됩니다.
/var/cache/zypp/packages/repo/src/hello-version.src.rpm에서 .src.rpm을 찾을 수 있습니다.
그런 다음 패키지 압축을 푸는 일반적인 프로세스를 완료할 수 있습니다.
% rpm2cpio /var/cache/zypp/packages/Virtualization/src/qemu-2.1.0-260.12.src.rpm | cpio -idmv
0001-XXX-dont-dump-core-on-sigabort.patch
0002-XXX-work-around-SA_RESTART-race-wit.patch
0003-qemu-0.9.0.cvs-binfmt.patch
0004-qemu-cvs-alsa_bitfield.patch
<...>
답변2
# zypper patches | grep Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-1001 | security | | Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-1016 | security | | Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-1022 | security | | Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-1027 | security | | Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-1028 | bugfix | | Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-828 | bugfix | | Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-846 | security | | Installed