ヘルプ:読み方

提供: ArchWiki
2017年3月6日 (月) 20:59時点におけるKusakata (トーク | 投稿記録)による版 (→‎追加, 作成, 編集 そして source: 同期)
ナビゲーションに移動 検索に移動

関連記事

ArchWiki には GNU/Linux に初めて接したユーザーにとってはわかりにくい部分もあるため、記事を読んだ時に混乱が生じないように、また繰り返しを避けるために、基本的な取り決めごとについてここでざっと述べます。

編成

ArchWiki のほとんどの記事はあるトピックに対して1から10まで説明するようには書かれていません。DRY 原則に従って、記事に何かわからないところがあったらユーザーは自分で他の資料を探したり読むだろうということが前提になっています。場合によっては、参考になる文献が示されているでしょう。例えば 他の ArchWiki 記事,外部のウェブページ, man ページ(1) (オンラインで読むことができるページ) のリンクがあったり man ページ(1) (オフラインでしか読めないページ) を参照するように書かれていることがたびたびあります。

このような編成を取っている以上、ArchWiki の記事を完全に理解するには関連するページも一緒に見なければならないときがあります。特に、Arch (あるいはもっと一般的に GNU/Linux) の初心者は簡単に解決できる問題でも色々なページから前提知識を手に入れる必要があります。他の人に助けを求めに行く前に関連ページを読むことは非常に重要なことです。

通常ユーザーまたは root

以下のように書かれている行もあれば:

# mkinitcpio -p linux

別の記号が前についていることもあります:

$ makepkg -s

ハッシュ記号 (#) はその行を root で入力しなくてはならないということを示し、逆にドル記号 ($) は通常ユーザーとしてその行を入力することを示しています。

ノート: # が前についているコマンドは root シェルから実行するよう意図されています。root シェルには sudo -i などを使って簡単にアクセスできます。大抵は、root シェルから command を実行しなくても、非特権のシェルから sudo command を実行するだけでも足ります。ただし、厳密に root シェルを必要とする、リダイレクト置換などの例外も存在します。sudo を参照して下さい。

注意しなくてはならない例外:

# This alias makes ls colorize the listing
alias ls='ls --color=auto'

上の例では、ハッシュ記号がついている部分がありますが、これはコマンドとして実行するべきものではありません。そうではなくてファイルの中を示しています。この場合、ハッシュ記号はコメントです。コメントとはプログラムによって解釈が行われない説明文のことです。Bash スクリプトのコメント記号は root PS1 と同じなのです。

さらに、# 記号の後の大文字が入っている文章からも、これがコマンドではないことがわかります。普通、Unix コマンドはこのように書かれたりせず、完全な英単語の代わりに短くした省略形が使われます (例: Copycp となっています)。

ついでに、ほとんどの記事では読者が簡単に区別できるように以下のように書かれています:

~/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 を見てください。ファイルマネージャなどのアプリケーションを使うことでグラフィカルインターフェイスで設定することもできます。

パッケージのインストール

記事に何かパッケージを通常の方法でインストールするように書くときは、インストール方法を詳しく説明する代わりに、シンプルに、必要なパッケージの名前と一般的なインストール方法が書かれた記事へのリンクを記述します。

公式パッケージ

公式リポジトリにあるパッケージについては以下のような表記がされます:

(公式リポジトリから) packageインストールしてください。

この文章は次のコマンドを実行することを意味します:

# pacman -S package

pacman の記事には Arch Linux における正しいパッケージ管理について詳しい説明が書かれています。

Arch User Repository

Arch User Repository にあるパッケージについては以下のような表記がされます:

(AUR から) packageAURインストールしてください。

この文章は基本的に、packageAUR リンクを開いて、PKGBUILD アーカイブをダウンロードし、解凍して、中身を確認してから、PKGBUILD があるフォルダで以下のコマンドを実行することを意味します:

$ makepkg -sri
ノート: AUR からパッケージをビルドしたり ABS を使うには base-devel グループのパッケージを先にインストールする必要があります。

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 ファイルはユーザー個別の設定ファイルです。エイリアスや関数、プロンプトなどのインタラクティブな機能など、それぞれのユーザーごとの設定を、他のユーザーには影響を与えずに定義できます。

ノート: ~/$HOME はユーザーのホームディレクトリのショートカットです。通常は /home/username/ です。

一般的なシェルファイル

Bash や Zsh などの Bourne 互換シェルは、シェルがログインシェルなのかインタラクティブシェルなのかによって読み込むファイルが違います。詳しくは Bash#設定ファイルZsh#設定ファイルを見てください。

コード例で使われる疑似変数

一部のコードブロックでは疑似変数が使われています。名前の通り、実際の変数ではありません。疑似変数が含まれているコードは実行する前に疑似変数を適切な文字列に置き換える必要があります。bashzsh などにはタブ補完機能が存在し 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

ときとして、省略している部分にも構文的に意味がある場合があります。中身を見ればすぐにわかるはずです。