3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ArchLinuxを快適にするmakepkg.confの話

Last updated at Posted at 2024-02-15

はじめに

ArchLinuxを使っていると公式リポジトリではない、AURパッケージのお世話になることが多いと思います。デフォルト設定はAURパッケージのインストールが非常に遅いのでこれを高速化する方法について説明します。

AURの仕組み

AURは有志が登録したパッケージで、自前でArchLinuxの形式でパッケージを作成して、それを自前のPCにインストールするためだけに使うことができる仕組みです。多くの場合ソフトウェアをビルドしてバイナリを生成しています。(バイナリをダウンロードしてるだけのものもあります)

私がよくつかっている、AURのインストーラであるtrizenも、結局のところ上記を自動化しているだけで、仕組みは変わりません。AURのリポジトリからビルド設定ファイルをダウンロードし、ビルドし、パッケージして、インストールします。

makepkgの問題点

このパッケージ処理に使われるのがmakepkgなのですが、これのデフォルト設定はパッケージの大量配布を前提としたものになっており、超高圧縮な代わりに処理が非常に低速なオプションが設定されており、AURの処理を著しく遅くしています。/etc/makepkg.conf を変更することによって自前ビルドに最適化することが可能です。

変更点

makepkgが使用する圧縮形式はPKGEXTに指定される拡張子が使用されます。デフォルトでは.zstになっているため、zstdで圧縮します。zstdの圧縮に使われるコマンドはCOMPRESSZSTで分かります。デフォルトではzstd -c -T0 --ultra -20 -となっています。ultraは超高圧縮設定を有効にするもので、圧縮率は20が設定されています。だいぶキツい設定なので例えば次のようにします。

COMPRESSZST=(zstd -c -T0 -)

また、makeに並列数を設定できて、一部のパッケージのビルドが高速化されます

#MAKEFLAGS="-j2"

のコメントアウトを外し、jの後ろに好きな並列数を設定するといいです。

おわり

これだけでAURのパッケージインストールがだいぶ早くなるはずです。単に早くしたいだけならこれぐらいの知識で十分だとおもいますが、もう少しmakepkgの気持ちを知りたい場合は公式をどうぞ。

みなさんもよいArchLinuxライフを!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?