AURからパッケージをインストールする方法は?


61

Arch Linuxには、ユーザーが作成したパッケージのコレクションであるAUR(Arch User Repository)があります。ただし、Arch Linux ARMにこれらのパッケージをインストールするにはどうすればよいですか?


2
多くのaurパッケージがすでに「aur」レポを通じて提供されているようです。偶然見つけました。pacman -S yourpackageは実際に動作する可能性があります。たとえば、cowerおよびgmrender-resurrect-gitで動作します。
enigmaticPhysicist

回答:


53

Arch Linux ARM のBuilding Packagesページによると、必要なことです。

  1. ビルドの必需品をインストールします。これらはArch Linux ARMでパッケージをコンパイルするために必要です。

    $ sudo pacman -S kernel26-headers file base-devel abs
    
  2. を取得しPKGBUILDます。必要なtarballをダウンロードする必要があります。AURでプログラムのtarballを見つけることができます。

  3. パッケージを作成します。次にmakepkg、pacmanがインストールできるパッケージを生成するために実行する必要があります。

    $ makepkg -Acs
    

    この-Aオプションは、ターゲットのArchアーキテクチャを無視します。この-cオプションmakepkgは、実行後にディレクトリをクリーンアップ-sし、必要な依存関係をインストールします。

    システムに永続的な損傷を与える可能性があるため、rootとして実行しないことをお勧めしますmakepkg。あなたがいる場合、実際にかかわらず、ルートとしてそれを実行する必要があり、使用--asrootオプションを選択します。

  4. パッケージをインストールします。 makepkgfiletypeでディレクトリにファイルを作成する必要があります.pkg.tar.xz-Upacmanでオプションを使用して、このパッケージをインストールする必要があり ます。

    $ sudo pacman -U x.pkg.tar.xz
    

    必ずx.pkg.tar.xz実際のパッケージ名に置き換えてください。


パッケージを手動でビルドすることは、初心者ユーザーには絶対にお勧めできません。実際、誰もがYaourtを使用する必要があります。プロセス全体が簡単になります。
Jivings

これらのパッケージが必要であり、PKGBUILDを編集してarmv6h arch用にコンパイルする必要があります。
アングレポイズ14

5
@Jivings実際、yaourtや他のAURヘルパーが公式リポジトリにない理由は、自動化ツールを使用する前に外国のパッケージを手動でインストールする方法を学ぶことになっているからです。
PyRulez 14

2
'abs'パッケージがリポジトリに存在しません
-dmnc

kernel26-headers、まだ実際の?グーグルでそれについて何も見つかりませんでした。グループにbase-develはが含まれますfile
user3123159

34

最も簡単な解決策は、Yaourt (Yet AnOther User Repository Tool)を使用することです。

以下を使用してインストールできます。

pacman -S yaourt

そして、AURと同期します:

yaourt -Syy

その後、AURパッケージを検索できます:

yaourt package-name

これにより、インストールの対話型プロンプトが提供されます。

または、パッケージ名が正確にわかっている場合:

yaourt -S package-name

ほとんどのpacmanコマンドはyaourtで同じです。


違いは何であるpacmanとはyaourt
アレックスチェンバレン

Yaourtは、公式リポジトリだけでなくAURもチェックします。AURパッケージには、より多くのカスタマイズの可能性もあります。
Jivings

これはもう機能しません。公式のソリューションは何ですか?
tekknolagi

2
pacman -S yaourt動作しないと私は追加することはできませんarchlinuxfrように明らかに、彼らはホストしていないarmv6h
tekknolagi

1
@tekknolagi yaourtはArch Armのメインリポジトリにありました。おそらく彼らはそれを削除しました。...しかし、ソースからビルドすることはできます。これについてはArch WikiのAUR記事で説明されています。そして、それのためのパッケージファイルがここにあります。それがお役に立てば幸いです!
Jivings

10

上記の答えはすべて時代遅れです。私の答えはあまりよくありませんが、うまくいけば時代遅れになる問題を回避できます。

公式Wikiは 1がパックマン(この日のようにパッカーとyaourt)の一部ではないパッケージをビルド/インストールについてどのようになる、詳細に、説明しています。

packerとyaourtは両方とも、AURで期限切れとしてフラグが立てられます。(これは将来変更される可能性があります)。


いい答えだ!makepkg -siも使用することをお勧めします(PKGBUILDファイルを確認した後)
smoothware

7

私はこの目的のためにpackerを使用していますが、これはyaourtのより高速な代替手段です。

これらの2行をに追加するだけ/etc/pacman.confです:

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

その後、pacman経由でpackerをインストール/更新できます。

# pacman -Sy packer

pacmanを使用するのとほぼ同じ方法でpackerを使用します。

$ packer -S some_aur_package

また、AURのパッケージを含むすべてのパッケージをアップグレードしたくない場合:

