読者です 読者をやめる 読者になる 読者になる

CLFS SVN導入メモ1

pure64bit環境。
とりあえずX起動まで出来たので、つまづいたところを紹介。

Bashコンパイルエラー

mv: cannot stat `t-ru.gmo': No such file or directory
make[2]: *** [ru.gmo] Error 1
make[2]: Leaving directory `/mnt/lfs/sources/bash-3.2/po'
make[1]: *** [stamp-po] Error 2
make[1]: Leaving directory `/mnt/lfs/sources/bash-3.2/po'
make: [install] Error 2 (ignored)

http://www.mailinglistarchive.com/lfs-support@linuxfromscratch.org/msg26209.html
エラーかと思ったがignoredされているので問題ない。

Package Management

http://cross-lfs.org/view/svn/x86_64-64/final-system/pkgmgt.html
paco - a source code pacKAGE oRGANIZER for Unix/Linux

実はこれまでも書いてなかっただけでパッケージシステムは使っていた。
あまり強力に管理されるとLFSの柔軟性が無くなるので、単純に配置したファイルを記録するpacoというパッケージ管理システムを愛用している。pacoは上記clfsページの中では 10.2.2.5. LD_PRELOAD Based の方式。
./configureの結果から依存関係を把握し、古いファイルの消去にpacoを使えば、デスクトップで使う分で他のディストリビューションと比べて(時間がかかること以外で)困ることは特に無い。むしろしがらみが無いから最新版パッケージをいち早く使いたいときは楽。ディストリビューションなんてバッドノウハウの塊ですよ…

# paco -lD make install

のように使う。

-l
インストールログを記録するモード。普通なにか入れる場合これをつける。
-+
ログを追加する。前にインストールしたパッケージに関してさらに追加でなにかあるとき使う(使うときは-lと併用)
-p "パッケージ名"
パッケージの名前を指定する。/var/log/pacoに作成されるログファイルの名前になる。自分でわかりやすいものに勝手に変更してもいい。
-D
-p "現在いるディレクトリの名前" になる。便利。

これらオプションのあとに、インストールのためのコマンドを続ける。make install以外も可。ハイフンが入ってたり複数行に渡っている場合は" "でくくるといい。
パッケージを削除したい場合は、/var/log/paco/からパッケージ名を探して、

# paco --remove パッケージ名

(注:パッケージ名はフルパスではない。(/var/log/package-1.0 ではなく package-1.0 みたいに))
他のパッケージと重複しているファイルは手動で削除することになる。
あとはてきとーなんで/var/log/pacoで何やってもエラーとかは出ない。ちなみにgpacoは俺は使ってない。
設定ファイルは /etc/pacorc

module-init-toolsエラー

http://www.linuxquestions.org/questions/linux-general-1/module-init-tools-install-failed-190572/

if [ "docbook2man" = "docbook2man" ]; then                     \
            docbook2man doc/modprobe.conf.sgml > /dev/null 2>&1;                       \
        else                                                               \
            docbook2man doc/modprobe.conf.sgml 2>&1 > modprobe.conf.5 | sed 's/^[^:]*://';              \
        fi
make: *** [modprobe.conf.5] Error 127
make: *** Waiting for unfinished jobs....

これは調子に乗って最新の3.6を落としたせい。book通りに3.5を使えばok

再起動後日本語キーボードにならない。

CLFS 1.1.0のbootscripts-cross-lfs-1.1.0.tar.bz2なら、

# cat >/etc/sysconfig/console <<"EOF"
KEYMAP="jp106"
EOF

svnのbootscripts-cross-lfs-1.2-pre6.tar.bz2の場合、/etc/sysconfig/i18nを編集。keymap以外の不要な行はコメントアウトした。外人のおせっかいマジでUZEEEEE

次回に続く。。