序章


Arch Linuxの初心者を落胆させる可能性があるのは、標準のパッケージマネージャーpacmanでダウンロードできる公式パッケージがないことです。 この記事では、Archがこのように機能することを選択した理由と、その中のほぼすべてのパッケージを簡単に取得する方法について説明したいと思います。

用語集:

  • PKGBUILD:Archパッケージを作成するためのビルドスクリプト
  • makepkg:PKGBUILDを読み取り、Archパッケージを生成するツール
  • AUR:Arch User Repository、コミュニティPKGBUILDのコレクション
  • pacman:ArchLinux用の標準パッケージ管理ツール
  • yaourt:AURパッケージを取得および構築するためのツール

哲学


新しいArchLinuxドロップレットを作成すると、pacmanを使用して3つの標準リポジトリにアクセスできるようになります。

  • 追加
  • コミュニティ

コアリポジトリと追加リポジトリは、その権限によって維持されます。 コミュニティはArchユーザーによって維持されていますが、期待したものではない可能性があります。 Archのメンテナは、何が標準パッケージになるかについて非常に厳格です。 投票のしきい値を達成することに加えて、Archが「信頼できるユーザー」と呼ぶものによって公式のコミュニティパッケージを採用する必要があります。 メンテナは、パッケージがファーストパーティレベルで維持される可能性が高い場合を除いて、パッケージがファーストパーティパッケージマネージャーでアクセス可能である理由を認識していません。 これは、他の多くのディストリビューションが試みた(そしてしばしば失敗した)パッケージをできるだけ多く維持しようとするのとは対照的です。 この記事の執筆時点では、信頼できるユーザーは36人、コミュニティパッケージは2000以上です。

ただし、他のほとんどのディストリビューションとは異なり、Arch Linuxは、ユーザーが高速でルーズにプレイできる追加のコミュニティリポジトリも保持しています。 これはArchユーザーリポジトリです。 AURは透明性があり、集合体によってのみモデレートされるため、有機的な成長を促進します。 この記事の執筆時点で、AURには44,000以上のパッケージがあります。 これは、10,000以上の標準パッケージとは対照的です。

AURパッケージは、ソースパッケージまたはバイナリパッケージではありません。 代わりに、ソフトウェアを取得、構築(必要な場合)、およびインストールするための命令(PKGBUILD)です。 パッケージ管理にアプローチするこの方法は、FreeBSDポートから借用されました。 ソースバイナリスペクトルでは、PKGBUILDはgitリポジトリから.debパッケージまで何でもソースとして使用する可能性があります。 さらに、一部のリポジトリとは異なり、ライセンスの制限はありません。

Arch Linuxはローリングリリースディストリビューションであるため、AURまたは標準リポジトリからダウンロードしたパッケージは、古いリリースのディストリビューションを使用している場合でも、Arch用に作成された最新のものになります。 特定のパッケージのダウンロード可能なバージョンは1つしかないため、パッケージの修正は簡単で、修正はすべての人に適用されます。 更新によって問題が発生した場合、古いソースファイルがまだ使用可能であれば、PKGBUILDのソースファイルのバージョンを変更するのと同じくらい簡単にダウングレードできます。

概要:ArchLinuxとMainstreamLinux


Arch Linux:-Archメンテナと信頼できるユーザーによって維持されている標準パッケージ-AURレルムに閉じ込められた怪しげなコミュニティパッケージ-いつでもパッケージの1つのリリース=群衆の修復効果-透明性はコミュニティの関与と有機的な成長を促進します

主流のLinux:-同等に維持されていないが同等にダウンロードされた標準パッケージ-パッケージのバージョンはリリースに依存=群衆の修復効果は実行不可能-不透明なコミュニティパッケージは有機的な成長を妨げる

Ubuntuには、ユニバースと呼ばれるAURに似たリポジトリがあります。 9.04(Jaunty)以降、ユニバースリポジトリはデフォルトで有効になっています。 これを概観すると、Ubuntuの状況は、Archユーザーがpacmanを使用していくつかの異なるAURにすぐにアクセスできるようにし、クローズドソースプロジェクトを許可せず、コミュニティからの即時フィードバックの手段を提供しないことに似ています。

これがAURのnodejsgitパッケージです

これがUbuntuのユニバースリポジトリにあるnodejsdevパッケージです

パッケージについての会話がないことに加えて、Ubuntuパッケージページの横にどのような単語が表示されているかに注意してください。

「通常、ユーザーが元のメンテナに連絡する必要はありません。」

ヨーグルトのフランス語


残念ながら、AURには多くの素晴らしく手入れの行き届いたパッケージがありますが、Archの新規インストール後にそれらに簡単にアクセスする方法はありません。 ただし、ArchWikiには、パッケージの取得を簡素化する多くのAURヘルパーに関するページがあります。 これらのヘルパーの中で最も優れているものの1つは、archlinux.frによるyaourtというツールです。

Yaourtは、AURパッケージをインストールする面倒なプロセスを、キーワード検索と一連の「はい」または「いいえ」の質問にまで減らします。 また、AURパッケージと標準パッケージの両方を検索してインストールできるため、pacmanの代わりにもなります。

卵、ハッチチキンをダウンロード


