インストール後、再起動するサービスを選ばせるところってどうなってるんだろ? 最近、私パッケージを作ることが多いので気になる。あとでパッケージのソースを読もう。
某ソフトを試そうと思ったら Java 6必須だったので、いれてみる。
とりあえず Java6 のバイナリを落して来て、make-jpkg を使って Deb 化。
kunitake@stardust:~/src$ fakeroot make-jpkg jdk-6-beta2-linux-i586.bin
Creating temporary directory: /tmp/make-jpkg.zyETYm8199
Loading plugins: blackdown-j2re.sh blackdown-j2sdk.sh common.sh ibm-j2re.sh ibm-j2sdk.sh j2re.sh j2sdk-doc.sh j2sdk.sh j2se.sh sun-j2re.sh sun-j2sdk-doc.sh sun-j2sdk.sh
Detected Debian build architecture: i386
Detected Debian GNU type: i486-linux-gnu
No matching plugin was found.
Removing temporary directory: done
む? どうも動かない。
/usr/share/java-package/sun-j2sdk.sh
を見てみると、どうやら Java6 には make-jpkg 自体が対応していないようだ。
「どうにかなんないの?」
と、きっと同じことを思っている人がいるはず! と思ってググってみると、いた!
http://www.mail-archive.com/debian-java@lists.debian.org/msg10847.html
の一連の議論を追って行くと
http://www.mail-archive.com/debian-java@lists.debian.org/msg10870.html
にまさにその回答が!
ってなわけで
# cd /usr/share/javapackage
# cp -rp sun-j2sdk1.5 sun-j2sdk1.6
# cp -pi sun-j2sdk.sh sun-j2sdk.sh.orig
# vi sun-j2sdk.sh
で、さっきのリンク先にあるパッチのように
"jdk-6-beta"*) # EXPERIMENTAL
j2se_version=6.0.0+beta-${archive_name:17:2}
j2se_expected_min_size=100
found=true
;;
な部分を追加し、ダウンロードしたファイルを rename する。検証が面倒なので、本記事と同じファイル名に (^_^;
$ mv jdk-6-beta2-linux-i586.bin jdk-6-beta2-bin-b84-linux-i586-11_may_2006.bin
あとは
$ fakeroot make-jpkg jdk-6-beta2-bin-b84-linux-i586-11_may_2006.bin
すると、sun-j2sdk6.0_6.0.0+beta-84_i386.deb が出来ているので、インストール。
# dpkg -i sun-j2sdk6.0_6.0.0+beta-84_i386.deb
すばらしい :-)
Debian Weather
http://brion.inria.fr/anla/index
すばらしい……依存関係が壊れてない時は、晴れマーク。依存が壊れるにつれ、曇り、雨……というように、お天気になぞらえて、表示してくれます。
これで sid で生活していても安心?(^^;
追記:過去の履歴もあるんですね。これで、日記をつけ忘れても安心 :-p
http://brion.inria.fr/anla/health?bundle=U&architecture=i386
debootstrap に相当するコマンドが RedHat にもあるらしい。
http://www.daionet.gr.jp/~knok/diary/?200606c#200606211
ちゃんと /etc/default/rcS の内容を
# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
UTC=no
というように UTC=no にしても、system clock が GMT 扱いになってるようで、起動すると時刻が 9時間進んでしまう。
これは
o http://2chlinux.dtdns.net/2ch-debian/1134500219/64.html
64 :login:Penguin:2005/12/18(日) 22:46:06 ID:7jJLdxHK
>>63
自己レス
hwclock については
# mv /etc/rcS.d/S18hwclockfirst.sh /etc/rcS.d/S22hwclockfirst.sh
# mv /etc/rcS.d/S22hwclock.sh /etc/rcS.d/S50hwclock.sh
すれば良さそう。
# / と /usr を別パーティションにしているとおかしくなるのか。
ってことらしい。なぜ別パーティションだと? ってのは
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=342887
からたどれる
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=342887;msg=20
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=342887;msg=35
あたりが詳しいかも。
以前、これを参考に修正したんだけど、パッケージを更新した際に元に戻ってしまったようなので、再度
# mv /etc/rcS.d/S18hwclockfirst.sh /etc/rcS.d/S22hwclockfirst.sh
# mv /etc/rcS.d/S22hwclock.sh /etc/rcS.d/S50hwclock.sh
しておく。調子にのって update-rc.d で変更しようとしたら
# update-rc.d hwclockfirst.sh defaults 22
System startup links for /etc/init.d/hwclockfirst.sh already exist.
どうもだめっぽい。man update-rc.d すると
フ ァ イ ル /etc/rcrunlevel.d/[SK]??name が すでに存在する場合には、
update-rc.d は何もしない。これは、システム管理者がひとつでもリンクを 残
していた場合に、その設定を上書きされることがなく、別の場所に移動させる
ことができるようにするためである。
ってことらしい。知らなかった……
わりと知られている TIPS として dh-make-perl を使うと、CPAN モジュールを deb パッケージに出来るってのがあるんですが、どうにもうまく行かないやつがある。
$ fakeroot dh-make-perl --build --cpan Jemplate
CPAN: Storable loaded ok
〜中略〜
Unquoted string "name" may clash with future reserved word at \
/home/kunitake/src/Jemplate-0.14/Makefile.PL line 3.
String found where operator expected at /home/kunitake/src/Jemplate-0.14/Makefile.PL \
line 3, near "name 'Jemplate'"
(Do you need to predeclare name?)
String found where operator expected at /home/kunitake/src/Jemplate-0.14/Makefile.PL \
line 4, near "all_from 'lib/Jemplate.pm'"
(Do you need to predeclare all_from?)
〜以下略〜
こんな感じ。手動で
$ perl Makefile.PL && make && make test
とかは通る。dh-make-perl でパッケージ化しようとすると、失敗。なにが原因かと思ってたら、どうやら Module::AutoInstall modules. をサポートしていないことが一因らしい。しかも、メンテナが激しく忙しいらしく、手がつけられてない様子。
ただし、この状態に対して、名乗りを上げた人がでてきたのでしばらくすると改善されるかも?
参考:
http://lists.debian.org/debian-perl/2006/02/msg00023.html
dh-make-perl-all
http://www.dzeta.jp/tech/index.cgi?dh-make-perl-all%A4%CE%BB%C5%CD%CD%A4%C8%BC%C2%C1%F5
先日 [2006-02-02-2] とりあげた instalinux がらみで、
http://www.pochi.cc/%7Esasaki/chalow/2006-02-07-3.html
のコメントに、
network install & kickstartを組み合わせるってのはどうだ。
というのがあったので、ざっと調べておく(この手の話題には疎いので(^^;))
実は RedHat 系では昔から知られている手法らしい。ただし、RPM系という制限があるみたい。Debian だと
FAI
http://www.informatik.uni-koeln.de/fai/
Replicator
http://replicator.sourceforge.net/
が使えるみたい。どちらも apt-get install でインストール可能。今度、3つとも試してみよう。
いまさらながら、apt-get update で鍵が云々と言われて更新できなくなった場合の対処。
$ wget http://ftp-master.debian.org/ziyi_key_2006.asc
# apt-key add ziyi_key_2006.asc
もちろん、こんな風に鍵の検証を無視してしまうと、PGPの署名の意味がないんだろうけど(^^;
参考:
http://kmuto.jp/d/index.cgi/2006/01/07/
sarge以降では、
/etc/init.d/iptables
は廃止され
/etc/network/interface
に
auto eth0
iface eth0 inet static
address 192.0.2.1
netmask 255.255.255.0
gateway 192.0.2.254
pre-up echo 1 > /proc/sys/net/ipv4/ip_forward
pre-up iptables -t nat -A POSTROUTING -s 10.0.0.0/255.0.0.0 -o eth0 -j MASQUERADE
# pre-up iptables-restore </etc/iptables.up.rules
# post-down iptables-restore </etc/iptables.down.rules
こんな感じで、iptables のルールを記述するようになっているんですが、なにかと不便を感じるので、復活させてみました。
# zcat /usr/share/doc/iptables/examples/oldinitdscript.gz > /etc/init.d/iptables
# chmod a+x /etc/init.d/iptables
# update-rc.d iptables defaults
# mkdir /var/lib/iptables
現在のルールを保存するには
# /etc/init.d/iptables save <ルール名>
でOKです。"active" が起動時に default で読み込まれるルール名なので
# /etc/init.d/iptables save active
としておくと
/var/lib/iptables/active
にルールが保存されます。同様に "inactive" というルール名で保存されたルールは
/etc/init.d/iptables stop
を実行した際に反映される設定となります。詳細は /etc/init.d/iptables のコメント欄に書いてあったりします。