쉬운 프로그램의 설치, 삭제, 관리 등을 위해 독자적인 패키지 관리 기법을 만듦
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 |