[Linux] How to reposync only latest package
reposync의 -n 옵션으로 RHEL 7 저장소에서 최신 버전 패키지만 동기화해 동기화 시간과 저장 용량을 줄이는 방법을 소개합니다.
요약
reposync -n -r rhel-7-server-rpms처럼-n옵션을 주면 최신 버전 패키지만 동기화할 수 있습니다.- 29,237개 패키지가 있는 rhel-7-server-rpms에서 5,475개만 받아 약 24,000개 패키지가 제외되었습니다.
테스트 환경 Red Hat Enterprise Linux 7 Server (rhel-7-server-rpms)
[Linux] How to reposync only latest package
reposync 를 받는데 모든 version 의 package 들이 있다보니 reposync 할 때, 시간도 오래 걸리고 용량도 큰 문제가 있었습니다.
[root@fastvm-r76-34 ~]# yum repolist
Loaded plugins: product-id, search-disabled-repos, subscription-manager
repo id repo namestatus
!rhel-7-server-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server (RPMs) 29,237
...
위와 같이 29237 개의 package 를 가지고 있습니다.
아래와 같이 하면 최신 버전의 package 만 sync 할 수 있습니다.
$ reposync -n -r rhel-7-server-rpms
(1/5475): 389-ds-base-1.3.10.1-14.el7_8.x86_64.rpm | 1.7 MB 00:00:02
(2/5475): 389-ds-base-libs-1.3.10.1-14.el7_8.x86_64.rpm | 711 kB 00:00:02
(3/5475): ElectricFence-2.2.2-39.el7.i686.rpm | 35 kB 00:00:00
(4/5475): GConf2-3.2.6-8.el7.i686.rpm | 1.0 MB 00:00:00
(5/5475): GConf2-3.2.6-8.el7.x86_64.rpm | 1.0 MB 00:00:00
...
무려 24000여개의 package 가 제외 되었습니다.
최신 버전의 package 만 필요하다면 위와 같은 방법으로 sync 받으면 됩니다.
참고 자료
자주 묻는 질문
reposync로 최신 버전 패키지만 받으려면 어떤 옵션을 쓰나요?
-n 옵션을 사용합니다. 예를 들어 reposync -n -r rhel-7-server-rpms로 실행하면 최신 버전 패키지만 sync 됩니다.
reposync를 옵션 없이 실행하면 왜 오래 걸리나요?
저장소에 모든 버전의 패키지가 들어 있어 시간도 오래 걸리고 용량도 커지기 때문입니다. 본문 환경의 rhel-7-server-rpms는 29,237개 패키지를 가지고 있었습니다.