쉬운 프로그램의 설치, 삭제, 관리 등을 위해 독자적인 패키지 관리 기법을 만듦


redhat : RPM 

debian : dpkg 

SuSE : YaST


1. RPM


레드햇사에서 만든 패키지 관리 기법으로 프로그램을 .rpm 형태의 파일로 배포하고, rpm 명령을 사용하여 손쉽게 설치 및 갱신, 제거 검증, 질의 등의 관리를 할 수 있음


파일 형식 : 패키지 이름-버전-릴리즈-아키텍처.rpm


패키지 이름 : 패키지의 이름

버전 : 패키지의 버전

릴리즈 : 한 버전의 패키지가 몇 번 빌드했는지 알려줌

아키텍처 : 패키지가 사용 가능한 시스템


1-1). 사용법


사용법은 5가지가 있는데, 설치 및 갱신, 제거, 질의, 검증모드와 소스 rpm(.src.rpm)의 리빌드모드가 있음


rpm [option] [패키지_파일명]


1) 설치 및 갱신( install & upgrade ) 모드 : 새로운 패키지를 설치하거나 갱신을 할 수 있음


> 옵션


-i : 새로운 패키지 설치시 사용 ( --install )

-U : 기존의 패키지를 새로운 버전의 패키지로 업그레이드 시 사용 ( 패키지가 없을 경우 새로운 버전을 설치함 i와 같음 ) ( --upgrade )

-F : 이전 버전이 설치되어 있는 경우에만 설치 ( --freshen )

-v : 메세지 상세 출력

-h : 설치 상황을 '#' 기호로 표시해 줌 ( --hash )

--force : 강제로 설치

--nodeps : 의존성 관계를 무시하고 설치 ( rpm 설치시 의존성 관계에 있는 패키지가 존재하지 않을 경우 설치가 되지 않는데 이 때 강제 설치 )

-vv : 메세지 아주 상세하게 출력

--test : 패키지를 실제 설치하기 전에 제대로 설치되는지 테스트 해 볼 경우에 사용 보통 -vv 와 같이 사용

--rebuilddb : rpm 데이터베이스 업데이트 시 사용


2) 제거(erase) 모드 : 패키지를 제거하기 위한 모드


> 옵션


-e : 설치된 패키지 삭제 ( 의존성 을 가지고 있으면 삭제되지 않음 )

--nodeps : 의존성 관계를 무시하고 삭제

--test : 실제 제거하지 않고 테스트를 함

--allmatches : 동일한 이름을 갖는 패키지가 중복 설치되어 있는 경우 모두 제거


3) 질의( query ) 모드 : 패키지의 관련 정보를 알아내기 위한 모드


> 옵션


-q : 질의 시 꼭 사용해야 하는 옵션 ( 이 옵션만 쓸 경우, 패키지 이름과 버전만 표시 )

-i : 설치된 패키지의 정보를 출력. -p 옵션과 같이 사용하면 rpm 패키지 파일에 대한 정보를 알 수 있음 ( --info )

-l : 패키지에서 설치한 모든 파일 정보를 출력 ( --list )

-a : 시스템에 설치된 모든 패키지 목록 출력 ( --all )

-p 패키지 파일명 : rpm 패키지의 파일애 대한 정보를 보여줌

-f 파일명 : 지정한 파일을 설치한 패키지 이름을 출력

-c : 해당 패키지의 설정 파일이나 스크립트 파일을 출력

-d : 해당 패키지의 문서 파일을 출력

-R : 어떤 패키지에 의존하고 있는지를 보여줌 ( -- requires )

--changelog : 특정 패키지의 바뀐 내역을 최근부터 연대순으로 보여줌

--scripts : 설치 및 제거 관련 스크립트를 보여줌

--filesbypkg : rpm 패키지가 많을 경우 목록으로 보이는 파일 앞에 패키지명을 붙임

--queryformat : 질의의 결과를 원하는 형태로 출력할 때 사용


4) 검증(Verity)모드 : rpm 데이터베이스에 저장되어 있는 패키지의 메타데이터 정보를 이용하여 변경된 정보를 찾아내는 모드


> 검증코드


S : 파일크기 변경

M : 파일 모드 변경

5 : 메시지 다이제스트 변경 ( 보통 MD5 rkqt qusrud )

D : 장치 파일의 메이저 및 마이너 번호 불일치

L : 링크 파일 경로 불일치

U : 소유자 변경

G: 그룹 소유권 변경

T : 수정 시간 변경

P : 권한 변경

. : 테스트 통과

? : 테스트를 수행하지 못했을 경우 ( 허가권 거부 )


> 옵션


-V : 검증 시 사용하는 기본 옵션 ( --verify )

-a : 모든 패키지 검사 시 사용


5) 리빌드(rebuild)모드 : rpm 소스 파일인 .src.rpm 파일을 패키지 파일로 만드는 모드


rpmbuild [option] 소스패키지


>옵션 


--rebuild : 소스 rpm 파일을 이용해서 rpm 패키지를 생성할 때 사용


yum


