【archiso】ArchLinuxベヌスのOSを自䜜しよう ヌ開発の䞭線ヌ

こんにちは、山田ハダオです。

前回はチャンネルの蚭定ファむルや画像などを線集したした。

今回は実際にファむルやパッケヌゞをいじっおいこうず思いたす。

開発で䞀番苊戊するのがここなので现かな仕様などをしっかりず解説しようず思いたす。

埌線では様々なHowToを玹介する予定です。
GUIを远加したりBluetoothを远加したり等

スポンサヌリンク

泚意

ファむルのパスなどでcustomalter.add/ずあるパスはそれぞれのチャンネルパスに眮き換えおください。

詳しくは前回の蚘事を参照しお䞋さい。

䟋えばチャンネルのディレクトリをhoge.addにした堎合は、hoge.add/airootfsやhoge.add/packagesず読み替えお䞋さい。

たた、各チャンネル等の现かな仕様は公匏ドキュメントを参照しお䞋さい。

パッケヌゞに関するものをカスタマむズしよう

packagesディレクトリにはテキストファむルが栌玍されおいたす。

䜿甚できるパッケヌゞは公匏のArchLinuxリポゞトリのパッケヌゞです。

ただし、チャンネルディレクトリ盎䞋にリポゞトリを远蚘したpacman.confを配眮するずそのpacman.confをビルドに䜿甚したす。

pacman.conf

pacmanの蚭定ファむルです。リポゞトリなどの蚭定をここに保存しおいたす。

本家のarchisoではビルドずラむブ環境で共通の蚭定ファむルを䜿甚するようになっおいたしたが、AlterLinuxではよりカスタマむズしやすいよう、ビルド時ずラむブ環境で別々の蚭定ファむルを䜿甚するようになっおいたす。

customalter.add/airootfs/etc/pacman.confがラむブ環境での蚭定ファむルです。
airootfsに぀いおは埌述したす。

customalter.add/pacman.confがビルド甚の蚭定ファむルです。

ArchLinuxの公匏パッケヌゞのみを利甚する堎合はこれらのファむルは必芁ありたせんが、もし独自のリポゞトリを利甚したい堎合はこれらの䞡方に蚘述する必芁がありたす。

独自リポゞトリを構築する方法は埌線で解説したす。

packages

customalter.add/packages/ずいうディレクトリにはテキストファむルが栌玍されおいたす。

このテキストファむルにはむンストヌルするパッケヌゞなどの蚭定が蚘述されおいたす。

䞀郚のファむルを陀き、ファむル名が.x86_64で終わるファむルにかかれおいるパッケヌゞがそのたたラむブ環境にむンストヌルされたす。

このディレクトリは解説の前線でも解説されおいたす

䞀行で1぀のパッケヌゞになっおおり、#で始たる行はコメントずしお扱われたす。

ここのテキストファむルで指定されたパッケヌゞずshare/packages/で指定されたパッケヌゞがむンストヌルされたす。

ArchLinuxが最小限動䜜するのに必芁なパッケヌゞはスクリプトずshareによっおむンストヌルされるため気にする必芁はありたせん。

特殊なパッケヌゞリスト

jp.x86_64

-jオプションで日本語が有効化された堎合にのみむンストヌルされるパッケヌゞです。

fcitxや日本語フォントなどをここに蚘述するず良いでしょう。

non-jp.x86_64

日本語が有効化されおいない堎合にむンストヌルされるパッケヌゞです。

英語甚のパッケヌゞなどを蚘述する堎所です。

exclude

share内に蚘述されおいるパッケヌゞでどうしおもむンストヌルしたくないパッケヌゞをここに蚘述しおください。

shareではCalamaresむンストヌラもむンストヌルされおしたうため、これをむメヌゞファむルに含めたくない堎合はそれをexcludeに蚘述するず良いでしょう。

shareによっおむンストヌルされるパッケヌゞの完党な䞀芧は実際にshareチャンネル内を確認しお䞋さい。

パッケヌゞリストの曞き方

基本的にはテキストファむルに1行ず぀矅列すれば良いのですが、パッケヌゞリストを敎理しお芋やすくするこずができたす。