ヨーグルトはいくつかの方法で取得できます。

  1. archlinuxfrリポジトリを/etc/pacman.confに追加します
  2. AURからヨーグルトパッケージを構築する

両方のオプションについて説明しますが、最初のオプションの方がはるかに簡単です。 AURからのパッケージのダウンロードとビルドが通常どのように機能するかを知りたい場合は、方法2にスキップしてください。

方法1:カスタムリポジトリを介してインストールする


pacmanの設定ファイルを開いてカスタムリポジトリを追加します。

sudo vi /etc/pacman.conf

archlinuxfrリポジトリを下部に追加します。

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

$ arch変数は、ディストリビューションがx86かx86_64かを保持します。 ファイルが処理されるときに置き換えられます。

カスタムリポジトリがpacman.confに追加された後、パッケージデータベースを同期して、archlinuxfrからのパッケージと、yaourtまたはその依存関係に必要な標準パッケージからの更新を含める必要があります。

sudo pacman -Sy

これで、yaourtとその依存関係は、pacmanを介して他のパッケージと同じようにインストールできます。

sudo pacman -S yaourt

または、両方を1行で実行することもできます。

sudo pacman -Sy yaourt

方法2:AUR経由でインストールする


気の弱い人向けではありませんが、この方法は、実際には、yaourtのようなヘルパーツールがない場合に、AURからパッケージをダウンロード、ビルド、およびインストールする方法です。

一般的なプロセスは次のようになります。

  1. PKGBUILDを含むtarballをダウンロードする
  2. tarballを展開する
  3. PKGBUILDを含むフォルダーでmakepkgを実行します
  4. 生成された.xzファイルをインストールします

まず、yaourtが機能するには、package-queryパッケージが必要です。

package-queryまたはyaourtが必要とする可能性のあるものについては、標準リポジトリが最新であることを確認してください。

sudo pacman -Sy

AURからファイルをプルします。

curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz

ファイルを展開して、PKGBULDにアクセスします。

tar zxvf package-query.tar.gz

PKGBUILDを含むフォルダーを入力します。

cd package-query

パッケージを作成します。 -sフラグは、パッケージのビルドを試みる前に、パッケージの標準リポジトリ依存関係(存在する場合)をpacmanと同期します。

makepkg -s

Alternative :ユーザーを設定していない場合は、-asrootを追加して、makepkgをrootとして実行するように強制します。 PKGBUILDには悪意のあるコードや誤ったコードが含まれている可能性があるため、通常の状況では、root権限でパッケージをビルドしないでください。

makepkg -s --asroot

makepkgによって生成された.xzファイルをインストールします。 ショートカットとして、-iを指定してmakepkgを実行できます(つまり、 このステップを含めるには、makepkg-sの代わりにmakepkg-siを使用します。

sudo pacman -U *.xz

次に、ヨーグルトtarballでも同じことを行います。

curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
tar zxvf yaourt.tar.gz
cd yaourt
makepkg -si

:package-queryはyaourtの依存関係ですが、makepkgに-sフラグを指定すると、標準のリポジトリにないため、同期されません。 そのため、個別に構築する必要がありました。 package-queryはarchlinuxfrリポジトリにありますが、それを追加したら、pacmanを介してyaourtをインストールすることもできます。 yaourtはAUR依存関係を処理するため、通常、AUR依存関係を個別に構築する必要はありません。

ヨーグルトの使用


典型的なヨーグルトの使用は、目的のキーワードを渡すことから始まります。 Yaourtは、パッケージ名と説明の両方を調べます。

yaourt <keyword>

検索を実行すると、一致する各パッケージのヨーグルトリストが表示されます。

  • 説明
  • バージョンナンバー
  • パッケージがインストールされているかどうか
  • パッケージに投票する

インストールされているパッケージがAURのパッケージよりも古い場合は、強調表示されます。 これは、システムを破壊しているパッケージを追跡するのに役立ちます。

リストからパッケージを選択すると、yaourtは最新のコメントを表示し、PKGBUILDを編集するかどうかを尋ねます。 これにより、何か問題が発生した場合に、パッケージをその場で編集することができます。 誰かがコメントに修正を投稿した場合、yaourtがmakepkgを実行する前に、PKGBUILDに変更を加えることができます。

検索に加えて、yaourtは他の標準的なパッケージ管理操作をサポートします。

  • ヨーグルト-S :パッケージをインストールまたは更新する
  • yaourt -Sy:pacmanパッケージデータベースを同期します
  • ヨーグルト-R :パッケージを削除します
  • ヨーグルト-G :パッケージのPKGBUILDを取得します
  • yaourt –stats:パッケージが使用しているスペースの量を表示します

Yaourtには、パッケージのビルド後にパッケージを保存するためのエクスポートオプションがあります。

yaourt -Sb --export <destination dir> <package>

これは、重要なパッケージのバイナリバックアップを作成するために使用できます。 パッケージをインストールせずにビルドおよびアーカイブする場合は、インストール手順で「いいえ」と言ってください。 yaourtはインタラクティブなツールであるため、このプロセスを自動化する必要がある場合は、他の何かを見つけたいと思うでしょう。

資力


Archユーザーリポジトリ
アーチビルドシステム
makepkg
PKGBUILD
ヨーグルト
ヨーグルトAURパッケージ