LFSの最近のブログ記事

BLFS Book: Chapter27.Window Managers~XFce-4.2.2

今までは、twmという原始的なウインドウマネージャを使用していましたが、より実用的なウインドウマネージャであるXFceをインストールします。
XFceのソースを展開すると、各種コンポーネントのソースが展開されますが、ここでは必要最低限のコンポーネントをインストールしてXFceをインストールします。実行コマンドは以下のとおり。

$ wget http://www.us.xfce.org/archive/xfce-4.2.2/fat_tarballs/xfce-4.2.2-src.tar.bz2
$ tar jxvf xfce-4.2.2-src.tar.bz2
$ cd xfce-4.2.2/src
$ for i in *.tar.gz
>do tar xzvf $i
>done
$ cd libxfce4util-4.2.2
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ su
# make install
# exit
$ cd ../dbh-1.0.24
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ su
# make install
# exit
$ cd ../libxfcegui4-4.2.2
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ su
# make install
# exit
$ cd ../libxfce4mcs-4.2.2
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ su
# make install
# exit
$ cd ../xfce-mcs-manager-4.2.2
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ su
# make install
# exit
$ cd ../xfwm4-4.2.2
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ su
# make install
# exit
$ cd ../xfce4-panel-4.2.2
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ su
# make install
# exit
$ cd ../xfdesktop-4.2.2
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ su
# make install
# exit
$ cd ../xfce-utils-4.2.2
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ su
# make install
# exit
$ vi ~/.xsession
$ cat ~/.xsession
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
export XMODIFIERS="@im=kinput2"
/usr/X11R6/bin/kinput2 -canna -kinput -xim &
xrdb -merge $HOME/.Xresources
xfce-mcs-manager
xfwm4 --daemon
xftaskbar4 &
xfdesktop &
exec xfce4-panel

最後に、.xsessionもしくは.xinitrcを上記のとおり編集し、Xを一旦ログアウトし、再度ログインします。こちらのとおり、XFceが立ち上がるはずです。

以上をもちまして、LFS構築記は終わりとしたいと思います。普段使用するOSとしては未だ貧弱な所はありますが(特にマルチメディア系や印刷機能)、Linuxディストリビュ-ション自体が元々苦手とする分野なのでLFSに限られている問題ではないかと思います。

小生の場合、普段はleptonにインストールしているGentoo Linuxを使用していますが、こちらのマシンが調子悪くなった場合は、gluonにインストールしたLFSを立ち上げWEBで調べ物をするといった使い分けになるかと思います。

ところで、当初LFSインストールの目的の一つとしてLinuxの仕組み(どのようなソフト・ライブラリで成り立っているか)を学びたいという思いがありましたが、正直言って何も頭に入っていません。ただLFS Bookなり、BLFS Bookなり、Linux World特集記事の手順に沿ってコマンド叩いてただけなので。
インストールしてから持て余していたブログがそれなりにエントリーの投稿を稼げたから、まぁいっか。

BLFS Book:
Chapter35.Graphical Web Browsers~Firefox-1.0.6
Chapter36.Other X-based Internet Programs~Thunderbird-1.0.6

前回でGUIアプリのインストール準備が完了したので、いよいよFirefoxをインストールします。かなり巨大なアプリケーションなので、コンパイルにはそれ相応の時間がかかります。
Firefox-1.0.6
$ wget http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0.6/source/firefox-1.0.6-source.tar.bz2
$ tar jxvf firefox-1.0.6-source.tar.bz2
$ cd mozilla
$ export MOZILLA_OFFICIAL="1"
$ export BUILD_OFFICIAL="1"
$ export MOZ_PHOENIX="1"
$ ./configure --prefix=/usr \
>--with-default-mozilla-five-home=/usr/lib/firefox-1.0 \
>--with-user-appdir=.firefox \
>--with-system-zlib \
>--with-system-png \
>--with-system-jpeg \
>--enable-application=browser \
>--enable-default-toolkit=gtk2 \
>--enable-extensions=cookie,xml-rpc,xmlextras,pref,transformiix,universalchardet,webservices,inspector,gnomevfs,negotiateauth \
>--enable-crypto \
>--enable-xft \
>--enable-xinerama \
>--enable-optimize \
>--enable-reorder \
>--enable-strip \
>--enable-cpp-rtti \
>--enable-single-profile \
>--disable-freetype2 \
>--disable-accessibility \
>--disable-debug \
>--disable-tests \
>--disable-logging \
>--disable-pedantic \
>--disable-installer \
>--disable-mailnews \
>--disable-ldap \
>--disable-composer \
>--disable-profilesharing
$ make
$ su
# make install
# install -d /usr/include/firefox-1.0.6/nss
# cp -Lf dist/private/nss/*.h dist/public/nss/*.h /usr/include/firefox-1.0.6/nss
# cd /usr/lib/firefox-1.0.6
# export LD_LIBRARY_PATH="$PWD"
# export MOZILLA_FIVE_HOME="$PWD"
# ./regxpcom
# ./regchrome
# touch `find . -name *.rdf`
# firefox ← rootでログインし直して実行

インストール後は、先にrootでfirefoxを実行します。これにより、Firefoxが使用するシステムディレクトリが作成されます。rootで起動が成功したら、一般ユーザーでも起動を確認しておきます。

次はThunderbirdのインストールです。Linux Worldの方ではSylpheedをインストールしていますが、ここはBLFS Bookにも記載されているThunderbirdをインストールしてみます。

