トップ «前の日記(2008-09-09(Tue)) 最新 次の日記(2008-09-11(Thu))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2008-09-10(Wed) れぇ?

デバイス名よさらば

/etc/fstab にデバイス名じか書きなんてもう旧い(現状に合わぬ)。 カーネルによって/dev/hdaになったり /dev/sdaになったりなんて、やってられっか。
昨今はホットプラグな補助記憶装置も多様に、しかもでかく、そして 同時にたくさん使えるようになってきてるし。

...と考えつつ、man 5 fstab。
で、/etc/fstabの最初のフィールドをデバイス名からラベル名に変えてみる。
ext3なら、tune2fs -L $LABEL_NAME /dev/$DEV(umountの必要はない)、 スワップパーティションなら mkswap -L $LABEL_NAME /dev/$DEV (swapoffの必要はない)。
で、bootstrap で入れたetchをIDE-USBでINSPIRON6000に繋ぎ、電源投入後に F12を押下して、USBから起動させる。
このetchはetch-n-half-1なカーネルを入れてあるので、 IDEもUSBもSATAも/dev/sd*になるはず。

$ cat /etc/fstab
proc             /proc    proc  defaults  0  0
LABEL=bootstrap  /        ext3  defaults  0  1
LABEL=swap       none     swap  sw        0  0
LABEL=lfs        /mnt/lfs ext3  defaults  0  2
 
$ cat /etc/mtab
/dev/sdb1 / ext3 rw 0 0
tmpfs /lib/init/rw tmpfs rw,nosuid,mode=0755 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
sysfs /sys sysfs rw,noexec,nosuid,nodev 0 0
procbususb /proc/bus/usb usbfs rw 0 0
udev /dev tmpfs rw,mode=0755 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode=620 0 0
/dev/sdb3 /mnt/lfs ext3 rw 0 0

mount LABEL=$LABEL $MOUNTPOINT でも同様。

ラベルが違うパーティションとダブったらどうなるかも、 一応追試(システムによって対応が 大きく異なる予感)。
/dev/sdb3と/dev/sdb4に同じラベルを振った上で 再起動してみる。特にエラーメッセージも出ず、/dev/sdb3がさっきと同じように mount された。
ラベル名を s/old/new/g して再起動すると、/dev/sdb4 がmountされた。
元に戻すと、/dev/sdb3になった。うーむ。
UUID=hogehogehogehogeの方が安全性が高いかも。

ツッコミを受けて少しぐぐってみた。過去のRedHatには ディスクをラベル名で記述したものがちらほら。
Fedora9の fstabはUUIDがメインになっているようだった。

どこまで彫れるか

mkdir と cd を繰り返すスクリプトで試す。

#!/bin/sh
cd /
function dir {
  mkdir a
  if [ -d a ]; then 
    cd a
  fi
}
 
while :; do dir ; done

勝手に止まる方法を考える気にならず実行。
やがて"cd: error retrieving current directory: getcmd: cannot access paret directories: File name too long" 。2141段あった。
最下段では動作が非常にもたつく。

mkdir -p `perl -e "print \"/a\" x $NUM"` してみたが、/ からは2047段までしか彫れなかった。
そこに cd した後は、もう少し彫れたけど。

要するにツールやユーティリティによって対応がまちまちというところだろうか。
もうどうでもよくなった。

節穴

navi2chで尻尾が出た。
開発スレに飛んで逝き、navi2ch-net.el を書き換え、M-x byte-compile-file した上で 書き込みテスト。スムースに済んだ訳ではない。

わざわざrootでemacsの画面を拝む必要はなかった。
# emacs -nw -batch -f byte-compile-file とかやれば、もう少し簡単だったはず。

本日のツッコミ(全4件) [ツッコミを入れる]
Plamo方面名倉 (2008-09-10(Wed) 13:13)

しばらく前のFedoraのようになってきましたね。

kuzu (2008-09-10(Wed) 14:23)

そうなんですか。RedHat系は追ってなかったのですけど、参考になることが多そうですね。

Plamo方面名倉 (2008-09-10(Wed) 14:40)

たしかFedora8あたりからもれなくLVMをいれてくれるみたいです。

kuzu (2008-09-10(Wed) 14:44)

なるほど。色々工夫してますね。でも、デフォルトで導入されてるとちょっと引いてしまいそうです。うまく動かない場合の手間が思いやられますので:-)


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。