Chapter 6. Package
1. Package
- Linux의 Program File의 설치는 Windows의 install File 대신에 Package File이 존재한다.
- Linux의 Source Program 설치 과정
· 일반적인 C Programing 과정
· tar
· rpm
2. File 압축
- Linux도 Windows와 마찬가지로 압축 기능이 존재한다.
- Linux에서는 File 여러 개를 한 번에 압축하는 것이 불가능해서 여러 File을 압축하기 위해서는 tar 명령어를 이용해 묶은(보관) 후 gzip 또는 bzip2를 이용해 압축해야한다.
- Linux의 보관 & 압축 형식 종류
· 보관
◦ tar
· 압축
◦ gzip & gunzip
◦ bzip2 & bunzip2
※ gzip보다 bzip2가 압축 효율이 뛰어나다.
- Linux의 압축 명령어
· tar
◦ Tape 보관(Tape Archive)을 의미한다.
◦ 여러 개의 File을 묶어주는 명령어의 종류로 확장자 tar의 File을 생성한다.
◦ Option
Option |
설명 |
c |
새로운 묶음 생성(Create) |
x |
묶인 파일 해제(Extract) |
t |
묶음을 풀기 전에 목록을 보여줌(List) |
f |
묶음 File명 지정(File) |
v |
압축 또는 압축해제 과정 보여줌(Verbose) |
z |
tar + gzip |
j |
tar + bzip2 |
· gzip & gunzip
◦ 압축 명령어의 하나이다.
◦ gunzip 대신 gzip -d를 사용할 수도 있다.
· bzip2 & bunzip2
◦ 압축 명령어의 하나이다.
◦ bunzip2 대신 bzip2 -d를 사용할 수도 있다.
3. RPM(Redhat Package Manager)
- Linux는 Program을 설치한다고 하지 않고 Package를 설치한다고 하며 확장자 RPM File을 이용해 설치한다.
- RPM File을 설치할 때 해당 File에 의존성이 있는 File을 먼저 설치해야 하며 그렇게 하지 않을 시 설치가 시작되기 전 오류가 발생한다.
- RPM Package File의 구성
· Package Name : Package File의 이름
· Major Version : Program 자체가 완전히 변경 되었을 경우 변경하는 숫자
· Minor Version : Program에 기능 추가가 있을 경우 증가하는 숫자
· Patch Version : 기존의 기능에서 버그가 수정되는 경우 증가하는 숫자
· Release Version : 배포하는 측에서 몇 번째로 만든 배포판 인지를 나타내는 숫자
· Architecture : 사용 가능한 CPU에 따라 달라진다.
◦ i386 : intel 호환 386 CPU급 이상
◦ i586 : intel 호환 586 Pentium 급 CPU 이상
◦ i686 : intel 호환 686 Pentium Pro 급 CPU 이상
◦ x86_64 : x86호환 64bit CPU급에 사용가능(ex. AMD 64bit CPU, Intel EM64T 지원 CPU 등)
◦ noarch : Platform에 상관없이 설치되는 File들(ex. 글꼴 File, 그림(배경) File, Icon 등)
◦ sparc : SunMicro System의 sparc 계열 CPU용
◦ ppc : Power PC CPU용
◦ src : Source Package, RPM Build Program을 사용하여 binary Package 위의 i386, noarch, ppc 등의 Package를 만들 수 있다.
- RPM File 명령어
· Mode
◦ Install
▹ rpm -i [rpm File]
▹ Package 설치 명령어로 설치가 되어 있는 경우 Version에 상관없이 설치할 수 없다.
▹ Package 설치 시 Package의 Full name을 써줘야 한다.
◦ Upgrade
▹ rpm -U [rpm File]
▹ 동일 Package가 없을 때는 Install Mode와 같은 작용을 한다.
▹ 동일 Package가 있을 때 Version 비교 후 Version이 낮다면 이전 Version을 삭제하고 새 Version을 설치한다.
◦ Freshen
▹ rpm -F [rpm File]
▹ 동일 Package가 있을 때만 Version 비교 후 Version이 낮다면 이전 Version을 삭제하고 새 Version을 설치하며 동일 Package가 없을 때는 아무일도 하지 않는다.
◦ Erase
▹ rpm -e [rpm Package Name]
▹ Package를 삭제한다.
▹ Package 삭제 시 Package name만 써줘야 한다.
· Option
Option |
설명 |
-v |
작업 과정 보이기(Verbose) |
-h |
작업 진행 상황을 #으로 보이기(hash) |
--test |
작업을 Test만 하며 실제로 설치/삭제는 하지 않음 |
--force |
작업을 강제로 하며 무시 가능한 에러는 무시하며 같은 Package는 덮어씌움 |
--nodeps |
Package의 의존성을 검사하지 않고 작업진행(no dependancy) |
· Questionary Option
Option |
설명 |
-q [name] |
Name Package의 전체 이름(Version 포함) 조화 |
-qa |
System에 설치된 Package 전체 목록 조회 |
-ql [name] |
Name Package의 File List를 조회(Install File) |
-qd [name] |
Name Package의 File List 중에 문서 File만 조회 |
-qc [name] |
Name Package의 File List 중에 설정 File만 조회 |
-qf [file] |
File이 어느 Package에 속해 있는지 조회 |
-qs [name] |
Name Package의 현재 File 목록 상태 조회(normal 정상, not installed 설치도지 않음 , replaced 내용상이) |
-qR [name] |
Name Package가 필요로 하는 의존성 조회 |
-qi [name] |
Name Package의 Package 정보조회(Package name, 종류, 용량 등) |
· 보편적으로 가장 많이 사용되는 명령어
- Package 작업(설치, 삭제 포함) 시 주의 사항
· 의존성 오류(Failed Dependencies)를 절대 무시하지 않는다.
· 의존성 오류를 제거한 Package를 먼저 작업한다.
· Directory 형태는 Package가 아니므로 무시한다.
· 가급적 --nodeps를 사용하지 않는다.
· lib으로 시작하고 중간에 내가 있는 것은 Package가 아니므로 무시한다.
· 모든 작업은 항상 대표 Package를 먼저 작업한다.
· 항상 Version을 일치시키도록 한다.
4. YUM(Yellow dog Updater, Modified)
- 지정된 Server 주소로부터 Update 된 Package된 Package들을 검사하여 Download하고 설치하는 Text 기반 Update Program
- 의존성 문제도 같이 검사해 관련 Package들을 자동으로 설치해준다.
- YUM의 치명적인 단점
· Internet이 연결되어 있지 않다면 명령이 실행되지 않는다.
- YUM 명령어
· Update 가능한 Package 확인
· 최신 Package로 Update
· Package 설치
· Package 삭제
※ -y : 확인 문구 없이 바로 설치
'Linux > CentOS Linux 6.5' 카테고리의 다른 글
Chapter 8. Mount (0) | 2015.08.07 |
---|---|
Chapter 7. Partition (0) | 2015.08.07 |
Chapter 5. 허가권(Permissions) & 소유권(Ownership) (0) | 2015.08.07 |
Chapter 4. 사용자(Users) & 그룹(Group) (0) | 2015.08.07 |
Chapter 3. VI Editor (0) | 2015.08.07 |