반응형
부제: 두 개 이상의 yum/dnf 저장소를 하나의 새 저장소로 합치기
mergerepo_c --repo=/path/a --repo=/path/b -o /path/merged
mergerepo_c -r url1 -r url2 --method=nvr -o out # 같은 이름은 최신 NVR 선택
mergerepo_c -r a -r b --all -o out # 버전 다르면 전부 포함
Usage:
mergerepo_c [OPTION?] --repo=url --repo=url
Take one or more repositories and merge their metadata into a new repo
-r, --repo=REPOS Repo url
-o, --outputdir=OUTPUTDIR Location to create the repository
--method=MERGE_METHOD repo (default), ts, nvr
--all Include all packages ... if version or release differsmergerepo_c는 createrepo_c 패키지에 들어 있는 도구로, 여러 저장소의 repodata를 하나로 묶어 새 저장소 메타데이터를 만든다. 사내 미러 여러 개를 통합하거나, 베이스 저장소에 커스텀 빌드를 얹어 단일 저장소로 배포할 때 쓴다. 데비안 계열에는 정확한 대응이 없고, 여러 Packages 파일을 합치는 작업을 이 한 명령이 대신한다.
원본 저장소는 건드리지 않고 -o로 지정한 새 위치에 결과를 만든다. 같은 name·arch가 겹칠 때 어느 패키지를 남길지는 --method(repo/ts/nvr)로 정한다.
이렇게도 쓴다
두 로컬 저장소를 기본 방식으로 합친다.
mergerepo_c --repo=/srv/repo-base --repo=/srv/repo-extra -o /srv/repo-all
같은 패키지가 겹치면 버전(NVR)이 높은 쪽을 남긴다.
mergerepo_c -r /srv/a -r /srv/b --method=nvr -o /srv/merged
버전이 다른 동일 패키지를 모두 살려 여러 버전을 공존시킨다.
mergerepo_c -r /srv/a -r /srv/b --all -o /srv/merged
특정 아키텍처만 골라 병합한다.
mergerepo_c -r /srv/a -r /srv/b -a x86_64 -o /srv/merged
병합 후 sqliterepo_c로 sqlite DB까지 붙여 구형 클라이언트도 지원한다(도구 조합).
mergerepo_c -r /srv/a -r /srv/b -o /srv/merged && sqliterepo_c /srv/merged
압축 형식을 지정하고 그룹(comps) 메타데이터는 빼서 가볍게 만든다.
mergerepo_c -r /srv/a -r /srv/b --compress-type=zstd --nogroups -o /srv/merged반응형
'명령어 > Linux' 카테고리의 다른 글
| [RHEL] mkdumprd kdump 캡처용 initramfs 생성 (0) | 2026.08.05 |
|---|---|
| [RHEL] migratepages 실행 중인 프로세스의 페이지를 다른 NUMA 노드로 이동 (0) | 2026.08.05 |
| [RHEL] memhog NUMA 정책대로 메모리를 잡아 채우는 테스트 도구 (0) | 2026.08.05 |
| [RHEL] matchpathcon 경로의 기본 컨텍스트 조회 (0) | 2026.08.05 |
| [RHEL] makedumpfile vmcore 압축·필터링 (0) | 2026.08.05 |