Thunderbird-1.0.6
$ wget http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/1.0.6/source/thunderbird-1.0.6-source.tar.bz2
$ wget http://downloads.mozdev.org/enigmail/src/enigmail-0.92.0.tar.gz
$ wget http://downloads.mozdev.org/enigmail/src/ipc-1.1.3.tar.gz
$ mv mozilla mozilla.firefox ← firefox展開時のディレクトリをリネーム
$ tar jxvf thunderbird-1.0.6-source.tar.bz2
$ cd mozilla
$ export MOZILLA_OFFICIAL="1"
$ export BUILD_OFFICIAL="1"
$ export MOZ_THUNDERBIRD="1"
$ sed -i -e 's/$(destdir)$(bindir)/$(DESTDIR)$(mozappdir)/' mail/app/Makefile.in
$ ./configure --prefix=/usr \
>--with-default-mozilla-five-home=/usr/lib/thunderbird-1.0.6 \
>--with-system-zlib \
>--with-system-png \
>--with-system-jpeg \
>--enable-application=mail \
>--enable-default-toolkit=gtk2 \
>--enable-extensions=wallet,spellcheck,xmlextras,webservices \
>--enable-crypto \
>--enable-xft \
>--enable-xinerama \
>--enable-optimize \
>--enable-reorder \
>--enable-strip \
>--enable-cpp-rtti \
>--enable-single-profile \
>--enable-necko-protocols=http,file,jar,viewsource,res,data \
>--enable-image-decoders=default,-xbm \
>--disable-freetype2 \
>--disable-accessibility \
>--disable-debug \
>--disable-tests \
>--disable-logging \
>--disable-pedantic \
>--disable-installer \
>--disable-profilesharing \
>--disable-mathtml \
>--disable-oji \
>--disable-plugins \
>--disable-necko-disk-cache
$ make
$ tar zxvf ../enigmail-0.92.0.tar.gz -C extensions
$ tar xzvf ../ipc-1.1.3.tar.gz -C extensions
$ build/autoconf/make-makefile extensions/ipc extensions/enigmail
$ make -C extensions/ipc
$ make -C extensions/enigmail
$ su
# make install
# install -d /usr/include/thunderbird-1.0.6/nss
# cp -Lf dist/private/nss/*.h dist/public/nss/*.h /usr/include/thunderbird-1.0.6/nss
# make -C extensions/ipc install
# make -C extensions/enigmail install
# cd /usr/lib/thunderbird-1.0.6
# export LD_LIBRARY_PATH="$PWD"
# export MOZILLA_FIVE_HOME="$PWD"
# ./regxpcom
# ./regchrome
# touch `find . -name *.rdf`

BLFS Book:
Chapter26.X Libraries~Pango-1.8.1, ATK-1.9.1, GTK+-2.6.7, Lesstif-0.94.4
Chapter8.General Libraries~LibIDL-0.8.5

LFS構築記も佳境に入りつつありますが、最終的な目標である実用アプリ(ブラウザ、メーラ)のインストール前に必要なライブラリをいくつかインストールします。

先ずはPango(テキストレンダリング・モジュ-ル)からです。実行コマンドは以下のとおり。
Pango-1.8.1
$ wget http://ftp.gnome.org/pub/GNOME/sources/pango/1.8/pango-1.8.1.tar.bz2
$ tar jxvf pango-1.8.1.tar.bz2
$ cd pango-1.8.1
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ su
# make install

次にATK(GTK+で使用するグラフィックライブラリ)をインストールします。実行コマンドは下記の通り。
ATK-1.9.1
$ wget http://ftp.gnome.org/pub/GNOME/sources/atk/1.9/atk-1.9.1.tar.bz2
$ tar jxvf atk-1.9.1.tar.bz2
$ cd atk-1.9.1
$ ./configure --prefix=/usr
$ make
$ su
# make install

次にLibIDL(Mozilla等で利用されるUI定義言語を扱う為のライブラリ)をインストールします。実行コマンドは以下のとおり。
LibIDL-0.8.5
$ wget http://ftp.gnome.org/pub/GNOME/sources/libIDL/0.8/libIDL-0.8.5.tar.bz2
$ tar jxvf libIDL-0.8.5.tar.bz2
$ cd libIDL-0.8.5
$ ./configure --prefix=/usr
$ make
$ su
# make install

次にGTK+(GNOMEでGUIパーツを提供するライブラリ)をインストールします。実行コマンドは以下のとおり。
GTK+-2.6.7
$ wget http://gd.tuwien.ac.at/graphics/gimp/gtk/v2.6/gtk+-2.6.7.tar.bz2
$ tar jxvf gtk+-2.6.7.tar.bz2
$ cd gtk+-2.6.7
$ ./configure --prefix=/usr --sysconfdir=/etc \
>--without-libtiff --without-libjpeg
$ make
$ su
# make install

もう一つ、Lesstif(オープンソースのGUIツールキット)をインストールします。実行コマンドは以下のとおり。
Lesstif-0.94.4
$ wget http://prdownloads.sourceforge.net/lesstif/lesstif-0.94.4.tar.bz2
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/lesstif-0.94.4-testsuite_fix-1.patch
$ tar jxvf lesstif-0.94.4.tar.bz2
$ cd lesstif-0.94.4
$ patch -Np1 -i ../lesstif-0.94.4-testsuite_fix-1.patch
$ ./configure --prefix=/usr --disable-debug \
>--enable-production --with-xdnd
$ make rootdir=/usr/share/doc/lesstif-0.94.4
$ su
# make rootdir=/usr/share/doc/lesstif-0.94.4 install
# mv -v /usr/X11R6/lib/X11/mwm /etc/X11
# ln -v -s ../../../../etc/X11/mwm /usr/X11R6/lib/X11
# ldconfig

BLFS Book: -

引き続き日本語環境を構築していきますが、ここでは日本語入力環境を整備します。最近のLinuxでは日本語入力ソフトも色々と種類がありますが、ここでは、以前から使用されているCanna+Kinput2の組み合わせで日本語入力環境を構築していきます。

先ずは、Canna(かな漢字変換エンジン)のインストールからです。実行コマンドは以下のとおり。

$ wget http://ftp.debian.org/debian/pool/main/c/canna/canna_3.7p3.orig.tar.gz
$ tar zxvf canna_3.7p3.orig.tar.gz
$ cd Canna37p3
$ vi Canna.conf
$ cat Canna.conf
~中略~
cannaPrefix = DefCannaPrefix ← 下記のように修正(この行は不要)
cannaPrefix = /usr
~中略~
$ xmkmf -a
$ make canna
$ su
# make install
# make install.man

