소프트웨어 추가 설치하기(RPM, SOURCE CODE, YUM)

 

소프트웨어 추가/삭제하기

@RPM(RedHat Package Manager)
-시스템을 운영하면서 필요한 패키지가 설치되어 있지 않은 경우 추가적으로 패키지를
 설치하거나 혹은 불필요한 패키지를 삭제해야하는 경우가 있음


-RedHat 계열의 리눅스는 RPM 형태의 바이너리 패키지로 배포가 됨

-RPM이란,Red Hat에서 만든 패키지 배포 및 관리 프로그램으로 리눅스 소스 및 컴파일 된
 프로그램의 배포, 업그레이드 관리 등을 쉽게 하기 위해 프로그램과 설정 파일 등을 하나로
 묶어 만든 것을 말함

-윈도우에서 Setup,Install등을 사용하듯이 쉽게 필요한 피키지를 설치/삭제할 수 있음

   

RPM의 장점
-쉬운 패키지 설치/제거 가능
-패키지 업그레이드가 간단
-설치 시간이 컴파일 하는 경우보다 빠름
-패키지의 검증이 가능
-질의를 통하여 패키지에 대한 자세한 정보 확인 가능

   

   

# rpm [option][RPM패키지 파일 이름]
OPTION

-v : 설치되는 패키지 메시지 출력
-vv : 자세한 디버깅 정보 출력
-h : 패키지를 설치할 때 해시마크(#)출력
-U : 패키지를 새로운 버전으로 업그레이드,-i 옵션과 함께 사용할 수 없음
     단, 패키지가 없는 경우에는 -i 옵션과 동일함


--replacepkgs : 패키지를 교체,패키지가 설치되어 있어도 다시 설치
--replacefiles : 동일한 파일명이 있으면 교체
--oldpackage : 예전 패키지로 교체할 때 사용
--force : --replacepkgs,--replacefiles,--oldpackage옵션을 모두 사용한 것
--percent : 패키지 파일을 설치할 때 퍼센트 표시
--includedocs : 문서 파일 포함
--excludedocs : 문서 파일은 설치하지 않음
--nodeps : 패키지의 의존성을 무시
--aid : 의존성을 검사하여 의존성 피키지를 자동으로 설치
--test : 패키지를 실제 설치하지 않고 충돌 사항을 점검하여 보고

   

   

RPM을 이용하여 패키지 설치하기
① 일반적인 패키지 설치
- # rpm -ivh [피키지파일]
② 설치되어 있는 패키지 교체
- # rpm -ivh [패키지파일] --replacepkgs

③ 의존성 에러 존재 시 무시하고 설치할 경우
- # rpm -ivh [패키지파일] --nodeps
- 패키지 의존성이란? : 어떠한 패키지를 설치할 때 패키지의 동작을 위하여 기본적으로 필요로
  하는 패키지가 있어야 하는 것을 말함
④ 의존성 에러 존재 시 의존성이 있는 패키지들을 먼저 설치한 후 자동으로 설치
- 첫번째 방법 : 에러가 나는 의존성을 따라가며 설치하기
- 두번째 방법 : rpm -ivh [패키지파일] --aid
⑤ 기존 패키지를 업그레이드 하기(설치되어 있지 않은 경우 rpm -ivh 옵션과 동일함)
- # rpm -Uvh [패키지파일]

   

   

RPM 패키지 제거
# rpm -e [option] [패키지 이름]
OPTION
--nodeps : 패지기의 의존성을 무시
--test : 패키지를 실제 제거하지 않고 충돌 사항을 점검하여 보고

   

① 일반적인 패키지 삭제
- # rpm -e [패키지이름]
② 삭제하기 전 의존성이나 충돌 사항 점검
- # rpm -e [패키지이름] --test
③ 의존성 에러 무시하고 강제 삭제
- # rpm -e [패키지이름] --nodeps

   

   

RPM 패키지 질의하기
# rpm -q [option]
OPTION
-a : 모든 패키지에 대해 질의를 수행
-f : 파일에 대한 패키지 질의를 수행
-p : 설치되거나 설치되지 않은 패키지 파일에 대한 질의 수행
-i : 패키지 이름,버전,설명 등의 정보 출력
-R : 대상 패키지와 의존서이 있는 패키지 목록 출력
--provides : 패키지가 제공하는 기능 출력
-l : 패키지에 포함되어 있는 파일 출력
-s : 패키지에 포함되어 있는 파일의 상태 출력.
     normal=정상,not installed=설치되지 않음,replaced=다른 것으로 교체
-d : 문서 파일만 출력
-c : 설정 파일만 출력
--scripts : 설치와 제거 과정에서 사용되는 쉘 스크립트가 있다면 쉘 스크립트 출력
--dump : 수정일,MD5 체크섬?,모드,소유자 및 그룹,설정 파일 여부,문서 파일 여부,심볼릭 링크 여부등의
         정보를 덤프(-l,-c,-d옵션 중 하나는 반드시 함께 사용해야 함)

   

① 시스템에 설치되어 있는 RPM 패키지 리스트 확인(모든 패키지)
- # rpm -qa
② 특정 패키지의 설치 여부 확인
- # rpm -q [패키지명]
- # rpm -qa | grep [피키지명에 포함된 패턴]
③ 특정 파일이 속해 있는 패키지 확인
- # rpm -qf [파일이름]
④ 설치된 패키지에 포함되어 있는 파일 출력(모두)
- # rpm -ql [패키지명]
⑤ 설치된 패키지 파일들의 상태 점검
- # rpm -qs [패키지명]

   

   

   

@YUM(Yellodog Updater Modified)
- RPM 명령의 패키지 의존성 문제를 해결


- 인터넷을 통하여 필요한 파일들을 저장소(Repository)에서 다운로드 해서 설치하는 방식,
  또한 의존성을 가지는 다른 RPM 패키지까지 알아서 다운로드하여 설치

- Update된 패키지들을 검사하고,다운로드하여 설치까지 진행

   

# yum [option] [mode] [패키지이름]
OPTION
-y : 설치 여부를 묻지 않고 바로 설치함

   

MODE
install : 패키지를 설치함
check-update : 설치된 패키지 중에서 업데이트가 가능한 패키지 목록 출력
update : 피키지를 업데이트 함
remove : 패키지를 삭제
info : 패키지의 정보 출력
localinstall : 다운로드한 RPM 패키지를 설치

   

① 특정 패키지 설치
- # yum install [패키지이름]
- # yum -y install [패키지이름]
- -y옵션을 사용할 경우 패키지 설치 여부를 묻지 않고 바로 설치를 진행
② 패키지 정보 보기
- # yum info [패키지이름]
③ 패키지 제거
- # yum remove [패키지이름]
- # yum -y remove [패키지이름]
- -y옵션을 사용할 경우 패키지 설치 여부를 묻지 않고 바로 제거를 진행(만약 의존되어 있는 패키지가 있다면
   모두 삭제가 되므로 주의)
④ 업데이트 가능한 패키지 검색
- # yum check-update
⑤ 패키지 업데이트
- # yum update -> 모든 패키지 업데이트
- # yum update [패키지이름] -> 특정 패키지 업데이트

   

   

   

@SOURCE CODE INSTALL
- Red Hat 계열의 리눅스 운영체제는 거의 모든 패키지가 RPM으로 제공되지만,제공되지 않는 경우도 있으므로
  소스코드를 이용하여 설치해야 하는 경우도 있음

- 소스코드의 설치는 각 패키지마다 그 설치방법이 다르지만,README 또는 INSTALL 파일이 소스파일 내에
  포함되어 있어 설치 방법에 대한 문서를 제공하고 있음

- 소스코드를 이용한 설치이므로 컴파일 과정에서 컴파일러가 필요함
  C컴파일러=gcc 패키지, C++컴파일러=gcc-c++패키지

   

일반적인 소스코드의 설치 방법(과정)
① 컴파일 환경 설정 - # ./configure
                                 # ./configure --prefix=[디렉토리] -> --prefix옵션을 사용하여 설치 디렉토리 지정 가능
- 환경 설정을 위한 옵션확인은 # ./configure -help 명령어를 이용
② 컴파일 - # make
- 만약 비정상 종료됬을 경우 make된 내용을 초기화 하기 위해 # make clean 명령어를 이용할 수 있음
③ 컴파일된 패키지 설치 - # make install

※소스코드 설치를 위하여 소스코드 구하기
-> # wget [파일이 위치한 웹주소] -> 웹 상의 URL로 바로 파일 다운로드
-> 소스코드 압축 풀기

 

출처 - http://hackjoo93.blog.me/100153878721

'System > Linux' 카테고리의 다른 글

/etc/profile, ~/.bash_profile, ~/.bashrc, /etc/bashrc  (0) 2012.04.05
CentOS 기본 설치 방법 옵션별 패키지  (0) 2012.03.31
Centos6에서 resolv.conf 이슈  (0) 2012.03.09
SELinux  (0) 2012.03.09
Live CD  (0) 2012.03.07
Posted by linuxism
,