« EeePCのArch用conkyrcを作りました(天気予報付きで) | トップページ | plymouth とreadahead-fedora »

2011/11/16

packerを使ったAURパッケージの管理

Arch Linuxで日本語環境で使おうとすると、AURなパッケージは必須です。が、この更新確認が結構面倒なんですよね。
yaourtを使っていたのですが、どうにも動作が遅いのでpackerを使うことにしました。

あまり詳しいとは言い難いですが、使い方等Wikiはここです。

yaourtに対するpackerの最大の利点は速度です。これだけでもpackerを使用する利点になると思います。

最初にmakepkgした時のパッケージ作成先を明示的に指定します。AURで作ったパッケージはpacmanで入れたパッケージと異なり /var/cache/pacman/pkg には残りません。今まではバックアップのために、作ったパッケージを手動で~/Packages にコピーしていました。
これは非効率なので、makepkgした時に、自動的に特定ユーザのホームディレクトリ下 Packages フォルダにパッケージが作られるようにします。
gksu leafpad /etc/makepkg.conf
PKGDEST= 行を探して、コメントアウトを解除し、格納したいフォルダを指定します。
PKGDEST=/home/username/Packages
シングルユーザ環境でない場合にはホームの下は止めた方がいいと思いますが、そこは臨機応変に。
次に、環境変数EDITOR をセットするために、~/.bashrc を開き、最終行に
export EDITOR=nano
を追記します。

また、bash-completion 用のファイルもここからもらっておきます。
これはpackerのforkのようで、本家のAURパッケージにはbash-completion 用のファイルはないので。
tar でもzipでもいいですけど、落としてきたら解凍して解凍したフォルダに移動後、
sudo cp packer.bashcomp /etc/bash_completion.d/packer
sudo cp packer.zshcomp /usr/share/zsh/_packer
を実行します。一旦ログアウトしてログインし直せば有効になります。ログインし直したら、いよいよpackerをインストールです。
yaourt -S packer
インストールさえしてしまえば、後はAURのパッケージをpacmanと同じ感覚で使えます。
注意点としては、
  1. yaourt と同じくsudoは必要ありません。というかやってはいけません。rootでパッケージ作ってしまうので。
  2. パッケージインストール時には rootパスワードを要求されます。

  3. packer -Syu をやった場合には、最初にpacman -Syuが動作し、アップグレードが終了した後でAURパッケージの更新が動作します。これはAURパッケージアップグレード時の推奨動作です。

  4. パッケージの削除やパッケージクエリはpacmanを使います。

  5. git、svn、cvs等のパッケージ番号は変わらないが、内容は変わっているというタイプのパッケージを更新したい場合には、 --devel というオプションを指定します。

  6. いちいちPKGBUILD編集するかとか.install編集するかとか聞かれたくないという人は --noedit というオプションを指定します。
  7. 最初にインストールする時にはPKGBUILD位確認するのは当然だと思いますが、それは事前にAURのページでやってるよ、という人の方が多いかも。自分もこのオプションにはお世話になっています。

  8. AURパッケージだけの管理を行いたい場合には、 --auronly オプションを指定します。

  9. -Ss オプションはオフィシャル、AURを横断的に検索してくれるので便利です。

  10. パッケージのビルドは/tmp/packerbuild-ID 以下で行われます。PC立ち上げっぱなし or サスペンドだけで電源断をしないという人はRAM DISKの容量が圧迫されていくことになります。RAM容量に余裕がない人は定期的に
  11. rm -rf /tmp/packerbuild*
    するのが良いでしょう。

  12. というかRAM容量に余裕のない人はそもそもbuild出来ないパッケージがかなり出る可能性が・・・。/tmp をtmpfsじゃなくて、HDDなりSDDに持って行ったほうが良いと思います。
  13. packerは単に/usr/bin/packer というbashスクリプトなので、スクリプトを編集してビルドディレクトリを変えてもいいですが。

こんなとこですかね〜? packerを使って、やっとこさパッケージ管理がまともに出来るようになった気がします。日本語環境下のArch ユーザなら必須のツールだと思いますねぇ。
 

« EeePCのArch用conkyrcを作りました(天気予報付きで) | トップページ | plymouth とreadahead-fedora »

Arch Linux」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/28800/53249848

この記事へのトラックバック一覧です: packerを使ったAURパッケージの管理:

« EeePCのArch用conkyrcを作りました(天気予報付きで) | トップページ | plymouth とreadahead-fedora »