久しぶりにMAKAI

それも、やりかけで放置のMAKAI2のほうではなく、SargeベースのMAKAI1のほう。
さらに、GLANTANK用のベースCDからはじめる。
ははは、すっかりコマンドを忘れているぞ。
なにせ2005年の末くらいのリリースだからな...
bootcd2diskだったな(^^;。


終わったらgrubを入れるんだっけ。
んで、再起動。
ん、うまくいった。
そっか、こいつは、kernel2.4のままだったんだな...
デフォは192.168.0.207だから、dhcpクライアントでアドレス取る。
んで、telnetできるんだけど、ユーザーはadminだったと思うけど、パスワードなんだっけかな。adminだった(^^;。
rootのパスワードってなんだっけ...
これって、shadowになってなかったのだな...
パスワードはないみたいだ。
コンソールから付ける。

makai:~# apt-get update
makai:~# apt-get upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages have been kept back:
  kernel-image-2.4-386
The following packages will be upgraded:
  base-config dhcp-client exim4-base exim4-config exim4-daemon-light file grub gzip info
  kernel-image-2.4.27-2-386 libc6 libgcc1 libgnutls11 libmagic1 libssl0.9.7 libtasn1-2
  locales login man-db passwd perl perl-base perl-modules python2.3 tar texinfo vim
  vim-common xfree86-common xutils
30 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 43.3MB of archives.
After unpacking 570kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://ftp.debian.org sarge/main gzip 1.3.5-10sarge2 [71.2kB]
Get:2 http://security.debian.org sarge/updates/main file 4.12-1sarge2 [28.8kB]
Get:3 http://ftp.debian.org sarge/main login 1:4.0.3-31sarge9 [576kB]
Get:4 http://security.debian.org sarge/updates/main libmagic1 4.12-1sarge2 [233kB]
Get:5 http://security.debian.org sarge/updates/main kernel-image-2.4.27-2-386 2.4.27-10sarge1 [11.0MB]
Get:6 http://ftp.debian.org sarge/main perl-modules 5.8.4-8sarge5 [2179kB]
Get:7 http://ftp.debian.org sarge/main locales 2.3.2.ds1-22sarge6 [3987kB]
Get:8 http://ftp.debian.org sarge/main libc6 2.3.2.ds1-22sarge6 [4886kB]
Get:9 http://ftp.debian.org sarge/main perl 5.8.4-8sarge5 [3238kB]
Get:10 http://ftp.debian.org sarge/main perl-base 5.8.4-8sarge5 [752kB]
Get:11 http://ftp.debian.org sarge/main tar 1.14-2.3 [500kB]
Get:12 http://security.debian.org sarge/updates/main xfree86-common 4.3.0.dfsg.1-14sarge4 [816kB]
Get:13 http://ftp.debian.org sarge/main vim 1:6.3-071+1sarge1 [707kB]
Get:14 http://security.debian.org sarge/updates/main xutils 4.3.0.dfsg.1-14sarge4 [913kB]
Get:15 http://ftp.debian.org sarge/main vim-common 1:6.3-071+1sarge1 [3425kB]
Get:16 http://ftp.debian.org sarge/main libgcc1 1:3.4.3-13sarge1 [80.5kB]
Get:17 http://ftp.debian.org sarge/main exim4-config 4.50-8sarge2 [243kB]
Get:18 http://ftp.debian.org sarge/main exim4-base 4.50-8sarge2 [814kB]
Get:19 http://ftp.debian.org sarge/main passwd 1:4.0.3-31sarge9 [529kB]
Get:20 http://ftp.debian.org sarge/main libtasn1-2 0.2.10-3sarge1 [43.5kB]
Get:21 http://ftp.debian.org sarge/main libgnutls11 1.0.16-13.2sarge2 [302kB]
Get:22 http://ftp.debian.org sarge/main exim4-daemon-light 4.50-8sarge2 [368kB]
Get:23 http://ftp.debian.org sarge/main info 4.7-2.2sarge2 [180kB]
Get:24 http://ftp.debian.org sarge/main man-db 2.4.2-21sarge1 [580kB]
Get:25 http://ftp.debian.org sarge/main libssl0.9.7 0.9.7e-3sarge4 [2265kB]
Get:26 http://ftp.debian.org sarge/main python2.3 2.3.5-3sarge2 [2906kB]
Get:27 http://ftp.debian.org sarge/main texinfo 4.7-2.2sarge2 [847kB]
Get:28 http://ftp.debian.org sarge/main base-config 2.53.10.2 [307kB]
Get:29 http://ftp.debian.org sarge/main dhcp-client 2.0pl5-19.1sarge2 [102kB]
Get:30 http://ftp.debian.org sarge/main grub 0.95+cvs20040624-17sarge1 [353kB]
Fetched 43.3MB in 2m11s (329kB/s)

さすがにいっぱいアップデートされる。


とりあえず、kernel2.6にせねばなるまいね。

makai:~# apt-get install kernel-image-2.6-386
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  kernel-image-2.6.8-4-386
Suggested packages:
  lilo kernel-doc-2.6.8 kernel-source-2.6.8
The following NEW packages will be installed:
  kernel-image-2.6-386 kernel-image-2.6.8-4-386
0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
22 not fully installed or removed.
Need to get 14.1MB of archives.
After unpacking 42.3MB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://security.debian.org sarge/updates/main kernel-image-2.6.8-4-386 2.6.8-16sarge7 [14.1MB]
Get:2 http://security.debian.org sarge/updates/main kernel-image-2.6-386 101sarge2 [2180B]
Fetched 14.1MB in 57s (245kB/s)

まだ、だいぶ古いか...
Etchベースで組みなおしたほうが幸せかも...

2.4を削除。

makai:~# apt-get remove --purge kernel-image-2.4-386 kernel-image-2.4.27-2-386

grubのメニューを編集して、組み込みする。
んで、再起動。
あ、grubのメニュー名の変更忘れてら...
無事起動してくる。


あら〜、jfbtermがちゃんと起動してこないね...
いけませんな。
inittabからjfbtermを落としてbashだけで起動してみる。
そーいやー、vga16fbは2.6じゃダメで、vesafbのみになったのだったっけ?
変更してみる。
起動パラメータもvga=0x312変える。ついでに忘れてたメニュー名も変更。
再起動。
出た出た。


MTA捨て。
bootcd用のinitrd作成。

makai:~# apt-get remove --purge exim4-base exim4-config
makai:~# bootcdmkinitrd
Warning: this script assumes the following:
- the running kernel is the one that will be used on bootcd
- initrd is used
Warning: this script will do the following:
- /etc/mkinitrd/ will be changed.
- mkinitrd will be called. This will change /initrd.img.
- your bootloader will be called.
OK to continue ? (y|n) y
Using grub
/usr/sbin/mkinitrd: The working directory /tmp/mkinitrd.STzJ1K will be kept.
cpio: initrd/usr/share/bootcd/../../../bin/grep: No such file or directory
cpio: initrd/usr/share/bootcd/../../../lib/modules/2.6.8-4-386/kernel/drivers/cdrom/cdrom.ko not created: newer or same age version exists
cpio: initrd/usr/share/bootcd/../../../lib/modules/2.6.8-4-386/kernel/drivers/scsi/scsi_mod.ko not created: newer or same age version exists
cpio: /usr/share/bootcd/../../../usr/share/discover/sbus-26.lst: No such file or directory
cpio: /usr/share/bootcd/../../../usr/share/discover/sbus.lst: No such file or directory
new initrd for kernel version "2.6.8-4-386" created.


sudoで管理に変更。

makai:~# apt-get install sudo
Get:1 http://ftp.debian.org sarge/main sudo 1.6.8p7-1.4 [161kB]
makai:~# visudo
admin   ALL=(ALL) ALL
makai:~# vipw
root:*:0:0:root:/root:/bin/bash


デフォルトロケールUTF-8に。

makai:~# dpkg-reconfigure locales
Generating locales...
  ja_JP.UTF-8... done
Generation complete.


ssh導入とtelnet削除。

makai:~# apt-get install ssh
Get:1 http://ftp.debian.org sarge/main ssh 1:3.8.1p1-8.sarge.6 [689kB]
makai:~# apt-get remove --purge telnet telnetd


vimはもういたので、nviを捨て。

makai:~# apt-get remove --purge nvi


パスワードをshadow対応に。

makai:~# shadowconfig on
Shadow passwords are now on.


kernel update時にliloではなくgrubを呼ぶように。

makai:~# vi /etc/kernel-img.conf
do_symlinks = Yes
postinst_hook = /sbin/update-grub
postrm_hook = /sbin/update-grub
do_bootloader = no


CD起動でもvga=0x312に。

# vi /etc/bootcd/isolinux.cfg


デフォルトDHCPに。

makai:~# vi /etc/network/interfaces
iface eth0 inet dhcp


ハードディスク上の作業領域として/sourceを作成
CD作成時には格納対象としないよう/etc/bootcd/bootcdwrite.confに設定

makai:~# mkdir /source
makai:~# vi /etc/bootcd/bootcdwrite.conf
NOT_TO_CD="/source"
MKISOFS_CHNG="-V MAKAI100"


fttpdのインストールと設定。

makai:~# apt-get install tftpd
Get:1 http://ftp.debian.org sarge/main tftpd 0.17-12 [14.8kB]
makai:~# mkdir /var/spool/tftp
makai:~# chmod 777 /var/spool/tftp
makai:~# vi /etc/inetd.conf
tftp            dgram   udp     wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /var/spool/tftp


ソースの回収。iso化。

makai:~# cd /source/
makai:/source# vi getsource.sh
#!/bin/sh
COLUMNS=150 dpkg -l | awk 'NR>5 {print $2}' > ./pkg.list

INPUTFILE="./pkg.list"
LINEARRAY=()
i=0
exec 3< $INPUTFILE
while read LINE 0<&3
do
       LINEARRAY[$i]="$LINE"
       i=$(($i + 1))
done
exec 3<&-

for i in "${LINEARRAY[@]}"; do
       echo "> downloading $i..."
       apt-get source -d $i
done
makai:/source# chmod +x getsource.sh
makai:/source# ./getsource.sh
makai:~# cd /
makai:~# mkisofs -o MAKAI100.src.iso -z -r /source/
makai:~# mount -o loop MAKAI100.src.iso /mnt/
makai:~# diff /mnt /source/
makai:~# umount /mnt


残件。

  • splash画像の差し替え
  • AutoIP/APIPA仕様に
  • mkcd.sh の作成
    • apt-get clean、前回isoの削除、ログのクリーンナップ、bootcdwriteの起動
  • makeCDR.sh, makeCDRW.sh の作成
  • backports版先進kernelでの動作テスト
  • bootsplashの採用
  • getsource.shのリファイン
    • /sourceディレクトリのチェック、なければ作成
    • iso作成まで自動化
    • バージョンマッチングのチェック
    • パッケージ外や独自ソース分の処理
    • リポート出力
      • パッケージ数
      • パッケージ名、ソース名、リビジョンのリスト
      • 作成タイムスタンプを保存 sourceとCD用のツリーに対して
      • エラーリポート 落とせない場合の処理
  • kinnekoユーザーの削除


今日のところは、このままバックアップを兼ねてマスタにしてしまう。

makai:/# rm /var/log/ksymoops/*
makai:/# rm /var/run/*.pid
makai:/# rm -R /var/run/*/*.pid
makai:/# rm /var/mail/*
makai:/# rm /var/spool/*
makai:/# rm /var/spool/cron/*
makai:/# rm /var/spool/exim4/*
makai:/# cp /dev/null /var/log/auth.log
makai:/# cp /dev/null /var/log/btmp
makai:/# cp /dev/null /var/log/daemon.log
makai:/# cp /dev/null /var/log/debug
makai:/# cp /dev/null /var/log/dmesg
makai:/# cp /dev/null /var/log/kern.log
makai:/# cp /dev/null /var/log/lastlog
makai:/# cp /dev/null /var/log/lpr.log
makai:/# cp /dev/null /var/log/mail.err
makai:/# cp /dev/null /var/log/mail.info
makai:/# cp /dev/null /var/log/mail.log
makai:/# cp /dev/null /var/log/mail.warn
makai:/# cp /dev/null /var/log/messages
makai:/# cp /dev/null /var/log/news/news.crit
makai:/# cp /dev/null /var/log/news/news.err
makai:/# cp /dev/null /var/log/news/news.notice
makai:/# cp /dev/null /var/log/syslog
makai:/# cp /dev/null /var/log/user.log
makai:/# cp /dev/null /var/log/uucp.log
makai:/# cp /dev/null /var/log/wtmp
makai:/# cp /dev/null /var/log/bootcd2disk.log
makai:/# bootcdwrite
makai:/# cdrecord -v dev=0,0,0 blank=fast
makai:/# cdrecord -v dev=0,0,0 speed=4 /var/spool/bootcd/cdimage.iso

イメージサイズは、508 MBになった。
これから入れる分を考えると、結構無理がありますねぇ...