N=1

主にコンピュータ技術関連のことを投稿。 / 投稿は個人の意見であり所属団体の立場を代表するものではありません。

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

次回に続く。。