본문 바로가기
정보보안 지망이!/용어와 개념!

리눅스 패키지(Archive, RPM, YUM)

by Edes Kim 2020. 5. 21.

Archive : 무언가를 저장하여 보관하다.

 

1) Archive File은 대부분의 경우, 압축된 파일을 의미한다.

  ( zip이나 tar등의 확장자를 가진다)

-> 파일을 압축하는 것을 Compress라고도 하지만 Archive라고 칭할때도 있다.

 

2) "보관 속성 / 저장 속성"을 가진 파일을 Archive File이라고 부르기도 한다.

     정확히는, Archive File Attribute를 가진 파일이다.

 

3) 블로그 사이트에서는 지난 게시물을 월별로 모아놓은 페이지를 Archive라고 부르기도 한다.

    "Archive Page"


< 소프트웨어 패키지 >

- 과거에는 아카이브 파일이나 압축파일에서 파일 추출하고 컴파일하여 별도로 설치해야 했다.

- 그 이후 RPM(Redhat Package Manager)을 이용하여 패키지를 설치했었다.

- 현제는 RPM보다 업그레이드된 YUM(Yellowdog Updater Modified)를 이용하여 패키지를 설치한다.

 

RPM (Redhat Package Manager)

- 패키지를 관리하는 도구

- 저수준의 도구로서 직접 패키지 파일을 소유하고 있거나, RPM파일의 네트워크 위치를 지정해야 설치가능

- 종속성이 있어 특정 패키지를 설치하기 위해서는 상위의 패키지 파일이 필요함. (사전에 설치가 필요함)

 

YUM (Yellowdog Updater Modified)

- RPM 기반의 패키지 설치, 제거, 업데이트를 관리하는 도구

- 고수준의 도구로서 RPM에서의 종속성 문제를 해결함

- Repository라고 불리는 저장소에 패키지들을 저장하고 관리함     


[RPM 명령어]

#rpm [옵션] [패키지명]

        -v                    : 패키지 메시지 출력

        -vv                   : 디버깅 정보 출력

        -h                    : 패키지를 설치할때 # 출력

        --replacepkgs     : 패키지 교체, 이미 설치되있더라도 무시하고 다시설치

        --replacefiles      : 동일한 파일명이 있는 경우 교체

        --oldpackage      : 예전 패키지로 교체

        --force               : --replacepkgs, --replacefiles, --oldpackages 옵션 모두 사용

        --excludedocs      : 패키지 설치시 문서파일은 설치하지 않음

        --includedocs

        --percent             : 패키지 파일 설치시 %표시      

        --nodeps             : 패키지의 의존성 무시

        --aid                  : 의존성 검사 후 의존성 패키지 설치

        --test                  : 패키지를 실제 설치/삭제하기 않고 먼저, 충돌 오류 점검

 

설치

#rpm -i [패키지명]

#rpm -ivh [패키지명]

#rpm -ivh [패키지명] --replacepkgs          : 설치되어 있는 패키지를 교체

 

확인

#rpm -qa

#rpm -qa | grep [패키지명]

 

제거

#rpm -ev [패키지명]

#rpm -e [패키지명]

                          --nodeps             : 제거시 의존성 무시

                          --test                  : 패키지를 제거하지 않고 먼저 충돌사항을 점검

 

업그레이드

#rpm -U [패키지명]

#rpm -Uvh [패키지명]                        : 설치되어있지 않은 패키지였다면 -ivh과 동일

#rpm -Fvh                                       : 이전 버전의 패키지가 있는 경우에만 패키지 설치

#rpm -F

 

 

@ 잘쓰는 명령어

#rpm -qa telnet        >설치된 패키지 확인

#rpm -ivh telnet       >패키지 설치

#ls | grep telnet        >모든 패키지의종류중 telnet관련 출력


파일이 속한 패키지 찾기

#rpm -qf [파일명]

 

패키지 정보 확인 (info)

#rpm -qi [설치된 패키지명]

#rpm -qip [파일명.rpm]

 

패키지 내부 파일목록 보기 (list)

#rpm -ql [설치된 패키지명]

#rpm -qlp [파일명.rpm]

 

패키지 내부 문서파일 확인 (doc)

#rpm -qd [설치된 패키지명]

#rpm =qdp [파일명.rpm]

 

내부 설정파일 확인 (config)

#rpm -qc [설치된 패키지명]

#rpm -qcp [파일명.rpm]

 

내부 스크립트 확인

#rpm -q --scripts [설치된 패키지명]

#rpm -qp --scripts [파일명.rpm]


[Repository (YUM 저장소)]

- 패키지들을 저장해 놓은 하나의 서버를 의미한다

- YUM은 저장소에 접근해서 원하는 패키지에 대한 정보를 받아오거나 패키지를 다운받아 설치함

 

- YUM저장소에 연결할 수 있도록 설정한 파일을 Repository 또는 리포파일이라고 부른다

- 리포파일은 /etc/yum.repos.d 디렉터리에 저장되어야 하고 '.repo' 확장자를 사용한다.

 

yum repolist all로 패키지에 관한 정보를 볼 수 있다.

명령어 설명 기타
yum info [argument] 패키지 정보를 상세히 출력  
yum provides argument 파일과 연관된 패키지를 출력  
yum lisk [옵션]  모든 패키지 목록을 출력 available : 현재 설치 가능한 목록
extras : 설정파일이 없는 패키지
installed : 이미 설치된 패키지
obsoletes : 저장소에서 폐기된 목록
recent : 최근에 추가된 패키지
update : 업데이트 가능한 패키지
yum search [argument] 일치하는 키워드로 패키지 검색  
yum install package-name [-y] 패키지 설치 종속성이 있는 패키지까지 모두설치
yum update package-name [-y] 패키지 업데이트 업데이트 후, 기존 버전은 삭제됨
커널은 예외적으로 기존버전 남김
yum remove package-name [-y] 패키지 제거  
yum groups sub-command [arg] 그룹단위로 패키지 관리 info : 패키지 그룹 정보
install : 패키지 그룹 설치
list : 패키지 그룹목록 확인
remove : 패키지 그룹 제거

 


모든 내용은 공부차원으로 밑에 첨부된 사이트의 글을 그대로 옮긴 글입니다.

https://haker.tistory.com/54

 

13. 리눅스 패키지, RPM, YUM, 명령어

11. 소프트웨어 패키지 - 과거에는 아카이브 파일이나 압축파일에서 파일 추출하고 컴파일하여 별도로 설치했었음 - 그 이후 RPM(Redhat Package Manager)을 이용하여 패키지를 설치하였음 - 현재는 RPM보

haker.tistory.com

https://wordpressxe.tistory.com/7

 

리눅스 RPM 명령어 정리

RPM이란? RPM이란 Redhat Package Manager의 약어입니다. 원래 레드햇에서 사용되던 패키지 파일이었지만, 현재는 RPM 패키지를 관리하기 위한 도구로 많이 사용 됩니다. RPM 명령어 RPM 패키지 설치 # rpm -i

wordpressxe.tistory.com

 

'정보보안 지망이! > 용어와 개념!' 카테고리의 다른 글

DNS_네임서버의 구조  (0) 2020.06.04
리눅스의 데몬이란? (수정중)  (0) 2020.05.22
Shell의 종류와 특징 (수정중)  (0) 2020.05.19
SSH 란? (수정중)  (0) 2020.05.19