글
패키지 관리
운영체제를 설치할 때 초기에 설치되는 기본프로그램 외 관리자나 사용자가 추가로 필요한
소프트웨어를 설치할 필요가 있음
필요에 따라 소프트웨어 설치 관리 및 제거
사용자가 소프트웨어를 설치하고 관리할 수 있게 도와주는 프로그램 및 설치 방법이 다양하다
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 |