Operating Systems/Linux
[ Linux ] YUM 패키지 관리자 서버 설치
loopinger
2021. 6. 30. 23:43
[ YUM 패키지 관리자 서버 ]
# repository 저장소 생성을 위한 패키지 다운로드
yum -y install createrepo
# repository 폴더 생성
mkdir -p /app/repo
createrepo /app/repo
# http를 통하여 레포지토리를 사용할 수 있도록 설정
yum -y install httpd
# repo 경로 추가
cat <<ADD_REPO_SETTING >> /etc/httpd/conf/httpd.conf
# yum repository server configuration
Alias /repo "/app/repo"
<Directory "/app/repo">
Options FollowSymLinks
DirectoryIndex index.html index.htm index.jsp *.jsp *.php
Order allow,deny
Allow from all
Require all granted
</Directory>
ADD_REPO_SETTING
# 레포지토리 경로에 패키지 다운로드 스크립트 생성
mkdir -p /app/script/
cat <<YUM_LOCAL_INSTALL > /app/script/lyum.sh && chmod 755 /app/script/lyum.sh
#!/bin/bash
yum install --downloadonly --downloaddir=/app/repo \$1
yum reinstall --downloadonly --downloaddir=/app/repo \$1
yum deplist \$1 | grep "dependency:" | awk '{print \$2}' | awk -F "(" '{print $1}' | xargs yum install --downloadonly --downloaddir=/app/repo
yum deplist \$1 | grep "dependency:" | awk '{print \$2}' | awk -F "(" '{print $1}' | xargs yum reinstall --downloadonly --downloaddir=/app/repo
# 레포지토리 경로 내 파일 정보 DB업데이트
createrepo --update /app/repo
# 레포지토리 캐쉬 등 삭제
yum clean all
YUM_LOCAL_INSTALL
/app/script/lyum.sh net-snmp
# 기존 레포지토리 정보 삭제/백업
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
# 로컬 레포지토리 추가
cat <<SET_REPO_SETTING > /etc/yum.repos.d/repo-server.repo
[repo-server]
name=Repository server
baseurl=file:///app/repo
enabled=1
gpgcheck=0
SET_REPO_SETTING
# 로컬 테스트
yum install net-snmp
# repo 배포용 아파치 서버 재시작
systemctl restart httpd
# 방화벽 종료
systemctl stop firewalld
# SE리눅스 종료
setenforce 0
[ 클라이언트 ]
# 기존 레포지토리 정보 삭제/백업
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
cat <<SET_REPO_SETTING > /etc/yum.repos.d/repo-server.repo
[repo-server]
name=Repository server
baseurl=http://192.168.108.67/repo
enabled=1
gpgcheck=0
SET_REPO_SETTING
# 레포지토리 캐쉬 등 삭제
yum clean all
yum install net-snmp