“Adapt”
コンテナを用いて、「 任意のUbuntuのパッケージ」を活用できる仕組みが登場しました。
Dustin Kirkland[1] が発表した“ adapt” コマンドは、「 Ubuntuの各リリースで提供されてきたパッケージを、好きなタイミングで呼び出せる」ツールです。
ユーザーがadapt経由でパッケージのインストールを指示すると、裏側でコンテナが準備され、「 指定されたバージョンのUbuntu」そのものが動作する環境が整えられます。
操作感覚はLightweight languageでよく使われる*envなどに類似しています。例えば、「 adapt install -r trusty -p gcc」を実行するとコンテナが準備され、「 adapt alias -r trusty -c gcc」を実行してコマンドラインからgccを呼び出すと、adapt経由で(コンテナの中にセットアップされたtrusty環境上の)gccコマンドが呼び出される、という振る舞いをします。
これにより、「 デスクトップは16.04を使いたいが、開発には14.04のユーザーランドとともにベンダー指定のコンパイラを使う必要がある」といった状態でも、16.04を使いつつ、正しく動作する14.04を手軽に準備することができます。また、Webアプリケーションサーバーのような互換性を重視しないといけない環境でも役に立つでしょう。
すでにXenialには投入されて おり、リリース時点では16.04への乗り換えにあたって強力な助けになるはずです。
Xenialの開発
Xenial(16.04)の開発は「そろそろAlpha2の時期だけれども、実はAlphaリリースは要らないのではないだろうか? 」といったやりとりが交わされつつ、大きな変更を予感させる議論が開始されています。今回は、こうした議論のうちいくつかを見ていきましょう。
「Xenial版のVagrantイメージはどこ? 」といったやりとりをきっかけに、Xenial版の(他のcloud環境にできるだけ近づけた)Vagrantイメージの新バージョン が提供されるようになりました。当然これはまだ開発版ですが、daily buildされる対象となるため、リリースまで毎日更新されることになります。
「Cloud Imageの/tmpをtmpfsにしてはどうか 」という提案が行われています。主な議論としては、「 いきなり/tmpに上限ができることになるが大丈夫だろうか?」「 もともとCloud Imageの/は8GBぐらいしかないから、tmpfsになって空きメモリに依存する形になっても大した差がないよ」といったもので、おそらく受け入れられるだろう、という気配になっています。
XenialではmainからPHP 5.6系を下ろして[2] 、「 7.0系列にすることはどれぐらい現実的だろうか? 」という検討が行われています。現状では「SWIGに依存している部分を外してビルドし直せばそれなりに現実的に見える」 。
[2] Ubuntuのパッケージは、大きく分けるとCanonicalが継続的なサポートを提供することをコミットした「main」と、コミュニティによってメンテナンスされる“ ノーブランドの” (=場合によっては誰も更新しないかもしれない)「 universe」の2種類に分けられます。パッケージとして複数のバージョンを収録する場合、もっともよく使われるバージョンだけがmainに属し、それ以外はuniverse、という判断が行われるのが通例です。
UWN#451
Ubuntu Weekly Newsletter #450 がリリースされています。
その他のニュース
Go 1.5を14.04から使うのが非常に難しくなってしまっているので、なんとかならないだろうか というバグ。14.04にはGo 1.2が入っているのですが、「 世間的には少なくともGo 1.3」「 いまどきなら当たり前になった1.5を入れようにも、ブートストラップに1.4が必要」「 というかJujuをマトモに使おうとすると1.3が必要」といった厳しい状態に陥っています。
Azure Stack+Ubuntu環境のテクニカルプレビューが提供されるようになった という話題。Azure Stackはかなり強烈なハードウェアを要求しますが(最低でもメモリ96GBのマシンが必要) 、「 どうしても自社内にプライベートクラウドを持つ必要がある」といった政治的な命題がある場合には役に立つでしょう。
Launchpadのgit integrationを使った、git版の作業レシピのベータ版 。
LaunchpadをSlackと連携させる 方法。
Ubuntuのコミュニティ面を象徴するオレンジ色がこっそり変更になっていた という話題。
今週のセキュリティアップデート
usn-2875-1 :libxml2のセキュリティアップデート
https://lists.ubuntu.com/archives/ubuntu-security-announce/2016-January/003272.html
Ubuntu 15.10・15.04・14.04 LTS・12.04 LTS用のアップデータがリリースされています。CVE-2015-7499 , CVE-2015-8710 を修正します。
悪意ある加工の施されたXMLを処理した場合、アプリケーションがクラッシュすることがありました。
対処方法:アップデータを適用の上、システムを再起動してください。
usn-2876-1 :eCryptfsのセキュリティアップデート
https://lists.ubuntu.com/archives/ubuntu-security-announce/2016-January/003273.html
Ubuntu 15.10・15.04・14.04 LTS・12.04 LTS用のアップデータがリリースされています。CVE-2016-1572 を修正します。
procファイルシステムを不正にマウントすることが可能でした。
対処方法:通常の場合、アップデータを適用することで問題を解決できます。
usn-2878-1 :Perlのセキュリティアップデート
https://lists.ubuntu.com/archives/ubuntu-security-announce/2016-January/003274.html
Ubuntu 15.10・15.04用のアップデータがリリースされています。CVE-2015-8607 を修正します。
PerlのFile:Specがtaint属性を適切に保持しないため、taintによる保護の迂回につながる問題がありました。
対処方法:通常の場合、アップデータを適用することで問題を解決できます。
usn-2879-1 :rsyncのセキュリティアップデート
https://lists.ubuntu.com/archives/ubuntu-security-announce/2016-January/003275.html
Ubuntu 15.10・15.04・14.04 LTS・12.04 LTS用のアップデータがリリースされています。CVE-2014-9512 を修正します。
rsyncのファイル名の処理方法に問題があり、特殊なエスケープを施したファイル名を配置している場合、本来意図しない場所にアクセスしてしまうことがありました。
対処方法:通常の場合、アップデータを適用することで問題を解決できます。
usn-2881-1 :MySQLのセキュリティアップデート
https://lists.ubuntu.com/archives/ubuntu-security-announce/2016-January/003276.html
Ubuntu 15.10・15.04・14.04 LTS・12.04 LTS用のアップデータがリリースされています。CVE-2016-0503 , CVE-2016-0504 , CVE-2016-0505 , CVE-2016-0546 , CVE-2016-0595 , CVE-2016-0596 , CVE-2016-0597 , CVE-2016-0598 , CVE-2016-0600 , CVE-2016-0606 , CVE-2016-0607 , CVE-2016-0608 , CVE-2016-0609 , CVE-2016-0610 , CVE-2016-0611 , CVE-2016-0616 を修正します。
CPUJan2016 に対応する、MySQL 5.5.47 ・5.6.28 のUbuntuパッケージ版です。
対処方法:通常の場合、アップデータを適用することで問題を解決できます。
備考:アップデータ適用時にmysqldが暗黙で再起動されます。