이 답변https://unix.stackexchange.com/a/617937/542871rpm fusion 파일의 코드는 다음에서 확인할 수 있다고 언급되어 있습니다.https://pkgs.rpmfusion.org/cgit/하지만 그곳에서는 내가 관심 있는 파일을 찾을 수 없었습니다. 다른 방법이 있나요?
답변1
찾아볼 수 있습니다.https://rpmfusion.org/예를 들어 Fedora -> 39 -> 업데이트 -> 무료 -> 소스 -> qmplay2를 열면 다음이 표시됩니다.
qmplay2-23.10.22-1.fc39.src [1.5 MiB] Changelog by Martin Gansser (2023-10-23):
- Update to 23.10.22
이것src.rpm
예소스 코드. 그러나 rpm2cpio 또는 Midnight Commander를 사용하여 추출/확인할 수 있습니다!
그것은아니요이는 제가 몇 년 전에 중단했던 RPMFusion을 신뢰할 수 있다는 보장입니다. 문제는 빌드 팜에 대한 제어/통찰력이 없기 때문에 바이너리 패키지에 빌드 프로세스 중에 추가된 악성 코드가 포함될 수 있다는 것입니다.
둘째, 저장소 파일을 설치할 때 dnf download --source package_name
다음을 사용하여 소스를 다운로드할 수 있습니다 dnf download --source cgit
.
답변2
먼저, 소스 패키지의 이름이 무엇인지 알아내야 합니다. 이는 설치된 패키지 이름과 다를 수 있습니다(보통 하나의 소스 패키지가 여러 패키지를 제공하기 때문입니다). xorg-x11-drv-nvidia-cuda
이를 위해 를 xorg-x11-drv-nvidia
사용하여 이 정보를 얻을 수 있습니다 dnf repoquery --source xorg-x11-drv-nvidia-cuda
.
그러면 패키지를 찾을 수 있습니다.분산 자식, 그러나 소스 파일은 없으며 SPEC 파일(소스 파일을 다운로드하기 위한 URL이 포함될 수 있지만 파일 이름일 수 있음)과 패치 및 기타 작은 파일만 있습니다. 소스 파일은 일반적으로 너무 커서 포함할 수 없습니다. GIT 저장소에 있습니다. 전체 소스 파일을 얻으려면 가장 쉬운 방법은 다음에서 SRPM(SPEC 및 모든 소스 코드가 포함된 아카이브)을 다운로드하는 것입니다.코지(확인하려는 정확한 버전을 선택하고 .src.rpm
파일을 다운로드하세요.소스 코드섹션) 및 압축을 풉니다(SRPM은 SPEC 파일과 모든 소스가 포함된 아카이브일 뿐입니다).
패키징을 더 사용하려면 rpmfusion-packager
git을 사용하여 전체 dist를 설치하고 복제한 rfpkg clone xorg-x11-drv-nvidia
다음 rfpkg sources
RPMFusion에서 더 많은 패키징을 읽을 수 있습니다.여기.