Cannaをインストールしたら、その起動スクリプトを以下の内容で作成します。
/etc/rc.d/init.d/canna
. /etc/sysconfig/rc
. ${rc_functions}
case "${1}" in
    start)
        boot_mesg "Starting Canna Server..."
        loadproc /usr/sbin/cannaserver start
        ;;
    stop)
        boot_mesg "Stopping Canna Server..."
        killproc /usr/sbin/cannakill
        ;;
    restart)
        ${0} stop
        sleep 1
        ${0} start
        ;;
    status)
        /usr/sbin/cannastat
        ;;
    *)
        echo "Usage: ${0} {start|stop|restart|status}"
        exit 1
        ;;
esac

上記ファイルを作成したら、以下のコマンドを実行し、実行権の付与、ランレベルごとの起動スクリプトへのシンボリックリンクを作成します。

# chmod +x /etc/rc.d/init.d/canna
# cd /etc/rc.d
# for i in rc[2345].d
>do pushd $i
>ln -s ../init.d/canna S30canna
>popd
>done

続いてKinput2(主にCannaと組み合わせて使用されるインプットメソッド)のインストールです。

$ wget http://ftp.debian.org/debian/pool/main/k/kinput2/kinput2_3.1.orig.tar.gz
$ wget http://ftp.debian.org/debian/pool/main/k/kinput2/kinput2_3.1-4.diff.gz
$ tar zxvf kinput2-3.1.orig.tar.gz
$ cd kinput2-v3.1
$ zcat ../kinput2_3.1-4.diff.gz | patch -p1
$ vi Kinput2.conf
$ cat Kinput2.conf
~中略~
/* #define UseSj3 */ /* define if you are going to use Sj3 */ ← コメント
~中略~
$ xmkmf -a
$ make Makefiles
$ make depend
$ make
$ su
# make install

なお、Kinput2.confというファイルでコメントしているのは、これをしないと、コンパイルに失敗するためです(コンパイル作業ではよく見かけるそんなファイルやディレクトリ知らん!的な断末魔メッセージが大量に出力される)。

さて、必要なソフトがインストールできたので、あとはXの設定を行います。設定内容は以下の通り。
~/.Xresources
*SeparateConversion.input: false
*selectionShell.input: false
*auxShell.input: false

~/.xinitrc or ~/.xsession
export XMODIFIERS="@im=kinput2"
xrdb -merge $HOME/.Xresources
/usr/X11R6/bin/kinput2 -canna -kinput -xim &
xterm -g 80x40+0+0 &
xclock -g 100x100-0+0 &
twm

次に、日本語が使用可能なターミナル(端末)と言えば、今も昔も?ktermということで、定番ソフトktermをインストールしておきます。

$ wget http://ftp.debian.org/debian/pool/main/k/kterm/kterm_6.2.0.orig.tar.gz
$ wget http://ftp.debian.org/debian/pool/main/k/kterm/kterm_6.2.0-43.diff.gz
$ tar zxvf kterm_6.2.0.orig.tar.gz
$ cd kterm-6.2.0.orig
$ zcat ../kterm_6.2.0-43.diff.gz | patch -p1
$ chmod +w button.c charproc.c 
$ vi button.c
 ↓修正内容
//extern char *malloc();
$ vi charproc.c
 ↓修正内容
//extern char *malloc();
$ xmkmf -a
$ make
$ su
# make install
# make install.man

ktermのソースの中で、button.cとcharproc.cというファイルを修正していますが、malloc関数の定義関係でコンパイルエラーが発生することによる対処です。Cはあまり詳しくないですが、mallocってCの標準関数だったような気がしたけど、こんな所で何故にわざわざ外部定義をしているのかよく分かりません(小生の対処方法が正しいのかわかりませんが、とりあえずktermは普通に使えているので良しとします)。

最後にこれまたしばしば使用するnkf(文字コード変換ツール)とlv(多言語対応ページャ)もインストールしておきます。

$ wget http://osdn.dl.sourceforge.jp/nkf/20770/nkf207.tar.gz
$ tar xzvf nkf207.tar.gz
$ cd nkf207
$ make
$ su
# install -m755 nkf /usr/bin/nkf
# install -m644 nkf.1 /usr/man/man1/nkf.1
# exit
$ wget http://www.ff.iij4u.or.jp/~nrt/freeware/lv451.tar.gz
$ tar zxvf lv451.tar.gz
$ cd lv451/build
$ ../src/configure
$ make
$ su
# make install

ここまででだいぶ実用的なシステムにはなってきましたが、このご時世にWEBブラウジングが未だ出来ないというのがかなり致命的です。次回以降はこの辺りを改善し、ウインドウマネージャもより実用的なものにアップグレードする予定です。

BLFS Book: -

ここでは日本語環境の構築を行います。BLFS Bookには、特定言語の環境構築について詳細は記載されていないようです(細かく見てないので分かりませんが・・・)。てなわけで、ここからの作業は主に月刊誌(現在は休刊となっている)Linux World2006年12月号の特集記事の内容を中心に作業を行っていくこととなります。

まずはフォントのインストールから始めます。ここでは、さざなみフォントを選びますが、お好みのフォントに合わせてインストールしても良いかもしれません(他のフォントでは未検証)。その他、フォントインストールに伴い、Xの環境設定も行っておきます。具体的な実行コマンドは以下のとおりです。

$ wget http://osdn.dl.sourceforge.jp/efont/10087/sazanami-20040629.tar.bz2
$ tar jxvf sazanami-20040629.tar.bz2
$ cd sazanami-20040629
$ su
# mkdir /usr/share/fonts
# cp sazanami-gothic.ttf sazanami-mincho.ttf /usr/share/fonts
# su -
# mkfontdir /usr/share/fonts
# mkfontscale /usr/share/fonts
# fc-cache /usr/share/fonts
# vi /etc/X11/xorg.conf
# cat /etc/X11/xorg.conf
~中略~
FontPath "/usr/share/fonts/" ← フォントファイルの設定セクション(Filesセクション)に追記
~中略~
# xlsfonts | grep sazanami ← さざなみフォントがXに認識されているか確認(要Xの再起動)

次にロケール設定を行っておきます。実行コマンドは以下のとおり(EUCを使用する場合、ファイル修正は不要)。

