-YUM

RPM 기반의 패키지 관리도구로 의존성 문제를 자동으로 해결

-설치 가능한 패키지에 대한 정보가 담긴 저장소(Repository)를 가지고 있다.

-DVD이미지 혹은, 인터넷이 되는 환경에서 사용할 수 있다.

 

yum [옵션] [명령] [패키지명]

      -y 설치 과정에 출력되는 모든 질문에 yes로 대답

          -h 도움말 출력

      -v 자세한 메세지 출력

 

#yum info [패키지명]    //패키지 정보 확인

 

#yum list

#yum list all        // 설치 되었거나 설치가 가능한 모든 패키지

의 목록을 출력

#yum list update    //업데이트가 가능한 패키지의 목록만 출력

#yum list installed  //이미 설치된 패키지 목록을 출력

#yum list installed [패키지명] //해당 패키지 설치유무 확인

== #rpm -qa

#yum localinstall [패키지명].rpm    //rpm 패키지 설치

 

 

패키지 설치 하기

- 저장소를 검색하고 패키지를 설치할 저장소 찾지를 못하면 자동으로 다른 저장소를 검색하여 패키지를 설치한다.

 

#yum install [패키지명] [패키지명] [패키지명] 다 설치 가능

#yum install autotrace

 

패키지삭제

#yum remove [패키지명] [패키지명] [패키지명] 여러가지 지울 수 잇음

 

패키지 검색

#yum search [패키지명]

 

#yum provides [파일이름]   // 특정 파일이 어느 패키지에 포함되어

있는지 확인

ex)#yum provides /bin/ls

 

#yum clean all        //기존에 다운로드한 패키지 목록을지워

        설치 시 새로운 목록을 다운로드

그룹 설치

#yum grouplist | more    // 그룹 설치가 가능한 패키지 목록 확인

 

#yum groupinstall [패키지 그룹 이름]

 

# yum  groupinstall "X Window System" "Desktop" "Fonts" "Korean Support"

 

 # yum grouplist | more(한글로 나오지만 설치 할때는 영어로 해야함)

 

(영어로 나오게 하는법)

# LANG=us_US.UTF-8
 # echo $LANG
us_US.UTF-8
 # yum grouplist | more

영어로 나옴

 

yum 동작 가정과 설정 파일

 

1. /etc/yum.conf         //yum 설정 파일

2. /etc/yum.repos.d/   //저장소 정보가 저장되어 있는 디렉토리

 

저장소(Repository) 줄여서 Repo 라고도 부름 

 

(1) Server-A : yum install 입력

(2) Server-A : /etc/yum.repos.d/ 디렉토리에 repo 파일을 열어 URL 확인

(3) Server-A : 패키지 목록 파일을 REPO에 요청

(4) Repo      : 패키지 목록을 Server-A에게 전달

//설치 패키지 파일을 다운받는게 아니라 설치하고자하는 패키지목록만 다운 받는거다.

(5) Server-A: 화면에 설치할 패키지와 관련 패키지 이름을 출력

(6) Server-A: Y를 입력하면 설치 하고자하는 패키지 파일을 REPO에 요청

(7)Repo : 설치할 패키지를 전달

(8)Server-A: 다운로드한 패키지를 자동으로 설치

Ex) #yum -y install vim

 

[base] - 저장소 식별자

         - 각 식별자는 독립적으로 존재하여 동작

name - 저장소의 이름

         - 보기 편한 이름으로 지정

mirrorlist

- baseurl 에 설정 값이 생략되어 있으면 대신 동작하는 항목으로

  해당 URL은 전세계에 분포된 여러개의 Repository와 연결되어

   있다.

baseurl

-Repository URL적혀 있으며 URL대신에 ftp주소, file 경로

등이 올 수 있다.

 

repository를 DVD이미지로 변경

 

#cd /mnt

#ls        //마운트 확인

#cd /etc/yum.repoas.d/

#mkdir backup    //백업 디렉토리 생성

