ログイン
実際にインストールした Arch Linux を起動した後は、ログインを求められるので、入力します。
arch login | root |
---|---|
Password | passwd コマンドで設定した管理者権限のパスワード |
ネットワークの接続
まだネットワークの接続を行っていない場合や、この段階での設定が必要な場合は、それぞれ設定してください。
systemd-resolved のリンク
systemd-resolved を使う場合、/etc/resolv.conf をリンクファイルとして作成してください。
# ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
iwd 接続
iwd で無線 LAN 接続する場合は、iwctl で接続してください。
/var/lib/iwd/ に設定ファイルが保存され、以降は自動で接続されます。
# iwctl station wlan0 connect <network> ~~~~~ ~~~~~~~~~ Passphrase: (暗号化キー入力)
/var/lib/iwd/ に設定ファイルが保存され、以降は自動で接続されます。
/etc/resolv.conf
systemd-resolved を使わない場合など、/etc/resolv.conf で DNS サーバーの IP アドレスの指定が行われていない場合は、ドメイン名から IP アドレスの取得ができず、外部のサーバに接続できない状態となります。
DNS サーバの IP アドレスがわかっていて、手動で設定したい場合は、以下のように記述してください。
DNS サーバの IP アドレスがわかっていて、手動で設定したい場合は、以下のように記述してください。
# ルータのDNSサーバ (機器により異なる) nameserver 192.168.0.1 # Google Public DNS nameserver 8.8.8.8
ユーザーアカウント
# ユーザーとグループ - ArchWiki
インストール直後は、管理者権限のアカウント (root) しか作られていないので、個人が普段使うためのユーザーアカウントを作成します。
一人しかパソコンを使わない場合でも、必ず一つは作成する必要があります。
-r : ホームディレクトリを削除する。
「ユーザー名:パスワード(x):ユーザーID:グループID::ホームディレクトリ:ログインシェル」
「グループ名:パスワード(x):グループID:このサブグループに所属しているユーザー」
インストール直後は、管理者権限のアカウント (root) しか作られていないので、個人が普段使うためのユーザーアカウントを作成します。
一人しかパソコンを使わない場合でも、必ず一つは作成する必要があります。
ユーザーの追加
ユーザーを追加するには、useradd コマンドを使います。
一般的なユーザーアカウントを作る場合は、以下のようにします。
ユーザー名は好きな名前 (ASCII 文字) で構いません。
一般的なユーザーアカウントを作る場合は、以下のようにします。
ユーザー名は好きな名前 (ASCII 文字) で構いません。
# useradd -m -G wheel <ユーザー名>
-m, --create-home | ユーザー用のホームディレクトリを作成する。 /home/<user> のディレクトリが作成される。 |
---|---|
-g, --gid <group> | ユーザーが所属するメイングループのグループ名。 省略すると、ユーザー名と同じ名前で新しいグループが作られる。 |
-G, --groups <group> | ユーザーが所属するサブグループのグループ名 (複数可)。 |
-s, --shell <shell> | デフォルトのログインシェルのパス。 デフォルトで /bin/bash。 |
グループについて
ユーザーグループには、
「一つのユーザーに一つしか指定できない、メインのグループ」 と、
「一つのユーザーに複数指定できる、サブグループ」 の2種類があります。
「ユーザーが属しているメイングループ」=「ユーザーが作成したファイルのグループ」となるので、ファイルのアクセスをグループで制限する時に関係してきます。
複数のユーザーが作成したファイルを、グループで共有したい場合は、同じメイングループに設定すると良いでしょう。
ユーザー作成時にメイングループの指定を省略すると、ユーザー名と同じ名前で、新しいグループが作成されるので、グループを共有したくない場合は、ユーザーごとにメイングループを変えてください。
例えば、sudo コマンドは、wheel グループに入っているユーザーのみがコマンドを使えるように設定できるため、sudo を使えるように wheel グループに入れる、といった感じで使います。
sudo コマンドを使うために、一般ユーザーは、デフォルトで wheel グループに入れておいた方が良いです。
「一つのユーザーに一つしか指定できない、メインのグループ」 と、
「一つのユーザーに複数指定できる、サブグループ」 の2種類があります。
メイングループ
ユーザーがファイルを新規作成した時、ファイルの所有グループは、「作成したユーザーが所属しているメイングループ」に設定されます。「ユーザーが属しているメイングループ」=「ユーザーが作成したファイルのグループ」となるので、ファイルのアクセスをグループで制限する時に関係してきます。
複数のユーザーが作成したファイルを、グループで共有したい場合は、同じメイングループに設定すると良いでしょう。
ユーザー作成時にメイングループの指定を省略すると、ユーザー名と同じ名前で、新しいグループが作成されるので、グループを共有したくない場合は、ユーザーごとにメイングループを変えてください。
サブグループ
サブグループは、各ユーザーに、グループごとの機能を持たせたい場合に使います。例えば、sudo コマンドは、wheel グループに入っているユーザーのみがコマンドを使えるように設定できるため、sudo を使えるように wheel グループに入れる、といった感じで使います。
sudo コマンドを使うために、一般ユーザーは、デフォルトで wheel グループに入れておいた方が良いです。
ユーザーのパスワード設定
ユーザーを作成した後は、パスワードを設定します。
設定せずに使うこともできますが、その場合は誰でもログインできてしまうので、普通は設定しておきます。
root のパスワードを設定する時にも使った passwd コマンドで、ユーザー名を指定して、パスワードを設定します。
パスワードの入力と、確認用の再入力が求められるので、2回入力してください。
設定せずに使うこともできますが、その場合は誰でもログインできてしまうので、普通は設定しておきます。
# passwd <ユーザー名>
root のパスワードを設定する時にも使った passwd コマンドで、ユーザー名を指定して、パスワードを設定します。
パスワードの入力と、確認用の再入力が求められるので、2回入力してください。
ユーザー関連の操作
ユーザーの削除
# userdel -r <ユーザー名>
-r : ホームディレクトリを削除する。
ユーザーの一覧
# less /etc/passwd
「ユーザー名:パスワード(x):ユーザーID:グループID::ホームディレクトリ:ログインシェル」
グループの一覧
# less /etc/group
「グループ名:パスワード(x):グループID:このサブグループに所属しているユーザー」
sudo
# Sudo - ArchWiki
sudo コマンドは、一般ユーザーにログインしている状態で、一時的に管理者権限での操作を行いたい時に使います。
sudo パッケージをインストールしていない場合は、別途インストールしてください。
base パッケージに sudo は含まれていませんが、base-devel パッケージグループには含まれています。
sudo コマンドは、一般ユーザーにログインしている状態で、一時的に管理者権限での操作を行いたい時に使います。
sudo パッケージをインストールしていない場合は、別途インストールしてください。
base パッケージに sudo は含まれていませんが、base-devel パッケージグループには含まれています。
# pacman -S sudo
sudo の設定
sudo コマンドは、インストールしただけでは使えません。
/etc/sudoers のファイルを編集して、設定を行う必要があります。
※ sudoers ファイルに構文エラーなどがあると、sudo が使えなくなる場合があるため、編集は慎重に行う必要があります。
visudo コマンドを使うと、保存前に構文エラーを指摘してくれたりするので、安全に編集することができます。
テキストエディタはデフォルトで vi になっていますが、環境変数 EDITOR で、エディタを nano に指定しておきます。
「# %wheel ALL=(ALL) ALL」 の行を探します。
その行の先頭の # とスペースを削除して、コメント化を解除すると、wheel グループに入っているすべてのユーザーが、sudo コマンドを使えるようになります。
Ctrl+X → y → Enter で上書き保存します。
/etc/sudoers のファイルを編集して、設定を行う必要があります。
※ sudoers ファイルに構文エラーなどがあると、sudo が使えなくなる場合があるため、編集は慎重に行う必要があります。
visudo コマンドを使うと、保存前に構文エラーを指摘してくれたりするので、安全に編集することができます。
テキストエディタはデフォルトで vi になっていますが、環境変数 EDITOR で、エディタを nano に指定しておきます。
# EDITOR=nano visudo
「# %wheel ALL=(ALL) ALL」 の行を探します。
その行の先頭の # とスペースを削除して、コメント化を解除すると、wheel グループに入っているすべてのユーザーが、sudo コマンドを使えるようになります。
Ctrl+X → y → Enter で上書き保存します。
multilib
# Multilib - ArchWiki
64bit 環境で 32bit のアプリケーションを動作させるには、multilib リポジトリにあるパッケージが必要になります。
Wine を使って Windows アプリを実行したい場合などは必要になるので、あらかじめ設定しておきます。
(必要になった時に、後から設定しても構いません)
/etc/pacman.conf ファイルが、pacman コマンドの設定ファイルとなっているので、このファイルを編集します。
下の方に以下のような行があるので、その2行の # を削除してください。
変更を保存したら、現在の multilib のパッケージリストを取得する必要があるので、以下のコマンドでリストを更新します。
64bit 環境で 32bit のアプリケーションを動作させるには、multilib リポジトリにあるパッケージが必要になります。
Wine を使って Windows アプリを実行したい場合などは必要になるので、あらかじめ設定しておきます。
(必要になった時に、後から設定しても構いません)
/etc/pacman.conf ファイルが、pacman コマンドの設定ファイルとなっているので、このファイルを編集します。
# nano /etc/pacman.conf
下の方に以下のような行があるので、その2行の # を削除してください。
#[multilib] #Include = /etc/pacman.d/mirrorlist
変更を保存したら、現在の multilib のパッケージリストを取得する必要があるので、以下のコマンドでリストを更新します。
# pacman -Syy
時刻の自動調整
# Network Time Protocol deamon - ArchWiki
# systemd-timesyncd - ArchWiki
ntp を使うと、NTP サーバーから時刻を取得して、正確な時刻に調整することができます。
systemd-networkd を使っていて、ネット接続時に自動で設定したい場合は、代わりに systemd-timesyncd を使うこともできます。
# systemd-timesyncd - ArchWiki
ntp を使うと、NTP サーバーから時刻を取得して、正確な時刻に調整することができます。
systemd-networkd を使っていて、ネット接続時に自動で設定したい場合は、代わりに systemd-timesyncd を使うこともできます。
## インストール # pacman -S ntp
NTP サーバーの選択
デフォルトで Arch Linux の NTP サーバーが指定されていますが、日本のサーバーを使うこともできます。
ntp の設定ファイルは、/etc/ntp.conf ファイルです。
server の行を、日本のサーバーに入れ替えます。
以下のサイトなどから、NTP サーバーを選択してください。
# インターネットマルチフィード時刻情報提供サービス for Public
# NTP POOL PROJECT (Japan)
MFEED のサーバーを使う場合は、以下のようになります。
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
サービスを有効にする
PC 起動中、バックグラウンドで動作させて、常に時刻が正しくなるようにしたい場合は、ntpd.service を有効にすると、PC 起動時に動作を開始します。
PC 起動時に、一度だけ時刻を合わせたい場合は、ntpdate.service を有効してください。
ただし、両方とも、ハードウェアに時刻は書き込まれません。
PC 起動時に、一度だけ時刻を合わせたい場合は、ntpdate.service を有効してください。
ただし、両方とも、ハードウェアに時刻は書き込まれません。
# systemctl enable ntpd (または ntpdate)
手動で設定
そこまで正確に時間を合わせる必要はなく、必要な時だけ手動で行いたい場合は、以下のようにします。
時刻を合わせた後は、ハードウェアに時刻を書き込んでください。
-q : 常駐させずに、一度だけ実行して終了させます。
-g : 現在の時刻と、取得した時刻が大幅にずれている場合、ntp はデフォルトで同期を行いません。このオプションで、それを無効にして、常に同期を行います。
時刻を合わせた後は、ハードウェアに時刻を書き込んでください。
# ntpd -qg # hwclock -w
-q : 常駐させずに、一度だけ実行して終了させます。
-g : 現在の時刻と、取得した時刻が大幅にずれている場合、ntp はデフォルトで同期を行いません。このオプションで、それを無効にして、常に同期を行います。
ビープ音を無効にする
コマンドライン上では、キーボード操作中にビープ音が出て、うるさい場合があります。
Linux 上で常にビープ音を無効にしたい場合は、以下のコマンドで、pcspkr (PC スピーカーの略) モジュールをロードしないように設定すれば、ビープ音を鳴らさないようにすることができます。
Linux 上で常にビープ音を無効にしたい場合は、以下のコマンドで、pcspkr (PC スピーカーの略) モジュールをロードしないように設定すれば、ビープ音を鳴らさないようにすることができます。
# echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf
systemd のタイムアウト時間を変更
Linux の起動時や終了時、systemd は各処理が正常に終わるまで待ちますが、そのタイムアウト時間は、デフォルトで 90 秒と設定されています。
例えば、起動時に、ネット接続に時間がかかったり失敗すると、90 秒間じっと待つことになります。
また、終了時に、実行されているサービスなどを正常に終了させる時も、それらに応答がなかった場合は、90 秒間待つことになります。
処理に数秒かかっていれば、その時点でほぼ失敗していると思われるので、それらを早めに終わらせたい場合は、以下のように設定します。
/etc/systemd/system.conf をテキストエディタで開いて、以下の行を探して設定してください。
(先頭の # は削除してください)
10s で、10 秒になります。
例えば、起動時に、ネット接続に時間がかかったり失敗すると、90 秒間じっと待つことになります。
また、終了時に、実行されているサービスなどを正常に終了させる時も、それらに応答がなかった場合は、90 秒間待つことになります。
処理に数秒かかっていれば、その時点でほぼ失敗していると思われるので、それらを早めに終わらせたい場合は、以下のように設定します。
/etc/systemd/system.conf をテキストエディタで開いて、以下の行を探して設定してください。
(先頭の # は削除してください)
DefaultTimeoutStartSec=10s DefaultTimeoutStopSec=10s
10s で、10 秒になります。
作成したユーザーでログイン
この段階で、動作に最低限必要な設定は完了したので、ここからは、GUI など自分用の環境を作っていくための操作を行っていきます。
※ホームディレクトリのファイルを操作する場合は、そのユーザーでログインしてから、操作してください。
※ホームディレクトリのファイルを操作する場合は、そのユーザーでログインしてから、操作してください。
一般ユーザーでログイン
su コマンドを使うと、他のユーザーにログインすることができます。
root から一般ユーザーへログインする場合、パスワードの入力を行う必要はありませんが、一般ユーザーから別のユーザーにログインする場合は、パスワードの入力が必要になります。
root にログインしたい時は、ユーザー名を 「- (マイナス)」 にしてください。
# su <ユーザー名>
root から一般ユーザーへログインする場合、パスワードの入力を行う必要はありませんが、一般ユーザーから別のユーザーにログインする場合は、パスワードの入力が必要になります。
root にログインしたい時は、ユーザー名を 「- (マイナス)」 にしてください。
sudo による一時的な root
今までは root 上で操作を行っていたので、ユーザーの違いを意識する必要はありませんでしたが、一般ユーザーで操作をしていく場合、管理者権限が必要になる操作が出てきます。
コマンドで操作するファイルやディレクトリの所有者が root となっている場合、root でログインした状態で実行する必要があるため、一般ユーザーでは書き込みができません。
例えば、pacman コマンドでパッケージをインストールする際は、システムのディレクトリにファイルを書き込むため、管理者権限が必要です。
su コマンドで root に切り替えることはできますが、一つのコマンドを実行するために、いちいちユーザーを切り替えるのは面倒なので、そういった時は sudo コマンドを使います。
実行したいコマンドの前に sudo を付けると、そのコマンドの実行時のみ、root でログインして、実行させることができます。
(例)
この時、root のパスワードが必要になるので、入力する必要があります。
なお、前回 sudo を使ってから、一定時間(デフォルトで5分)以内である場合、sudo が一時的にパスワードを記録しているので、その間に sudo を実行した時は、再度パスワードを入力する必要はありません。
コマンドで操作するファイルやディレクトリの所有者が root となっている場合、root でログインした状態で実行する必要があるため、一般ユーザーでは書き込みができません。
例えば、pacman コマンドでパッケージをインストールする際は、システムのディレクトリにファイルを書き込むため、管理者権限が必要です。
su コマンドで root に切り替えることはできますが、一つのコマンドを実行するために、いちいちユーザーを切り替えるのは面倒なので、そういった時は sudo コマンドを使います。
実行したいコマンドの前に sudo を付けると、そのコマンドの実行時のみ、root でログインして、実行させることができます。
(例)
$ sudo pacman -S ...
この時、root のパスワードが必要になるので、入力する必要があります。
なお、前回 sudo を使ってから、一定時間(デフォルトで5分)以内である場合、sudo が一時的にパスワードを記録しているので、その間に sudo を実行した時は、再度パスワードを入力する必要はありません。
ホームディレクトリの操作について
root でログインしている状態で、一般ユーザーのホームディレクトリは操作しないでください。
ホームディレクトリのパスを指定するために使う "~" は、ログインしているユーザーごとにパスが変わります。
一般ユーザー時は /home/<username> ですが、root でログインしている場合は、/root となります。
また、root にログインしている状態で、他のユーザーのホームディレクトリにファイルを作成すると、ファイルの所有者が root になってしまうので、面倒なことになります。
ホームディレクトリのファイルを操作する時は、必ず、そのユーザーがログインしている状態で行ってください。
ホームディレクトリのパスを指定するために使う "~" は、ログインしているユーザーごとにパスが変わります。
一般ユーザー時は /home/<username> ですが、root でログインしている場合は、/root となります。
また、root にログインしている状態で、他のユーザーのホームディレクトリにファイルを作成すると、ファイルの所有者が root になってしまうので、面倒なことになります。
ホームディレクトリのファイルを操作する時は、必ず、そのユーザーがログインしている状態で行ってください。
以降の操作