Gentoo LinuxでOverlayを利用する
2015-03-15
こんにちは。今回のテーマは『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”を追加すれば良いことが分かります。
Laymanでリポジトリを追加する
以下コマンドで”sera”リポジトリを追加します。
root# layman -a sera
試しにリポジトリが追加されたか調べてみます。以下のコマンドを実行します。
$ layman -l
emergeでオーバーレイのパッケージを検索・インストール
これで公式パッケージ(メインのPortage)には入っていなかったEconnmanパッケージをemergeで扱えるようになりました。検索結果にも反映されています。
$ emerge -s econnman
出力例 インストールは通常のパッケージと同じように以下のコマンドのようにインストールするだけです。(マスクを外す等の処理は必要です)
root# emerge —ask econnman
最後に
Linuxを使っているとどんなディストリビューションでも公式リポジトリから配布されているパッケージだけでは足らずにサードパーティリポジトリに頼る時が来ると思います。Gentooは公式リポジトリで扱っているパッケージが豊富ですが、それでもオーバーレイの存在はGentooを益々便利にしてくれると思います。 [adsense]