강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

SULINUX 시스템관리 1편

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문



제목 : SULINUX 시스템관리 1편





ㅇ 제작 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 서버관리팀


ㅇ SULINUX  홈페이지 : www.sulinux.net

ㅇ 리눅스포털 홈페이지 : www.superuser.co.kr

SULinux 시스템 관리

주요내용

 

-. 시스템관리 기본 사항

-. 관리용 명령어 사용법


1. yum을 이용한 업데이트 및 패치


SULinux는 패키지 기능 업데이트 및 보안 패치 등에 있어 신속하고 편리한 방법을 제공하고 있다. 신규 패키지가 등록되면 간단한 업데이트 명령을 통해 쉽게 패키지를 업데이트 할수 있으며, SULinux 홈페이지에서 보안 버그 및 패치 등록 여부를 신속하게 공지하여 항상 안정적이고 최신의 패키지를 유지할 수 있게 지원하고 있다.


1-1. 업데이트 방법


SULinux는 rpm패키지를 이용한 yum이라는 명령어로 기능 및 보안 업데이트 쉽고 신속하게 진행할 수 있다.


yum 동작에 필요한 설정은 /etc/yum.conf 파일에 기록되어 있다.


PIC377.gif

[그림] /etc/yum.conf 내용


[main]이하는 yum 동작을 위한 설정의 내용이다.

필    드

설    명

예    제

cachedir

업데이트를 위해 다운받은 패키지들을 임시로 저장하는 경로

cachedir=/var/cache/yum

 logfile

업데이트 내역을 기록하는 로그 파일의 위치

logfile=/var/log/yum.log


yum 사용법


설정사항에 이상이 없다면 바로 업데이트 명령을 통해 패키지를 업데이트 할 수 있다.


[root@localhost ~] # yum update

 설정파일에 있는 경로를 참고하여 업데이트 서버에 접속한 뒤, 현재 시스템의 패키지들과 업데이트 서버의 패키지들을 비교하여 최신의 패키지를 모두 업데이트 하게 된다. 만일 특정한 패키지들만 업데이트 하고자 하는 경우에는 원하는 패키지를 별도로 지정해 준다.

 

[root@localhost ~] # yum update [package_name1] [package_name2]

패키지를 업데이트하기 전에 업데이트된 패키지가 있는지를 체크하기 위해서는 아래와 같이 체크옵션을 사용한다.

 

[root@localhost ~] # yum check-update

check-update의 경우 현재 시스템에 설치된 패키지를 기준으로 업데이트 목록을 출력해주기때문에 업데이트 서버에는 등록되어 있지만 현재 시스템에 설치되지 않은 패키지 목록은 볼 수 없다.

 

[root@localhost ~] # yum list

업데이트 서버에 있는 모든 패키지 목록을확인할 수 있다.

 

[root@localhost ~] # yum list installed

반대로 현재 시스템에 설치되어 있는 패키지 목록을 확인 한다.

[root@localhost ~] # yum install [패키지명]

yum을 이용하면 기존 설치되어 있는 프로그램의 업데이트뿐만 아니라 시스템에 아직 설치되어 있지 않은 새로운 패키지들도 검사하여 설치가 가능한다. 아래는 예제이다.

[root@localhost ~] # yum install ssu-1.05-1.SULinux.i386.rpm

 

[root@localhost ~] # yum install package_name1 [package_name2]

여러 패키지들을 한 번에 설치하기를 원한다면 해당 패키지를 계속해서 적어 준다. (install 옵션에서는 기본적으로 하나 이상의 패키지를 지정해야 한다.)

 

[root@localhost ~] # yum remove package_name

yum을 이용하여 패키지를 업데이트하고 신규 설치하는 것 이외에 삭제하는 기능도 수행할 수 있다.

여러 패키지들을 삭제하고자 한다면, 신규설치의 경우와 같이 삭제 명령 뒤에 해당 패키지를 계속해서 지정해주면 된다.

 

[root@localhost ~] # yum info package_name

업데이트 서버에 등록되어 있는 패키지에 대한 상세한 정보를 보기 위해서는 아래와 같은 명령을입력한다.

 

[root@localhost ~] # yum info updates

최근에 업데이트한 패키지에 대한 정보를 확인한다.


보안 업데이트 공지


