### 除外リスト
-もしあなたが`share`チャンネルのパッケージでどうしてもインストールしたくないパッケージがある場合、`packages`ディレクトリ内に`exclude`というファイルを作成し、その中にパッケージを記述することでパッケージを除外することができます。
+もしあなたが`share`チャンネルのパッケージでどうしてもインストールしたくないパッケージがある場合、各チャンネルの`packages`ディレクトリ内に`exclude`というファイルを作成し、その中にパッケージを記述することでパッケージを除外することができます。
例えば`share`で必ずインストールされる`alterlinux-calamares`をインストールしたくない場合、そのチャンネルの`exclude`にパッケージ名を追加することでインストールされなくなります。
(その場合は各チャンネルのcustomize_airootfsで不要なファイルを削除して下さい。)
パッケージの記述方法はパッケージリストと同様で、1行で1つのパッケージとして扱い、`#`から始まる行はコメントとして扱われます。
除外できないパッケージも存在します。
スクリプトによって強制的にインストールされるパッケージ(`efitools`など)は除外リストに関係なくインストールされます。
+例えば`exclude`に`plymouth`を記述しても`-b`オプションが有効化された場合は強制的にインストールされます。
+Plymouthを強制的に無効化したい場合は`exclude`ではなく各チャンネルの`config`より`boot_splash`を`false`に固定して下さい。
-`channels/share/packages/exclude`は、上記のスクリプトによってインストールされるパッケージの一覧が記述されています。
-これは作業ディレクトリに正確にログを記録するためです。
+`channels/share/packages/exclude`は、スクリプトによって強制的にインストールされるパッケージの一覧が記述されています。
+これは作業ディレクトリに正確にログを記録し、チャンネルによって使用不可能なパッケージがインストールされるのを防ぐためです。
+
+また、`exclude`はパッケージを削除するわけではないため依存関係によってインストールされるパッケージを除外することはできません。
+
+
+### excludeの適用されるタイミング
+`exclude`はパッケージが全て読み込まれた後に適用されます。
+
+パッケージが読み込まれる順番は以下のとおりです、
+`share/packages.<architecture>` -> `<channel_name>/packages.<architecture>`
+
+その後に以下の順番でexcludeが読み込まれ、パッケージが除外されます。
+`share/packages.<architecture>/exclude` -> `<channel_name>/packages.<architecture>`
## description.txt
このファイルは必須ではありません。このファイルが無い場合、ヘルプには`This channel does not have a description.txt.`と表示されます。
このファイルは1行で記述することが推奨されています。複数行を記述する必要がある場合、テキストのレイアウトを考えて2行目以降は先頭に19個の半角空白文字を入れたほうが良いでしょう。
-
+
## pacman.conf
`channels/<channel_name>/pacman-<architecture>.conf`を配置すると、ビルド時にそのファイルを使用します。ただし、インストール後の設定ファイルは置き換えないので`airootfs`で`/etc/pacman.conf`を配置して下さい。