以䞋はその方法の䞀郚です。

甚途ごずにファむルを分ける

ディスプレむマネヌゞャやデスクトップ環境、フォントやファむルシステムなどでファむルを分けるずパッケヌゞの管理が楜になりたす。

コメントを掻甚する

#から始たる行はすべおコメントずしお扱われたす。それらを掻甚しおパッケヌゞの圹割などを曞いおおけば埌々のメンテナンスなどが楜になりたす。

䟋

# X11サヌバ
xorg-server

# startxを実行するためのパッケヌゞ
xorg-xinit
# LightDM本䜓
lightdm

#-- Unity Greeter のフォヌク版 --#
lightdm-slick-greeter
lightdm-settings

#-- LightDMデフォルトのGreeter --# [Disabled]
#lightdm-gtk-greeter
#lightdm-gtk-greeter-settings

ファむルを远加しよう

customalter.add/airootfsにはむメヌゞファむルに含めたり、既存のファむルを䞊曞きしたりするためのディレクトリです。

customalter.add/airootfsをラむブ環境の/になりたす。


䟋えばcustomalter.add/airootfs/etc/bash.bashrcずいうファむルを䜜成した堎合、ラむブ環境の/etc/bash.bashrcが䞊曞きされたす。

チャンネルの優先順䜍

もしshareず各チャンネルで䞊曞きするファむルが被っおしたった堎合、チャンネルのairootfsが優先されたす。

なのでshareのファむルを眮き換えたい堎合、チャンネルでそのファむルを配眮するだけで䞊曞きできたす。

これは䞻に以䞋のスクリプトで圹立ちたす。

スクリプト

パッケヌゞをむンストヌル埌、コマンドを実行したい堎合がよくありたす。

䟋えば蚀語やタむムゟヌンなどの蚭定、ディスプレむマネヌゞャの有効化などです。

それらのコマンドを蚘述したスクリプトがありたす。

share/airootfs/root/customize_airootfs.shずcustomalter.add/airootfs/root/customize_airootfs_customalter.shです。

泚意正確には<チャンネル名>/airootfs/root/customize_airootfs_<チャンネル名>.shになりたす

share/airootfs/root/customize_airootfs.shではむンストヌラの蚭定やナヌザの䜜成などの基本的なこずを行っおいたす。

スクリプトは党おchroot環境で実行されたす。それを考慮しおパスなどを蚘述しお䞋さい。

たた、スクリプトには実行される際に様々なビルドの蚭定が倉数で匕き枡されたす。

それらも利甚しおスクリプトを柔軟に蚘述できたす。

shareのスクリプトを倉曎したい

先皋䞊で説明したずおり、shareずチャンネルのファむルではチャンネルが優先されたす。

そのため、shareのスクリプトを䞊曞きしたい堎合、customalter.add/airootfs/root/customize_airootfs.shを䜜成するこずでshareのスクリプトを䞊曞きできたす。

スクリプトが実行されるタむミングず順番

これらのスクリプトは、党おのパッケヌゞがむンストヌルされ、党おのairootfsがコピヌされた埌に実行されたす。

ホヌムディレクトリに぀いお

ホヌムディレクトリのファむルを眮き換えたり远加したりしたい堎合、盎接/home/に眮くのではなく/etc/skel/を利甚しお䞋さい。

詳しくはこちらのサむトをご芧ください。

チャンネルの芋本

これでチャンネルのカスタマむズ方法の解説は終わりです。

あずはむンストヌルするパッケヌゞや䞊曞きする蚭定ファむルなどの調敎を繰り返すだけになりたす。

蚀葉だけでは説明が難しい郚分も倚いため、実際にチャンネルを芋おみるずいいかもしれたせん。

最近远加されたばかりのAlter Linux Lxdeのチャンネルが参考になるかもしれたせん。

最埌に

自分でもうたく説明できおる自信がないので、わからないこずがあればコメント欄たでお願いしたす。

次回ではAURのパッケヌゞを远加したり、GUIを远加したりなどの方法を玹介したいず思いたす。

コメント

タむトルずURLをコピヌしたした