
Ubuntu日本語フォーラム

ログインしていません。
初めて書き込みさせて頂きます。宜しくお願いいたします。
ubuntu8.04のLive CDにて、本フォーラムを参考にUSBにインストールして使用しております(便利ですし、楽しいです)
/etc/hosts
/etc/hostname
上記ファイルを書き換え、sh /etc/etc/init.d/hostname.shを実行し、hostnameを変更します。
その後、hostnameコマンド発行で、変更したhostnameが適用されている事を確認できました。
しかし、再起動後確認すると元通りのhostnameがubuntuに戻っております。
hostsファイル、hostnameファイルを確認しましたが戻っておりました。
これは仕様なのでしょうか?
変更する手段は無いのでしょうか?
以上、宜しくお願いいたします。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
ご返信ありがとうございます。
使用しているのは、USBフラッシュメモリで、作成手順に関しては下記フォーラムの方法を取りました。
http://forum.ubuntulinux.jp/viewtopic.php?id=3040
以上、宜しくお願いいたします。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
最後の編集者: kiyoshi (2008-11-08 06:06:45)
オフライン
この事に関心が無く傍観していましたが、誤解をこのまま放置するのも遺憾なので書くことにしました。
「Ubuntu on USB Memory」 で hostname や hosts を決定するのは、live-CD の場合と同様に、initramdisk ( initrd.gz )
の中のファイル /scripts/casper-bottom/18hostname なのですが、そこには次の様に書かれています。
#! /bin/sh
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
echo "$HOST" > /root/etc/hostname
cat > /root/etc/hosts <<EOF
127.0.0.1 localhost
127.0.1.1 $HOST
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
EOF
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
ここで、注目のファイル /etc/hostname や /etc/hosts の前に /root が付いているのは、ファイルシステム(ルート)が /root に
マウントされているからです。
しかし、変数 HOST はどこで指定されているのでしょうか?
それは、initramdisk ( initrd.gz ) の中のファイル /etc/casper.conf であり、次の様に複数の変数が指定されます。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
export USERNAME="ubuntu"
export USERFULLNAME="Live session user"
export HOST="ubuntu"
export BUILD_SYSTEM="Ubuntu"
2つのファイル /etc/hosts と /etc/hostname を書き換えると、その記録は 「 データ保存パーティション 」 casper-rw に保存され
ます。
しかし、再起動時 initramdisk が読み込まれると、ファイル 18hostname がそれらの2つのファイルに上書きして、元に戻してしま
うのです。
UbuntuをHDDにインストール場合は、/scripts/casper-bottom ではなく /scripts/local-bottom の中のファイル群が読み込
まれるのですが、そこにはファイル 18hostname は存在しないので、勝手に上書きされ元に戻ることがないのです。
** **
どうしても hostname や hosts を変更したければ、ファイル /scripts/casper-bottom/18hostname と ファイル
/etc/casper.conf を編集して、initramdisk ( initrd.gz ) を新たに作成すれば良いのです。 決して不可能ではありません。
.
最後の編集者: moz (2008-11-09 15:02:06)
オフライン
kiyoshi様、moz様、回答ありがとうございます。
どうやら起動時に何がしかがhosts,hostnameを書き換えてるな?とまではアタリをつけてはおりました。
/etcと/etc/init.d/内を丁寧にegrepして見たりしてましたが、moz様の回答で理解出来ました。
折角色々アドバイスを頂いたのですが、そして思いつく限りの方法は試してみたのですが出来ませんでした。
moz様ご指摘の/scripts/casper-bottom/18hostnameファイル。これは
/etc/casper.conf内で指定している変数$HOSTに基づき、hostname,hostsファイルを上書きしているもののよう
です(間違っていたらご指摘下さい)
ですので、/etc/casper.confファイル内の変数
export HOST="ubuntu"
を書き換えて、initrd.gzを作って盛り込めば良いのかな?と推測しました。しかし、カーネルのパニックで起動せず。
携帯する目的のUSB入りのOSですし、hostnameの変更は我慢して使用しようかなと考えました。
Linuxを始めたばかりの私にはこれ以上はちょっと荷が重そうです。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン