[패키지] 리눅스 One CD 만들기

괜히 RedHat 6.2 에서 RedHat 7.2 만드려다가 삽질만 많이 했답니다.

RPM 버전이 잘 안 맞아서 안된답니다. 우선 내용을 정리해 보았습니다.

RedHat 7.x 의  두 장 CD에서 꼭 필요한 내용만을 뽑아서 자신만의

한장 CD로 만들 거나, 새로운 RPM을 배포판에 추가하려는 경우

이 내용이 유용하게 사용될 수 있을 것입니다.

그리고 HPC에서 사용할 kickstart 도 만들어 내용을 써 보았습니다.

혹 Kickstart 쓸 일이 있으면 참고 하시지요..

================================================================

RedHat 7.2 one CD mini HOWTO

여기에서는 꼭 필요한 패키지만을 넣어서 한 장의 시디로 만드는 방법을 설명한다. 거의

비슷하게 내용을 바꾼 두장의 CD도 이 문서를 이용하여 제작 가능할 것이다.

(주의 사항 : 7.2 CD는 7.2가 설치된 곳에서 만들자. 7.1 에서는 상관없을지는 테스트 못

했지만, 6.2에서 만들려다가 실패했다. 그 이유는 RPM의 버전이 맞지 않아서라고 한다. )

0) RedHat 7.2 CD 원본을 구한다.

1) 먼저 자신이 설치를 원하는 모든 RPM 패키지의 이름을 얻어야 할 것이다. 보통 자신

이 원하는 패키지 이름을 다 알 수는 없으므로 일단 함부로 사용 가능한 시스템을 하나 만

들고 거기에 일단 설치해본다. 그런 후 다음과 같은 명령을 실행하여 설치된 패키지의 이

름을 알아내고 저장한다.

rpm -qa  > ./kick

그러면 설치된 모든 패키지의 이름이 ./kick 이라는 파일에 저장될 것이다. 나중에 이 파

일은 사용될 것이므로 소중히 보관하자.

2) 이제 나만의 CD를 제작해 보자. 이를 위해서는 RedHat 7.2 CD 원본을 디스켓으로 모

두 복사해야 한다. CD 1번을 cdrom1 이라는 디렉토리 밑에 복사하고, CD 2 번을

cdrom2 라는 디렉토리 밑에 복사하자. (현재 작업 디렉토리가 /home/test/redhat 이라

고 가정)  그런 후 다음 명령을 통해 CD 1 번의 RPM 들을 모두 CD 2 번으로 옮긴다.

mv cdrom1/RedHat/RPMS/*.rpm cdrom2/RedHat/RPMS/

3) 이제 마련해 놓은 필요한 패키지의 이름을 저장한 파일을 가져오자. 그 파일의 이름을

kick 이라고 하자. 그런 후 다음과 같은 내용의 스크립트(addrpm)을 작성하고 실행하면

꼭 필요한 패키지만 cdrom1/RedHat/RPMS/ 로 복사될 것이다.

========================================================================

#!/bin/bash

for file in `cat kick`

do

        mv -f cdrom2/RedHat/RPMS/${file}*  cdrom1/RedHat/RPMS/

done

=========================================================================

4) RedHat CD 가 기억하는 RPM 리스트를 다시 만들어 주어야 한다. 다음과 같은 명령

을 실행한다.

/usr/lib/anaconda-runtime/genhdlist –withnumbers –hdlist

cdrom1/RedHat/base/hdlist $PWD/cdrom1 $PWD/cdrom2

만약 genhdlist 명령이 /usr/lib/anaconda-runtime/ 에 없다면 anaconda-runtime

RPM을 설치해 주어야 한다.

5) 그런 후 다음의 명령으로 CD 이미지를 만들자. CD 이미지는 cd.iso 이다.

mkisofs -b dosutils/autoboot/cdboot.img -l -J -R -r -T -V ‘RH7.2 Install’ cdrom1/

> cd.iso

만약 mkisofs 가 없다고 한다면 역시 mkisofs RPM을 먼저 설치하라.

6) 이제 CD Writer 를 이용해서 cd.iso를 구으면 된다.

=========================================================================

=

Kickstart

RedHat의 Kickstart 를 이용하면 좀 더 빨리 시스템을 설치할 수 있다. 모든 설정을 저장

해서 사용자가 하나하나 설정을 잡아야 하는 수고를 덜 수 있다. 몇 십대의 시스템을 한꺼

번에 설치하는 경우 매우 유용하다.

1) CDROM을 통해서 KICKSTART 하려면 RedHat 7.2 첫번째 CD 의 images/boot.img

를 플라피에 복사하고, NFS 혹은 FTP를 통해 KICKSTART 하려면 RedHat 7.2 첫번째

CD 의 images/bootnet.img 를 플라피에 복사한다. 여기에서는 CDROM을 통해

KICKSTART 하는 방법을 알아 보자.

CDROM을 /mnt/cdrom 으로 마운트하고…

$ mount /dev/cdrom /mnt/cdrom

플라피를 꼽고, boot.img를 플라피로 복사한다.

$ dd if=/mnt/cdrom/images/boot.img of=/dev/fd0 bs=1k

2) 플라피를 /mnt/floppy로 마운트 하고, 필요한 설정 파일들을 다음과 같이 바꾼다.

플라피를 /mnt/floppy로 마운트..

$ mount /dev/fd0 /mnt/floppy

변경된 필요한 설정 파일들의 내용

$ cat /mnt/floppy/syslinux.cfg

default ks

prompt 0

label ks

  kernel vmlinuz

  append ks=floppy initrd=initrd.img lang= devfs=nomount ramdisk_size=7168

$ cat /mnt/floppy/ks.cfg

lang en_US

langsupport en_US

keyboard “us”

mouse none

text

network –bootproto static –ip 147.46.125.169 –netmask 255.255.255.0 —

gateway   147.46.125.1

cdrom

zerombr yes

clearpart –all

part / –size 1400

part /boot –size 100

part swap –size 1600

part /home –size 1 –grow

install

timezone Asia/Seoul

rootpw –iscrypted $1$QBdt6.fL$UXiGASDqbWIA.hOAJb62D.

auth –useshadow –enablemd5

lilo –location mbr

firewall –medium –ssh

skipx

reboot

%packages

@Network Support

@Network Server

@Network Managed Workstation

@Anonymous FTP Server

@Utilities

@Software Development

pvm

lam

rsh-enable

%post

chkconfig kudzu off

chkconfig reconfig off

chkconfig ipchains off

chkconfig iptables off

chkconfig nfslock off

chkconfig portmap off

chkconfig keytable off

chkconfig apmd off

chkconfig rawdevices off

chkconfig sendmail off

chkconfig gpm off

chkconfig anacron off

chkconfig atd off

echo “01 3 * * * root rdate -s 203.254.163.74 > /dev/null  2>&1” >> /etc/crontab

/root/rsh.enable

참고 ) ks.cfg 설정에 대해서는 다음을 참고

http://www.redhat.com/docs/manuals/linux/RHL-6.2-Manual/ref-guide/s1-

kickstart2-commands.html

http://www.linuxworld.com/linuxworld/lw-1999-12/lw-12-kickstart.html#resources

http://kldp.org/HOWTO/html/KickStart/KickStart-HOWTO.html

서진우

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

You may also like...

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