-->

2010-11-21

duplicate claimed blocks

e2fsck -y -c -f -D -v を実行して再起動したところ、
duplicate claimed blocks と出るので再度実行したところ、
ファイルがリネームされている例です。

$ sudo mv /etc/make.profi~0 /etc/make.profile
$ cat /etc/profile.env
...バイナリデータ...
$ sudo env-update && source /etc/profile
$ sudo mv /etc/sandbox.co~0 /etc/sandbox.conf

沢山リネームされています。
$ sudo find / -name "*~0" > find.errorFile.txt 2>&1 &
/etc/profile.en~0
/etc/make.conf~0
/etc/networ~0
/etc/mt~0
/etc/gnome-vfs-mime-mag~0
/etc/ld.so.cach~0
...
/usr/sbin/rd~0
/usr/sbin/zabbix_age~0
/usr/sbin/genspr~0
/usr/sbin/pluginview~0
/usr/sbin/addgnupgho~0
/usr/sbin/mysqlmanag~0
/usr/sbin/groupa~0
/usr/sbin/vi~0
/usr/sbin/pw~0
/usr/sbin/newuse~0
/usr/sbin/kpropl~0
/usr/sbin/htdige~0
/usr/sbin/mklost+fou~0
/usr/sbin/postki~0
/usr/sbin/quickp~0
/usr/sbin/sendma~0
/usr/sbin/krb5-send-~0
/usr/sbin/uuserv~0
/usr/sbin/groupd~0
...

エラーを手動で修正しつつパッケージを再インストールします。
$ sudo emerge -e system など

2010-11-06

javascript-mode

emacs の 23.1 => 23.2 で javascript-mode がうまく動かない場合の例です。

結論は javascript.el の場合に直接呼ぶか、
js.el の場合に js-mode-hook を使うかの違いです。
app-emacs/javascript はマスクされているので問題なければ js.el が良いです。
(load "/usr/share/emacs/site-lisp/javascript/javascript.el")
or
javascript-mode-hook => js-mode-hook

以下は詳細です。

よく見るとモード自体が違います。
(JavaScript) => (Javascript)
$ grep mode-name /usr/share/emacs/site-lisp/javascript/javascript.el
  (setq mode-name "JavaScript")
$ grep mode-name /usr/share/emacs/23.2/lisp/progmodes/js.el
  (setq mode-name "Javascript")

$ eix ^javascript$ -cI
[D] app-emacs/javascript (2.2.1@2010年11月06日 -> ~2.2.1): Major mode for editing JavaScript source text
$ equery files javascript|grep javascript.el
/usr/share/emacs/site-lisp/javascript/javascript.el
$ find /usr/share/emacs/ -name js.el
/usr/share/emacs/23.2/lisp/progmodes/js.el

$ equery belongs /usr/share/emacs/23.2/lisp/progmodes/js.el
[ Searching for file(s) /usr/share/emacs/23.2/lisp/progmodes/js.el in *... ]
app-editors/emacs-23.2 (/usr/share/emacs/23.2/lisp/progmodes/js.el)

js-indent-tabs-mode ぽい設定が無いです。
$ grep defcustom /usr/share/emacs/23.2/lisp/progmodes/js.el
...

(setq js-indent-level 16) ;; 本当に有効かどうか見たい。

javascript-mode-hook が 23.2 で動かないです。
名前が違います。
(add-hook 'js-mode-hook
          (function
           (lambda ()
             (setq indent-tabs-mode nil)
             )))

タブの利用を無効にしているだけの場合 js.el で問題ないと思います。
/* ... */ のコメントのインデントと、複数の入れ子の括弧だけのインデントがまともになったような気がします。

e2fsck をローカルのコンソールから使う例

http://beau.org/pipermail/whitebox-users/2005-April/006009.html
http://www.goudkov.com/public/articles/changing_distro.jsp

$ export LANG=C
$ export LC_ALL=C
$ init 1
$ mount -o remount,ro /
mount: / is busy
$ lsof|grep txt
$ killall screen
$ mount -o remount,ro /
$ mount | less
$ touch /test.txt
touch: cannot touch `/test.txt': Read-only file system
$ e2fsck -y -c -f -D -v /dev/cobd0 2>&1 1>/dev/shm/e2fsck.cobd0.log
$ mount -o remount,rw /
$ cp -pi /dev/shm/e2fsck.cobd0.log ~
$ runlevel
3 1
$ init 3

上の例はext4だが、別のパソコンの普通のハードディスク上のext4で実行したら、
エラー無しで終了したものの、再起動時にduplicate claimed blocksとなったので、
上の例だと何かが悪い。

追記: mount -o remount,rw / の前に sync; sync; sync; を行う。関係ないかもしれない。

2010-11-01

xdm => gdm

http://www.nbrains.net/php/pukiwiki/index.php?Setup%2FPC-XServer

$ diff /etc/conf.d/xdm.2010-11-01 /etc/conf.d/xdm
16c16
< DISPLAYMANAGER="xdm"
---
> DISPLAYMANAGER="gdm"
$ diff /etc/X11/gdm/custom.conf.2010-11-01 /etc/X11/gdm/custom.conf
59a60,61
> Enable=true
> Port=177