Gentooにいろいろ便利そうなツールをインストールしたり、紹介記事等を見てみると、『お、これ入れてみよう』と思い立った場合、Portageにない場合があったりします。私がぶち当たった壁はdavical等。
パッケージマネージャにパッケージが含まれていないなんてのはよくある話なんですが、なるべくならパッケージ管理システムに統合化しておきたいというのは人情。でもさすがにebuildまで書く技量はないぜ!って方に朗報なのが、laymanです。overLay Managerかな? 例えばdavical等をインスコしたい場合は、sunriseという正規外のportageツリーがありまして、これをOverlayしてあげればパッケージ管理できるようになります。それではやってってみましょう。
# layman -L
と打つと、現在追加可能なOverlayPortageの一覧が表示されます。どれが有用かってのはよくわかりません。なもので、各OverlayPortageで管理可能になるツール群は、Portage Overlay[4]自分で調べてみてね。
さて、今回はdavicalやsmbldap-tools等を追加しようと考えています。このツール群は、sunriseというOverlayPortageで管理されているよ、とアナウンスがありますので、sunriseを追加することと致します。
# layman -a sunrise
以上
emergeコマンドがOverlayPortageを参照しに行ってくれるよう、以下のコマンドを実施してやってください。
# echo "source /var/lib/layman/make.conf" >> /etc/make.conf
emerge --syncでは更新されません。OverlayPortageを更新するには、laymanコマンドを使用致します。
# layman -S
私は、portageツリーの更新を、cron.dailyで一日一回実施しています。この際に実行するshellなどに追記しておくとよいでしょう。
これでめでたく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
/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の対象としない、です。
/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が検索できるようになりまーす。めでたしめでたし。
(This host) = https://femt.ddo.jp