# localedef -i ja_JP -f UTF-8 ja_JP.UTF-8
# vi /etc/profile.d/i18n.sh
# cat /etc/profile.d/i18n.sh
export LC_ALL=ja_JP.UTF-8
export LANG=ja_JP.UTF-8
export G_FILENAME_ENCODING=@locale ← 変更なし
# exit
$ vi ~/.xinitrc ← .xsessionも同様
$ cat ~/.xinitrc ← .xsessionも同様
~中略~
xterm -g 80x40+0+0 & ← +lcオプション(ロケールの自動選択機能無効化)を外す
~中略~

BLFS Book: Chapter25.X Window System Environment

前回までにGUI環境(X Window System)のインストールに必要なライブラリ等をインストールし、GUI環境を構築する準備が整いました。先ずは、GUI環境のベースとなるXをインストールします。実行コマンドは以下のとおりです。
Xorg-6.8.2
$ wget ftp://ftp.opengroup.org/pub/x.org/pub/X11R6.8.2/src-single/X11R6.8.2-src.tar.bz2
$ tar jxvf X11R6.8.2-src.tar.bz2
$ cd xc
$ sed -i '/^SUBDIRS =/s/ etc$//' programs/Xserver/Xprint/Imakefile
$ pushd config/util
$ make -f Makefile.ini lndir
$ su
# cp -v lndir /usr/bin
# exit
$ popd
$ mkdir ../xbuild
$ cd ../xbuild
$ lndir ../xc
$ vi config/cf/host.def ← 以下の内容でファイルを作成
$ cat config/cf/host.def
#define HasFreetype2 YES
#define HasFontconfig YES
#define HasExpat YES
#define HasLibpng YES
#define HasZlib YES
#define XInputDrivers mouse keyboard
#define XprtServer NO
#define BuildXprintClients NO
$ sed -i -e "s@^#include @/* & */@" `grep -lr linux/config.h *`
$ ( make World 2>&1 | tee xorg-compile.log && exit $PIPESTATUS )
$ su
# make install
# make install.man
# ln -v -sf ../X11R6/bin /usr/bin/X11
# ln -v -sf ../X11R6/lib/X11 /usr/lib/X11
# ln -v -sf ../X11R6/include/X11 /usr/include/X11
# vi /etc/ld.so.conf ← 以下の内容に修正(3行目を追記) 
# cat /etc/ld.so.conf
/usr/local/lib
/opt/lib
/usr/X11R6/lib
# /sbin/ldconfig

インストールが完了したら、/etc/X11/xorg.confの設定を行います。Xの設定方法は色々とありますが、ここでは、グラボのドライバやディスプレイを自動判別して雛型を作成してくれるツールを使用したいと思います。具体的には以下のとおりコマンドを実行します。

$ su -
# Xorg -configure

上記のコマンドを実行すると、rootのディレクトリにxorg.conf.newというファイルが作成されているかと思いますので内容を確認します。なお、上記ツールではキーボードの自動判別はできないため、日本語キーボードを利用している場合、修正する必要があります。具体的には、キーボードの設定セクションの中に以下の2行を追記します。
また、小生の環境では、次のX起動テストの際、モニターに「out of range」とかモニターが出力しているらしきメッセージが出力され、起動に失敗しました。モニターの設定セクションを見ると水平・垂直周波数が設定されていないのがダメなのかな?と思い設定した後、テストをしてみた所、起動に成功したので、その設定内容も併せて記述しておきます。

# cat xorg.conf.new
~中略~
#キーボードの設定セクションに以下の2行を追記
Option "XkbModel" "jp106"
Option "XkbLayout" "jp"
~中略~
#モニターの設定セクションに以下の2行を追記
HorizSync 28-51
VertRefresh 43-60
~中略~

Xの設定ファイルの確認が終わったら、Xの起動テストを行います。以下のコマンドを実行します。

# X -config ~/xorg.conf.new

上記コマンドを実行し、マウスポインタが「X」で表示され、問題なく動いているようでしたら成功です。[Ctrl]+[Alt]+[BackSpace]でXを抜けて正規の設定ファイルとしてインストールします。具体的には以下のコマンドを実行します。

# mv ~/xorg.conf.new /etc/X11/xorg.conf

Xの設定ファイルが完成したら、ウインドウマネージャ(現段階ではtwm)等の最低限必要な設定を以下行います。

$ vi ~/.xinitrc
$ cat ~/.xinitrc
xterm +lc -g 80x40+0+0 &
xclock -g 100x100-0+0 &
twm
$ su
# vi /etc/sysconfig/createfiles
# cat /etc/sysconfig/createfiles
/tmp/.ICE-unix dir 1777 root root ← X起動時に余計な警告を表示させないための設定
# exit
$ startx

ここで、twmが起動しない問題が発生。Xがハングし、キーボードも入力を受け付けない状態に陥りました。原因はわかりませんが、とりあえず、Xのログ(/var/log/Xorg.0.log)を参照すると、グラフィックチップ関連のエラーが発生していることが判明。Xがグラフィックチップの自動認識に結局のところ失敗してんじゃね~か?とあたりをつけ、再度設定し直すことにしました。
同じ方法で再設定しては意味が無いので、ここは、昔ながらの設定方法でやってみることにしました。

# xorgconfig
~主な設定内容は以下のとおり~
・mouse protocol type → 1.Auto
・mouse device → /dev/psaux
・keyboard type → 11.Japanese 106-key
・国の設定? → 44.Japanese
・horizontal sync range → 11.Enter your own horizontal sync rangeを選択し、28-51を指定
・vertical sync range → 5.Enter your own vertical sync rangeを選択し、43-60を指定
・card definition → 15.Intel i810(generic)
・video memory → 9.65536K
・color depth → 5.24 bits (16 million colors)

xorgconfigの最後に/etc/X11/xorg.confに保存すっか?と聞いてくるので、気にせず保存して既存のファイルに上書きしてしまいます。その後再度startxで起動したら無事twmが起動しました。

最後にxdmの設定を行い、ひとまず終了とします。それには、/etc/inittabファイルを以下のとおり編集します。
/etc/inittab
# vi /etc/inittab
# cat /etc/inittab
# 最下行に以下を追記
x:3:respawn:/usr/X11R6/bin/xdm -nodaemon
# cp /etc/pam.d/login /etc/pam.d/xdm ← xdmのPAM設定ファイル作成
# exit
$ cp ~/.xinitrc ~/.xsession

