[ Basic ] Package 와 Tar

ETC 2013. 4. 22. 14:14

[ 패키지 ]

 리눅스에는 RPM 과 YUM 이라는 두 가지 방식의 패키지 인스톨러가 존재하는데,

일반적으로 서버 관리자는 자신에게 맞는 패키지만 설치하는 RPM 수동설치가 좋으리라 생각한다.

기초나 , 실습시간에는 대부분 편의적인 YUM을 쓰게 될 것이다.

 


[ RPM ] - Redhat Package Maneger

 

Vim-enhanced-7.0.109-3.i386.rpm 이라는 패키지가 존재한다

 

Vim-enhanced-   :  - - 까지가 패키지명이다. - - 마저 없는 것은 완벽한 대표패키지이다.

 

7 : Major 버젼의 상태. 프로그램이 완전히 한 차원 혁신 또는 뒤집어진다면 이 버젼이 보통 올라간다.
0 : Minor 버젼의 상태. 기능의 추가 정도가 있을 때 , 이 버젼이 보통 올라간다.
109 : patch 버젼의 상태. 보통 버그를 수정했을 때 패키지의 이 버젼이 올라간다.
3 : release 버젼의 상태. 배포하는 곳에서 이 패키지가 몇 번째로 재 배포했는지를 나타낸다.
i386 : 실행환경의 아키텍쳐를 나타낸다. i386 이라 함은 구형 - 최신형까지 전부 호환됨을 나타낸다.
(intel 호환 386 cpu 급 이상을 의미)

 

rpm 패키지 설치에서 여러 옵션이 존재하지만, 주로 실무에서 알아야 할 것은 다음의 옵션이다.

 

1. 패키지 설치 : rpm -ivh [ 패키지의 전체 풀 네임.rpm ]
2. 패키지 삭제 : rpm -e [ 패키지 명 ]
3. 패키지 확인 : rpm -qa | grep [ 패키지 명 ]

 

i : install
h : 설치진행상황을 해쉬 (hash) 마크 ### 로 보여준다
v : 진행상황을 자세히 보여준다. ( verbose )

 


[ 패키지의 의존성 Dependedncies 주의사항 ]

1. 패키지 설치 시 의존성 오류 Failed dependencies 를 절대 무시하면 안된다.
2. 의존성 오류를 제기한 해당 패키지부터 해결한 후 재시도한다.
3. lib ~ so.5 등으로 시작하는 의존성 오류일 경우, 특수한 상황을 제외하고는 무시해도 좋다.
4. 위의 경우 --nodeps 로 강제 설치할 수 있지만, 해결할 수 없는 방법이 전혀 없을 때를 제외하고는 쓰지 않는다.
5. 모든 작업은 보통 대표 패키지명 ( - -가 없는 ) 부터 설치한 후, 리스트를 순차적으로 작업한다.

 

 


[YUM] - Yellowdog Updater Modified

 

 레드핫에서는 처음에 지원하지 않다가 페도라 코어 프로젝트로 건너오면서, 포함되게 되었다.
알아서 해당 패키지명만 입력해도, 인터넷에서 자동검색하여, 자동다운로드 - 자동설치 - 자동 의존성 검사 - 자동업데이트까지 해주는 매우 발전적인 패키지 관리자이다.
과거의 수동방식이던 RPM 에 비하여 초심자들에게 엄청나게 편리한 관리자라고 할 수 있으나, 사용자가 원하지 않는 관련 패키지까지 모두 업데이트하므로, 필요한 커스텀만 사용할 서버관리자에게 있어서는 부적절한 패키지 관리자라 할 수 있다.

 

가령, 시스템이 외부와 공인 통신이 불가능한 상태의 위기에 처했을 때,  YUM 만 알고 해당 관련 RPM 의 설치 경험이 없다면, 그건 이미 실격인 것이다. 평소에 FTP 에 업로드되는 관련 패키지들을 따로 CD나 USB로 모아 두었다가, 중요 패키지의 수동 설치법을 RPM 으로 익혀 두는 것은 서버 관리자의 기본 의무라고 할 수 있겠다.


기본 리스트 보기 - #yum list
업데이트 #yum update
새 패키지 설치 #yum install [패키지 네임] ( 해당 관련 모든것들이 한번에 다운로드-설치된다 )
패키지 삭제 #yum remove [ 패키지 네임 ]

-y 옵션 : 진행시 y/n 를 묻지 않는다.

 


[TAR]

리눅스에서 자주 사용되는 파일 묶음 아키텍쳐 ( 압축도 가능하다 )


[ 압축하기 ]

gzip , bzip 두 종류가 존재한다.

압축하기 : gzip [ 압축할 파일 경로 ]

압축 풀기 : gzip -d [ 압축된 파일 경로 ]

gzip 은 그냥 해당 파일을 바로 압축해버리면서 .gz 로 묶인다.

bzip은 gzip 에 비해 압축 효율이 조금 더 개선된 버젼으로 다른 사항은 동일하다.

 
[ 파일 묶기 ]

tar 를 사용한다.
tar 는 여타 일반 커맨드와는 달리 [대상경로][목적지] 의 형식이 아닌 [목적지][대상경로] 임을 유의.
즉 tar 는 [작업후 묶인 파일명][묶을 파일 경로] 로 입력하여야 한다.

즉, 여러 파일을 tar 로 묶고 압축하고 싶을 경우에는, 먼저 "묶고" , 그 다음에 압축해야 한다.
이를 한 번에 실행하는 옵션을 외우도록 한다.

 


[ TAR + GZIP 을 동시에 ]

 

 

1. tar 파일로 /backup/ 의 모든 파일들을 묶는다
#tar cvf test.tar /backup/

 

2. tar 파일로 묶으면서 동시에 gzip 압축을 행한다
#tar cvfz test.tar.gz /backup/

 

c 옵션 : create. 새 묶음(tar)를 만든다.
v 옵션 : visual. 진행과정을 보여준다.
f 옵션 : file. 묶을 파일명을 개별 입력할 수 있다.
z 옵션 : +gzip ( j 를 쓴다면 bzip 형식으로 압축을 행한다 )

 


3. test.tar.gz 파일을 압축해제하고 묶음을 동시에 푼다.
#tar xvzf test.tar.gz 

x 옵션 : 묶은 파일을 풀어준다.

블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,