생각을 개발하자, 박진형

[CentOS] CentOS 기본 #2 - RPM, YUM 본문

OS/CentOS

[CentOS] CentOS 기본 #2 - RPM, YUM

imjinbro imjinbro 2017.07.03 18:01
[RPM]
- Redhat Package Manager
- 프로그램 추가 단점 보완 : 리눅스에서 프로그램을 추가하려면 코드를 가지고 와서 컴파일 직접해야했음
- windows의 setup.exe와 비슷함
- 확장자 : *.rpm, 패키지 파일을 통해 설치된 프로그램을 패키지라 함
- 파일명 구성 : 패키지이름-버젼-릴리즈번호-CentOS버젼.아키텍쳐.rpm
=> 아키텍쳐(CPU) : x86_64(64비트), i386~686(32비트 CPU), src(소스가 설치되는 것, 컴파일에만 사용 ), noarch(모든 CPU)


- 설치 후 프로그램 실행 : 패키지 설치하면 1개 이상의 프로그램을 설치
- 관련 명령어
(1) 설치 : rpm -Uvh 패키지파일이름.rpm
- U 옵션 : 패키지가 설치/업그레이드
- v 옵션 : 설치과정 확인
- h 옵션 : 진행사항과정을 '#'마크로 화면에 출력

(2) 삭제 : rpm -e 패키지이름 (.rpm 파일 자체를 지우는 것이 아니라 패키지 파일로 설치된 패키지를 삭제하는 것)

(3) 설치된 패키지에 대한 명령 
- rpm -qa 패키지명 : 패키지가 설치되어있는지 확인 (여기까지만 알아도 좋음)
- rpm -qf 파일의 절대경로 : 파일이 어느 패키지에 포함된 것인지 확인

(4) 설치되지않은 패키지에 대한 명령
- rpm -qlp 패키지.rpm : 패키지에 어떤 파일들이 포함되어있는지 확인
- rpm -qip 패키지.rpm : 패키지 파일 상세 정보


- rpm으로 패키지 설치하고, 패키지 삭제하기  : mc 패키지(텍스트 환경에서 쉽게 다룰 수 있도록)
(1) 로컬 Packages 목록 보기 : iso 마운트 /media/cdrom에 세팅된 상태, /media/cdrom/Package 접근
(2) 설치하기 : rpm -Uvh mc-4.8.8-11.el7.x86_64.rpm 
(3) 패키지 삭제하기 : rpm -e mc 


- rpm 문제점
(1) 패키지 간 의존성 관리X : 예를 들어 gedit을 설치하고 켜려고 하는데, xwindow가 설치되어있지않으면 에러나옴
     => 에러와 필요한 파일만 표시할 뿐 패키지명에 대한 설명, 자동 설치되지않음


[YUM]
- Yellodog Updater Modified
- rpm 패키지 의존성 문제를 해결
- 인터넷을 통하여 필요한 파일을 저장소(Repository) 다운로드해서 설치하는 방식
=> rpm을 로컬에서 가지고 있는 것이 아니라 등록한 저장소에서 받아와서 설치
=> /etc/yum.repos.d 에 저장소 URL이 있는 파일이 있음 : 기본적으로 CentOS 패키지 저장소만 설정되어있음

=> 관련 의존성 파일까지 모두 다운로드 후 설치


- rpm 패키지 설치 파일을 쓰지않는게 아니라, 인터넷을 통해서 받아와서(의존 패키지까지) 설치 과정을 대신해줌 
- 기본 패키지 저장소 분류 : 원본 패키지 / 업데이트 패키지 / 추가 패키지

1) 원본 패키지(base) : 패키지 처음 출시된 버젼
2) 업데이트 패키지(updates) : 최신 패키지
3) 추가 패키지(extras)
=> yum.repos.d 내 repo 파일에서 update를 주석처리하지않으면 yum은 최신 업데이트 패키지부터 설치함(선택사항) 


- 관련 명령어
(1) yum install 패키지이름
- y 옵션 : 패키지 파일 다운로드 목록을 보여주고 다운로드 ok 여부 묻지않게 하기

(2) yum remove 패키지이름

(3) yum check-update 
- 업데이트 가능한 목록 보기

(4) yum update 패키지명
- 업데이트를 하는 것이 무조건 좋은 것은 아님 : 버젼이 다르면.......! 또 버그가...!

(5) yum info 패키지명
- 패키지 정보를 볼 수 있음 : 설치 여부까지

(6) yum groupinstall 패키지그룹이름
- 필요한 패키지를 한번에 설치 : 자바 개발을 한다고 하면 jdk, 이클립스 등

(7) yum list 패키지명
- 패키지 리스트 확인 

(8) yum clean all
- 캐시에 저장된 패키지 목록 삭제 : 문제가 있을 때 사용


- 로컬에 위치한 rpm을 yum으로 설치하기 : 굳이 처음부터 네트워크 활용하지말고 더 빠르게 설치하자 없으면 인터넷 저장소!
(1) iso 파일 내 Packages 디렉토리에 rpm 파일이 있음 : mount 해놓은 상태에서 

(2) /etc/yum.repos.d 에 있는 *.repo 파일 모두 backup 디렉토리 만들어서 옮겨놓기 

(3) repo 파일 만들기 : 파일명.repo, 필수적으로 들어가야할 항목(name, baseurl, gpgcheck)
[dvd]
name=CentOS DVD
baseurl=file:///media/cdrom #마운트 지점 : /media/cdrom
gpgcheck=0  #파일이 이상있는지 체크, 0을 해두면 체크 안함

[network]
name=network
baseurl=
        http://mirrors.kernel.org/centos/7/os/x86_64
        http://mirror.centos.org/centos/7/os/x86_64

gpgcheck=0

- network에서 baseurl은 변경될 수 있기때문에 돌리기 전에 직접 들어가서 확인해보기


(4) yum install : 유일한 repo인 위 파일에서 rpm 파일 목록을 뒤져봄




Prev 1 2 3 4 5 6 7 Next