以上の設定ができたら、LFS Linuxを再起動します。GUIのグラフィカルなログイン画面が表示されるはずです。

BLFS Book:
Chapter8.General Libraries~PCRE-6.1, Popt-1.7-5, Slang-1.4.9, FAM-2.7.0, GDBM-1.8.3, GLib-2.6.4, Expat-1.95.8, Libxml2-2.6.20,LZO-2.0.1
Chapter9.Graphics and Font Libraries~Libjpeg-6b, Libpng-1.2.8, Libtiff-3.7.3, FreeType-2.1.10, Fontconfig-2.3.2

今日も引き続き各種ユーティリティのインストール作業を行っていきます。先ずはPCRE(Perl互換の正規表現機能を提供するライブラリ)からインストールします。なお、月刊誌Linux World 2006年11月号の特集ではDHCP Clientのインストールをする順番となっていますが、ここでは固定でIPを割り振っているものとし、DHCP Clientのインストール作業については割愛させていただきます。
PCRE-6.1
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-6.1.tar.bz2
$ tar jxvf pcre-6.1.tar.bz2
$ cd pcre-6.1
$ ./configure --prefix=/usr --enable-utf8
$ make
$ su
# make install
# install -v -m755 -d /usr/share/doc/pcre-6.1/html
# install -v -m644 doc/html/* /usr/share/doc/pcre-6.1/html
# install -v -m644 doc/{Tech.Notes,*.txt} /usr/share/doc/pcre-6.1

次にPopt(コマンドラインで指定されたオプションを取得するライブラリ)をインストールします。手順は以下のとおり。
Popt-1.7-5
$ wget http://ftp.debian.org/debian/pool/main/p/popt/popt_1.7.orig.tar.gz
$ wget http://ftp.debian.org/debian/pool/main/p/popt/popt_1.7-5.diff.gz
$ gunzip popt_1.7-5.diff.gz
$ tar xzvf popt_1.7.orig.tar.gz
$ cd popt-1.7
$ patch -Np1 -i ../popt_1.7-5.diff
$ ./configure --prefix=/usr
$ cp configure.in configure.ac
$ touch configure.in configure.ac
$ make
$ su
# make install

次はSlang(キーボードからの入力や画面表示を制御する機能を集めたライブラリ)です。実行コマンドは以下のとおり。
Slang-1.4.9
$ wget http://gd.tuwien.ac.at/editors/davis/slang/v1.4/slang-1.4.9.tar.bz2
$ tar jxvf slang-1.4.9.tar.bz2
$ cd slang-1.4.9
$ ./configure --prefix=/usr
$ make
$ su
# make install
# exit
$ make elf
$ su
# make install-elf
# chmod 755 /usr/lib/libslang.so.1.4.9

続いてFAM(デスクトップ管理ソフトなどで使用されるファイルが変更されたことを検出するデーモン)のインストールです。
FAM-2.7.0
$ wget http://gd.tuwien.ac.at/opsys/linux/gentoo/distfiles/fam-2.7.0.tar.gz
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/fam-2.7.0-dnotify-1.patch
$ tar zxvf fam-2.7.0.tar.gz
$ cd fam-2.7.0
$ patch -Np1 -i ../fam-2.7.0-dnotify-1.patch
$ chmod -v 755 configure
$ autoreconf -f -i
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ su
# make install
# vi /etc/inetd.conf ← 以下の1行を追加
# cat /etc/inetd.conf
sgi_fam/1-2 stream rpc/tcp wait root /usr/sbin/famd fam
# cd ../blfs-bootscripts-6.1 ← blfs-bootscriptsのディレクトリに移動(場所は任意)
# make install-fam

続いてGDBM(アプリケーション組み込み型データベース)のインストールです。
GDBM-1.8.3
$ wget http://ftp.gnu.org/gnu/gdbm/gdbm-1.8.3.tar.gz
$ tar zxvf gdbm-1.8.3.tar.gz
$ cd gdbm-1.8.3
$ ./configure --prefix=/usr
$ make
$ su
# make BINOWN=root BINGRP=root install
# make BINOWN=root BINGRP=root install-compat

次はGLib(基本的なデータ処理機能が集まったライブラリ)のインストールです。
GLib-2.6.4
$ wget http://gd.tuwien.ac.at/graphics/gimp/gtk/v2.6/glib-2.6.4.tar.bz2
$ tar jxvf glib-2.6.4.tar.bz2
$ cd glib-2.6.4
$ ./configure --prefix=/usr
$ make
$ su
# make install

次にExpat(Cで書かれたXMLパーサライブラリ)のインストールです。
Expat-1.95.8
$ wget http://prdownloads.sourceforge.net/expat/expat-1.95.8.tar.gz
$ tar zxvf expat-1.95.8.tar.gz
$ cd expat-1.95.8
$ ./configure --prefix=/usr
$ make
$ su
# make install

次にLibxml2(Expatと同じ機能のライブラリだが処理が高速で高機能)のインストールです。
Libxml2-2.6.20
$ wget http://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.20.tar.bz2
$ tar jxvf libxml2-2.6.20.tar.bz2
$ cd libxms2-2.6.20
$ ./configure --prefix=/usr --with-history
$ make
$ su
# make install

次にLZO(データを高速に圧縮/伸長するためのライブラリ)のインストールです。そろそろ飽きてきたな。
LZO-2.01
$ wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.01.tar.gz
$ tar zxvf lzo-2.01.tar.gz
$ cd lzo-2.01
$ ./configure --prefix=/usr --enable-shared
$ make
$ su
# make install
# install -v -m755 -d /usr/share/doc/lzo-2.01
# install -v -m644 doc/* /usr/share/doc/lzo-2.01

次からはグラフィックとフォント関連のライブラリのインストールに趣向が変わってきます。先ずは、Libjpeg(JPEG形式の画像ファイル処理に関するライブラリ)のインストールからです。
Libjpeg-6b
$ wget http://www.photopost.com/jpegsrc.v6b.tar.gz
$ tar zxvf jpegsrc.v6b.tar.gz
$ cd jpeg-6b
$ ./configure --prefix=/usr --enable-static --enable-shared
$ make
$ su
# make install

