2017-02-15 9 views
0

rpm 패키지를 만들었으므로 사용자가 직접 yum을 설치하여 응용 프로그램을 설치할 수 있도록 YUM에 게시해야합니다. Google에서 검색했지만 많은 리소스를 찾을 수 없습니다. 나는이 일을 처음으로 접하기 때문에 내가하고 싶은 일이 실제로 가능한지 알지 못한다. 응용 프로그램에 대한 로컬 yum 저장소를 만들려고했지만 로컬 컴퓨터에서만 작동하는 것 같습니다. 아무도 도와 줄 수 있습니까? 고맙습니다.YUM에 rpm 패키지를 게시하는 방법

+0

하면 바로 다른 사용자는이 RPM을 설치하게되어 당신의 목표, 당신 GoogleDrive/DropBox/웹 서버/FTP 서버 등을 통해 공유 할 수 있습니다. 사용자는 다운로드하여 서명을 확인하고'$ sudo yum localinstall/path/to/your.rpm'을 통해 설치할 수 있습니다. 불행히도 RPM을 공용 RPM 저장소에 배치하는 방법을 모르겠습니다. – lospejos

답변

0

Linux 상자에 YUM이 설치되어 있다고 가정합니다.

RPM이 포함 된 YUM 저장소를 만들어야합니다. 예 :

createrepo을 사용하면 해당 디렉토리의 저장소를 만들 수 있습니다.

createrepo ./mydir 

위는 저장소 /etc/yum.repos.d/my.repo에 REPO 파일을 만들어 어디에 그런 YUM에게 ./mydir

repodata 디렉토리를 만들 것입니다.

[my_repo] 
name=My YUM REPO 
baseurl=file:///path/to/mydir 
enabled=1 

그런 다음 수행 yum --enablerepo=* clean all : my.repo의 내용은 다음과 같이 할 수 있습니다. 이것은 yum에 대한 메타 데이터를 재생성해야합니다. 마지막으로

,
`yum --enablerepo=* install my` 

가 위, my가 네트워크의 다른 컴퓨터에서이 액세스하려면 my.rpm

을 의미한다, 당신은

http를 설치, 웹 액세스 할 수 있어야합니다. 어딘가에서 저장소를 놓고 /var/www/html/repos/mydir/Packages/my.rpm

그런 다음 다른 단계를 수행하고 baseurl 속성에 기계의 hostname을 포함하는 my.repo 파일을 편집 :

baseurl=http://myrepository.com/mydir 
+0

고마워요! 하지만 다음과 같은 오류가 발생했습니다. '실패 : repodata/repomd.xml from c7-media : [Errno 256] 시도 할 미러가 더 이상 없습니다. file : ///media/CentOS/repodata/repomd.xml : [Errno 14] curl # 37 - "/media/CentOS/repodata/repomd.xml 파일을 열 수 없습니다." file : /// media/cdrom /repodata/repomd.xml : [Errno 14] curl # 37 - "/media/cdrom/repodata/repomd.xml 파일을 열 수 없습니다." file : ///media/cdrecorder/repodata/repomd.xml : [Errno 14] curl # 37 - "/media/cdrecorder/repodata/repomd.xml"파일을 열 수 없습니다. "Mac을 사용하기 때문에 Docker에서이 파일을 테스트하고 있습니다. 내가 그 오류를 얻은 이유인가? 고맙습니다! –

+0

'yum --enablerepo = * --disablerepo = c7-media install my'를 실행하면 런타임 중에 모든 repo를 비활성화 할 수 있습니다. 당신 만의 repo를 사용할 수도 있습니다,'yum --enablerepo = my_repo install my'. '/ etc/yum.repos.d/name.repo' 내부의 repo를 비활성화하고'enabled = 0'을 표시 할 수도 있습니다 – iamauser

+0

작은 수정 만 가능하면 가능하면'createrepo_c'를 사용해야합니다. 그것은 훨씬 더 빨리 실행됩니다. – msuchy