Linuxを日常的に使う実験ブログ

Gentoo LinuxでOverlayを利用する

 2015-03-15

 Gentoo Linux

こんにちは。今回のテーマは『Gentoo LinuxでOverlayを利用する』です。Gentoo LinuxにはOverlay(オーバーレイ)という外部のebuildを扱う仕組みがあり、とても便利です。公式リポジトリにパッケージがない場合もオーバーレイの導入で解決するかも知れません。 [adsense02] 【目次】 オーバーレイについて オーバーレイを使えるようにしよう オーバーレイを使ってみる

オーバーレイについて

オーバーレイって何?

Gentooを使っている方はご存知の方も多いと思いますが、Gentoo初心者の方のために簡単な解説をしておきます。 オーバーレイとは外部パッケージのebuildファイルを含んだportageのパッケージツリーです。とても簡単に言えば、非公式リポジトリや自作のebuildをemergeで扱うための仕組みと考えれば良いと思います。portageに覆いかぶせるものという意味でオーバーレイと名付けられました。文字通りportageに被せるだけでオーバーレイに登録したリポジトリのパッケージは公式パッケージより優先度高く扱うことができます。

何ができるの?

簡単に言えばサードパーティリポジトリを追加してメインのPortageパッケージと同様に扱うことができるようになります。厳密には異なりますが、UbuntuのLaunchpadやArch LinuxのAURのような存在として活用できます。

オーバーレイを使えるようにしよう

今回はオーバーレイの管理ツールlaymanで外部オーバーレイを管理する前提で環境を整えていきます。自作のオーバーレイ作成については機会を改めたいと思います。

準備

もしまだportageグループにユーザーを登録していない場合は以下コマンドで登録して下さい。

root# gpasswd -a <ユーザー名> portage

Laymanの導入

実はオーバーレイを使うためにはLaymanの存在は必須ではありません。しかしLaymanがあった方がオーバーレイの管理は便利ですので導入します。 インストール 以下コマンドでインストールします。

root# emerge —ask laymen

以下のコマンドを実行してlaymanの設定を反映させます。

root #echo “source /var/lib/layman/make.conf” >> /etc/portage/make.conf

もし、事前にPORTDIR_OVERLAYに特定のディレクトリを登録してある場合は/etc/portage/make.confのPORTDIR_OVERLAYの部分を以下のように修正してlaymanのPORTDIR_OVERLAYが上書きされないようにします。(詳細はhttp://wiki.gentoo.org/wiki/Layman参照)

PORTDIR_OVERLAY=”${PORTDIR_OVERLAY} <自分で設定したディレクトリ>“

Laymanのコマンド

ここで簡単にLaymanのコマンドの紹介をしておきます。

操作コマンド
登録可能なオーバーレイ覧を見るlayman -L
オーバーレイを登録するlayman -a <オーバーレイ名>
オーバーレイを削除するlayman -r <オーバーレイ名>
登録されたオーバーレイ一覧を見るlayman -l
オーバーレイを更新するlayman -s <オーバーレイ名>
全オーバーレイを更新するlayman -S

Laymanによるオーバーレイの管理

オーバーレイを使ってみる

では実際にオーバーレイを使ってサードパーティリポジトリのパッケージを管理してみます。今回はEconnmanというEnlightenment用のネットワークマネージャーのGUIツールをオーバーレイを使って導入してみたいと思います。

オーバーレイリポジトリを見つける

オーバーレイの使い方は様々ですが、実用的な使い方としてはhttp://gpo.zugaina.org/で使いたいパッケージを検索して扱っているサードリポジトリ(オーバーレイ)をlaymanを使って登録するという方法が挙げられるかと思います。 http://gpo.zugaina.org/でEconnmanを検索すると以下のような画面となり、リポジトリ名”sera”を追加すれば良いことが分かります。 01

Laymanでリポジトリを追加する

以下コマンドで”sera”リポジトリを追加します。

root# layman -a sera

試しにリポジトリが追加されたか調べてみます。以下のコマンドを実行します。

$ layman -l

出力例 03

emergeでオーバーレイのパッケージを検索・インストール

これで公式パッケージ(メインのPortage)には入っていなかったEconnmanパッケージをemergeで扱えるようになりました。検索結果にも反映されています。

$ emerge -s econnman

出力例 02 インストールは通常のパッケージと同じように以下のコマンドのようにインストールするだけです。(マスクを外す等の処理は必要です)

root# emerge —ask econnman

最後に

Linuxを使っているとどんなディストリビューションでも公式リポジトリから配布されているパッケージだけでは足らずにサードパーティリポジトリに頼る時が来ると思います。Gentooは公式リポジトリで扱っているパッケージが豊富ですが、それでもオーバーレイの存在はGentooを益々便利にしてくれると思います。 [adsense]