Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

...

  1. createrepo rpm 설치를 위해 먼저 아래와 같은 순서로 dependencies RPM을 설치합니다.

    Code Block
    languagebash
    $ rpm -ivh /root/repos/deltarpm-3.6-3.el7.x86_64.rpm  
    $ rpm -ivh /root/repos/python-deltarpm-3.6-3.el7.x86_64.rpm   
    $ rpm -ivh /root/repos/libxml2-python-2.9.1-6.el7.5.x86_64.rpm   
    $ rpm -ivh /root/repos/createrepo-0.9.9-28.el7.noarch.rpm
    경고: createrepo-0.9.9-28.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
    준비 중...                         ################################# [100%]
    Updating / installing...
       1:createrepo-0.9.9-28.el7          ################################# [100%]
  2. 기존 yum repository 파일을 백업합니다. 폐쇄망 환경이라 공인 인터넷 주소를 참조하는 repo 파일이 있으면 yum install 할 때 시간이 오래 걸립니다.

    Code Block
    languagebash
    # 기존 repo 파일을 백업합니다. 
    # 
    $ cd /etc/yum.repos.d
    $ mkdir bak
    $ mv * bak/
  3. local repository 파일을 작성합니다.

    Code Block
    languagebash
    # baseurl은 rpm이 있는 local 디렉토리 경로
    #
    $ vi local.repo
    [localrepo]
    name=localrepo
    baseurl=file:///root/repos
    enabled=1
    gpgcheck=0
  4. USB 또는 CD에 있는 rpm 파일을 임의 디렉토리(e.g. /root/repos)에 복사합니다. 디렉토리 경로는 local.repobaseurl로 지정된 경로와 같아야 합니다.

  5. createrepo 명령어로 rpm 디렉토리(3, 4번에 지정한)를 yum local repository 디렉토리로 등록합니다.

    Code Block
    languagebash
    # yum repository에 RPM 디렉토리 등록
    #
    $ createrepo /root/repos/
    Spawning worker 0 with 31 pkgs
    Workers Finished
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
Note

신규 rpm 패키지 추가시 주의사항

...

warning

yum에 추후 새로운 패키지(rpm)를 추가할 경우, yum clean all 를 실행하여 repository를 초기화 해줘야 합니다. 초기화를 안하면 추가된 패키지를 인식하지 못합니다.

  • $ yum repolist all
    repo id repo name status
    localrepo localrepo enabled: 31
    repolist: 31

  • $ yum clean all
    Cleaning repos: localrepo
    Other repos take up 60 M of disk space (use --verbose for details)

# 새로운 패키지를 /root/repos/ 복사

  • $ createrepo /root/repos/

  • $ yum repolist all
    repo id repo name status
    localrepo localrepo enabled: 119
    repolist: 119

yum update

  • Linux 신규 서버 일 경우 Local Repository를 구성하고 yum update를 실행하여 Linux 서버에 기 설치된 package를 업데이트 합니다.

...