続いてLibpng(PNG形式の画像ファイル処理に関するライブラリ)のインストールです。
Libpng-1.2.8
$ wget http://prdownloads.sourceforge.net/libpng/libpng-1.2.8.tar.bz2
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/libpng-1.2.8-link_to_proper_libs-1.patch
$ tar jxvf libpng-1.2.8.tar.bz2
$ cd libpng-1.2.8
$ patch -Np1 -i ../libpng-1.2.8-link_to_proper_libs-1.patch
$ make prefix=/usr ZLIBINC= ZLIBLIB= -f scripts/makefile.linux
$ su
# make prefix=/usr install -f scripts/makefile.linux

続いてLibtiff(TIFF形式の画像ファイル処理に関するライブラリ)のインストールです。
Libtiff-3.7.3
$ wget ftp://81.18.129.66/pub/mirrors/gentoo/distfiles/tiff-3.7.3.tar.gz
$ tar zxvf tiff-3.7.3.tar.gz
$ cd tiff-3.7.3
$ ./configure --prefix=/usr
$ make
$ su
# make install

続いてFreeType(True Typeフォントのレンダリング機能を提供するライブラリ)のインストールです。
FreeType-2.1.10
$ wget http://prdownloads.sourceforge.net/freetype/freetype-2.1.10.tar.bz2
$ tar jxvf freetype-2.1.10.tar.bz2
$ cd freetype-2.1.10
$ sed -i -r 's:.*(#.*BYTE.*) .*:\1:' include/freetype/config/ftoption.h
$ ./configure --prefix=/usr
$ make
$ su
# make install


最後にFontconfig(フォントファイルがある位置を管理し、使用可能なフォントのアクセス方法をシステムに伝えてやるソフト)のインストールです。
Fontconfig-2.3.2
$ wget http://fontconfig.org/release/fontconfig-2.3.2.tar.gz
$ tar zxvf fontconfig-2.3.2.tar.gz
$ cd fontconfig-2.3.2
$ ./configure --prefix=/usr --sysconfdir=/etc --disable-docs
$ make
$ su
# make install

BLFS Book:
Chapter18.Basic Networking Programs~Inetutils-1.4.2, Tcpwrappers-7.6, Portmap-5beta, Net-tools-1.60
Chapter11.System Utilities~UnZip-5.52, Zip-2.31, Pkg-config-0.19, Which-2.16


ここからは、一般的なライブラリをはじめ、しばしばよく利用されるコマンド等各種ユーティリティをインストールしていきます。

先ずは、Inetutils(ftpd、telnetdなど今となっては古き良き時代?に使用されていた基本的なインターネット関連ツールを含むパッケージ)をインストールします。実行コマンドは次の通り。
Inetutils-1.4.2
$ wget ftp://ftp.gnu.org/gnu/inetutils/inetutils-1.4.2.tar.gz
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/inetutils-1.4.2-kernel_headers-1.patch
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/inetutils-1.4.2-daemon_fixes-1.patch
$ tar xzvf inetutils-1.4.2.tar.gz
$ cd inetutils-1.4.2
$ patch -Np1 -i ../inetutils-1.4.2-kernel-headers-1.patch
$ patch -Np1 -i ../inetutils-1.4.2-daemon_fixes-1.patch
$ ./configure \
>--prefix=/usr \
>--libexecdir=/usr/sbin \
>--sysconfdir=/etc \
>--localstatedir=/var \
>--mandir=/usr/share/man \
>--infodir=/usr/share/info \
>--disable-logger \
>--disable-syslogd
$ make
$ su
# make install
# mv -v /usr/bin/ping /bin

次はLinuxではあまり使用しませんが、UnZipです。実行コマンドは下記の通り。
UnZip-5.52
$ wget ftp://ftp.openpkg.org/sources/DST/infozip/unzip552.tar.gz
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/unzip-5.52-fix_Makefile-1.patch
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/unzip-5.52-fix_libz-1.patch
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/unzip-5.52-dont_make_noise-1.patch
$ tar zxvf unzip552.tar.gz
$ cd unzip-5.52
$ patch -Np1 -i ../unzip-5.52-fix_Makefile-1.patch
$ patch -Np1 -i ../unzip-5.52-fix_libz-1.patch
$ patch -Np1 -i ../unzip-5.52-dont_make_noise-1.patch
$ cp -v unix/Makefile .
$ make prefix=/usr LOCAL_UNZIP=-DUSE_UNSHRINK linux
$ make prefix=/usr LOCAL_UNZIP=-DUSE_UNSHRINK linux_shlibz
$ su
# make prefix=/usr LOCAL_UNZIP=-DUSE_UNSHRINK install
# cp -v -d libunzip.so* /usr/lib

次はUnZipの反対のことをしてくれるZipです。実行コマンドは以下のとおり。
Zip-2.31
$ wget ftp://ftp.the.net/ftp1/opendarwin/distfiles/zip231.tar.gz
$ tar zxvf zip231.tar.gz
$ cd zip-2.31
$ sed -i -e 's@$(INSTALL) man/zip.1@$(INSTALL_PROGRAM) man/zip.1@' unix/Makefile
$ make prefix=/usr -f unix/Makefile generic_gcc
$ su
# make prefix=/usr -f unix/Makefile install

お次はPkg-config(コンパイル時にインクルードファイルやライブラリのパスを取得するツール)のインストールです。
Pkg-config-0.19
$ wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.19.tar.gz
$ tar xzvf pkg-config-0.19.tar.gz
$ cd pkg-config-0.19
$ ./configure --prefix=/usr
$ make
$ su
# make install

次にWhichをインストールします。これも使用頻度の高いコマンドといえるでしょう。
Which-2.16
$ wget ftp://ftp.gnu.org/gnu/which/which-2.16.tar.gz
$ tar zxvf which-2.16.tar.gz
$ cd which-2.16
$ ./configure --prefix=/usr
$ make
$ su
# make install

