Arch Linux インストール (5)

ログイン
インストールした Arch Linux を起動した後、ログインが求められるので、入力します。

arch login は 「root」 (管理者権限)、
Password は、設定した管理者権限のパスワードを入力してください。

Linux では、管理者権限でログインする時、名前は root で固定となっています。

ログインできたら、コマンド入力ができる状態になります。
再起動とシャットダウン
ここからは、再起動またはシャットダウンしたい場合、以下のコマンドを使うことになります。
途中で終了したい場合や、インストールメディアを再起動したい場合などに使ってください。

<再起動>
# systemctl reboot

<シャットダウン>
# systemctl poweroff
ユーザーアカウント
# ユーザーとグループ - ArchWiki

インストール直後は、管理者権限のアカウント (root) しか作られていないので、個人が普段使う用のユーザーアカウントを作成します。

一人しかパソコンを使わない場合でも、必ず一つは作成する必要があります。
ユーザーの追加
ユーザーを追加するには、useradd コマンドを使います。

一般的なユーザーアカウントを作る場合は、以下のようにします。
ユーザー名は好きな名前 (ASCII 文字) で構いません。

# useradd -m -G wheel <ユーザー名>

-m, --create-homeユーザー用のホームディレクトリを作成する。
/home/<user> のディレクトリが作成される。
-g, --gid <group>ユーザーが所属するメイングループのグループ名。
省略すると、ユーザー名と同じ名前で新しいグループが作られる。
-G, --groups <group>ユーザーが所属するサブグループのグループ名 (複数可)。
-s, --shell <shell>デフォルトのログインシェルのパス。
デフォルトで /bin/bash
グループについて
ユーザーグループには、
「一つのユーザーに一つしか指定できない、メインのグループ」 と、
「一つのユーザーに複数指定できる、サブグループ」 の2種類があります。

メイングループ
メイングループは、主にファイルの読み書きなどの制限に関わってきます。

例えば、以下のようなユーザーが存在するものとします。

ユーザー名メイングループ
aaausers
bbbusers

通常のファイルを新規作成した場合、ファイルの情報は、デフォルトで以下のようになります。

所有者作成したユーザー
所有グループ作成したユーザーが所属しているメイングループ
パーミッション644

よって、aaa のユーザーがファイルを新規作成した時、ファイルの所有者は aaa、所有グループは users となります。

ファイルの所有グループは users で、パーミッションによって、グループによる読み込みが許可されているため、同じ users グループに所属している bbb は、aaa が作成したファイルを読み込めることになります。

このことから、複数のユーザーでグループを共有して、ファイルを読み込みできるようにしたい場合は、同じメイングループに設定しておけばいいのですが、逆に、デフォルトで他のユーザーから読み込めないようにしたい場合は、別のメイングループに設定しておく必要があります。

パソコンを一人しか使わない場合でも、複数人で使う場合でも、ファイルの制限を厳しくしたいという場合は、ユーザー作成時にメイングループの指定は省略して、ユーザーごとに新規のグループを作ると良いでしょう。

サブグループ
サブグループは、各ユーザーに、グループごとの機能を持たせる場合に使います。

例えば、sudo コマンドは、wheel グループに入っているユーザーのみ、コマンドを使えるように設定することができるため、指定ユーザーが sudo を使えるようにするために、wheel グループに入れる、といった感じで使います。

sudo コマンドを使う場合、wheel グループにはデフォルトで入れておいた方が良いです。
ユーザーのパスワード設定
作成したユーザーのパスワードを設定します。
設定せずに使うことも出来ますが、その場合は誰でもログインできてしまうので、普通は設定しておきます。

# passwd <ユーザー名>

root のパスワードを設定する時にも使った passwd コマンドで、ユーザー名を指定して、パスワードを設定します。
パスワードの入力と、確認用の再入力が求められるので、2回入力してください。
ユーザー関連の操作
ユーザーの削除
# userdel -r <ユーザー名>

-r : ホームディレクトリを削除する。

ユーザーの一覧
# less /etc/passwd

「ユーザー名:パスワード(x):ユーザーID:グループID::ホームディレクトリ:ログインシェル」

グループの一覧
# less /etc/group

