Linux

Linux) yum개념 및 실습

5_jinseok12 2018. 2. 19. 15:44
728x90

yum 패키지 관리 도구

- rpm기반의 패키지 관리 도구로 의존성 문제를 자동으로 해결해주며,

  시스템에 설치되어 있는 패키지 버전과 저장소에 저장되어 있는

  패키지의 버전을 비교하여 최신 버전으로 업데이트도 진행한다.

- 설치 가능한 패키지 정보를 가지고 있는 저장도(Repository)서버를 이용한다.

저장소라고 얘기하진 않고 Repository , REPO서버 라고 부른다.

 

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

옵션 -y : 설치과정에서 출력되는 질문에 yes(y)로 대답

 

명령어

 

- yum은 확장 프로그램(Plug-in)을 설치하여 수많은 명령어를 사용할 수 있다

install                 패키지 설치( rpm -i)

update               업데이트 ( rpm -U)

check-update      업데이트 가능 여부만 확인

remove              삭제( rpm -e)

list

list all

- 설치 되어 있거나 설치 가능한 패키지 목록을 확인

list installed ( rpm -qa)

- 설치 되어 있는 패키지 목록을 출력

 

info    패키지 정보 확인( rpm -qi)            i는 infomation을 뜻한다.

 

#yum search[문자열]

- 패키지 명이나 패키지 정보에서 문자열과 일치하는 패키지를 출력한다.

ex) #yum search korean

#yum search vim

//패키지 명이 기억안날때는 관련 단어를 입력하면 손쉽게 찾을 수 있다

 

 

#yum search korean 을 통해 korean이 관련된 내용들만 출력한 것을 알 수 있다.

맨밑에 빨간 칸으로 되어 있는것은 우리가 처음에 설명(man)에 대해 한글로 출력하도록 설치할 때

search를 통해 관련된 문장을 찾는 방법으로 yum을 통해 다운 받은 것이다.

 

 

 

yum 동작 과정

1. yum 명령어를 입력

2. #cd /etc/yum.repos.d

   -> 디렉토리 아래 위치한[파일명].repo 파일을 확인.

   -> yum이 사용하는 repository 에서 파일을 연다.

3. CentOS-Base.repo 파일에 대부분의 패키지를 다운받을 수 있는 저장소 정보가 있다

-> CentOS-Base 파일 설명내용 확인
   
  /etc/yum.repo.d/CentOS-Base.repo 구조 
  #cat /etc/yum.repo.d/CentOS-Base.repo

  [] (대괄호)
   -  - 저장소 식별자 [base], [update], [extras]
   - 여러개의 저장소를 추가 할 수 있으며 각 식별자는 독립적으로 존재

  #
   - 주석, 설명 
   - 설정파일에 영향을 주지 않음

  name
   - 저장소의 이름
   - 보기 편한 이름으로 지정
    
  baseurl (저장소에 가서 패키지를 다운받는다)
   - URL이 적혀 있는 부분으로, http, ftp, file 중 한가지가 올 수 있다.
   

 

 

 

디렉토리 아래 위치한 [파일명]. repo 파일을  ls로 확인.

CentOS-Base.repo 파일에는 대부분의 패키지를 다운받을 수 있는 저장소 정보가 있다

http://mirror.centos.org/  설정.        //CentOS에서 제공하는 서버

사이트에 들어가서 Package를 클릭하면 실제로 다운받을 수 있는 패키지들이 제공되어 있다

실제로는 서버가 미국에 있지만 미국에서 다운받아오게 되면 너무 느려서 사용하지 않는다

그대신 Mirrorlist를 사용한다.

 

 

 

미러리스트란?

공식 repo 서버와 동일하게 만든 사이트를 말한다. 공식 사이트에서 Mirrorlist를 클릭하면

전세계의 미러사이트가 출력된다.

전세계의 수많은 미러사이트 중에 가장 빠른 사이트를 찾아서 저장소 url을 변환해준다(fastestMirror)

이 미러사이트는 계속 실행할 때마다 바뀐다.