#mv *.repo backup //현재 경로의.repo를 가진 파일을 이동

 

#touch dvd.repo    //새로운 repo 파일 생성

 

#vi dvd.repo

 

[dongsam-dvd]

name=CentOS DVD REPO

baseurl=file:///mnt/        //네트워크 주소가 아니라, DVD 경로 주소

gpgcheck=0

 

네트워크 차단

#ifdown eth0

 

VMware에서 설치

#yum clean all

#yum -y install mysql-connector-odbc

#yum -y install php

 

DVD이미지에서 직접 다운받기 때문에 패키지를 외부에서 다운로드 하는 과정이 없어 설치 속도가 빠르다

 

vi /etc/yum.repos.d/dvd.repo

 

[extras]

name=network

baseurl=http://ftp.daumkakao.com/centos/6.8/extras/x86_64

gpgcheck=0

 

네트워크 다시 연결

#ifup eth0 

 

#cd /mnt/Packages/

epel-release 패키지 존재 유무 확인

// #yum remove mysql-connector-odbc

mysql-connector-odbc  //로컬 dvd 이미지에 있는 패키지 파일

epel-release                //외부 레포에 있는 패키지 파일

 

#yum -y install mysql-connector-odbc epel-release

 

http://mirror.centos.org/centos/6/os/x86_64/

실제 CentOS에서 기본으로 제공하는 기본 Base RePO의주소

 

yum 파일 원상 복구

dvd.repo 파일을 ->backup 디렉토리로 이동

backup 디렉토리에 원본 repo파일을 /etc/yum.repos.d/로 이동

 

 

 

 

 

Server-A B

Client-Linux 에 전부 설정

 

#setenforce 0
#vi /etc/sysconfig/selinux    //selinux disable

7번째 라인 SELINUX=disabled

#service iptables stop    //iptables 데몬 중지

#chkconfig iptables off //iptables 데몬이 부팅 시 동장하지 않도록 설정

 

MAC주소 - 물리 네트워크 카드 할당된 고유 주소

    #ipconfig

>ipconfig/all

 

IP주소 - 네트워크 상에서 컴퓨터를 찾아가기 위한 주소

            00000000.00000000.00000000.00000000 32bit

~

 11111111. 11111111. 11111111. 11111111 약43억개

 

공인IP- ISP (SK, LG,  KT)업체가 가지고 있는 IP주소

     전세계 어디서든 해당 IP주소를 가지고 있으면 통신이 가능하다.

 

NAT-  공인 IP <-> 사설 IP

    IP가 부족하여 각각의 컴퓨터에게 모두 IP를 할당할 수 없으므로 외부와 통신이 가능한 공인IP를 여러개 사설IP로 나누어 사용할 수 있는 기술

 

사설IP -NAT로 통해 외부와 통신할 수 있는 IP주소로 내부 네트워크

     에 위치한 컴퓨터 끼리만 통신할 수 있는 IP

 

DHCP -동적으로 사용자에게 IP를 할당해주는 프로토콜

사용자에게 네트워킹에 필요한, ip주소,DNS주소,서브넷마스크,GATEWAY에 대한 정보를 자동으로 구성해준다.

 

 

VMware에는 3가지 Network 타입이 있다.

1. 브릿지 (Bridge)

 물리 PC와 가상머신이 같은 스위치에 연결된 형태

-> 같은 네트워크 위치에 있다

 

물리 PC 주소 IP - 172.16.0.X(IPv4)

가상 머신 주소 IP- 172.16.8.x

VM웨어 Server-A 오른쪽 클릭 -> 셋팅 -> 네트워크 어댑터 클릭-> 오른쪽 브릿지 클릭-> OK

 

VM웨어 터미널

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=dhcp

#IPADDR=100.100.100.120

#NETMASK=255.255.255.0

#GATEWAY=100.100.100.2

#DNS1=8.8.8.8

#DNS2=8.8.4.4

 

#service network restart

#ifconfig

  inet addr 172.16.0.x

