[시스템][패키지] autoupdate 로 rpm 간단 업데이트 하기

RedHat 계열을 사용하는 사람들에게 대략 좋은 내용이니 잘 받아 적길 바란다.

rpm 은 Redhat Package Manager 로 말 그대로 패키지 관리자이다.

패키지 파일을 버전으로 관리하는 rpm은 RedHat에서 개발한 자동 갱신 소프트웨어인

up2date로 언제나 최신버전을 유지할 수 있다.

그러나 up2date 는 https://rhn.redhat.com 에 가입해야만 사용할 수 있는

소프트웨어이다. 물론 60일 무료계정을 이용할 수 있으며,

기한이 만기되면 간단한 설문조사를 하면 다음 60일까지 무난히 쓸 수 있다.

ㅡ0-) 그러나… 설문조사 마져도 귀차니즘 압박에 시달리는 사람과,

RedHat에서 공식 배포하지 않는 패키지(ex. RedHat9에서 ProFTPd를 제공하지 않는다)를 사용하는 사람에게

매우 좋은 autoupdate라는 프로그램이 있다.

autoupdate는 단순히 RedHat 배포판에만 적용되는 것이 아니라

rpm을 사용하는 Mandrake, SUSE 같은 배포판에도 적용할 수 있다.

Officaial Site : http://www.mat.univie.ac.at/~gerald/ftp/autoupdate

autoupdate는 Perl 로 쓰여진 언어이다. rpm, perl, perl-DB_File, perl-RPM2 등의

패키지가 필요하며 모든 것은 위의 홈페이지에서 받을 수 있다.

(perl용 FTP모듈은 최신버전 Perl 패키지에 포함되어 있다. 만약 없으면 위의 홈페이지에서

perl-libnet 패키지를 받자)

위의 사이트에서 autoupdate-xxx.rpm 와 autoupdate-cfg-배포판-xxx.rpm 을 받는다.

(xxx는 버전)

받은 모든 rpm을 설치한다.

$ rpm -Uvh *.rpm (받은 rpm 만 있는 디렉토리에서…)

설치는 다 됐다. 이제 단순히 autodld 라고 치면 up2date 와 비스무레한 행동을 할 것이다.

$ autodld

Found no new rpms at ftp.redhat.com.

Checking selected rpms.

Found no rpms to upgrade.

(흠… 모든 소프트웨어가 최신 버전이로군)

만약 새로 설치하고 싶은 패키지가 있다면 autoget을 이용하자.

$ autoget mod_ssl

New rpms from ftp.redhat.com:

mod_ssl-2.0.40-11.7.i386.rpm

Checking selected rpms.

Installing rpms:

mod_ssl-2.0.40-11.7.i386.rpm

Removing updated rpms:

mod_ssl-2.0.40-11.7.i386.rpm

(apache용 ssl 모듈을 설치해봤다.)

예제엔 나오지 않았지만 autoupdate는 up2date와 같이 의존성을 검사하여

필요한 패키지까지 모두 받아온다.

up2date는 rhnsd 이라는 Daemon을 이용하여 2시간마다 RedHat에 접속하여

새 패키지를 검사한다. (검사하는 속도가 좀 빠르긴 하지만…)

autoupdate 역시 비슷한 역할을 시킬 수 있다. cron을 이용해서 말이다.

(RedHat8 기준)

$ cd /etc/cron.daily

$ ln -s /usr/sbin/autodld

매일 한 번씩 autodld가 자동으로 실행된다.

물론 주기를 다르게 해서 등록하고 싶다면 다른 디렉토리나 /etc/crontab 을

수정을 해주면 되며 이러한 사항은 Cron HOWTO나 cron manpage를 참조하기 바란다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.