「グループ名:パスワード(x):グループID:このサブグループに所属しているユーザー」
sudo
# Sudo - ArchWiki

sudo コマンドは、一般ユーザーにログインしている状態で、一時的に管理者権限での操作を行いたい時に使います。

base パッケージ内に sudo は入っていませんが、base-devel パッケージグループには入っています。
base しかインストールしていない場合は、別途インストールしてください。

# pacman -S sudo
sudo の設定
sudo コマンドは、インストールしただけでは使えません。
/etc/sudoers のファイルを編集して、設定を行う必要があります。

※ sudoers ファイルに構文エラーなどがあると、sudo が使えなくなる場合があるため、編集は慎重に行う必要があります。

visudo コマンドを使うと、保存前に構文エラーを指摘してくれたりするので、安全に編集することができます。
エディタはデフォルトで vi のため使いにくいので、環境変数 EDITOR で、エディタを nano に指定しておきます。

# EDITOR=nano visudo

# %wheel ALL=(ALL) ALL」 の行を探します。
その行の先頭の # とスペースを削除して、コメント化を解除すると、wheel グループに入っているすべてのユーザーが、sudo コマンドを使えるように設定することができます。

Ctrl+XyEnter で上書き保存します。
multilib
# Multilib - ArchWiki

64bit 環境で 32bit のアプリケーションを動作させるには、multilib リポジトリにあるパッケージが必要になります。
Wine を使って Windows アプリを実行したい場合などは必要になるので、あらかじめ設定しておきます。
(必要になった時に、後から設定しても構いません)

/etc/pacman.conf ファイルが、pacman コマンドの設定ファイルとなっているので、このファイルを編集します。

# nano /etc/pacman.conf

下の方に以下のような行があるので、その2行の # を削除してください。

#[multilib]
#Include = /etc/pacman.d/mirrorlist

変更を保存したら、現在の multilib のパッケージリストを取得する必要があるので、以下のコマンドでリストを更新します。

# pacman -Syy
マイクロコード
# マイクロコード

Intel/AMD CPU の場合は、マイクロコードをアップデートするために、intel-ucode または amd-ucode パッケージが必要になります。
CPU の動作に関する修正などがあった場合、マイクロコードが更新されます。
(マイクロコードを更新したくない場合は、そのままで構いません)

(Intel CPU)
# pacman -S intel-ucode

(AMD CPU)
# pacman -S amd-ucode

※パッケージをインストールするだけは、マイクロコードは更新されません。

ブートローダーによって、マイクロコードのイメージを起動させる必要があります。
設定方法は各ブートローダーによって異なるので、詳しくは Wiki を見てください。

ブートローダーに設定した後は、起動時に常にアップデートの確認が行われるようになります。
マイクロコードのファイルが更新されていた場合は、その時点でアップデートが行われます。
GRUB の場合
GRUB の場合は、grub-mkconfig コマンドでの設定ファイル生成時に、マイクロコードのイメージが存在すると、自動で処理を追加してくれます。

マイクロコードパッケージのインストール後、以下を実行してください。

# grub-mkconfig -o /boot/grub/grub.cfg

GRUB のインストール・設定時に、あらかじめマイクロコードのパッケージをインストールしておけば、再度 grub-mkconfig を実行しなくても済みます。
時刻の自動調整
# Network Time Protocol deamon - ArchWiki

ntp を使うと、NTP サーバーから時刻を取得して、正確な時刻に調整することができます。

インストール ISO には ntp が入っていますが、base/base-devel には含まれていないため、別途インストールする必要があります。

# pacman -S ntp
NTP サーバーの選択
デフォルトで Arch Linux の NTP サーバーが指定されていますが、日本のサーバーを使うこともできます。

ntp の設定ファイルは、/etc/ntp.conf ファイルです。

# nano /etc/ntp.conf

server の行を、日本のサーバーに入れ替えます。
以下のサイトなどから、NTP サーバーを選択してください。

# インターネットマルチフィード時刻情報提供サービス for Public
# NTP POOL PROJECT (Japan)

MFEED のサーバーを使う場合は、以下のようになります。

server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp
手動で設定
ntp は、基本的に常駐させて自動で同期させますが、必要な時だけ手動で合わせたい場合は、以下のようにします。
時刻を合わせた後は、ハードウェアに時刻を書き込んでください。