xshell -> 새 세션 만들기->IP입력->브릿지로 서로 연결한 상대에게 접속할 수 있음

#wall [하고싶은말]

 

NAT

가상머신의 네트워크타입을 NAT 변경

아이피 주소 설정을 DHCP(동적IP)

   STATIC(고정IP)

(1)DHCP가 할당해주는 IP범위내에서 IP를 할당받는 설정

(2)DHCP에게 IP를 할당받는 것이 아닌 수동으로 IP를 입력하여 고정IP를 사용하는 방법

 

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=100.100.100.110

NETMASK=255.255.255.0

GATEWAY=100.100.100.2

DNS1=8.8.8.8

DNS2=8.8.4.4

 

#service network restart

 

ping test 테스트

 

 

 

Xshell 접속이 안될 경우

#ping 8.8.8.8   //구글 dns서버

 

핑 테스트 실패 -> ip 설정파일 오타 , vmware 네트워크 설정 확인

핑 테스트 성공 -> VMware Netowkr Editor 설정에서

 vmnet8 (NAT 100.100.100.0/GATEWAY 100.100.100.2)

설정을 Remove하여 삭제하고 ,Apply을 클릭하여 적용 후, Add Network 를 클릭하여 다시 vmnet8

의 정보를 입력하고 ok 적용해야한다. 

 

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0                //이더넷 인터페이스 종류(장치이름)

TYPE=Ethernet              // 통신 타입 이더넷

ONBOOT=yes                // 부팅 시 장치 활성화 여부

NM_CONTROLLED=no    //네트워크 매니저 데몬 제어 여부

BOOTPROTO=static        //IP 할당 방식(DHCP,STATIC,NONE)

IPADDR=100.100.100.110 //IP주소

NETMASK=255.255.255.0 //서브넷 마스크 값

GATEWAY=100.100.100.2  //외부로 나가기 위한 주소

DNS1=8.8.8.8      //1차 DNS 주소

DNS2=8.8.4.4      //2차 DNS 주소

 

 

본딩 구성

1. 네트워크 카드 추가 후 재부팅

 

슬레이브                마스터

2. ifcfg-eth0(Active) -> ifcfg-bond0

   ifcfg-eth1(Backup) ->  ifcfg-bond0

 

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

#vi /etc/sysconfig/network-scripts/ifcfg-eth1

 

DEVICE=ethX                         
TYPE=Ethernet
ONBOOT=yes

MASTER=bond0    //마스터가될 본딩파일의이름

SLAVE=yes    //종속 여부
BOOTPROTO=none    //ip 설정방식(사용안함)

USERCTL=no        //일반 사용자 제어 허용 여부

NM_CONTROLLED=no    // 네트워크 매니저 데몬 제어 허용 여부

#vi /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=100.100.100.110

NETMASK=255.255.255.0

GATEWAY=100.100.100.2

DNS1=8.8.8.8

DNS2=8.8.4.4

      BONDING_MASTER=yes                //본딩 주체 여부

BONDING_OPTS="mode=1 miimon=100"    //본딩옵션

 

3. /etc/modprobe.d/bonding.conf 파일 생성

#vi /etc/modprobe.d/bonding.conf

alias bond0 bonding

options bond0 mode=1 miimon=100

 

4. 본딩 적용

#modprobe bond0     //커널에 본딩모듈 추가

 

5. #service network restart

6.#ifconfig

eth0   

eth1

bond0

7. 설정 확인

#cat /proc/net/bonding/bond0

 (1) 본딩을한 eth 장치가 정삭적으로 출력되는지 확인

 (2) Bonding Mode가 (Active-Backup)으로 잘 되어 있는지 확인

 (3) 현재 Active 상태의 인터페이스 확인

Currently Active Slave: eth0

(4) 모니터링 및 통신 상태 확인

MII Status: up

8. 본딩 테스트

외부 지속적으로 통신 하고 있어야 함

-> ex)ping 8.8.8.8

네트워크 카드(NIC) 비활성화 시키면서 테스트

 

세션 -1                    세션-2