$ packer -Syu

Packerはまずpacman -Syu公式リポジトリからパッケージをアップグレードするために実行され、次にすべてのAURパッケージをアップグレードします。


4

重要! yaourtWikiによると安全ではなく、非推奨です: https : //wiki.archlinux.org/index.php/AUR_helpers

@Jivingsの答えは `12で最も優れていましたが、より安全で機能が豊富なarchパッケージマネージャーの1つをインストールすることをお勧めします(そして、@ Jivingsの答えが最も見やすいので更新することをお勧めします)。

私はそれを使っaurmanて掘っています。すべての機能を備えており、安全であり、cliはpacmanとほぼ同じように機能します。インストールする:

cd ~/Downloads
git clone https://aur.archlinux.org/aurman.git
cd aurman
makepkg -Acs
# Change xxx below to downloaded version
sudo pacman -U aurman-xxx.pkg.tar.xz

次に、pacmanのaurman代わりにpacman を使用して、ほぼ正確にpacmanガイドに従うことができます。次のガイドは、https://www.digitalocean.com/community/tutorials/how-to-use-arch-linux-package-managementから取得したもので、始めました。


入門

Arch Linuxは、他の最新のLinuxディストリビューションで見られるものと同様のパッケージ管理機能を提供します。これは、一般的なパッケージ管理操作のガイドです。

さらに先に進む前に、パッケージデータベースが最新であることを確認してください。

sudo pacman -Sy

検索中

直感性よりも簡潔さを優先して、Arch Linuxのほとんどのパッケージ管理操作は次の形式で表示されます。

pacman -<a-z><a-z>.

たとえば、pacmanリポジトリを検索するための通常のコマンドは

pacman -Ss <package> 

...

または、pacman -Qsを使用して、色を強調表示しないという欠点もあります。

pacman -Qs linux

pacman -Ssを使用して色を強調表示する場合は、/ etc / pacman.confから色のコメントを解除できます。ただし、pacsearchとは異なる点が強調されているため、両方を試して、どちらが良いかを確認することをお勧めします。

sudo vi /etc/pacman.conf

...
# Misc options
#UseSyslog
Color
#TotalDownload
CheckSpace
#VerbosePkgLists
...

情報を教えてもらう

pacman -Qi displays basic information about an installed package.

pacman -Qi linux

Name           : linux
Version        : 3.8.4-1
Description    : The linux kernel and modules
Architecture   : x86_64
URL            : http://www.kernel.org/
Licenses       : GPL2
Groups         : base
Provides       : kernel26=3.8.4
Depends On     : coreutils  linux-firmware  kmod  mkinitcpio>=0.7
Optional Deps  : crda: to set the correct wireless channels of your country
Required By    : None
Optional For   : None
Conflicts With : kernel26
Replaces       : kernel26
Installed Size : 64728.00 KiB
Packager       : Tobias Powalowski <tpowa@archlinux.org>
Build Date     : Wed Mar 20 21:16:17 2013
Install Date   : Fri Mar 29 01:02:14 2013
Install Reason : Explicitly installed
Install Script : Yes
Validated By   : Unknown

pacman -Qiに引数が渡されない場合、システム内のすべてのパッケージが返されます。この出力を検索して、インストール済みパッケージに関する専門情報を取得できます。

たとえば、各パッケージとそのサイズを取得する場合:

pacman -Qi | grep -e "Name" -e "Installed Size"

Name           : a52dec
Installed Size : 244.00 KiB
Name           : aalib
Installed Size : 768.00 KiB

...

pacman -Qiはインストールされたパッケージに関する情報を提供しますが、pacman -Siはパッケージについて最近取得した情報をデータベースに照会します。

pacman -Si linux

pacman -Qlは、パッケージに関連付けられているすべてのファイルをリストします。

pacman -Ql vi

vi /usr/
vi /usr/bin/
vi /usr/bin/edit
vi /usr/bin/ex
vi /usr/bin/vedit
vi /usr/bin/vi

...

各行のパッケージ名により、スクリプトでの出力の使用が難しくなる可能性があります。pacman -Qlq(つまり、「pacman query list、quiet」)はパッケージ名を出力しません。

pacman -Qlq vi

/usr/
/usr/bin/
/usr/bin/edit
/usr/bin/ex
/usr/bin/vedit
/usr/bin/vi

...

pacman -Qlq |を使用できます。grep binを使用して、binフォルダーにある(したがって、実行可能ファイルである可能性が高い)パッケージ内のすべてのファイルを見つけます。これは、パッケージに関連付けられているコマンドがパッケージ名と異なる場合に便利です。

pacman -Qql pacman | grep bin

インストール中

標準パッケージをインストールまたはアップグレードする一般的な方法は、pacman -Sです。

sudo pacman -S <package>

多くの場合、パッケージの名前には同様のパターンがあります。ブラケットはショートカットとして使用できます。

sudo pacman -S lua-{sec,socket,zlib}

パッケージをインストールせずにアーカイブ目的でダウンロードしたい場合があります。pacman -Swは、パッケージをキャッシュフォルダーにダウンロードします。

sudo pacman -Sw <package>

パッケージがダウンロードされている場合、またはURLがわかっている場合は、直接インストールできます。

sudo pacman -U <package_path>

アップグレード

pacmanはパッケージをリモートリポジトリと「同期」するという考え方を中心に展開しているため、pacman -S既にインストールされている場合はパッケージをアップグレードします。

Pacmanは、古いパッケージを一覧表示できます。

pacman -Qu

残念ながら、リポジトリ内のパッケージのバージョンは表示されないため、各パッケージがどれだけ古くなっているかを知ることはできません。これが重要な場合は、サードパーティのパッケージマネージャーを調べるか、pacman -Qiおよびpacman -Siから取得したパッケージバージョンを結び付けるスクリプトを作成します。

正規表現を使用して、pacman -Qiまたはpacman -Siからバージョンを取得できます。

pacman -Qi linux | grep "Version" | sed 's/^Version\s*:\s//'

3.8.4-1

そして、バージョンを並べて表示するスクリプトを作成します。

for i in $(pacman -Qqu)
do
  printf "$i: "
  printf "$(pacman -Qi "$i" | grep 'Version' | sed 's/^Version\s*:\s//') "
  echo   "$(pacman -Si "$i" | grep 'Version' | sed 's/^Version\s*:\s//')"
done

Pacmanはすべてのパッケージを一度にアップグレードする方法を提供しますが、Archはローリングリリースディストリビューションであるためお勧めできません。問題が発生した場合、原因を特定するのに時間がかかる場合があります。

sudo pacman -Syu

ダウングレード

Arch Linuxは、非推奨のパッケージを公式に管理していません。代わりに、パッケージキャッシュとArch Rollback Machineなどの場所に依存する必要があります。キャッシュ

pacmanでダウンロードされたすべてのパッケージは/ var / cache / pacman / pkgに保存されます。

ls /var/cache/pacman/pkg | grep linux

linux-3.11.6-1-x86_64.pkg.tar.xz
linux-3.9.7-1-x86_64.pkg.tar.xz

...

キャッシュ内のパッケージに戻したい場合は、直接インストールしてください。

pacman -U <path_to_cached_file>

アーチロールバックマシン

Arch Rollback Machineは、公式のArch Linuxミラーのスナップショットのコレクションです。この記事の執筆時点では、4か月前に遡ります。ARMは現在http://seblu.net/a/armでホストされていますが、これは将来変更される可能性があります。

ARMパッケージは、pacman -Uを使用してリモートでインストールできます。

pacman -U http://seblu.net/a/arm/2013/08/31/extra/os/x86_64/apache-2.2.25-1-x86_64.pkg.tar.xz

古いパッケージのARMを参照するのは必ずしも便利ではありません。幸いなことに、これを簡単にするツールがあります。

downgrade
downgrader

キャッシュとARMで古いバージョンを検索します。それらの使用法はあなたが期待するものです。

downgrade <package>
downgrader <package>

両方のツールはAURにあるため、それらをインストールする最も簡単な方法はyaourtのようなヘルパーを使用することです。

注:ARMは非公式のプロジェクトであり、過去に閉鎖されています。そのため、ARMがダウンしたり場所を変更したりした場合にキャッシュをクリアしないようにすることをお勧めします。独自のARMを使用する場合は、githubにNodeJSプロジェクトがあるようです。除去

パッケージが依存していない場合は、パッケージを削除します。依存関係はインストールしたままにします。

sudo pacman -R <package>

パッケージが依存していない場合は、パッケージを削除します。他に必要のない依存関係を削除します。

sudo pacman -Rs <package>

パッケージを強制的に削除します。これは、システムからパッケージを消去して、再インストールだけでは不十分な場合に再インストールするために到達するコマンドです。

sudo pacman -Rdd <package>

パッケージを完全に削除するには:aurman -Rsn <package>
mjd2

0

最初に行う必要があるのは、AURからパッケージをダウンロードすることです。実行するには:ファイルをgit clone http://aur.archlinux.org/package.gitダウンロードしているように見えても.git、出力はディレクトリになります。

cd packagePKGBUILDファイルを見つけます。これは次のステップで使用されます。

最後に、このコマンドを実行して、ダウンロードしたパッケージをコンパイルおよびインストールします。makepkg -Sri。これらの各文字の意味を包括的に説明したい場合は、makepkg -hすべての文字が説明されている場所で実行できます。


2
Stack Exchange、Ashishへようこそ。あなたの答えについて少し詳しく説明してください。なぜ上記のことを行う必要があるのか​​、ステートメントは何をするのかなど。
フィル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.