ヘルプ:読み方
ArchWiki には GNU/Linux に初めて接したユーザーにとってはわかりにくい部分もあるため、記事を読んだ時に混乱が生じないように、また繰り返しを避けるために、基本的な取り決めごとについてここでざっと述べます。
目次
編成
ArchWiki のほとんどの記事はあるトピックに対して1から10まで説明するようには書かれていません。DRY 原則に従って、記事に何かわからないところがあったらユーザーは自分で他の資料を探したり読むだろうということが前提になっています。場合によっては、参考になる文献が示されているでしょう。例えば 他の ArchWiki 記事,外部のウェブページ, man ページ(1) (オンラインで読むことができるページ) のリンクがあったり man ページ(1) (オフラインでしか読めないページ) を参照するように書かれていることがたびたびあります。
このような編成を取っている以上、ArchWiki の記事を完全に理解するには関連するページも一緒に見なければならないときがあります。特に、Arch (あるいはもっと一般的に GNU/Linux) の初心者は簡単に解決できる問題でも色々なページから前提知識を手に入れる必要があります。他の人に助けを求めに行く前に関連ページを読むことは非常に重要なことです。
Formatting
- link to a section in the current article: #Organization
- link to another ArchWiki article
- link to an external web page
- link to a Man_ページ: intro(1)
- a Man_ページ that's only available offline: foo(1)
- link to a package in the 公式リポジトリ: foobar
- link to a package in the AUR: foobarAUR
通常ユーザーまたは root
以下のように書かれている行もあれば:
# mkinitcpio -p linux
別の記号が前についていることもあります:
$ makepkg -s
ハッシュ記号 (#
) はその行を root で入力しなくてはならないということを示し、逆にドル記号 ($
) は通常ユーザーとしてその行を入力することを示しています。
注意しなくてはならない例外:
# This alias makes ls colorize the listing alias ls='ls --color=auto'
上の例では、ハッシュ記号がついている部分がありますが、これはコマンドとして実行するべきものではありません。そうではなくてファイルの中を示しています。この場合、ハッシュ記号はコメントです。コメントとはプログラムによって解釈が行われない説明文のことです。Bash スクリプトのコメント記号は root PS1 と同じなのです。
さらに、#
記号の後の大文字が入っている文章からも、これがコマンドではないことがわかります。普通、Unix コマンドはこのように書かれたりせず、完全な英単語の代わりに短くした省略形が使われます (例: Copy は cp となっています)。
ついでに、ほとんどの記事では読者が簡単に区別できるように以下のように書かれています:
~/path/to/file
に追加:
# This alias makes ls colorize the listing alias ls='ls --color=auto
追加, 作成, 編集 そして source
ファイルの追加・追記・作成・編集の指示が出てきたときは、何らかの方法でファイルを操作する必要があります。
複数行にわたるファイルを作成・編集する場合はテキストエディタを使用することを推奨します。例えば nano を使って /etc/bash.bashrc
ファイルを編集するコマンドは以下のようになります:
# nano /etc/bash.bashrc
一単語だけのファイルを作成・編集する場合は 出力のリダイレクト を使うほうが簡単です。以下の例では /etc/hostname
という名前のファイルを myhostname
という中身で作成・上書きします:
# echo myhostname > /etc/hostname
出力のリダイレクトを使ってファイルに文字列を追記することもできます。以下の例は /etc/pacman.conf
ファイルに [custom-repo]
というテキストを追記します:
# echo "[custom-repo]" >> /etc/pacman.conf
ディレクトリを作成するように書かれていた場合、mkdir コマンドを使ってください:
# mkdir /mnt/boot
コマンドラインシェルなどのアプリケーションはスクリプトを使って設定します。スクリプトに変更を加えたら source を実行しないと変更が適用されません。例えば Bash の場合、以下のように実行します (source
は .
に置き換えることができます):
$ source ~/.bashrc
設定スクリプトを編集するように書かれている部分の近くに source を実行するように書かれているとは必ずしも限りません。
実行可能属性の付与
ファイルを作成したら、(手動であるいは他のプログラムから) スクリプトとして実行できるようにするために実行可能属性を付与する必要があるかもしれません。例:
$ chmod +x script
詳しくは chmod を見てください。ファイルマネージャなどのアプリケーションを使うことでグラフィカルインターフェイスで設定することもできます。
パッケージのインストール
記事に何かパッケージを通常の方法でインストールするように書くときは、インストール方法を詳しく説明する代わりに、シンプルに、必要なパッケージの名前と一般的なインストール方法が書かれた記事へのリンクを記述します。
公式パッケージ
公式リポジトリにあるパッケージについては以下のような表記がされます:
この文章は次のコマンドを実行することを意味します:
# pacman -S package
pacman の記事には Arch Linux における正しいパッケージ管理について詳しい説明が書かれています。
Arch User Repository
Arch User Repository にあるパッケージについては以下のような表記がされます:
この文章は基本的に、packageAUR リンクを開いて、PKGBUILD アーカイブをダウンロードし、解凍して、中身を確認してから、PKGBUILD があるフォルダで以下のコマンドを実行することを意味します:
$ makepkg -sri
AUR のリンクは Arch User Repository の記事につながっており、AUR パッケージの扱いについて詳しい説明とベストプラクティスが載っています。
systemd ユニットのコントロール
記事に systemd ユニット (例: service) を 起動, 有効化, 停止, 再起動 するよう書かれていて、詳しい方法が載っておらず以下のように表記されている場合:
example.service
を起動して下さい。
この文章は次のコマンドを実行することを意味します:
# systemctl start example.service
起動のリンク先は systemd の記事です。Arch Linux における systemd ユニットの正しい扱いについて詳しい説明が載っています。
システム全体とユーザー個別の設定
GNU/Linux における設定には2種類あることを覚えておくと良いでしょう。システム全体の設定は全てのユーザーに影響を与えます。基本的にシステム全体の設定は /etc
ディレクトリに置かれるため、設定を変更するには root 権限が必要になります。例えば、全てのユーザーに影響を与える Bash の設定を適用するには、/etc/bash.bashrc
を編集します。
ユーザー個別の設定は一人のユーザーにしか影響を与えません。ユーザー個別の設定にはドットファイルが使われます。例えば、~/.bashrc
ファイルはユーザー個別の設定ファイルです。エイリアスや関数、プロンプトなどのインタラクティブな機能など、それぞれのユーザーごとの設定を、他のユーザーには影響を与えずに定義できます。
一般的なシェルファイル
Bash や Zsh などの Bourne 互換シェルは、シェルがログインシェルなのかインタラクティブシェルなのかによって読み込むファイルが違います。詳しくは Bash#設定ファイルや Zsh#設定ファイルを見てください。
コード例で使われる疑似変数
一部のコードブロックでは疑似変数が使われています。名前の通り、実際の変数ではありません。疑似変数が含まれているコードは実行する前に疑似変数を適切な文字列に置き換える必要があります。bash や zsh などにはタブ補完機能が存在し systemctl などの一般的なコマンドについてはパラメータを自動で補完してくれます。
ヘルプ:スタイル/書式と句読点に従っている記事では、疑似変数は斜体で表記するようになっています。例:
ip link
コマンドの出力で確認できるネットワークインターフェイスを使うにはdhcpcd@interface_name.service
を有効化してください。
上記の例では systemd のテンプレートユニットの中で使われている interface_name
が疑似変数です。全ての systemd テンプレートユニットには @
記号が付いており、引数を指定する必要があります。詳しくは Systemd#ユニットを使うを見てください。
dd if=data_source of=/dev/sdX bs=sector_size count=sector_number seek=partitions_start_sector
コマンドを root で実行することでパラメータで指定したパーティションを消去できます。
上記の例では置き換えるべきパラメータをあらわすために擬似変数が使われています。何に置き換えればいいかは上記のコマンドが書いてあるディスクの完全消去#消去するブロックを手動で計算セクションに説明があります。
名前を置き換える必要がある疑似変数をそのままにして設定ファイルに編集例を貼り付けた場合、プログラムが機能しなくなる可能性があります。
省略
大抵の場合、実際のコマンドの出力やファイルの中身に省略 (...
) が含まれていることはありません。無関係の部分を省くために使われているにすぎません。
例えば HOOKS="... encrypt ... filesystems ..."
という表記で使用したり、以下のように使われます:
/etc/X11/xorg.conf.d/50-synaptics.conf
Section "InputClass" ... Option "CircularScrolling" "on" Option "CircScrollTrigger" "0" ... EndSection
ときとして、省略している部分にも構文的に意味がある場合があります。中身を見ればすぐにわかるはずです。