続いてTcpwrappers(ネットワークのアクセス制御ツール)をインストールします。以下のコマンドを実行します。
Tcpwrappers-7.6
$ wget http://files.ichilton.co.uk/nfs/tcp_wrappers_7.6.tar.gz
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/tcp_wrappers-7.6-shared_lib_plus_plus-1.patch
$ tar xzvf tcp_wrappers_7.6.tar.gz
$ cd tcp_wrappers_7.6
$ patch -Np1 -i ../tcp_wrappers-7.6-shared_lib_plus_plus-1.patch
$ sed -i -e "s,^extern char \*malloc();,/* & */," scaffold.c
$ make REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux
$ su
# make install

次にPortmap(RPCプロトコルを管理するツール)をインストールします。
Portmap-5beta
$ wget ftp://ftp.porcupine.org/pub/security/portmap_5beta.tar.gz
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/portmap-5beta-compilation_fixes-3.patch
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/portmap-5beta-glibc_errno_fix-1.patch
$ tar xzvf portmap-5beta.tar.gz
$ cd portmap_5beta
$ patch -Np1 -i ../portmap-5beta-compilation_fixes-3.patch
$ patch -Np1 -i ../portmap-5beta-glibc_errno_fix-1.patch
$ make
$ su
# make install

お次はNet-tools(ifconfigやnetstat、routeなど、これまた頻繁に利用するコマンドを含むパッケージ)をインストールします。実行コマンドは以下のとおり。
Net-tools-1.60
$ wget http://www.tazenda.demon.co.uk/phil/net-tools/net-tools-1.60.tar.bz2
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/net-tools-1.60-gcc34-3.patch
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/net-tools-1.60-kernel_headers-2.patch
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/net-tools-1.60-mii_ioctl-1.patch
$ tar jxvf net-tools-1.60.tar.bz2
$ cd net-tools-1.60
$ patch -Np1 -i ../net-tools-1.60-gcc34-3.patch
$ patch -Np1 -i ../net-tools-kernel_headers-2.patch
$ patch -Np1 -i ../net-tools-mii_ioctl-1.patch
$ yes "" | make config
$ sed -i -e 's|HAVE_IP_TOOLS 0|HAVE_IP_TOOLS 1|g' \
>-e 's|HAVE_MII 0|HAVE_MII 1|g' config.h
$ sed -i -e 's|# HAVE_IP_TOOLS=0|HAVE_IP_TOOLS=1|g' \
>-e 's|# HAE_MII=0|HAVE_MII=1|g' config.make
$ make
$ su
# make update

BLFS Book: Chapter4.Security
・Shadow-4.0.9
・Iptables-1.3.3
・GnuPG-1.4.1

引き続きセキュリティ関連ソフトのインストール作業を行っていきます。先ずは、Shadowから。実行コマンドは以下のとおりです。
Shadow-4.0.9
$ wget ftp://ftp.pld.org.pl/software/shadow/old/shadow-4.0.9.tar.bz2
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/shadow-4.0.9-Linux_PAM_fixes-1.patch
$ tar jxvf shadow-4.0.9.tar.bz2
$ cd shadow-4.0.9
$ patch -Np1 -i ../shadow-4.0.9-Linux_PAM_fixes-1.patch
$ ./configure --libdir=/lib \
>--enable-shared \
>--with-libpam \
>--without-libcrack
$ sed -i 's/groups$(EXEEXT) //' src/Makefile
$ sed -i '/groups/d' man/Makefile
$ make
$ su
# make install
# mv -v /usr/bin/passwd /bin
# mv -v /lib/libshadow.*a /usr/lib
# rm -v /lib/libshadow.so
# ln -v -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so

Shadowのインストールが終わったら、認証に関する設定ファイル(/etc/login.defs)を編集します。編集内容は単にコメントするだけですが、設定項目が多いので少々面倒臭いです。以下の設定項目について、コメント(行頭に"#"を追加)します。エディタの検索機能で地道にコメントしていきましょう。

LASTLOG_ENAB
MAIL_CHECK_ENAB
PORTTIME_CHECKS_ENAB
CONSOLE
MOTD_FILE
NOLOGINS_FILE
PASS_MIN_LEN
SU_WHEEL_ONLY
MD5_CRYPT_ENAB
CONSOLE_GROUPS
ENVIRON_FILE
ULIMIT
ENV_TZ
ENV_HZ
ENV_SUPATH
ENV_PATH
QMAIL_DIR
MAIL_DIR
MAIL_FILE
CHFN_AUTH
FAILLOG_ENAB
QUOTAS_ENAB
FTMP_FILE
OBSCURE_CHECKS_ENAB
CRACKLIB_DICTPATH
PASS_CHANGE_TRIES
PASS_ALWAYS_WARN

次に認証系コマンド用のPAM設定ファイルを以下の通り作成します。
/etc/pam.d/login
auth       requisite pam_securetty.so
auth       requisite pam_nologin.so
auth       required pam_unix.so
account  required pam_access.so
account  required pam_unix.so
session   required pam_env.so
session   required pam_motd.so
session   required pam_limits.so
session   optional pam_mail.so dir=/var/mail standard
session   optional pam_lastlog.so
session   required pam_unix.so
password required pam_cracklib.so retry=3 difok=8 minlen=5 dcredit=3 ocredit=3 ucredit=2 lcredit=2
password required pam_unix.so md5 shadow use_authtok

/etc/pam.d/passwd
password required pam_cracklib.so retry=3 difok=8 minlen=5 dcredit=3 ocredit=3 ucredit=2 lcredit=2
password required pam_unix.so md5 shadow use_authtok

/etc/pam.d/su
auth    sufficient pam_rootok.so
auth    pam_rootok.so
account required pam_unix.so
session optional pam_mail.so dir=/var/mail standard
session required pam_env.so
session required pam_unix.so

/etc/pam.d/chage
auth     sufficient pam_rootok.so
auth     required pam_unix.so
account  required pam_unix.so
session  required pam_unix.so
password required pam_permit.so

/etc/pam.d/other
auth     required pam_deny.so
auth     required pam_warn.so
account  required pam_deny.so
session  required pam_deny.so
password required pam_deny.so
password  pam_warn.so

その他コマンドのPAM設定ファイルについても、内容的に変わらない物については、以下のコマンドで複製します。

