![모든 운영 체제에 설치할 수 있는 범용 RPM - 오류: 다른 운영 체제에 대한 RPM](https://linux55.com/image/18815/%EB%AA%A8%EB%93%A0%20%EC%9A%B4%EC%98%81%20%EC%B2%B4%EC%A0%9C%EC%97%90%20%EC%84%A4%EC%B9%98%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EB%B2%94%EC%9A%A9%20RPM%20-%20%EC%98%A4%EB%A5%98%3A%20%EB%8B%A4%EB%A5%B8%20%EC%9A%B4%EC%98%81%20%EC%B2%B4%EC%A0%9C%EC%97%90%20%EB%8C%80%ED%95%9C%20RPM.png)
모든 호스트에 설치할 수 있는 사양 파일에서 rpm을 만드는 방법은 무엇입니까? 현재 사양 파일이 있지만 다른 호스트에 rpm을 설치하면 다음과 같은 결과가 나타납니다.
my_software-1.0-1dist 패키지는 다양한 운영 체제에서 사용할 수 있습니다.
rpm의 파일은 단지 perl 프로그램이므로 시스템에 perl과 require 줄에 이미 철자가 나와 있는 일부 모듈이 있는 경우 os.rpm 파일을 확인할 필요가 없습니다. 내 RPM에는 이미 BuildArch: noarch가 있습니다.
답변1
기술적으로는 불가능합니다. 패키지가 빌드된 운영 체제는 RPM 헤더의 일부로 인코딩되며 "any"는 운영 체제로 지정할 수 없습니다. 빌드 시 다른 운영 체제로 변경할 수 있지만 %_os
보편적인 가치는 없습니다.
$ rpm -q --qf '%{os}\n' setup
linux