[FC3] Rebuilding FC3 CD's

atie의 이미지

Rebuilding Fedora Core 3 CD's
원문 :
http://bipolar.longbros.com/index.php?p=29&more=1&c=1&tb=1&pb=1#more29

당장은 쓸모가 없더라도 알아두면 좋은 내용이어서 링크 걸어 놉니다. 원저자는 여러대에 fedora를 인스톨 해야 하는데 cd 인스톨을 한 후에 최신의 업데이트된 패키지의 양이 만만치 않아서 아예 인스톨 cd를 최신의 패키지들로 다시 만드는 아래의 방법을 생각했다고 하는군요.

1) 작업 디렉토리(~/fedora-rebuild 같은) 를 만든다.

2) 다음의 패키지를 설치한다. ("yum install packagename" 해서 설치한다.)

* anaconda
* anaconda-images
* anaconda-help
* anaconda-runtime

3) 위의 1에서 만들었던 디렉토리로 이동한 후, 다음을 수행한다.

export PYTHONPATH=/usr/lib/anaconda
export PATH="$PATH:/usr/lib/anaconda-runtime"
export FCBASE=`pwd`
mkdir -p $FCBASE/fedora/i386
mkdir -p $FCBASE/fedora/SRPMS

4) 한번에 하나씩 원본의 FC3 ISO를 마운트 한 후, 그 안에 들어있는 파일들을 $FCBASE로 복사한다. 다음의 명령으로 한다.

mount -o loop /path/to/iso /iso/mountpoint
cd /iso/mountpoint
tar -cf - * | ( cd $FCBASE/fedora/i386/ ; tar -xpf - )
cd $FCBASE
umount /iso/mountpoint

5) 원본의 RPM의 복사가 다 끝났으면, 이제 새로이 갱신된 RPM들을 받아 기존의 것을 대체한다. 원한다면 이 때 나만의 패키지를 추가할 수도 있다.

6) 모든 old cd install file들을 삭제한다.

find $FCBASE/fedora -name TRANS.TBL -exec rm -f {}

7) hdlist file을 만든다.

genhdlist $FCBASE/fedora/i386

8. 8) package order file을 생성하고, 날짜를 찍자.

$FCBASE/pkgorder $FCBASE/fedora/i386 i386 | tee $FCBASE/fedora/pkgfile.`date +%Y-%m-%d`

"Ignoring" or "Removing" 에러 메세지는 신경쓰지 마시길...

9) installation files을 다음의 buildinstall 명령으로 업데이트 한다.

buildinstall --pkgorder $FCBASE/fedora/pkgfile.`date +%Y-%m-%d` \
--version 3 --product 'Fedora Core' --release 'Fedora Core 3' \
--prodpath Fedora $FCBASE/fedora/i386

ease string:

export RELEASE="Fedora Core 3 (Heidelberg) with updates to $(date '+%Y-%M-%d %H:%m')"

11) old cd directory들을 삭제한다.

rm -rf $FCBASE/fedora/i386-disc[1-9]

12) 배포된 FC3의 splittree.py script는 제대로 작동을 안한다. Fix가 포함된 CVS 버전을 여기서 다운받는다. http://www.longbros.com/benjamin/files/splittree.py /usr/lib/anaconda-runtime/scripts에 있는 것을 대체하던지, 새로이 다운 받은 곳에서 13에서 처럼 수행을 시킨다.

13) Run splittree.py to split the RPM's and install files into individual cd's: (각각의 cd로 나눠넣기 위해서 이다.)

splittree.py --arch=i386 --total-discs=5 --bin-discs=4 --src-discs=1 \
--release-string=$RELEASE \
--pkgorderfile=$FCBASE/fedora/pkgfile.`date +%Y-%m-%d` \
--distdir=$FCBASE/fedora/i386 --srcdir=$FCBASE/fedora/SRPMS \
--productpath=Fedora

첫번째 cd를 위해서 다음을 수행한다. 그래야 인스톨 가능한 모든 패키지들이 어느 cd에 있는지 알게 할 수 있다.

rm -f $FCBASE/fedora/i386-disc1/Fedora/base/hdlist*
genhdlist --productpath=Fedora \
--withnumbers --fileorder \
/root/fedora-rebuild/fedora/pkgfile.2004-11-15 \
$FCBASE/fedora/i386-disc[1234]

15) $FCBASE/fedora안에 있는 각각의 i386-disk* 들이 인스톨 cd 이다. 이 디렉토리들은 새 iso 이미지가 되도록 준비가 된 상태이며,
http://www.longbros.com/benjamin/files/makecds.sh
이 스크립트를 이용하면 된다. (단, 스크립트 수행전에 각자에 맞게 수정을 하라.)

Forums: 

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.