OS Repository 과정
이 과정을 진행하기전에 방화벽을 해제하시는 것을 추천합니다.
systemctl enable firewalld
- 방화벽 해제
systemctl stop firewalld
- 재부팅해도 방화벽 해제
마지막으로 systemctl restart network 또는 service network restart 실행
OS Repository 과정은 연결되어 있는 서버끼리 한 repository에서 공유하기 위해서 정의합니다.
즉, 한 repository를 가지고 3개의 서버가 파일을 공유하고 사용합니다.
이 작업을 수행해보도록 하겠습니다.
1. mkdir -p /mnt/centos (작업환경 /root)
mkdir -p /data/repository/centos/7.7/base ( repository 구성을 휘한 디렉토리 생성 )
2. mount -t iso9660 -o loop CentOS-7-x86_64-DVD-1908.iso /mnt/centos/ (작업환경 /mnt/centos/)
Centos7.7를 mount 한다. 작업 디렉토리는 /mnt/centos/ 에서 실행
3. vi /etc/yum.repos.d/local.repo (작업환경 /root)
local repository를 작성한다.
[local-repo]
name=Local Repository
baseurl=file:///mnt/centos
enabled=1
gpgcheck=0
4. vi /etc/yum.repos.d/CentOS-Base.repo (작업환경 /root)
enabled = 0으로 모두 변경
5. yum install httpd (작업환경 /root)
httpd 설치
6. service httpd start (작업환경 /root)
httpd 시작
7. cp -rp /mnt/centos/* /data/repository/centos/7.7/base/ (작업환경 /root)
mount 파일 복사
8. vi CentOS7.7-Base.repo (작업환경 /etc/yum.repos.d)
http repository 작성
9. cd /var/www/html
httpd 경로 이동
10. ln -s /data/repository repository (작업환경 /var/www/html)
repository 설정 ( 연결되어 있는 서버가 같이 공유하며 사용할 repository)
* ln -> Link의 약어로 리눅스 파일시스템에서 링크파일을 만드는 명령어이다. 리눅스에서는 심볼릭링크와 하드링크의 두가지 링크 파일이 존재한다.
* ln -s -> 심볼릭 링크 디렉토리 생성
* ln hard_source -> 하드링크 파일 생성
심볼릭링크 (Symbolic Link)
원본파일을 가르키도록 링크만 시켜둔 것이다. ex) 바로가기와 비슷
원본파일의 크기와 무관하다. 심볼릭링크에서 원본파일이 삭제되어 존재하지 않을 경우 링크파일은 깜박거리며 원본파일이 없다는 것을 알려준다.
** 바로가기 느낌으로 원본이 삭제되면 실행안됨
하드링크 (Hard Link)
원본파일과 다른 이름으로 존재하는 동일한 파일이며 원본파일과 동일한 내용의 다른 파일이라고 할 수 있다.
하드링크에서는 원본파일과 링크파일 두개가 서로 다른 파일이기 때문에 둘 중 하나를 삭제해도 나머지 하나는 그대로 남아있다. 하드 링크에서는 원본파일의 내용이 변경되면 링크 파일 또한 변경된다.
** 원본과 이름이 다르지만, 동일한 내용의 다른파일이다.
** 하나를 삭제해도 다른 하나는 남아있다.
** 원본파일의 내용이 변경될 경우 링크파일의 내용 또한 자동 변경
11. yum repolist (작업경로 /var/www/html/)
repository 리스트 확인
12.scp /etc/yum.repos.d/CentOS7.7-Base.repo root@server02:/etc/yum.repos.d
scp /etc/yum.repos.d/CentOS7.7-Base.repo root@server02:/etc/yum.repos.d
(작업환경 /var/www/html/ , server1에서만 실행)
- 모든 서버에 배포(server02와 server03에 vi CentOS7.7-Base.repo 작업 미리수행)