패키지 관리

Linux/Linux (CentOS) 2018. 7. 4. 12:23

운영체제를 설치할 때 초기에 설치되는 기본프로그램 외 관리자나 사용자가 추가로 필요한 

소프트웨어를 설치할 필요가 있음

필요에 따라 소프트웨어 설치 관리 및 제거

사용자가 소프트웨어를 설치하고 관리할 수 있게 도와주는 프로그램 및 설치 방법이 다양하다



RedHat 계열 : RedHat , CentOS , Fedora

source code compile : ~~.tar.gz , ~~.tar.bz2 , ~~.tar,xz

RPM(RedHat Package Manager) : ~~.rpm

yum : ~~.rpm


Debian 계열 : Debian , Ubuntu , Kali , Mint

source code compile :

dpkg :

apt-get:





1. source code complie

- rpm으로 제공되지 않는 프로그램을 설치해야 할 때 사용함

- 일반적으로 소스코드 내부에 주석으로 설치방법이 명시되어 있거나 , readme 또는 install 이라는

   컴파일러가 반드시 팔요 함

   C 컴파일러(gcc 패키지) , C++ 컴파일러(gcc=c++ 패키지)


장점

- 설치가 진행될 때 전체 과정을 제어하며 세부 환경설정 및 설치 경로 지정이 가능 함


단점

- 컴파일 환경을 미리 준비해야 함

- 정확한 방법을 숙지하지 않으면 설치 시 에러가 많이 발생 함

- 설치 및 관리 시간이 오래 걸림

- 검증되지 않은 불법 소프트웨어가 설치 될 가능성이 있음



준비 단계

- 컴파일러 설치 : gcc , gcc-c++ , glibc(또는 glibc*)

- 설치를 원하는 소프트웨어의 source code 확보

- 직접 다운로드 또는 wget을 이용한 다운로드


wget 사용법

- #wget <소프트웨어의 다운로드 웹 주소>

ex) wget http://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz



환경 설정

# ./configure

- 소프트웨어 설치를 위한 시스템의 환경정보 설정 단계

- 도움말 확인 : ./configure --help




컴파일

# make

- 정상적으로 컴파일을 완료한 후에 설치파일을 실행 해야 함

- 오류가 발생했을 때 실패한 컴파일 삭제 : make clean

- 컴파일 된 소프트웨어 설치

# make install



소스 컴파일 환경에서 압축과 해제

- 리눅스에서 가장 많이 사용하는 압축 프로그램은 3가지가 있다 

- 이 압축 프로그램들은 단일 파일에 대해서만 압축이 가능하고 여러 파일들을 묶어서 압축할 수 없다


사용법 : [압축명령어]...[OPTION]...[FILE]


xz : 가장 압축률이 좋다


- 압축 : xz ping

- 압축 해제 : xz -d ping.xz   or       unxz ping.xz


bzip2 : xz 다음으로 압축률이 좋다.


- 압축 : bzip2 ping

- 압축 해제 : bzip2 -d ping.bz2    or   bunzip2 ping.bz2


gzip : 압축률이 가장 떨어진다


- 압축 : gzip ping

- 압축 해제 : gzip -d ping.gz  or  gunzip




tar : 여러 파일을 하나로 묶는 프로그램

사용법 : tar [OPTION]...[FILE]...


c : 파일 생성

x : 파일 해제

t : 파일 목록 확인

J : xz 압축 옵션

j : bzip2 압축 옵션

z : gzip 압축 옵션



일반적인 압축 파일 방법


file.tar.xz  : tar 로 여러 파일들을 묶고 xz 으로 압축 한다

file.tar.bz2 : tar 로 여러 파일들을 묶고 bzip2 로 압축한다

file.tar.gz : tar 로 여러 파일들을 묶고 gzip 으로 압축한다



===================================================================================


2. rpm

- 패키지 배포 및 관리 프로그램

- 사용자가 미리 확보한 패키지 파일(.rpm)을 이용하여 원하는 프로그램을 설치하는 방식



장점

- 패키지의 설치 및 제거가 편리함

- 패키지의 업그레이드가 편리함

- source code compile 방법 보다 설치 속도가 빠르다

- 설치할 패키지를 검증 할 수 있음

- 질의를 통해 패키지의 자세한 정보 확인이 가능 함



단점

- 사용자가 직접 필요한 패키지를 확보해야 함

- 설치 CD등을 통해 확보함

- 사용자가 직접 의존성을 해결해야 함


rpm 사용법 : rpm [OPTION] COMMAND


rpm 옵션

-i : 패키지설치

-U : 패키지 업그레이드

-e : 패키지 삭제

-q : 패키지 질의

-v : 패키지 설치 시 메세지 출력

-h : 패키지 설치 시 해쉬(#) 출력

-V : 패키지 검증

--force : 강제 설치

--nodeps : 의존성 무시 



rpm 패키지 형식

패키지명    mc - 4.7.0.2 - 6.el6.x86_64.rpm

                   l         l               l         l

                   l         l               l         +----- 아키텍쳐

                   l         l               +----- 배포판 버전

                   l         +----- 버전

                   + ----- 패키지명


- x86_64 : 바이너리 64bit

- i386      : 바이너리 32bit

- i485      : 바이너리 32bit

- i586      : 바이너리 32bit

- i686      : 바이너리 32bit

- src        : 소스

- ppc64   : 바이너리 32bit

- s390     : IBM 메인프레임

- arm      : ARM CPU







3. yum

- 패키지 배포 및 관리 프로그램

- 네트워크에 존재하는 패키지 서버로부터 필요한 패키지를 다운하여 설치까지 완료 함


사용법 : yum [OPTION] COMMAND


장점

- rpm의 의존성 문제를 해결 함

- 패키지를 별도로 확보할 필요가 없음

- 자동화 되어 있는 설치 및 삭제를 지원

- update 된 패키지를 검사하여 최신 패키지를 설치함


단점

- 서버에서 서비스를 중단하면 서비스를 받을 수 없음

- 불필요한 패키지가 설치될 가능성이 있음




yum 명령어 :

- chech - update : 업데이트 검사

- groupinstall      : 패키지 그룹 설치

- grouplist          : 패키지 그룹 리스트 확인

- groupremove    : 패키지 그룹 삭제

- info                  : 패키지 정보 확인

- install               : 패키지 설치

- list                   : 패키지 개별 리스트 확인

- reinstall           : 패키지 재설치

- repolist            : 패키지 저장소 확인

- search              : 패키지 검색

- update              : 패키지 업데이트

'Linux > Linux (CentOS)' 카테고리의 다른 글

리눅스 기본 설명  (0) 2018.07.05
쉘스크립트  (0) 2018.07.04
프로세스  (0) 2018.07.04
사용자 그룹  (0) 2018.07.03
디스크 추가 및 관리  (0) 2018.07.03

설정

트랙백

댓글