2017년 1월 31일 화요일

CentOS yum repository 구축

인터넷이 없는 환경에서 yum repository를 구축해보자

. 우선 centos media를 다운로드 받자
CentOS-7-x86_64-Everything-1611.iso 같이 everything이 들어있는 미디어로 받았다.

. 로컬폴더에 cdrom을 복사했다.
# mkdir /data01/yum.repos.d/
# cp -R /media/cdrom/* /data01/yum.repos.d/

# vi /etc/yum.repos.d /local.repo

[local-repo]
name=Local Repository
baseurl=file:///data01/yum.repos.d/
enabled=1
gpgcheck=0

. etc에 로컬 repo설정 파일을 해당 경로로 지정한다.
# vi /etc/yum.repos.d /local.repo

[local-repo]
name=Local Repository
baseurl=file:///data01/yum.repos.d
enabled=1
gpgcheck=0


. yum-utils 설치
# yum --disablerepo=\* --enablerepo=local-repo install yum-utils


. createrepo 설치
# yum --disablerepo=\* --enablerepo=local-repo install createrepo

. selinux 모드 변경
# vi /etc/sysconfig/selinux
SELINUX=permissive

# getenforce
Enforcing
# setenforce 0
# getenforce
Permissive



. apache web server 설치
# yum --disablerepo=\* --enablerepo=local-repo install httpd

# systemctl start httpd.service
# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 화 2017-01-31 19:23:10 KST; 1s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 17730 (httpd)
   Status: "Processing requests..."
   CGroup: /system.slice/httpd.service
           ├─17730 /usr/sbin/httpd -DFOREGROUND
           ├─17731 /usr/sbin/httpd -DFOREGROUND
           ├─17732 /usr/sbin/httpd -DFOREGROUND
           ├─17733 /usr/sbin/httpd -DFOREGROUND
           ├─17734 /usr/sbin/httpd -DFOREGROUND
           └─17735 /usr/sbin/httpd -DFOREGROUND




. 방화벽 중지
systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
systemctl stop firewalld
systemctl status firewalld
 firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

 1 25 19:41:11 bidevkylinm1.bidevkylinclust systemd[1]: Starting firewalld - dynamic firewall daemon...
 1 25 19:41:12 bidevkylinm1.bidevkylinclust systemd[1]: Started firewalld - dynamic firewall daemon.
 1 31 17:00:43 bidevkylinm1.bidevkylinclust systemd[1]: Stopping firewalld - dynamic firewall daemon...
 1 31 17:00:44 bidevkylinm1.bidevkylinclust systemd[1]: Stopped firewalld - dynamic firewall daemon.


. createrepo 생성
mkdir -p /var/www/html/repos/
cd /var/www/html/repos/
# ln -s /data01/yum.repos.d/ ./centos74
# createrepo .
Spawning worker 0 with 2341 pkgs
Spawning worker 1 with 2341 pkgs
Spawning worker 2 with 2341 pkgs
Spawning worker 3 with 2340 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs

Sqlite DBs complete


이제 yum을 사용할 서버에 들어가서 repo설정을 해보자

. etc에 내부 yum repository를 참조하도록 repo설정 파일을 해당 경로로 지정한다.
# vi /etc/yum.repos.d /birepos-c74.repo

[birepos-c74]
name=birepos Internal Repository
baseurl=http://10.203.9.208/repos/centos74/
enabled=1
gpgcheck=0



. yum repolist 목록에 뜨면 성공!
# yum repolist
...
birepos-c74                        birepos Internal Repository    9,363
...


# mkdir -p /etc/yum.repos.d/ ~/etc/yum.repos.d/
[root@bidevkylinm1 yum.repos.d]# mv C*  ~/etc/yum.repos.d/
[root@bidevkylinm1 yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
repo id                                                                                                                   repo name                                                                                                                                      status
birepos                                                                                                                   birepos Internal Repository                                                                                                                    9,363
repolist: 9,363

. repolist를 한개만 남겨두고 지워버리자
# mkdir -p /etc/yum.repos.d/ ~/etc/yum.repos.d/
# mv C* ~/etc/yum.repos.d/
# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
repo id            repo name          status
birepos            birepos              Internal Repository       9,363
repolist: 9,363

참조: https://www.lesstif.com/pages/viewpage.action?pageId=7634963

댓글 없음:

댓글 쓰기