Obsidian/Recognition/Programing/Linux/RHEL9/local repository 구성.md

127 lines
3.4 KiB
Markdown

- 패키지 다운로드(Mirror 복사)
```bash
# KAKAO Mirror 설정
vi /etc/yum.repos.d/kakao.repo
[kakao-base]
name=kakao - Base
baseurl=http://mirror.kakao.com/centos/$releasever/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[kakao-updates]
name=kakao - Updates
baseurl=http://mirror.kakao.com/centos/$releasever/updates/$basearch
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[kakao-extras]
name=kakao - Extras
baseurl=http://mirror.kakao.com/centos/$releasever/extras/$basearch
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[kakao-centosplus]
name=kakao - Plus
baseurl=http://mirror.kakao.com/centos/$releasever/centosplus/$basearch
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
# 현재 등록된 repository id와 이름 등을 확인
sudo yum repolist
# 패키지 다운로드
reposync -glmn --repoid='kakao-*' --download-metadata --download_path=/tmp/kakaomirror
--------------------------------------------------------------------
-g: 다운로드 후, GPG 검사가 실패한 파일을 삭제
-l: Yum Plugin 지원을 활성화
-m: comps.xml도 다운로드 합니다. (Groupinstall 명령어 지원을 위함)
-n: 각 패키지의 최신 패키지만 다운로드
-d: 다운로드한 패키지가 로컬에 저장된 패키지보다 최신 버전인 경우, 로컬에 저장되어 있던 패키지 삭제
--repoid(= -r): Repository ID (와일드 카드 지원)
--download-metadata: 모든 메타데이터 다운로드
--download_path(= -p): 파일들을 다운로드할 위치
--------------------------------------------------------------------
# createrepo 설치
yum install -y createrepo
# repodata 생성 (다운로드 받은 경로=/tmp/kakaomirror)
cd /tmp/kakaomirror
createrepo .
```
- 패키지 다운로드2(로컬에 다운로드)
```bash
yum install yum-utils
# 다운로드
yumdownloader --downloadonly --resolve gcc
yumdownloader --downloadonly --destdir=/tmp/tibero_pac --resolve gcc gcc-c++ libgcc libstdc++ libstdc++-devel compat-libstdc++ libaio libaio-devel pstack libpthread librt libm libaio libdl libnsl.so.1 libncurses.so.5
yumdownloader --downloadonly --destdir=/tmp/tibero_pac --resolve compat-libstdc++-33
```
- ISO이미지 만들기
```bash
# genisoimage 설치
yum install -y genisoimage
# ISO 생성 genisoimage -r -J -o [ISO파일 이름] [Source경로]
genisoimage -r -J -o /tmp/kakaoISO.iso /tmp/tibero_pac
```
- ISO파일 마운트
```bash
# 작업용 폴더 생성
mkdir /media/iso
# 마운트
mount -o loop /tmp/kakaoISO.iso /media/iso/
## 언마운트
umount /media/iso
# 마운트됨을 확인
ls -l /media/iso
# 부팅시 자동으로 마운트 되도록 /etc/fstab 에 다음 내용을 추가
/var/iso-file/CentOS-6.10-x86_64-bin-DVD1.iso /var/www/repos/centos/iso/ iso9660 loop 0 0
/media/kakaoISO.iso /media/iso iso9660 loop 0 0
```
- 다른 PC에서 local repo 설정
```bash
# reposync로 다운로드 했던 경로를 압축해서 갖고 가서 repo를 추가
# repo 추가
vi /etc/yum.repos.d/kakao.repo
[kakaomirror]
name=Kakao Mirror
baseurl=file:///tmp/kakaomirror/ # repodata폴더가 있는 경로까지
gpgcheck=0
enabled=1
sudo yum repolist
# 다른 repository를 모두 disable하고, offline-myrepo만 활성화해서 설치하는 옵션)
yum --disablerepo="*" --enablerepo=tibero_pac list available
yum --disablerepo="*" --enablerepo=tibero_pac install gcc
```