# ntpd -qg
# hwclock -w

-q : 常駐させずに、一度だけ実行して終了させます。
-g : 現在の時刻と、取得した時刻が大幅にずれている場合、ntp はデフォルトで同期を行いません。このオプションで、それを無効にして、常に同期を行います。

常駐させて同期させたい場合や、起動時に同期させたい場合などは、Wiki を見てください。
ビープ音を無効にする
コマンドライン上では、キーボード操作中にビープ音が出て、うるさい場合があります。

Linux 上で常にビープ音を無効にしたい場合、以下のコマンドで、pcspkr (PC スピーカーの略) モジュールをロードしないように設定すれば、ビープ音を鳴らさないようにすることができます。

# echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf
systemd のタイムアウト時間を変更
Linux の起動時や終了時、systemd は各処理が正常に終わるまで待ちますが、その時のタイムアウトの時間は、デフォルトで 90 秒と設定されています。

例えば、起動時に、ネット接続に時間がかかったり失敗すると、90 秒間じっと待つことになります。
また、終了時に、実行されているサービスなどを正常に終了させる時も、それらに応答がなかった場合は、90 秒間待つことになります。

処理に数秒かかっていれば、その時点でほぼ失敗していると思われるので、それらを早めに終わらせたい場合は、以下のように設定します。

/etc/systemd/system.conf をテキストエディタで開いて、以下の行を探して設定してください。
(先頭の # は削除してください)

DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s

10s で、10 秒になります。
作成したユーザーでログイン
この段階で、動作に最低限必要な設定は完了したので、ここからは、GUI など自分用の環境を作っていくための操作を行っていきます。

※ホームディレクトリのファイルを操作する場合は、そのユーザーでログインしてから、操作してください。
一般ユーザーでログイン
su コマンドを使うと、他のユーザーにログインすることができます。

# su <ユーザー名>

root から一般ユーザーへログインする場合、パスワードの入力を行う必要はありませんが、一般ユーザーから別のユーザーにログインする場合は、パスワードの入力が必要になります。

root にログインしたい時は、ユーザー名を 「- (マイナス)」 にしてください。
sudo による一時的な root
今までは root アカウント上で操作を行っていたので、ユーザーの違いを意識する必要はありませんでしたが、一般ユーザーで操作をしていく場合、管理者権限が必要になる操作が出てきます。

所有者が root のファイルやディレクトリに書き込む場合などは、ユーザーが root の状態でなければならないため、一般ユーザーでは書き込みできません。

例えば、pacman コマンドでパッケージをインストールする場合は、システムのディレクトリにファイルを書き込むため、管理者権限が必要です。

su コマンドでユーザーを切り替えることはできますが、一つのコマンドを実行するのに、いちいちユーザーを切り替えるのは面倒なので、そういう場合は、sudo コマンドを使います。

実行したいコマンドの前に sudo を付けると、そのコマンドの実行時のみ root で実行させることができます。

(例)
$ sudo pacman -S ...

この時、root のパスワードが必要になるので、入力する必要があります。

なお、前回 sudo を使ってから、一定時間以内(デフォルトで5分)である場合、sudo が一時的にパスワードを記録しているので、その間は、再度パスワードを入力する必要はありません。
ホームディレクトリの操作について
root でログインしている状態で、ホームディレクトリのファイルは操作しないでください。

シェル内でホームディレクトリのパスを指定するために使う "~" は、ログインしているユーザーごとに内容が変わります。

一般ユーザー時は /home/<username> ですが、root でログインしている場合は、/root となります。

別のユーザーでログインしている状態で、~ は使わないようにしてください。

また、root にログインしている状態で、ホームディレクトリにファイルを作成すると、ファイルの所有者が root になってしまい、一般ユーザーで書き込みができなくなる状態になります(多少面倒ですが、後から変更することは可能です)。

上記のように、ホームディレクトリ上のファイルを操作する時は、必ずそのユーザーでログインしてから操作しないと、ややこしいことになるので、注意してください。
以降の操作
以降は、GUI 環境など、各個人が必要なパッケージをインストールして、構築していくことになります。

>> インストール (6)