SULinux 홈페이지에서는 최신의 업데이트 소식 및 보안 버그의 발생 및 패치에 대한 자세한 사항을 안내하고 있다.

항상 새로운 업데이트 및 보안 소식을 전달하고 있으므로 SULinux 홈페이지를 통해서 최신정보를 습득하면 된다.


PIC378.gif

[그림] SULinux 홈페이지의 업데이트 공지화면


2. RPM 사용법


RPM이란 RedHat Package Manager의 약어로 프로그램 설치 및 제거에 사용되는 프로그램이며 Red Hat사에서 개발하였다. rpm은 유닉스계열의 일반적인 설치방법인 소스방법에 비해 쉬운 설치를 지원하고 패키지들의 의존관계 체크와 패키지 질의, 검증의 방법을 제공한다.



2-1. RPM 파일 이름 구조


패키지이름-버전-릴리즈.아키텍처.rpm


예제) ssu-1.05-1.SULinux.i386.rpm


구  분

설    명

패키지이름

어떤 패키지인가를 설명해주는 패키지의 이름을 나타냅니다.(ssu)

버전

패키지의 버전을 의미한다.(1.05)

릴리즈

한 버전의 패키지를 몇 번 빌드했는지를 알려준다.(-1)

아키텍처

어느 아키텍처에 사용가능한지를 알려준다.(i386)

 예) i386, i486, i586, i686: 인텔 x86 호환계열에 사용

ia64 : IA-64(Itanium)

athlon : AMD Athlon CPU

alpha : Digital 알파서버용

ppc : 매킨토시 PowerPC용

sparc : Sun Microsystem용

s390 : IBM s/390용



2-2. rpm 설치 및 갱신모드


rpm 설치 모드


새로운 패키지를 설치하거나 업그레이드 할 수 있다.


rpm [옵션] 'rpm 파일명'

예제) rpm -Uhv ssu-1.05-1.SULinux.i386.rpm


옵    션

설    명

-i

새로운 패키지를 설치할 때 사용한다. (--install)

-U

기존의 패키지를 새로운 버전의 패키지로 업그레이드할 때 사용한다. 이전버전이 설치된 경우에는 환경설정파일을 제외하고 새롭게 설치한다. 또한, 설치된 패키지가 없을 경우에도 새로운 버전을 설치할 수 있는데 이 경우에는 -i옵션과 같다. (--upgrade)

-F

이전 버전이 설치되어 있는 경우에만 설치한다.(--freshen)

-v

메시지를 자세히 보여준다.

-h

진행 정도를 '#'기호로 표시해 준다.

--force

기존에 설치된 패키지와 그 파일을 강제로 다시 설치하도록 한다. 업그레이드의 경우 설치하고자 하는 패키지가 설치되어있는 패키지보다 구버전인 경우에도 강제로 설치한다.

--nodeps

의존성 관계를 무시한다.

--test

실제로 파일에 기록하는 작업을 제외한 대부분을 테스트한다. 패키지를 실제 설치하기 전에 제대로 설치되는지 테스트해 볼 경우에 사용한다. -v, -h옵션과는 함께 사용할 수 없다.

--oldpackage

구버전으로 다운그레이드할 때 사용한다.

--ignorearch

아키텍쳐를 무시하고 설치한다.

--root

기준이 되는 디렉토리를 설정한다.

--rebuilddb

특정한패키지 설치후에 rpm패키지로 검색했으나 나타나지 않을 때 rpm데이터베이스를 업데이트한다


다음은 같이 사용할 수 있는 옵션들의 예제이다.

        -ivh : 새로운 패키지 설치

        -Uvh : 업그레이드하거나 새로운 패키지 설치

        -Fvh : 이전 버전의 패키지가 있는 경우에만 패키지 설치


실제 사용의 예


1) [root@localhost src]#rpm -Uvh --oldpackage vsftpd-2.0.1-5.EL4.3.i386.rpm

설명 : 설치하고자 하는 버전이 설치되어 있는 버전보다 낮더라도 설치한다.


2) [root@localhost src]# rpm -Uvh --percent vsftpd-2.0.1-5.EL4.3.i386.rpm

설명 : 설치할 때 퍼센트를 출력해준다.


3) [root@www src]# rpm -Fvh

ftp://ftp.sulinux.net/pub/SULinux/1.0/os/i386/SULinux/RPMS/*.rpm

