ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • LINUX Local Repository 생성 하는 방법
    System of Infra/Linux System 2024. 1. 3. 22:53
    반응형

    LINUX 로고이미지

    LINUX Local Repository 생성하는 방법

    [root@RACSVR1 rh]# df -Th
    Filesystem            Type      Size  Used Avail Use% Mounted on
    devtmpfs              devtmpfs  1.9G     0  1.9G   0% /dev
    tmpfs                 tmpfs     2.0G     0  2.0G   0% /dev/shm
    tmpfs                 tmpfs     2.0G  9.7M  2.0G   1% /run
    tmpfs                 tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
    /dev/mapper/ol-root   xfs        15G  9.7G  5.3G  65% /
    /dev/sda1             xfs      1014M  218M  797M  22% /boot
    /dev/mapper/ol-oracle xfs        15G   33M   15G   1% /oracle
    /dev/mapper/ol-data   xfs       5.0G   33M  5.0G   1% /data
    /dev/mapper/ol-tmp    xfs       2.0G   33M  2.0G   2% /tmp
    /dev/mapper/ol-grid   xfs       4.0G   33M  4.0G   1% /grid
    tmpfs                 tmpfs     393M   40K  393M   1% /run/user/1000
    /dev/sr0              iso9660   4.6G  4.6G     0 100% /run/media/test/OL-7.9 Server.x86_64
    
    [root@RACSVR1 rh]# umount /dev/sr0
    ▶ vmware를 통해서 구성한 서버에 설치를 위한 iso 파일로 인해 /run/media/test/OL-7.9 Server.x86_64가 마운트 되어 있기 때문에 해당 마운트 포인트를 무시하고 Umount 해주도록 합니다.
    [root@RACSVR1 /]# cd /etc/yum.repos.d/
    
    [root@RACSVR1 yum.repos.d]# ls -ltr
    -rw-r--r--. 1 root root  226 10월  2  2020 virt-ol7.repo
    -rw-r--r--. 1 root root 2587 10월  2  2020 uek-ol7.repo
    -rw-r--r--. 1 root root 4075 10월  2  2020 oracle-linux-ol7.repo
    ▶ /etc/yum.repos.d 경로에서 기본적으로 default .repo 파일들이 존재하기 때문에 해당 파일들을 삭제하지 않고 백업을 하도록 하겠습니다. 
    [root@RACSVR1 yum.repos.d]# mkdir backup
    
    [root@RACSVR1 yum.repos.d]# chmod 775 backup
    ▶ /etc/yum.repos.d 경로에 backup 디렉토리디렉터리 하나를 생성 후 해당 디렉터리에 퍼미션 775를 부여합니다. 
    [root@RACSVR1 yum.repos.d]# mv *.repo /etc/yum.repos.d/backup/
    
    [root@RACSVR1 yum.repos.d]# ls -al | grep -i backup
    drwxrwxr-x. 2 root root 76  7월 16 05:13 backup
    ▶ mv 명령어를 통해 /etc/yum.repos.d에 있는 파일들을  /etc/yum.repos.d/backup 경로에 백업합니다.
    [root@RACSVR1 yum.repos.d]# cd backup
    
    [root@RACSVR1 backup]# ls -ltr | grep -i .repo
    -rw-r--r--. 1 root root  226 10월  2  2020 virt-ol7.repo
    -rw-r--r--. 1 root root 2587 10월  2  2020 uek-ol7.repo
    -rw-r--r--. 1 root root 4075 10월  2  2020 oracle-linux-ol7.repo
    /etc/yum.repos.d/backup 경로에 원본 .repo 파일들이 옮겨진 것을 확인합니다.
    [root@RACSVR1 opt]# ls -ltr
    drwxr-xr-x. 2 root root          6  8월 25  2018 rh
    -rw-r--r--. 1 root root 4857004032  7월 16 05:11 OracleLinux-R7-U9-Server-x86_64-dvd.iso
    ▶ 로컬 리포지토리 구성을 위해  /opt 경로에 OracleLinux-R7-U9-Server-x86_64-dvd.iso 이미지 파일을 사전에 업로드합니다. 
    [root@RACSVR1 opt]# mount -o loop OracleLinux-R7-U9-Server-x86_64-dvd.iso /mnt
    mount: /dev/loop0 is write-protected, mounting read-only
    ▶ loop mount  명령어를 통해서 /mnt 디렉터리에 업로드한 OracleLinux-R7-U9-Server-x86_64-dvd.iso 파일을 마운트 합니다.
    [root@RACSVR1 opt]# df -Th | grep -i mnt
    Filesystem            Type      Size  Used Avail Use% Mounted on
    /dev/loop0            iso9660   4.6G  4.6G     0 100% /mnt
    ▶ 파일시스템 현황을 확인하게 되면 /mnt 경로가 마운트 된 것을 확인할 수 있습니다.
    [root@RACSVR1 opt]# cd /mnt
    
    [root@RACSVR1 mnt]# ls -ltr
    합계 1565
    drwxr-xr-x. 4 root root   2048  5월 29  2021 addons
    -rw-r--r--. 1 root root   1011  5월 29  2021 RPM-GPG-KEY-oracle
    -rw-r--r--. 1 root root   1011  5월 29  2021 RPM-GPG-KEY
    -rw-r--r--. 1 root root 521292  5월 29  2021 RELEASE-NOTES-U9-en.html
    -rw-r--r--. 1 root root 180576  5월 29  2021 RELEASE-NOTES-U9-en
    -rw-r--r--. 1 root root  18390  5월 29  2021 GPL
    -rw-r--r--. 1 root root   8806  5월 29  2021 EULA
    drwxrwxr-x. 3 root 1039 851968  5월 29  2021 Packages
    drwxr-xr-x. 2 root root   4096  5월 29  2021 repodata
    drwxr-xr-x. 2 root root   2048  5월 29  2021 LiveOS
    drwxr-xr-x. 2 root root   2048  5월 29  2021 isolinux
    drwxr-xr-x. 3 root root   2048  5월 29  2021 EFI
    drwxr-xr-x. 3 root root   2048  5월 29  2021 images
    -r--r--r--. 1 root root   3322  5월 29  2021 TRANS.TBL
    ▶ loop mount  /mnt 경로에 파일들을 확인하게 되면 images... Packages 등 여러 가지의 파일들이 존재하는 것을 확인할 수 있습니다.
    [root@RACSVR1 mnt]# cd  Packages/
    
    [root@RACSVR1 Packages]# ls -ltr
    -rw-rw-r--. 1 1039 1039     25384  5월  4  2014 reflink-0.1.0-3.el7.x86_64.rpm
    -rw-rw-r--. 1 1039 1039    146948  5월 14  2014 agg-2.5-18.el7.x86_64.rpm
    -rw-rw-r--. 1 1039 1039    115428  5월 14  2014 apache-commons-pool-1.6-9.el7.noarch.rpm
    -rw-rw-r--. 1 1039 1039     78976  5월 14  2014 apache-commons-logging-1.1.2-7.el7.noarch.rpm
    -rw-rw-r--. 1 1039 1039    282572  5월 14  2014 apache-commons-lang-2.6-15.el7.noarch.rpm
    -rw-rw-r--. 1 1039 1039    193056  5월 14  2014 apache-commons-io-2.4-12.el7.noarch.rpm
    -rw-rw-r--. 1 1039 1039    170564  5월 14  2014 apache-commons-dbcp-1.4-17.el7.noarch.rpm
    -rw-rw-r--. 1 1039 1039    227900  5월 14  2014 apache-commons-codec-1.8-7.el7.noarch.rpm
    ...(생략)
    -rw-rw-r--. 1 1039 1039    490724  4월 21  2021 shim-x64-15.3-1.0.5.el7.x86_64.rpm
    -rw-rw-r--. 1 1039 1039  15093956  4월 24  2021 kernel-uek-doc-5.4.17-2102.201.3.el7uek.noarch.rpm
    -rw-rw-r--. 1 1039 1039  62215204  4월 24  2021 kernel-uek-5.4.17-2102.201.3.el7uek.x86_64.rpm
    -rw-rw-r--. 1 1039 1039  64884828  4월 24  2021 kernel-uek-debug-5.4.17-2102.201.3.el7uek.x86_64.rpm
    -rw-rw-r--. 1 1039 1039  17658828  4월 24  2021 kernel-uek-debug-devel-5.4.17-2102.201.3.el7uek.x86_64.rpm
    -rw-rw-r--. 1 1039 1039  17572732  4월 24  2021 kernel-uek-devel-5.4.17-2102.201.3.el7uek.x86_64.rpm
    -r--r--r--. 1 root root   1299223  5월 29  2021 TRANS.TBL
    ▶ 필요한 패키지 파일만 선별하기 위해 /mnt/Packages 디렉터리로 이동하게 되면 .rpm 파일들이 존재하는 것을 확인할 수 있습니다. 
    [root@RACSVR1 /]# mkdir local-repo
    
    [root@RACSVR1 /]# cd  local-repo
    
    [root@RACSVR1 local-repo]# mkdir RedhatOS-7
    
    [root@RACSVR1 local-repo]# ls -ltr
    drwxr-xr-x. 2 root root 6  7월 16 05:17 RedhatOS-7
    ▶ / 최상위 디렉토리로 이동하여 /local-repo/RedhatOS-7 디렉토리 하나를 생성합니다.
    [root@RACSVR1 mnt]# cp -rf /mnt/Packages /local-repo/RedhatOS-7/
    
    [root@RACSVR1 mnt]# cd /local-repo/RedhatOS-7/
    
    [root@RACSVR1 RedhatOS-7]# ls -ltr
    drwxr-xr-x. 3 root root 278528  7월 16 05:19 Packages
    ▶ /mnt/Packages 디렉터리를 /local-repo/Redhatos-7 경로에 복사합니다.
    [root@RACSVR1 RedhatOS-7]# createrepo /local-repo/RedhatOS-7
    Spawning worker 0 with 5210 pkgs
    Workers Finished
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
    ▶ createrepo 명령어를 통해서 /local-repo/RedhatOS-7에 리포지토리를 생성합니다.
    [root@RACSVR1 RedhatOS-7]# ls
    Packages  repodata
    
    [root@RACSVR1 RedhatOS-7]# cd /etc/yum
    yum/         yum.repos.d/ 
    
    [root@RACSVR1 RedhatOS-7]# cd /etc/yum
    yum/         yum.repos.d/ 
    
    [root@RACSVR1 RedhatOS-7]# cd /etc/yum.repos.d/
    
    [root@RACSVR1 yum.repos.d]# ls
    backup
    ▶ /local-repo/RedhatOS-7 경로에 repodata가 생성된 것을 확인할 수 있으며, /etc/yum.repos.d 경로로 이동하여 리포지토리 경로를 지정해 주기 위해 vi 명령어를 통해 다음 내용을 추가합니다.
    [root@RACSVR1 yum.repos.d]# cat local-Redhat-7.repo 
    [RedhatOS7-local-repo]
    name=CentOS Local Repository
    baseurl=file:///local-repo/RedhatOS-7
    gpgcheck=0
    enabled=1
    ▶ local-Redhat-7.repo라는 텍스트 파일을 생성하여 해당 내용을 추가합니다.
    [RedhatOS7-local-repo]
    name=CentOS Local Repository
    baseurl=file:///local-repo/RedhatOS-7 -> 패키지를 가져오기 위한 경로를 뜻함
    gpgcheck=0
    enabled=1
    [root@RACSVR1 yum.repos.d]# yum clean all
    Loaded plugins: langpacks, ulninfo
    Cleaning repos: RedhatOS7-local-repo
    ▶ local-Redhat-7.repo 생성이 완료되었으면 yum을 사용하기 전에  yum clean all 명령어를 수행합니다.
    [root@RACSVR1 yum.repos.d]# yum repolist
    Loaded plugins: langpacks, ulninfo
    RedhatOS7-local-repo                                                   | 2.9 kB  00:00:00     
    RedhatOS7-local-repo/primary_db                                        | 5.2 MB  00:00:00     
    repo id                                  repo name                                      status
    RedhatOS7-local-repo                     RedhatOS Local Repository                      5,210
    repolist: 5,210
    ▶ yum repolist 명령어를 통해서 어떤 리포지토리가 생성되었는지 확인할 수 있고 리포지토리 안에 파일이 5,210개 존재하는 것을 확인할 수 있습니다.
    [root@RACSVR1 yum.repos.d]# yum install telnet
    Loaded plugins: langpacks, ulninfo
    Resolving Dependencies
    --> Running transaction check
    ---> Package telnet.x86_64 1:0.17-65.el7_8 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ==============================================================================================
     Package         Arch            Version                  Repository                     Size
    ==============================================================================================
    Installing:
     telnet          x86_64          1:0.17-65.el7_8          RedhatOS7-local-repo           64 k
    
    Transaction Summary
    ==============================================================================================
    Install  1 Package
    
    Total download size: 64 k
    Installed size: 113 k
    Is this ok [y/d/N]: y
    Downloading packages:
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : 1:telnet-0.17-65.el7_8.x86_64                                              1/1 
      Verifying  : 1:telnet-0.17-65.el7_8.x86_64                                              1/1 
    
    Installed:
      telnet.x86_64 1:0.17-65.el7_8                                                               
    
    Complete!
    ▶ yum 명령어를 통해서 패키지 안에 있는 telnet 서비스를 다운로드할 수 있습니다. 패키지가 추가적으로 필요하면  yum list을 통해서 패키지 파일 존재 유무 판단 후 똑같이 수행하면 됩니다.
    [root@RACSVR1 /]# umount /mnt
    ▶ 로컬 리포지토리 구성을 완료했다면 iso 파일을 마운트 한 마운트 포인트를 Umount  합니다.

     

    2022.07.24 - [System of Infra/LINUX] - LINUX Megaraid 설치를 통한 DISK 관리하기

     

    LINUX Megaraid 설치를 통한 DISK 관리하기

    LINUX Megaraid 설치를 통한 DISK 관리하기 메가레이드란? - 시스템의 SOFT RAID 구성이 아닌 BIOS에서 RAID를 구성시 시스템 운영체제에서 하드웨어의 RAID 구성을 관리할 수 있도록 RAID 구성 및 디스크 상

    pinetreeday.tistory.com

    2022.06.27 - [System of Infra/LINUX] - LINUX VI 및 VIM 편집기 Set number 설정하는 방법

     

    LINUX VI 및 VIM 편집기 Set number 설정하는 방법

    LINUX VI 및 VIM 편집기 Set num 설정하는 방법 [root@localhost /]# find / -name vi*rc /etc/vimrc /etc/virc ▶ 기본적으로 리눅스 초기 설치 시에는 /etc 디렉토리에 vimrc와 virc 파일이 존재합니다. 간혹 vim 패키지가

    pinetreeday.tistory.com

    2022.03.08 - [System of Infra/LINUX] - LINUX RPM package를 활용한 MC 설치하는 방법

     

    LINUX RPM package를 활용한 MC 설치하는 방법

    LINUX rpm package를 활용한 MC 설치하는 방법 [root@localhost /]# mount | grep -i /dev/sr0 /dev/sr0 on /run/media/root/CentOS-8-BaseOS-x86_64 type iso9660 (ro,nosuid,nodev,relatime,nojoliet,check=s,map=n,blocksize=2048,uid=0,gid=0,dmode=500,fmode=4

    pinetreeday.tistory.com

     

    PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.

    포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.

    반응형

    댓글

Designed by Tistory.