# for PROGRAM in chpasswd newusers groupadd groupdel groupmod useradd userdel usermod
>do
>install -v -m644 /etc/pam.d/chage /etc/pam.d/$PROGRAM
>done

残りの設定は下記のとおりです。これでようやく、Shadowのインストールが完了です。

# if [ -f /etc/login.access ]; then
>mv -v /etc/login.access /etc/login.access.NOUSE
>fi
# if [ -f /etc/limits ]; then
>mv -v /etc/limits /etc/limits.NOUSE
>fi
# ENV_PATH=`grep '^#ENV_PATH' /etc/login.defs | awk '{ print $2 }' | sed 's/PATH=//'`
# echo 'PATH DEFAULT='`echo "${ENV_PATH}"`' OVERRIDE=${PATH}' >> /etc/security/pam_env.conf
# unset ENV_PATH

ようやくShadowのインストールが終わり、次にインストールするソフトはiptablesです。以下の要領でインストールします。
Iptables-1.3.3
$ wget http://www.iptables.org/files/iptables-1.3.3.tar.bz2
$ tar jvxf iptables-1.3.3.tar.bz2
$ cd iptables-1.3.3
$ make PREFIX=/usr LIBDIR=/lib BINDIR=/sbin
$ su
# make PREFIX=/usr LIBDIR=/lib BINDIR=/sbin install
# make install-iptables

最後にGnuPGをインストールして、セキュリティ関連ソフトのインストールは終わりです。実行したコマンドは下記の通り。
GnuPG-1.4.1
$ wget http://public.ftp.planetmirror.com/pub/gnupg/gnupg-1.4.1.tar.bz2
$ tar jxvf gnupg-1.4.1.tar.bz2
$ cd gnupg-1.4.1
$ ./configure --prefix=/usr --libexecdir=/usr/lib
$ make
$ su
# make install
# chmod -v 4755 /usr/bin/gpg

BLFS Book: Chapter4.Security
・OpenSSL-0.9.7g
・CrackLib-2.8.3
・Berkeley DB-4.3.28(Chapter23.Databases)
・Linux-PAM-0.80

ここでは、セキュリティ関連のソフトをインストールします。先ずは、OpenSSLからです。実行コマンドは以下のとおりです。
OpenSSL
$ wget http://www.openssl.org/source/openssl-0.9.7g.tar.gz
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/openssl-0.9.7g-fix_manpages-1.patch
$ tar xzvf openssl-0.9.7.tar.gz
$ cd openssl-0.9.7g
$ ./config --openssldir=/etc/ssl \
>--prefix=/usr shared
$ make MANDIR=/usr/share/man
$ su
# make MANDIR=/usr/share/man install
# cp -v -r certs /etc/ssl

続いてCrackLibのインストールは、以下のとおり。
CrackLib
$ wget http://prdownloads.sourceforge.net/cracklib/cracklib-2.8.3.tar.gz
$ wget http://prdownloads.sourceforge.net/cracklib/cracklib-words.gz
$ wget http://www.linuxfromscratch.org/blfs/downloads/6.1/cracklib-2.8.3-heimdal-1.patch
$ tar xzvf cracklib-2.8.3.tar.gz
$ cd cracklib-2.8.3
$ patch -Np1 -i ../cracklib-2.8.3-heimdal-1.patch
$ ./configure --prefix=/usr \
>--datadir=/lib
$ make
$ su
# make install
# mv -v /usr/lib/libcrack.so.2* /lib
# ln -v -sf ../../lib/libcrack.so.2.8.0 /usr/lib/libcrack.so
# install -v -m644 -D ../cracklib-words.gz /usr/share/dict/cracklib-words.gz
# gunzip -v /usr/share/dict/cracklib-words.gz
# ln -v -s cracklib-words /usr/share/dict/words
# echo $(hostname) >> /usr/share/dict/cracklib-extra-words
# create-cracklib-dict /usr/share/dict/cracklib-words /usr/share/dict/cracklib-extra-words

次にインストールするLinux-PAMが必要とするBerkeley DBをここでインストールしておきます。
Berkeley DB
$ wget ftp://ftp.osb.hu/openwrt/sources/db-4.3.28.tar.gz
$ tar zxvf db-4.3.28.tar.gz
$ cd db-4.3.28/build_unix
$ ../dist/configure --prefix=/usr \
>--enable-compat185 \
>--enable-cxx
$ make LIBSO_LIBS="-lpthread" LIBXSO_LIBS="-lpthread"
$ su
# make docdir=/usr/share/doc/db-4.3.28 install
# chown root:root /usr/bin/db_* /usr/lib/libdb* /usr/include/db*
# chown -R root:root /usr/share/doc/db-4.3.28

Linux-PAMのインストールは下記のとおり。
Linux-PAM-0.80
$ wget http://www.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-0.80.tar.bz2
$ tar jxvf Linux-PAM-0.80.tar.bz2
$ cd Linux-PAM-0.80
$ sed -i 's|DICT_DIR_CANDIDATES="|&/lib /lib/cracklib |' configure
$ ./configure --enable-static-libpam \
>--with-mailspool=/var/mail \
>--enable-read-both-confs \
>--sysconfdir=/etc \
>--mandir=/usr/share/man
$ make
$ su
# make install
# mv -v /lib/libpam.a /lib/libpam_misc.a /lib/libpamc.a /usr/lib
# rm -v /lib/libpam{,c,_misc}.so
# ln -v -sf ../../lib/libpam.so.0.80 /usr/lib/libpam.so
# ln -v -sf ../../lib/libpam_misc.so.0.80 /usr/lib/libpam_misc.so
# ln -v -sf ../../lib/libpamc.so.0.80 /usr/lib/libpamc.so
# mkdir /etc/pam.d
# vi /etc/pam.d/other ← 以下の内容でファイル作成
# cat /etc/pam.d/other
auth required pam_unix.so nullok
account required pam_unix.so
session required pam_unix.so
password required pam_unix.so nullok

今日はここまで。次にインストールするシャドウパスワードでおなじみのShadowも設定がかなり面倒臭い。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちLFSカテゴリに属しているものが含まれています。

次のカテゴリはVirtualBoxです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

LFS: 月別アーカイブ