Chapter 4. 패키지 관리
배포판별 패키지 관리 (기본 패키지 관리 / 온라인 패키지 관리)
래드햇 : RPM / YUM
데비안 : Dpkg / apt-get
수세 : YaST / Zypper
소스파일 설치 단계
configure : 소스 프로그램의 환경설정. 컴파일을 위한 컴파일러, 라이브러리, 유틸리티 등을 찾아내 Makefile 생성
make : Makefile을 읽어 소스코드에서 실행 가능한 프로그램과 라이브러리를 자동 빌드.
: 타겟과 의존성 관련 작업 후 최종 실행파일 생성
make install : 컴파일된 실행파일을 지정한 속성으로 지정된 디렉터리에 설치
ex) ./configure —prefix=/usr/local/apache (설치되는 디렉터리 설정)
ex) make \ make clean \ make install
RPM : 래드햇 계열의 패키지 관리 기법 (패키지이름-버전-릴리즈.리눅스버전.아키텍쳐.rpm 형식)
ex) httpd-2.4.41-5.fc29.x86_64.rpm
tar [option] [파일명] : tape archive. 파일을 묶기 위한 명령어 (인자값이 여러개인 옵션사용의 경우 -사용)
c : tar 파일 생성
x : tar 파일 압축해제
v : 명령 실행시 대상 파일 출력
-f 파일명 : 작업 대상이 되는 tar파일 지정 (--file=)
r : 기존 tar 파일에 파일 추가
t : tar 파일 내 파일 목록 출력
h : 심볼릭 링크가 가리키고 있는 원본 파일 저장
C : 디렉터리 변경 (--directory=)
p : 파일 생성시의 권한 유지 설정
Z : .Z 관련 옵션 (--compress, --uncompress)
z : gzip 관련 옵션 (--gzip)
j : bz2 관련 옵션 (--bzip2)
J : xz 관련 옵션 (--xz)
ex) tar Jxvf php-5.5.4.tar.xz –C /usr/local/src
compress [option] 파일명 / uncompress [option] 파일명
: .Z 파일의 압축 관련. 현재는 비주류. (래드햇의 경우 ncompress 설치 필요)
-c : tar과 병행시 사용하는 표준 출력 지정 옵션
-v : 압축 관련 정보 출력
gzip [option] 파일명 / gunzip [option] 파일명 : .gz파일에 대한 압축
-d : 압축해제 (--decompress / --uncompress)
-1 / -9 : 빠른 압축. (--fast) / 최대 압축 (--best)
-c : tar과 병행시 표준출력
-l : 압축 파일에 대한 정보 출력 (--list)
-r : 하위 디렉터리까지 처리 (--recursive)
-v : 진행과정을 이름과 퍼센트로 출력 (--verbose)
bzip2 [option] 파일명 / bunzip2 [option] 파일명 : 블록정렬 알고리즘과 허프만 부호화를 이용한 .bz2 압축
-gzip과 동일 (-d, -1, -9, -c, -f)
xz [option] 파일명 / unxz [option] 파일명 : 가장 높은 압축률을 가지는 xz 압축
-z : 압축시 기본옵션.
-d : 압축 해제 (--decompress, --uncompress)
zip [option] 압축파일명 파일명 / unzip 압축파일명 : zip파일에 대한 압축
-r : 하위 디렉터리 포함
gcc [option] 파일명 : GNU 프로젝트에 의해 개발된 C컴파일러 도구
-o : 실행 파일 이름 지정
-c : 목적파일만 생성. .o 파일
rpm [option] [패키지_파일명] : 래드햇의 패키지 관리 도구
rpm 설치 및 갱신옵션
-i : 패키지 설치
-U : 패키지 업그레이드
-F : 이전 버전이 설치되어 있는 경우에만 설치
-v : 자세한 내용
-h : 설치상황을 #으로 표시
--force : 강제 설치
--nodeps : 의존성 관계 무시
-vv : 아주 자세한 내용
--test : 패키지 실제 설치 전 테스트
--rebuilddb : rpm 데이터베이스 업데이트
rpm 제거 옵션
-e : 패키지 제거 ()
--nodpes : 의존성 무시
--test : 실제 제거 전 테스트
--allmatches : 중복 설치된 동명의 패키지 삭제
rpm 질의 옵션
-q : 질의 (--query)
-i : 설치된 패키지 정보 출력 (--info)
-l : 패키지에서 설치한 모든 파일 정보 출력 (--list)
-a : 시스템에 설치된 모든 패키지 목록 출력 (--all)
-p 패키지_파일명 : rpm 패키지 파일에 대한 정보 출력 (--package)
-f 파일명 : 지정한 파일을 설치한 패키지 이름 출력 (--file)
-c : 해당 패키지의 설정파일 혹은 스크립트 파일 출력 (--configfiles)
-d : 해당 패키지의 문서 파일 출력 (--docfiles)
-R : 패키지의 의존성 출력 (--requires)
--changelog : 특정 패키지의 바뀐 내역 출력
--scripts : 설치 및 제거 관련 스크립트 출력
--filesbypkg : rpm패키지가 많을 경우 파일 앞에 패키지명 붙이고 출력
--queryformat : 질의의 결과를 원하는 형태로 출력 (--qf)
rpm 검증모드 : -V (--verify) 옵션 사용
S / M / 5 / D 등.
rpmbuild [option] 소스패키지 : rpm 소스파일인 .src.rpm 파일을 패키지로 생성
--rebuild : rpm 패키지 생성
ex) rpmbuild —rebuild gftp-2.0.19-8.fc18.src.rpm
yum : rpm 패키지 설치시 의존성 자동으로 해결해주는 패키지 관리 도구
/etc/yum.conf : yum 환경설정 파일
/etc/yum.repos.d : 설치 및 업데이트를 위한 관련 파일 모음 디렉터리
/var/cahce/yum/x86_64/6/base : 작업 관련 정보
/var/log/yum.log : yum 관련 작업로그
CentOS-Base.Repo : 네트워크 작업용 저장소 파일
ㆍbase : yum 패키지 서버의 기본 경로 설정
ㆍupdates : 업데이트 된 패키지를 위한 경로 설정
ㆍextras : 유용하게 쓸 수 있는 추가 패키지 경로 설정
ㆍcentosplus : 존재하는 패키지들의 기능적 확장과 관련 있는 패키지 설정
ㆍcontrib : CentOS 사용자들에 의해 제작된 패키지 경로 설정
yum [option] [command] [패키지_파일명]
-y : 모든 질의에 yes (--assumeyes)
-v : 자세한 정보 출력 (--verbose)
yum [command]
list [항목] : 전체 패키지에 대한 정보 출력
info [package] : 패키지에 대한 정보
check-update : 업데이트가 필요한 패키지 출력
update [package] : 패키지 업데이트
install [package] : 패키지 설치
search [string] : 검색
remove / erase : 패키지 삭제
grouplist : 패키지 그룹에 대한 정보 출력
groupinfo / groupupdate / groupinstall / groupremove 패키지그룹명
: 지정한 패키지 그룹 정보 검색, 업데이트, 설치, 삭제
whatprovides : 특정한 파일이나 기능과 관련된 패키지 정보 검색
clean [값] : yum관련 저장된 정보 삭제. all, packages, rpmdb, dbcache 등
history [sub-command] : yum 작업이력. list, info, summary 등
정적 링크 라이브러리 : 컴파일시 실행파일에 포함되어 배포 되는 방식의 라이브러리 (빠르지만 무거움)
동적 링크 라이브러리 : 필요 할 때만 메모리에 적재되어 작동하는 라이브러리
공유 라이브러리 : 메모리 낭비를 줄이기 위해 응용프로그램에 동적으로 링크되어 공유되는 라이브러리 (.so)
ㆍ의존성 : 동적으로 링크된 프로그램이 실행되기 위해 공유 라이브러리가 필요한 경우
ㆍ링크 : 동적으로 링크된 파일의 실행을 위한 동적 링커인 ld.so에 지정된 라이브러리 탐색
ㆍ/lib, /usr/lib : 공유 라이브러리 디렉터리. 기본명령어 및 응용프로그램
ㆍ/etc/ld.so.conf : 추가적인 라이브러리 관련 디렉터리 등록 파일
ㆍ/etc/ld.so.cache : ld.so.conf 파일을 기반으로 라이브러리 파일 목록 정보 저장
ldconfig [option] [라이브러리] : 공유 라이브러리 관련 정보 갱신 및 설정
-p : 현재 캐시에 저장되어 있는 공유 라이브러리 목록 출력
-v : 명령 실행과 관련된 자세한 정보 출력
-f : /etc/ld.so.conf 파일 대신 다른 환경 설정 파일 지정
ldd [option] 파일명 : 특정 파일이나 프로그램이 의존하고 있는 공유 라이브러리 정보 출력
-v : 관련 라이브러리 정보를 자세히 출력 (--verbose)
-f : /etc/ld.so.conf 파일 대신 다른 환경 설정 지정
'Certification > 리눅스마스터' 카테고리의 다른 글
리눅스 마스터 1급 2차 정리 7 - 시스템 보안 및 관리 (0) | 2021.11.02 |
---|---|
리눅스 마스터 1급 2차 정리 6 - 장치 관리 (0) | 2021.11.02 |
리눅스 마스터 1급 2차 정리 4 - 프로세스 관리 (0) | 2021.11.02 |
리눅스 마스터 1급 2차 정리 3 - 파일 관리 (0) | 2021.11.02 |
리눅스 마스터 1급 2차 정리 2 - 사용자 관리 (0) | 2021.11.02 |