rpm 파일에 서명할 때 이 오류가 발생합니다. 보시다시피 계속할 일이 많지 않고 Google이 비어있는 것 같습니다. 나는 당황했다!
원인이 무엇인지 아는 사람이 있나요? 어딘가에 일종의 임시 파일을 만들려고 하는 것 같아요.
$: rpm -D "_gpg_name rpmbuilder" --addsign 출력/sllop-0.0.6-1.x86_64.rpm --verbose --debug 암호문을 입력하세요: 암호 문구가 좋습니다. 출력/sllop-0.0.6-1.x86_64.rpm: D: 예상 크기: 51827 = 리드(96)+시그(180)+패드(4)+데이터(51547) D: 실제 크기: 51827 D: GPG 시그니처 크기: 72 D: 72바이트의 GPG 서명을 받았습니다. D: GPG 시그니처 크기: 72 D: 72바이트의 GPG 서명을 받았습니다. 오류: rpmMkTemp 실패
답변1
다른 사람이 이것으로 인해 혼란스러울 경우를 대비해 스스로 대답하세요.
이 오류 메시지는 약간 오해의 소지가 있는 것으로 나타났습니다. 실제로는 (예상대로) 권한 문제였지만 rpm 변수와 관련된 tmp 디렉토리에는 문제가 없었습니다.
strace 사용
strace -p `ps --no-headers -fC rpmsign | awk '{print $2}'` -e 추적=열기,닫기
Strace는 tmp 디렉토리(이 경우 /var/tmp) 내부의 모든 작업이 끝난 후 rpm과 동일한 디렉토리에서 rpm의 변경된 버전을 만들고 이를 제자리로 이동하기 전에 시도했음을 보여주었습니다.저것rpm은 그것이 언급한 '임시'였습니다.
결국 이 사용자는 서명 당시 rpm이 있던 위치에 대한 쓰기 권한이 없었던 것으로 나타났습니다.
윽.