동작과정을 살펴보면 #yum clean all을 입력하여 레포서버와 DVD시디 내용이 동일하기 때문에 DVD시디를 이용하여 외부 연결없이 yum을 사용할 수 있다.

#yum clean all         : 패키지 삭제
#yum install httpd   : 패키지 설치 시도

 

 

 

빨간 칸을 보면 알 수 있듯이 의존관계 파일들 까지 다 같이 다운받아준다.

의존관계에 의해 총 6개의 패키지를 더 다운받아야 하지만 자동으로 다운받는게 출력된다.

Total download size : 1.1M 인것은 6개의 파일을 전부 다운 받았을 때 1.1M가 소요된다는 것이다

이 과정이 yum install -> 저장소 정보를 확인하고 패키지 목록 파일을 요청하여 목록파일만 다운받은 것이다
다운을 다 받으면 5번화면. y를 입력하기 전까진 패키지를 다운받은 것이 아니라 요청만 한것

 

 

http://mirror.centos.org

위 사진의 페이지는 CentOS에서 제공하는 서버들이 있는 홈페이지 이다.

상단에 Mirror List 버튼을 클릭해보자

 

 

Mirror List

Mirror list를 클릭해보면 위와 같은 화면이 뜬다.

전세계의 나라,지역,URL등  미러사이트를 사용하는 나라들에 대해 나타난다

CentOS가 제공하는 서버이다

 

 

가장 빠른 Mirror로 daumkakao에서 다운받은걸 알 수 있다.

내가 직접 수동으로 설정해보자

jinseok.repo를 만든다

 

그 안에 내용을 위와 같이 편집해 놓은 후 저장한다.

 

 

 

실행시켰을 때 fastetmirror 가 내가 설정한 jinseok-repo 인 것을 확인할 수 있다.

 

 

 

실습 준비
  /etc/yum.repos.d 디렉토리에 위치한 backup 디렉토리 아래 원본 저장소 파일을 다시
  /etc/yum.repos.d 디렉토리로 이동시키고, 생성한 ex)jinseok.repo 파일은 backup으로 이동시킨다
  
  실습
  Server-A 에서 yum 명령어 사용 시 "항상" 네이버 저장소에 접근하도록
  CentOS-Base.repo 파일의 내용을 수정한다.
  
  (1) 네이버 저장소 주소는 인터넷 검색
      http://mirror.navercorp.com/centos/
  (2) 각 저장소 식별자 변경 [base]  -->  [naver-base]
         [update] --> [naver-updates]
         [extras]  --> [naver-extras]
  (3)확인 방법
       #yum clean all
       #yum install httpd
       패키지를 다운받는 저장소 정보가 변경한 식별자로 표시되는지 확인
 

일단 실습 준비를 위해

/etc/yum.repos.d 디렉토리에 위치한 backup 디렉토리 아래 원본 저장소 파일을 다시
 /etc/yum.repos.d 디렉토리로 이동시키고, 생성한 ex)jinseok.repo 파일은 backup으로 이동시킨다

 

 

/etc/yum.repo.d/CentOS-Base.repo 를 통해 편집.

내가 원하는 지정 사이트로(naver)만 저장소를 지정하고 싶을 때

 

패키지를 설치하거나 업데이트시 사용할 기본 저장소의 URL 을 지정하며 fastestmirror 를

사용하여 동적으로 저장소를 찾지 않고 고정된 URL 의 저장소를 사용할 경우 mirrorlist를

주석 처리하고 baseurl 을 설정해 주면 된다.   
    

naver로 설정된 것을 확인할 수 있다.

 

반응형

'Linux' 카테고리의 다른 글

Linux 압축과 아카이브  (0) 2021.08.27
Linux) 부팅 프로세스  (0) 2018.02.19
Linux) RPM  (0) 2018.02.19
Linux 파일 검색(find)  (0) 2018.02.13
Linux 파일시스템 RIAD-1, RAID-5 , 볼륨  (0) 2018.02.09