#ping 8.8.8.8               #watch -d -n 1 "cat /proc/net/bonding/bond0"

 

Server-B             본딩 설정 진행    아이피번호는 바꿔

Client-Linux        본딩 설정 진행    아이피번호는 바꿔

 

'리눅스 ' 카테고리의 다른 글

RPM  (0) 2017.04.16
리눅스 부팅 프로세스  (0) 2017.04.16
압축해제 등등  (0) 2017.04.16
find,xargs  (0) 2017.04.16
find 옵션  (0) 2017.04.16

-RPM(Redhat Package Manager)의 약자로 래드햇에서 만든 패키지 관리 도구

1. CentOS 6.8 DVD Image 파일을 Server-A에 삽입

2. #mount -t iso9660 /dev/cdrom /mnt

3. #cd /mnt

4. #cd Packages

 

NetworkManager-0.8.1-107.     e16.    x86_64    .rpm

[이름                 ][패키지버전][릴리즈]  [아키텍쳐] [확장자

 

RedhatEnterpriseLinux 6의 커널에서 호환이되는 패키지

아키텍쳐 - x86_64 64비트 를 지원하는 인텔 CPU계열에서 사용할 수있는 패키지

is386 32비트

noarch -모든 cpu에 설치가 가능한 패키지

 

 

minimal 버전 X-windows 환경 만들기

# yum  groupinstall "X Window System" "Desktop" "Fonts" "Korean Support"

데스크탑 환경(X-window)  스냅샷

VMware 상단 메뉴 중 VM 메뉴 -> install VMware Tools 클릭

#vi /etc/inittab

 

id:3:initdefault -> id:5:initdefault 변경    /앞으로 게속 5로부팅

설정 다넘기기

 

rpm  패키지 설치 (-ivh)

-i install

-v verbose(설치과정 화면에 출력)

-h hash (해시 기호 #을 이용하여 설치과정 출력)

 

# rpm -ivh xterm-253-1.el6.x86_64.rpm
오류나면 정상

Failed dependencies <- 의존성 오류

     

(의존성 오류 해결하기위해 설치)

# rpm -ivh libXpm-3.5.10-2.el6.x86_64.rpm  

설치

#rpm -ivh libXaw-1.0.11-2.el6.x86_64.rpm
설치

 위에 있는 것을 다 설치하면

# rpm -ivh xterm-253-1.el6.x86_64.rpm

이게 설치가 된다.

 


# rpm -ivh yp-tools-2.9-12.el6.x86_64.rpm

오류: Failed dependencies(의존성 오류):
 ypbind is needed by yp-tools-2.9-12.el6.x86_64

 

의존성 무시하고 설치하는 방법

--nodeps 의존성 무시

--force 강제 설치

#rpm -ivh yp-tools-2.9-12.el6.x86_64.rpm --nodeps

이러면 설치가 된다. (대신 오류같은 것이 일어날 수 있다.)

 

패키지 정보검색

#rpm -q          //질의옵션

        -a         // 전체 패키지 목록 -> #rpm -qa | grep xterm

        -f         //파일명을 포함한 패키지명을 출력 (절대경로)

    #rpm -qf /bin/ls

   파일의 경로를 입력하면, 파일이 어떠한 패키지에 포함된 파일인지 확인이 가능함 

  -i        //패키지 상세한 정보 확인하기

                     #rpm -qi [패키지명]

                     #rpm -qi  xterm

                     #rpm -qi  coreutils

    

         -l              //패키지가 설치한 파일의 목록을 출력

   #rpm -ql   [패키지명]

   #rpm -ql  coreutils

 

         -R             //패키지 의존성 확인

   #rpm -qR [패키지명]

   #rpm -qR xterm

패키지 삭제

#rpm -e [패키지명]

#rpm -e xterm                패키지 삭제

# rpm -qa | grep xterm    삭제 확인

 

RPM 장점 : 설치가 쉽다.

  단점 : 의존성 문제를 해결하기가 어렵다. 

 


        

'리눅스 ' 카테고리의 다른 글

YUM+각 설정  (0) 2017.04.22
리눅스 부팅 프로세스  (0) 2017.04.16
압축해제 등등  (0) 2017.04.16
find,xargs  (0) 2017.04.16
find 옵션  (0) 2017.04.16

리눅스 부팅 프로세스

1. Power ON & ROM BIOS

-전원이 들어오면 CPU가 ROM에 저장된 BIOS 실행

- BIOS는 POST을 수행하여 하드웨어 장치들을 하나씩 인식하며 이상 유무 확인

- 부팅 장치에서 Bootsector에 MBR을 읽어드려 부트로더를 실행

 

리눅스 부트로더 - LILO -> 현재 사용 안함

 GRUB -> 현재 널리 사용하고 있는 부트로더

 

2. 부트로더 (GRUB) 실행

 

-부팅메뉴 (/boot/grub/grub.conf) 실행 , 부팅하고자하는 운영체제를 선택

- Kernel 이미지 (/boot/vmlinuz-*)가 메모리 로딩이 되고 , 동작에 필요한 프로세스를 생성한다.

 

3. init 프로세스 실행 (PID=1)

- /etc/inittab 파일을 참고하여 설정된 RunLevel 실행

- 부팅 레벨이 결정되면 /etc/rc.d/rc.sysinit 스크립트 실행

(PATH변수 설정 ,네트워크 설정 ,스왑메모리, 호스트 등등)

- 해당 Runlevel에 맞는 /etc/rc.d/rc#.d/* 디렉토리에 스크립트가 실행

 

S로 시작하는 파일은 해당 부팅 레벨로 부팅시  자동으로 실행되는 파일

K로 시작하는 파일은 자동으로 실행되지 않는 파일

숫자 파일들이 실행되는 우선순위

 

 

RunLevel - 시스템을 어떤 방식으로 부팅할 것인가를 분류해 놓은 것

0 - 시스템 종료

1 - 싱글유저모드(안전 모드)

2 - 네트워크 기능이 없는 다중 사용자 모드

3 - 모든 네트워크 기능을 지원하는 다중 사용자 모드

4 - 사용되지 않음

5 - X-Window

6 - 시스템 재부팅

 

root 패스워드 분실 시

런레벨 1 (싱글 모드)

- timeout 전에 엔터 키 입력 후 , e키 클릭 들어가서 수정

- single or 1 입력 후 부팅

GRUB에 password 설정

#grub

grub >md5crypt

Password :    

$1$/4tmG/$af6lPOuXQnASdyh5TkVol/

qrub > quit 종료

vi /boot/grub/grub.conf

password -md5 $1$/4tmG/$af6lPOuXQnASdyh5TkVol/

 

 


 

#reboot -> grub 부트로더 메뉴로 진입

#chkconfig

-데몬의 실행 레벨 정보를 관리 해주는 프로그램

#chkconfig --list //리스트 확인

#chkconfig --list [데몬이름]

#chkconfig --[add|del] [데몬이름]

#chkconfig --level # [데몬이름] [on|off|reset]

 

런레벨 3에서는 sshd 데몬이 부팅 시 자동으로 실행되지 않도록 설정

# chkconfig --level 3 sshd off

#reboot 후에 Xshell을 이용하여 해당 Server-A 접속 == 안됌

 

 

service sshd start //sshd 데몬 실행

Xshell 접속 시도 //가능


시스템 초기화및 관리 프로세스

-과거 system V init방식으로 시스템 초기화(init -> inittab -> rc.sysinit)

-현재 system V init + Upstart 방식을 함께 사용(init ->rcS.conf ->rc.conf -> rc.local)

-미래 Systemd

 

'리눅스 ' 카테고리의 다른 글

YUM+각 설정  (0) 2017.04.22
RPM  (0) 2017.04.16
압축해제 등등  (0) 2017.04.16
find,xargs  (0) 2017.04.16
find 옵션  (0) 2017.04.16

+ Recent posts