# yum ( Yellowdog Updater, Modified) 은 rpm기반의 시스템에서 패키지를 손쉽게 설치해주고 자동으로 업데이트를 수행하는 명령행 기반의 유틸리티 특히, rpm 패키지 설치 시 가장 많이 발생하는 의존성 문제를 자동으로 해결

# yum 의 환경설정 파일은 /etc/yum.conf, 설치 및 업데이트를 위한 저장소 관련 파일은 /etc/yum.repos.d 디렉터리에 저장됨. 이 디렉터리는 네트워크 작업용 저장소 파일인 CentOS-Base.repo, 로컬 시스템에서 CD-ROM이나 DVD-ROM 작업용 저장소 파일인 CentOS-Media.repo 등이 존재함

# yum 관련 작업 로그는 /var/log/yum.log에 저장


2-1) 사용법


yum [option] [command] [패키지_파일명]


> 옵션


-y : 모든 질의에 yes 라고 답함

-v : 자세한 정보 출력


> command


list [항목] : 전체 패키지에 대한 정보 출력 설치가 되어 있는 경우 istalled, 업데이트 가능 항목은 updates

# yum list all    // 전체 패키지 출력

# yum list installed     // 설치된 패키지 정보 출력


info [ 패키지명 ] : 패키지에 대한 정보를 출력

check-update : 업데이트가 필요한 패키지 출력

update [ 패키지명 ] : 패키지 업데이트 시 사용

install [ 패키지명 ] : 패키지 설치 시 사용 ( 의존성 관련 패키지도 자동 설치 )

search [ 문자열..] : 문자열이 포함 된 패키지를 찾아줌

remove 패키지명 : 패키지를 삭제할 때 사용

grouplist : 패키지 그룹에 대한 정보 출력

groupinfo 패키지그룹명 : 해당 패키지 그룹명과 관련된 패키지의 정보를 보여줌.

groupupdate 패키지그룹명 : 지정한 그룹의 패키지 업데이트

groupinstall 패키지그룹명 : 지정한 그룹의 패키지를 설치

groupremove 패키지그룹명 : 지정한 그룹의 패키지를 제거

whatprovides : 특정한 파일이나 기능과 관련된 패키지 정보를 검색할 때 사용

clean [값] : yum관련해서 저장된 정보를 삭제할 때 사용 설정 값에는 all, packages, rpmdb, dbcache 

history : yum 명령을 사용한 작업 이력 출력


2. dpkg


데비안 패키지 관리도구 


패키지 이름_버전-릴리즈-아키텍처.deb


2-1 ) 사용법


dpkg [option] [패키지명] [패키지 파일명]


> 옵션


-i 패키지 파일명 : 패키지를 설치할 때 사용 ( --install )

-R 디렉터리 명 : 설치하는 옵션인 -i 와 같이 사용되어 지정한 디렉터리 안에 있는 패키지를 설치 할 때 사용

-l : 설치되어 있는 패키지 출력 ( --list )

-I : 패키지 파일명 : 패키지 파일에 대한 정보 출력 ( --info )

-c 패키지 파일명 : 패키지 파일에 포함된 파일 정보 출력 ( --contents )

-L 패키지명 : 패키지가 설치한 파일 목록을 출력 ( --listfiles )

-r 패키지명 : 패키지를 제거하는데, 환경 설정 파일은 남겨둠 ( --remove )

-P 패키지명 : 환경 설정 파일까지 전부 제거 ( --purge )

-S 파일명 : 해당 파일을 설치한 패키지 이름을 출력 ( --search )

-C : 완전히 설치되지 않은 패키지에 대한 검사 실시 ( --audit )

--unpack 패키지파일명 : 환경설정은 하지않고, 패키지를 풀기만 함

--configure 패키지명 : --unpack 옵션으로 풀린 패키지를 환경설정할 때 사용

-a : --configure 시 패키지명 대신에 이 옵션을 사용하면 언팩 된 패키지들에 대한 환경 설정을 한다 ( --pending )

-s 패키지명 : 패키지에 대한 상태 출력 ( --status )


apt-get


# 데비안 리눅스 배포판에서 패키지 관리를 쉽게 하기 위해 제공되는 명령행 기반의 유틸리티로 레드햇 계열의 yum과 유사


apt-get [option] [command] [패키지명]


> 옵션


-y : 모든 질의에 yes라고 답

--purge : remove 명령 수행 시 환경설정까지 같이 제거 


> command


update : 패키지 목록을 갱신할 때 사용 ( /etc/apt/sources.list에서 관련 정보 가져옴 )

upgrade : 모든 패키지를 최신 버전으로 갱신 ( update 후 사용 )

install 패키지명 : 패키지 설치 시 사용

remove 패키지명 : 패키지 삭제 시 사용

clean : /var/cache/apt/archive에 생성된 파일 삭제



























































'Server > Linux' 카테고리의 다른 글

Linux // NTP  (0) 2018.03.30
Linux // Bonding ( 네트워크 이중화 )  (0) 2018.03.28
Linux // 부팅 프로세스  (0) 2018.03.21
Linux // RAID, quota  (0) 2018.03.19
Linux // 파일시스템 관리  (0) 2018.02.28

+ Recent posts