Ubuntu Weekly Topics

2017年10月6日号 ArtfulのFinal Beta,Samsung ARTIKへのUbuntu採用,とあるDockerエラーとの戦い,UWN#520

この記事を読むのに必要な時間:およそ 2 分

ArtfulのFinal Beta

Artful(17.10)Final Betaがリリースされています。10月5日のkernel freezeを目前にした駆け込みカーネルパッチも見られましたが,比較的おだやかな流れが続いています。

Samsung ARTIK Gateway moduleへのUbuntu採用

Ubuntuの活躍の場がまた広がりました。Ubuntu 16.04 LTSが,SamsungのARTIKエコシステムのうち,ARTIK 5/ARTIK 7における「プライマリ」Linuxディストリビューションとなったことが発表されています。

ARTIKはIoT環境を構成するためのSoCチップセットと各種バリエーションボードで構成されるエコシステムで,⁠IoTで使われそうなもの」を一通りカバーする製品展開を行っているシリーズです。

ARTIK 5ARTIK 7はその中でも比較的高性能なデバイスグループで,おおむね「廉価なARMボード」と同じ程度の性能を持ちます(つまり,Ubuntuが得意とするカテゴリです)⁠ARTIKをベースにしたIoTデバイスが出てくると,⁠知らないあいだに家電としてUbuntuデバイスが増えている」といったことになるかもしれません。

UWN#520

ubuntu weekly newsletter #520がリリースされています。

その他のニュース

  • 新しいUbuntu Community Hub(コミュニティ向けのポータル)リリースされています。
  • /bootの容量を確保するテクニックについて
  • linux-azureでDockerを利用しているときに発生するランダムなクラッシュへの対策パッチ。パッチそのものよりも対策までの流れに非常に多くの学ぶべき点が含まれています注1)⁠原因不明のエラーのデバッグを試みるケースにおけるgit bisect注2が活躍する素晴らしい教材のため,Linux系エンジニアの方はここで行われた調査を実際にトレースしてみることをお勧めします。
注1
簡単に追い掛けると,⁠linux-azureカーネルで動いている環境でだけ,Dockerが⁠fatal error: workbuf is empty⁠などといったメッセージとともにクラッシュする症状が発見される」⁠⁠本当にworkbufが空になっていてfalse errorではないことがわかる」⁠⁠原因を絞り込むためにgo testsするとよく分からない形でsegvすることが発覚,ただしうまく通ることもあったりなかったり」⁠⁠golangバイナリをリビルドしてみると再現しなくなったり,golang-1.6でだけ起きて1.4や1.9ならセーフであることが判明」⁠このあたりでだいぶ混迷)⁠⁠しかしやっぱりlinux-azureだけで起きるのでカーネルが悪いことはほぼ間違いない」⁠⁠ならAzureのインスタンス依存でもあるのかと思いきや各種インスタンスで再現する,ただし非常に再現しやすいものとそうでないものがある。全般的に再現はしやすい」⁠⁠linux-azure独自パッチが怪しい上,再現性が確保されているのでbisect(注2)したところトリガになるパッチが発見される」⁠⁠念のためmainline kernelで試してみるとやっぱり再現しない」⁠⁠犯人はこのパッチだ!」⁠というような,全関係者が泣いた的な感動巨編です。
注2
git bisect。⁠ここからここまでのパッチのどれかに問題があることが分かっていて,しかも再現できるコードがある」という条件において,パッチを二分探索する機能。要するに「パッチセットを半分ずつに分けて適用し,その上でテストコードを走らせてみれば片方はGood,もう片方はNGだと分かる形でどちらに問題があるか明らかになるので,それを繰り替えせば問題を引き起こしたパッチが特定できる」という原始的アプローチをある程度自動的に処理してくれるgitの機能です。今回のケースの場合,原因が分かった上で考えればTLBが外部トリガで変更されていればそれはダメだろう,という気分になりますが,これを理詰めで追い詰めるのは厳しいものがあります。一週間ぐらい考え続けると分かりそうな気はしますが,そもそもこのようなカーネルの気持ちになって考えてみるのが厳しく,しかしパッチのどれかに問題がある可能性が高い場合,git bisectによる力業アプローチは非常に有効に機能します。

今週のセキュリティアップデート

usn-3430-1:Dnsmasqのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2017-October/004066.html
  • Ubuntu 17.04・16.04 LTS・14.04 LTS用のアップデータがリリースされています。CVE-2017-14491, CVE-2017-14492, CVE-2017-14493, CVE-2017-14494, CVE-2017-14495, CVE-2017-14496を修正します。
  • 特定のリクエストによりメモリ破壊を伴うクラッシュが生じる場合がありました。任意のコードの実行に繋がると考えられます。
  • 対処方法:アップデータを適用の上,システムを再起動してください。
usn-3433-1:popplerのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2017-October/004067.html
  • Ubuntu 17.04・16.04 LTS・14.04 LTS用のアップデータがリリースされています。CVE-2017-14517, CVE-2017-14519を修正します。
  • 悪意ある加工の施されたファイルを処理することでクラッシュが誘発される問題がありました。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-3434-1:Libidnのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2017-October/004068.html
  • Ubuntu 17.04・16.04 LTS・14.04 LTS用のアップデータがリリースされています。CVE-2017-14062を修正します。
  • 特定の入力によりメモリ破壊を伴うクラッシュが生じる場合がありました。任意のコードの実行に繋がると考えられます。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-3435-1:Firefoxのセキュリティアップデート

著者プロフィール

吉田史(よしだふみひと)

システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。

コメント

コメントの記入