Ubuntu & Launchpad PPA


こんにちは、アベです。
 
前回の投稿からだいぶが日が経ってしまって申し訳ありません。

今回は弊社で主に採用しているLinuxサーバに関してです。

Ubuntu Server LTS

Ubuntu ServerのLTS版を採用しています。現在のバージョンは12.04ですね。
LTSは”Long Term Support”の略で、長期サポート版です。

Ubuntuは半年に1回のメジャーバージョンアップを行うことで知られていますが、これとは別に長期サポート版がリリースされており、サーバ版では約5年にわたってサポートが行われます。

サーバ用途としてはとにかく24時間365日の運用が前提ですので、さすがに半年に1回のバージョンアップは作業的に現実的ではありません。
バージョンアップ作業時間はともかく動作検証に多くの時間が必要だからです。

また、外部からのアクセスに常時さらされる以上、古いリビジョンのソフトウェアを放置させることは許されません。かといって頻繁なバージョンアップは運用としては非常に負担です。
Ubuntu LTSはそういったニーズに非常にマッチしたLinuxサーバなのです。

しかし、これは裏を返せば、最新の機能が動作するソフトウェアが使えないということでもあり、LTSの方針とは対立します。

そうした場合にどうするかというと、ソフトウェアを自分たちでビルドして使うか、最新機能を使わないよう要件を制限するかのどちらかですが、Ubuntuの場合はもう一つの方法があります。
 

Launchpad PPA

公式ではない第三者がパッケージをビルドして公開していることがあります。そのサイトがLaunchpadです。

正確には、Ubuntuそのものの開発がLaunchpad上で行われており、
第三者のパッケージもLaunchpadで配布されている、という形でしょうか。

第三者のパッケージはPPA “Personal package archives”と呼ばれており、追加のパッケージリポジトリとして利用できます。

ただし、公式ではないためメンテナンスが行われる保証はありません。

この辺は自分たちでビルドするのと変わりませんが、あらかじめビルドされたパッケージをすぐに利用できる点で手軽と言えます。
 

導入手順

コマンドで打ったほうが早いです。

sudo add-apt-repository ppa:h-rayflood/python2
sudo apt-get update
sudo apt-get install python-rfzenhan
sudo apt-get install python-rfgengou

これで私が作成したpythonライブラリのrfZenHanrfGengouが使えるようになりました。
アップデートがあれば、いつも通りの

sudo apt-get update
sudo apt-get upgrade

で更新可能です。
 

注意点

先ほどあげたメンテナンスは保証されない点と、パッケージは対応するUbuntuのバージョンが決まっているという点に注意です。

上記のpython-rfzenhanとpython-rfgengouは10.04と12.04の2つ(両方ともLTS)にしか対応してませんので、それ以外のバージョンにはインストールできません。

もちろん他のバージョンにも使えるパッケージを用意すればいいのですが、作るか作らないかはパッケージを提供する側の判断です。
 

次回予告

先ほど「私が作成した」とある通り、手順さえ踏めば誰でもパッケージを作成して公開することができます。
とはいえ、その作成手順はやや複雑なので、本記事で解説するには余白が足りません。

ですので、作成手順については次回の記事にて話をしたいと思います。

もちろん、ネット検索すれば類似の記事は出てきますが、実際に一からやってみてつまずいたところも多少ありますので、そのあたりも交えて、ということでよろしくお願いいたします。
 


カテゴリー: 技術 タグ: , ,

Link

「ざっくり」見積ります! お問い合わせからリリースまでの流れはこちら アプリ開発実績はこちら facebookページ 株式会社からくりもの twitter @karakurimono