root
ユーザーでログインしていると、ちょっとした誤操作がもとで、システムを破壊する重大な事態につながることがあります。
そこでパッケージのビルドにあたっては通常のユーザー権限にて作業することにします。
あなた自身のユーザーを利用するのでも構いませんが、全く新しいユーザー環境として lfs
というユーザーを作成するのが分かりやすいでしょう。 所属するグループも
lfs
という名で作成します。 ビルド作業においてはこの
lfs
ユーザーによりコマンド実行していきます。 そこで
root
ユーザーになって、新たなユーザーを追加する以下のコマンドを実行します。
groupadd lfs useradd -s /bin/bash -g lfs -m -k /dev/null lfs
コマンドラインオプションの意味
-s
/bin/bash
lfs
ユーザーが利用するデフォルトのシェルを
bash にします。
-g
lfs
lfs
ユーザーのグループを lfs
とします。
-m
lfs
ユーザーのホームディレクトリを生成します。
-k
/dev/null
このパラメーターは、ディレクトリ名をヌルデバイス (null device) に指定しています。
こうすることでスケルトンディレクトリ (デフォルトは /etc/skel
) からのファイル群のコピーを無効とします。
lfs
新規ユーザーの名称を与えます。
lfs
にログインする、あるいは非 root
ユーザーから lfs
に切り替える場合には、lfs
に対してパスワードを設定しておくことが必要です (この反対に root
ユーザーにログインしている状態から lfs
にユーザー切り替えを行う場合には、パスワードは必要ありません)。 root
ユーザーにおいて以下のコマンドを実行して、パスワードの設定を行います。
passwd lfs
$LFS
ディレクトリの所有者を lfs
ユーザーとすることで、このディレクトリ配下の全ディレクトリへのフルアクセス権を設定します。
chown -v lfs $LFS/{usr{,/*},lib,var,etc,bin,sbin,tools} case $(uname -m) in x86_64) chown -v lfs $LFS/lib64 ;; esac
ホストシステムによっては、以下の su
コマンドを実行しても正常に処理されず、lfs
ユーザーへのログインがバックグラウンドで処理中のままとなってしまうことがあります。 プロンプトに "lfs:~$"
という表示がすぐに現れなかった場合は、fg
コマンドを入力することで解決するかもしれません。
lfs
ユーザーにより起動するシェルを開始します。
これは、仮想コンソール上から lfs
によってログインして実現します。
あるいは以下のユーザー切り替えコマンドを実行します。
su - lfs
パラメーター「-
」は su コマンドの実行において、非ログイン (non-login)
シェルではなく、ログインシェルを起動することを指示します。 ログインシェルとそうでないシェルの違いについては bash(1)
や info
bash を参照してください。