인터넷이 연결되어 있는 곳에서 Linux 서버를 구축하려고 하면 인터넷을 경유해서 OS 설치용 iso파일을 다운로드해서 바로 Linux 서버를 설치할 수 있습니다. 그리고 설치된 Linux 서버도 인터넷 접속이 가능하도록 설정한 후 yum명령으로 인터넷에 있는 패키지 저장소(Repository)를 이용하여 추가 패키지(툴 또는 미들웨어 등)를 바로 설치할 수 있습니다.
참고로 인터넷을 경유한 Linux 서버를 구축하는 방법은 다음 글을 참조하십시오
RedHat rhel-7 패키지 저장소(Repository) 사용을 위한 Subscription Manager 등록하기
RedHat Enterprise Linux 7.9에서 PostgreSQL 12 개발자 라이브러리 설치하기
보안 상 인터넷이 연결되어 있지 않은 장소에 Linux 서버를 구축하고 싶다면 Red Hat Enterprise Linux 8.0 dvd버전 설치하기, Red Hat Enterprise Linux 7.9 dvd버전 설치하기 글에서 언급한 내용처럼 OS 설치용 iso파일을 DVD로 저장해서 가지고 들어가야 합니다. 그리고 Linux 서버를 구축한 후에도 인터넷에 접속할 수 없기 때문에 외부에서 yum명령으로 인터넷에 있는 패키지 저장소(Repository)를 이용하여 추가 패키지(툴 또는 미들웨어 등)를 다운로드하고 USB, DVD등의 매체에 저장해서 가지고 들어가야 합니다.
이 글에서는 외부에서 Linux용 추가 패키지를 다운로드하는 방법을 소개합니다.
패키지 다운로드
패키지 저장소(Repository) 설치 cache 삭제
우선 패키지 저장소(Repository)의 cache를 삭제합니다. 이 명령은 실행하지 않아도 문제는 없습니다. 깨끗한 환경에서의 설치 결과를 얻기 위해 실행하였습니다. 상세한 설명은 Linux 7 버전 yum install 또는 update에 사용한 설치 프로그램 cache 삭제하기 을 참조하십시오
# yum clean all
Updating Subscription Management repositories.
16 files removed
다운로드(–downloadonly)
다음 명령으로 패키지를 설치하지 않고 관련 패키지만을 다운로드합니다.
- –downloadonly 설치 없이 다운로드만을 지시합니다.
- –downloaddir=./httpd24 현재 디렉토리에 있는 httpd24 장소에 다운로드한 파일을 저장을 지시합니다.
- httpd 추가 패키지 명 입니다.
# yum install --downloadonly --downloaddir=./httpd24 httpd
Updating Subscription Management repositories.
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 11 MB/s | 32 MB 00:02
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 9.7 MB/s | 37 MB 00:03
Last metadata expiration check: 0:00:06 ago on Thu Sep 23 14:47:59 2021.
Dependencies resolved.
==================================================================================================================
Package Arch Version Repository Size
==================================================================================================================
Installing:
httpd x86_64 2.4.37-39.module+el8.4.0+9658+b87b2deb rhel-8-for-x86_64-appstream-rpms 1.4 M
Installing dependencies:
apr-util x86_64 1.6.1-6.el8 rhel-8-for-x86_64-appstream-rpms 105 k
apr x86_64 1.6.3-11.el8 rhel-8-for-x86_64-appstream-rpms 125 k
httpd-filesystem noarch 2.4.37-39.module+el8.4.0+9658+b87b2deb rhel-8-for-x86_64-appstream-rpms 38 k
mod_http2 x86_64 1.15.7-3.module+el8.4.0+8625+d397f3da rhel-8-for-x86_64-appstream-rpms 154 k
httpd-tools x86_64 2.4.37-39.module+el8.4.0+9658+b87b2deb rhel-8-for-x86_64-appstream-rpms 106 k
redhat-logos-httpd noarch 84.4-1.el8 rhel-8-for-x86_64-baseos-rpms 29 k
Installing weak dependencies:
apr-util-openssl x86_64 1.6.1-6.el8 rhel-8-for-x86_64-appstream-rpms 27 k
apr-util-bdb x86_64 1.6.1-6.el8 rhel-8-for-x86_64-appstream-rpms 25 k
Enabling module streams:
httpd 2.4
Transaction Summary
==================================================================================================================
Install 9 Packages
Total download size: 2.0 M
Installed size: 5.4 M
DNF will only download packages for the transaction.
Is this ok [y/N]: y
Downloading Packages:
(1/9): apr-util-openssl-1.6.1-6.el8.x86_64.rpm 22 kB/s | 27 kB 00:01
(2/9): apr-util-bdb-1.6.1-6.el8.x86_64.rpm 20 kB/s | 25 kB 00:01
(3/9): apr-util-1.6.1-6.el8.x86_64.rpm 75 kB/s | 105 kB 00:01
(4/9): apr-1.6.3-11.el8.x86_64.rpm 645 kB/s | 125 kB 00:00
(5/9): httpd-filesystem-2.4.37-39.module+el8.4.0+9658+b87b2deb.noarch.rpm 108 kB/s | 38 kB 00:00
(6/9): mod_http2-1.15.7-3.module+el8.4.0+8625+d397f3da.x86_64.rpm 776 kB/s | 154 kB 00:00
(7/9): httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64.rpm 3.7 MB/s | 1.4 MB 00:00
(8/9): httpd-tools-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64.rpm 500 kB/s | 106 kB 00:00
(9/9): redhat-logos-httpd-84.4-1.el8.noarch.rpm 154 kB/s | 29 kB 00:00
------------------------------------------------------------------------------------------------------------------
Total 1.1 MB/s | 2.0 MB 00:01
Complete!
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
다운로드 결과 확인
# ls ./httpd24
apr-1.6.3-11.el8.x86_64.rpm
apr-util-1.6.1-6.el8.x86_64.rpm
apr-util-bdb-1.6.1-6.el8.x86_64.rpm
apr-util-openssl-1.6.1-6.el8.x86_64.rpm
httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64.rpm
httpd-filesystem-2.4.37-39.module+el8.4.0+9658+b87b2deb.noarch.rpm
httpd-tools-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64.rpm
mod_http2-1.15.7-3.module+el8.4.0+8625+d397f3da.x86_64.rpm
redhat-logos-httpd-84.4-1.el8.noarch.rpm
# cd ./httpd24
# pwd
/root/httpd24
패키지 설치
다음과 같이 하나하나 파일을 지정하여 설치하면 의존성 에러가 발생합니다.
# rpm -ivf httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64.rpm
error: Failed dependencies:
httpd-filesystem is needed by httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64
httpd-filesystem = 2.4.37-39.module+el8.4.0+9658+b87b2deb is needed by httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64
httpd-tools = 2.4.37-39.module+el8.4.0+9658+b87b2deb is needed by httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64
libapr-1.so.0()(64bit) is needed by httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64
libaprutil-1.so.0()(64bit) is needed by httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64
mod_http2 is needed by httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64
system-logos-httpd >= 82.0 is needed by httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64
의존 관련 패키지를 설치하는 방법은 다음과 같습니다.
# rpm -ivf *.rpm
Verifying packages...
Preparing packages...
apr-1.6.3-11.el8.x86_64
apr-util-bdb-1.6.1-6.el8.x86_64
apr-util-openssl-1.6.1-6.el8.x86_64
apr-util-1.6.1-6.el8.x86_64
httpd-tools-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64
redhat-logos-httpd-84.4-1.el8.noarch
httpd-filesystem-2.4.37-39.module+el8.4.0+9658+b87b2deb.noarch
mod_http2-1.15.7-3.module+el8.4.0+8625+d397f3da.x86_64
httpd-2.4.37-39.module+el8.4.0+9658+b87b2deb.x86_64
[/usr/lib/tmpfiles.d/libstoragemgmt.conf:1] Line references path below legacy directory /var/run/, updating /var/run/lsm → /run/lsm; please update the tmpfiles.d/ drop-in file accordingly.
[/usr/lib/tmpfiles.d/libstoragemgmt.conf:2] Line references path below legacy directory /var/run/, updating /var/run/lsm/ipc → /run/lsm/ipc; please update the tmpfiles.d/ drop-in file accordingly.
[/usr/lib/tmpfiles.d/mdadm.conf:1] Line references path below legacy directory /var/run/, updating /var/run/mdadm → /run/mdadm; please update the tmpfiles.d/ drop-in file accordingly.
[/usr/lib/tmpfiles.d/subscription-manager.conf:1] Line references path below legacy directory /var/run/, updating /var/run/rhsm → /run/rhsm; please update the tmpfiles.d/ drop-in file accordingly.