설명 : 이미 설치된 패키지만 업데이트한다.


rpm 제거모드


시스템에 설치된 패키지를 제거하는 방법을 알아보겠습니다. 보통 rpm 삭제는 삭제할려는 패키지의 의존성이 없을 경우에만 삭제된다. (의존성이 없다는 말은 삭제할려는 패키지가 다른 패키지에 의존적이지 않을 경우를 말한다.)


옵    션

설    명

-e

설치된 패키지를 제거한다.

--nodeps

제거시 의존성을 무시한다.

--allmatches

동일한이름이 패키지가 중복설치되어 있는 경우 모두 제거한다.


실제 사용의 예


1) [root@localhost ~ ]# rpm -e --test xemacs

        error: removing these packages would break dependencies:

        xemacs = 21.1.14 is needed by xemacs-el-21.1.14-10

        xemacs = 21.1.14 is needed by xemacs-info-21.1.14-10

설명 : rpm패키지 제거 테스트다. 이 경우는 의존성때문에 제거할 수 없다. 만약 그래도 제거하려면 --nodeps를 붙여야 한다.


2) [root@localhost ~ ]# rpm -e httpd --nodeps

설명 : httpd 패키지에 의존성이 있더라도 무조건 제거한다.


3) [root@localhost ~ ]# rpm -e sendmail --allmatches

설명 : sendmail이 중복되어 설치되어 있는 경우 모두 지운다.


rpm 질의모드


설치된 패키지와 각 패키지에 포함된 파일들을 'rpm -q'를 이용하여 질의(Query)할 수 있다.


옵    션

설    명

-q

질의시에 꼭 써야하는 옵션이다.

-i

설치된 패키지의 정보를 보여준다.

-l

패키지에 포함된 모든 파일을 보여준다. (--list)

-p 파일명

패키지의 파일에 대한 정보를 보여준다. 이 옵션을 사용하려면 패키지파일의 정확한 이름을 입력해야 한다.

-a

시스템에 설치된 모든 패키지목록을 보여준다. (--all)

-f 파일명

지정된 파일이 포함된 패키지를 출력한다.

-c

해당패키지의 설정파일이나 스크립트파일을 보여준다.

-d

해당패키지의 문서파일을출력한다.

-R

어떤 패키지에 의존하고 있는지를 보여준다. (--requires)


실제 사용의 예


1) [root@localhost ~ ]# rpm -q sendmail

sendmail-8.13.1-3.RHEL4.3

설명 : 설치된sendmail의 패키지이름과 버전을 보여준다.


2) [root@localhost ~ ]# rpm -qi sendmail

Name  : sendmail           Relocations: (not relocatable)

Version : 8.13.1             Vendor: CentOS

(중략)

the sendmail.cf package installed. If you need documentation on

Sendmail, you can install the sendmail-doc package.

설명 : sendmail의 패키지정보를 보여준다.


3) [root@localhost ~ ]# rpm -qa

설명 : 현재 설치된 모든 패키지를 보여준다.


4) [root@localhost ~ ]# rpm -qa | grep ftp

   lftp-3.0.6-3

   ftp-0.17-22

   vsftpd-2.0.1-5.EL4.3

설명 : ftp관련 패키지를 보여준다.


5) [root@localhost ~ ]# rpm -ql sendmail

설명 : sendmail이 설치되어 있는 디렉토리를 보여준다.


6) [root@localhost ~ ]# rpm -qf /etc/mail/sendmail.cf

sendmail-8.13.1-3.RHEL4.3

설명 : 해당파일에 대한 관련패키지를 찾아준다.니다.


  ※ [root@localhost ~ ]# rpm -qf /boot/grub/grub.conf

      /boot/grub/grub.conf 파일은 어떤 패키지에도 들어있지 않는다

여기서 알수 있는 것 처럼 모든 파일이 rpm패키지를 통해서 인스톨된 것은 아님을 알 수 있다.


7) [root@localhost ~ ]# rpm -qc at

/etc/at.deny

/etc/pam.d/atd

/etc/rc.d/init.d/atd

설명 : at라는 패키지의 설정파일이나 스크립트파일을 보여준다.



관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,042 명
  • 현재 강좌수 :  35,846 개
  • 현재 접속자 :  103 명