[시스템][패키지] 리눅스 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
5 Responses
… [Trackback]
[…] Find More Information here to that Topic: nblog.syszone.co.kr/archives/403 […]
… [Trackback]
[…] Read More Info here on that Topic: nblog.syszone.co.kr/archives/403 […]
… [Trackback]
[…] Find More Information here on that Topic: nblog.syszone.co.kr/archives/403 […]
… [Trackback]
[…] Find More to that Topic: nblog.syszone.co.kr/archives/403 […]
… [Trackback]
[…] Find More Information here on that Topic: nblog.syszone.co.kr/archives/403 […]