본문 바로가기

Linux/CentOS Linux 6.5

Chapter 6. Package

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