본문 바로가기

운영체제/Linux

[Rocky Linux 8] Rocky Linux 로컬 레포지토리 만들기

서버에 OS설치시 폐쇄망으로 운영되는 경우가 많기때문에 외부저장소에서 추가로 패키지를 설치할 수 없는 경우가 많다.

 

ISO 내용을 로컬로 복사하여 이미지에서 제공하는 패키지를 언제든 다운받을 수 있도록

local repository를 구성해보도록 하겠음


1. 리눅스 배포판 ISO 다운로드

 

필자는 Rocky Linux 로 진행할 것이기 때문에

https://rockylinux.org/download

 

Downloads | Rocky Linux

Rocky Linux is an open enterprise Operating System designed to be 100% bug-for-bug compatible with Enterprise Linux.

rockylinux.org

 

위 링크에서 ISO 파일을 다운받도록 한다.

(Minimal 파일 말고 패키지가 담겨있는 DVD 파일로 다운받아야함)

 

 

2. ISO mount

VMWare workstation에서 테스트 하였기때문에 위 처럼 시디를 연결해준다.

 

위 이미지처럼 sr0에 SIZE 가 ISO이미지파일 크기로 되어있으면 잘 인식이 된 것.

 

 

ISO 마운트 후 확인

# mount /dev/sr0 /mnt
mount: /mnt: WARNING: device write-protected, mounted read-only.
# ls -al /mnt
total 18
dr-xr-xr-x.  7 root root 2048 Nov 14 18:30 .
dr-xr-xr-x. 18 root root  235 Jan 16 21:17 ..
dr-xr-xr-x.  4 root root 2048 Nov 14 18:30 AppStream
dr-xr-xr-x.  4 root root 2048 Nov 14 18:30 BaseOS
-r--r--r--.  1 root root   43 Nov 14 18:29 .discinfo
dr-xr-xr-x.  3 root root 2048 Nov 14 18:30 EFI
dr-xr-xr-x.  3 root root 2048 Nov 14 18:30 images
dr-xr-xr-x.  2 root root 2048 Nov 14 18:30 isolinux
-r--r--r--.  1 root root 2204 Oct  9 08:30 LICENSE
-r--r--r--.  1 root root   86 Nov 14 18:29 media.repo
-r--r--r--.  1 root root  883 Nov 14 18:30 TRANS.TBL
-r--r--r--.  1 root root 1516 Nov 14 18:29 .treeinfo

 

위 처럼 /mnt 아래 파일이 보이면 마운트 성공

 

 

3. 파일 내용 복사 후 repository 파일 작성

 

ISO 내용을 복사 할 디렉토리 생성

# mkdir /iso

 

숨김파일을 포함한 모든 파일내용 복사

# cp -a /mnt/. /iso/

용량이 크기때문에 복사하는데 시간이 좀 걸린다.

 

repo 파일 작성

# cd /etc/yum.repos.d
# mkdir repobak
# mv *.repo repobak
# vi local.repo

[ISO_AppStream]
name=Rocky8.5_AppStream
baseurl=file:///iso/AppStream/
enabled=1
gpgcheck=0

[ISO_BaseOS]
name=Rocky8.5_BaseOS
baseurl=file:///iso/BaseOS/
enabled=1
gpgcheck=0

:q

기존 repo파일 백업 후 새로 작성한다. ISO 내용을 복사했던 위치 아래 Appstream 과 BaseOS 를 경로에 맞게 작성한다.

 

repository 등록 확인

# dnf makecache
Rocky8.5_AppStream                                                                                                      60 MB/s | 7.5 MB     00:00    
Rocky8.5_BaseOS                                                                                                        269 MB/s | 2.6 MB     00:00    
Last metadata expiration check: 0:00:01 ago on Sun 16 Jan 2022 10:32:43 PM KST.
Metadata cache created.

8.x 버전은 yum / dnf 둘 다 사용 가능하다. 캐시를 재구성 한다.

 

4. 패키지 정상 설치 확인

# dnf install net-tools vim bash-completion
Rocky8.5_AppStream                                                                                                     4.2 MB/s | 4.3 kB     00:00    
Rocky8.5_BaseOS                                                                                                        3.8 MB/s | 3.9 kB     00:00    
Dependencies resolved.
=======================================================================================================================================================
 Package                               Architecture              Version                                        Repository                        Size
=======================================================================================================================================================
Installing:
 bash-completion                       noarch                    1:2.7-5.el8                                    ISO_BaseOS                       272 k
 net-tools                             x86_64                    2.0-0.52.20160912git.el8                       ISO_BaseOS                       321 k
 vim-enhanced                          x86_64                    2:8.0.1763-16.el8                              ISO_AppStream                    1.4 M
Installing dependencies:
 gpm-libs                              x86_64                    1.20.7-17.el8                                  ISO_AppStream                     38 k
 libpkgconf                            x86_64                    1.4.2-1.el8                                    ISO_BaseOS                        34 k
 pkgconf                               x86_64                    1.4.2-1.el8                                    ISO_BaseOS                        37 k
 pkgconf-m4                            noarch                    1.4.2-1.el8                                    ISO_BaseOS                        16 k
 pkgconf-pkg-config                    x86_64                    1.4.2-1.el8                                    ISO_BaseOS                        14 k
 vim-common                            x86_64                    2:8.0.1763-16.el8                              ISO_AppStream                    6.3 M
 vim-filesystem                        noarch                    2:8.0.1763-16.el8                              ISO_AppStream                     48 k

Transaction Summary
=======================================================================================================================================================
Install  10 Packages

Total size: 8.5 M
Installed size: 32 M
Is this ok [y/N]:

로컬 repository에서 yum / dnf 로 파일을 설치할 수 있게 되었다. 위처럼 의존성까지 자동으로 잡아준다.

 

RHEL, CentOS도 위 처럼 진행하면 된다.