Back to page

− Links

 Print 

Gentoo Linuxな生活​/Portageアンオフィシャルツリー管理で悩む :: Nest Of Hawk

xpwiki:Gentoo Linuxな生活/Portageアンオフィシャルツリー管理で悩む

Table of contents
  • Portageにも限界はある
  • インストール
  • 設定
    • OverlayPortageの追加
    • make.confの編集
    • OverlayPortageの更新
  • 結果
  • 自作ローカルリポリトジの作成
    • ローカルリポリトジの構成を作る
    • 自作ebuidを有効にする

Portageにも限界はある anchor.png[1]

Gentooにいろいろ便利そうなツールをインストールしたり、紹介記事等を見てみると、『お、これ入れてみよう』と思い立った場合、Portageにない場合があったりします。私がぶち当たった壁はdavical等。

パッケージマネージャにパッケージが含まれていないなんてのはよくある話なんですが、なるべくならパッケージ管理システムに統合化しておきたいというのは人情。でもさすがにebuildまで書く技量はないぜ!って方に朗報なのが、laymanです。overLay Managerかな? 例えばdavical等をインスコしたい場合は、sunriseという正規外のportageツリーがありまして、これをOverlayしてあげればパッケージ管理できるようになります。それではやってってみましょう。

Page Top

インストール anchor.png[2]

# emerge layman

以上です。

Page Top

設定 anchor.png[3]

# layman -L

と打つと、現在追加可能なOverlayPortageの一覧が表示されます。どれが有用かってのはよくわかりません。なもので、各OverlayPortageで管理可能になるツール群は、Portage Overlay[4]自分で調べてみてね。

Page Top

OverlayPortageの追加 anchor.png[5]

さて、今回はdavicalやsmbldap-tools等を追加しようと考えています。このツール群は、sunriseというOverlayPortageで管理されているよ、とアナウンスがありますので、sunriseを追加することと致します。

# layman -a sunrise

以上

Page Top

make.confの編集 anchor.png[6]

emergeコマンドがOverlayPortageを参照しに行ってくれるよう、以下のコマンドを実施してやってください。

# echo "source /var/lib/layman/make.conf" >> /etc/make.conf
Page Top

OverlayPortageの更新 anchor.png[7]

emerge --syncでは更新されません。OverlayPortageを更新するには、laymanコマンドを使用致します。

# layman -S

私は、portageツリーの更新を、cron.dailyで一日一回実施しています。この際に実行するshellなどに追記しておくとよいでしょう。

Page Top

結果 anchor.png[8]

これでめでたくdavicalなどのツールも見えるようになりました!めでたしめでたし。

$ emerge -s davical
Searching...
[ Results for search key : davical ]
[ Applications found : 1 ]

*  www-apps/davical [ Masked ]
     Latest version available: 0.9.9.3
     Latest version installed: [ Not Installed ]
     Size of files: 1,973 kB
     Homepage:      http://davical.org/
     Description:   A CalDAV and iCal server
     License:       GPL-2
Page Top

自作ローカルリポリトジの作成 anchor.png[9]

自分でいじいじできるリポリトジも追加してみます。参考ページはこちら[10]

Page Top

ローカルリポリトジの構成を作る anchor.png[11]

/usr/local/portage/local-overlayというフォルダに、「local-overlay」というリポリトジを作るとしましょう

# mkdir -p /usr/local/portage/local-overlay
# cd /usr/local/portage/local-overlay
# mkdir profiles
# mkdir metadata

profilesディレクトリ内にrepo-nameというファイルを以下の中身で作ります。

# vi repo-name
local-overlay

これがリポリトジの名前です。

metadataディレクトリ内にlayout.confというファイルを作り、親リポリトジを指定します。

# vi layout.conf
masters = gentoo

gentooリポリトジの配下のlocal-overlayになったということです。

次に、このディレクトリ配下をportageさんの権限にします。

# cd /usr/local
# chown -R portage:portage potage

今度は、gentooのportageとlocal-overlayをつなげてあげます。

# cd /etc/portage/repos.conf
# vi local-overlay.conf

local-overlayリポリトジの設定を記述します。

[local-overlay]
location = /usr/local/portage/local-overlay
masters = gentoo
auto-sync = no

場所は/usr/local/portage/local-overlay、親リポリトジはgentoo、emerge --syncの対象としない、です。

Page Top

自作ebuidを有効にする anchor.png[12]

/usr/local/portage/local-overlayに、ebuildファイルを持ってきて配置します。私は、まだ有効ではなかったcyrus-imapdの3.0.5を使いたかったので、cyrus-imapd-3.0.4.ebuildをパクって、3.0.5がインストールできるようにしてみます。

# mkdir -p /usr/local/portage/local-overlay/net-mail/cyrus-imapd
# cp /usr/portage/net-mail/cyrus-imapd/cyrus-imapd-3.0.4.ebuild /usr/local/portage/local-overlay/net-mail/cyrus-imapd/cyrus-imapd-3.0.5.ebuild

これは簡単で、ダウンロードしてくるパッケージだけ変更してあげればすんなりできる模様。

# cd /usr/local/portage/local-overlay/net-mail/cyrus-imapd
# ebuild cyrus-imapd-3.0.5.ebuild manifest

ここまで打つと、emergeコマンドで、cyrus-imapd-3.0.5が検索できるようになりまーす。めでたしめでたし。


Last-modified: 2018-02-20 (Tue) 07:19:56 (JST) (1383d) by maruo