Arch LinuxでMakepkgを使用する

makepkg直接使用すると、システムを多少汚染します。base-develパッケージグループをインストールする必要があります。この方法では、デフォルトで、パッケージのビルドにのみ必要であり、パッケージの使用には不要な依存関係はインストールされたままになります。このデフォルトの動作は変更できますが、これにはパッケージのインストールとアンインストール、およびの汚染が含まれます/var/log/pacman.log

の入手を含め、AURの一般的な理解と使用については、この記事を参照しくださいPKGBUILD。このドキュメントmakepkgは、パッケージをコンパイルするために選択した方法である場合にのみ、に固有の手順を示しています。

Makepkgを使用したコンパイル

base-develパッケージグループがまだインストールされていない場合は、インストールする必要があります。そうでない場合、makepkgはすでにインストールされていると見なし、パッケージが必要だがインストールされていない場合は、インストールするのではなく単に失敗します。 makepkgそれ自体はpacmanパッケージの一部であり、すでにインストールされています。

# pacman -S base-devel

で作成makepkgしたディレクトリであるPKGBUILDでディレクトリを実行する必要がありgit cloneます。デフォルトでは、実際のソースコードをダウンロードし、パッケージをコンパイルしてパッケージ化します。

にはmakepkg、これらの一般的に使用されるものを含む、多くのオプションがあります。

  • -s, --syncdeps :パッケージのビルドと使用に必要な欠落している依存関係を自動的にインストールします。
    • PKGBUILDがAURパッケージに依存している場合は、最初にそれらをインストールするか、独自のローカルリポジトリで使用できるようにして、パッケージを見つけられるようにしてください。
  • -r, --rmdeps :正常にビルドされた場合、以下を含む不要になった依存関係を自動的にアンインストールします。
    • ビルドに必要だがパッケージを使用しないもの。
    • --installオプションなしで使用する場合は、パッケージの使用に必要なもの。
  • -i, --install :正常にビルドされた場合、パッケージを自動的にインストール/アップグレードします。
  • -c, --clean :一時ビルドファイルを自動的に削除します。通常、問題のあるビルドをデバッグするときにのみ必要です。

パッケージを自動的にインストール/アップグレードし、パッケージを使用するために依存関係をインストールしたままにし、ビルド中にのみ必要な依存関係を削除するには、次のコマンドを実行します。

# makepkg -sri

または、自動的にインストールせず、すべての依存関係をインストールしたままにすることもできます。そのため、いつかアップグレードをパッケージ化しても、すでにインストールされています。

# makepkg -s

次に、ここで説明するようにローカルリポジトリを使用するか、ファイルを直接インストールします。

# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz

パッケージの高速化

デフォルトでmakepkgは、パッケージ全体をアーカイブ形式に結合します。圧縮に.tar.xz単一のスレッドを使用してファイルを作成するxz

マルチCPUシステムでは、をxz編集し/etc/makepkg.confて次の行を変更することにより、複数のスレッドの使用を許可できます。

COMPRESSXZ=(xz -c -z -)

仮想コアと同じ数のスレッドを許可できます。

COMPRESSXZ=(xz -c -z - --threads=0)

システム全体のパフォーマンスへの影響を減らすなど、複数の仮想コアを使用できるようにするには、すべてではない場合、次のような特定の数を追加します。

COMPRESSXZ=(xz -c -z - --threads=21)

注: 使用している仮想コアの数より多くのスレッドを指定すると、パフォーマンスが低下します。

パッケージファイルのサイズが(大きくなる可能性がある)気にならない場合は/etc/makepkg.conf、を編集して圧縮を無効にし、次の行を変更します。

PKGEXT='.pkg.tar.xz'

次のようになります。

PKGEXT='.pkg.tar'

PGP署名の検証をスキップ

「PGP署名エラー」のセクションで説明さているように、使用さているPGP署名を適切に検証して追加することをお勧めします。

ただし、makepkg直接実行している--skippgpcheck場合は、PGP署名の検証をスキップするオプションを提供できます。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。