sumikko.tokyo

2019年後半における Debian stable への考察

Debian は新たな stable の buster をリリースし、 更に 10.1 へとアップグレードもありました。

Debian stable 関連の現状

そういうわけで 2019年秋の Debian リリース状況はこんな具合に。

Code name Release Version
buster stable 9.11
stretch oldstable 10.1

buster では stretch から Linux kernel はじめ大幅に変わってます。 色々あるのですがリリースノートの中で気になったのは、次の感じでした。

変更点 注目・注意点
Linux kernel 4.15 で ALPM サポート (buster のは 4.19)
LSM AppArmor 標準でON (一部のプロフィールのみ利用可)
Boot sequence Secure Boot サポート
LUKS2 アップグレードではヘッダー関連で全機能は使えない
glibc 一部アプリでロケール周りの要注意(PostgreSQL など)
merged /usr /lib/usr/lib は何か起こしそう。
nftables iptables よりいいとは書いてあるものの。
GNOME/Wayland いろいろ不安定。

stretch か buster か

sumikko.tokyo では buster が testing のときから試用・検証しているのですが、 大雑把にいうと 2019年秋の Debian buster 10.1 はあまりオススメできないです。

いろいろなパッケージのアップデート頻度も多く、 あまり「Debian らしい安定感」をまだ感じない印象です。

Attention!

そんなわけでこの記事は次の経緯からの 感想 です。

検証環境概要

  • amd64 PC (自作 Skylake)
  • SATA SSD
  • Intel iGPU

buster の検証例

まず buster 自体の検証は主に 3 段階でした。

  • testing 時代の buster の試用。
  • 試験マシンでの stretch (oldstable) から buster (stable) へのアップグレード。
  • 試験マシンでの buster クリーンインストール。

buster 環境について

  • AppArmor は stretch メイン環境のプロフィールの微調整。
    • ブラウザ、IME、一部サーバープロセスなど enforce で運用。
  • ファイルシステムは LVM over LUKS な ext4 のみ。
    • 標準的なプレーンなパーティションへの ext4 なら大して問題ないのかもしれません。
  • ファイアウォールは iptables を stretch からほぼそのまま流用。

Debian buster の感想

アップグレードにしてもクリーンインストールにしても、 buster を Intel Core (iGPU) で運用してみた感じではあまり魅力がないです。

Note

試験環境マシンは機材としては同一で、SSD の交換で比較しています。

  • Kernel 4.19 だけでよかった感。
    • ALPM の利用( 4.15 以降)と AMD Ryzen APU サポート ( 4.19 以降 ) など。
  • Secure Boot
    • ハードウェア構成によるものの概ね好感、ただし若干体感低速化。
    • 起動は遅めながら、その後に明らかなパフォーマンス低下は体感できない。
  • LUKS
    • 最大の難点。LUKS2 への移行は buster クリーンインストールのみ。
  • LVM
    • あまり目立たないが stretch からのアップグレードでは warning 多め。
  • AppArmor
    • 有効化されているとはいえ、事実上提供されるプロフィールはあまりない。
    • 自作プロフィールへの修正点は /usr や ptrace や Python パスくらい。
  • nftables と iptables
    • Firewall は iptables のままで運用してます。
    • トラフィックの多いサーバーでもない限り nftables へ書き直す必要性は感じない。
    • ただいずれは移行しないといけないでしょう。
  • GNOME/Wayland
    • 色々不安定。nautilus はファイルマウス操作に失敗しがち、GIMP はよく落ちる。
    • 関与は不明ながら Firefox や Chromium で一部表示が黒く欠ける。
    • plymouth が勝手に入る。起動ログと LUKS パスフレーズ入力表示が変わる。
  • Python 3.5 が 3.7 に。
    • Python 自体の性能は向上、CPU インテンシブなスクリプトで 20 % くらい速い。
    • 一部 Python パッケージが Python2 から Python3 へ (Pelican とか)。

stretch から buster へのアップグレードについて

大雑把にオススメできません。

リリースノートの手順だけでも複雑かつ、その後の注意点の項目が多いです。

stretch からの buster アップグレード、buster クリーンインストールと、 残っているメイン機材の stretch (9.11) を比較した感想としては Debian buster を使うなら、新規インストールが前提 な感想です。

  1. 上述している LUKS2 と LVM というファイルデータリスクのある点。
    • しかも LUKS2 の全機能は利用できません。
  2. 長くていろいろあるリリースノートのアップグレード手順。
    • 特に glibc と merged /usr の潜在的リスク。
  3. GNOME/Wayland の不安定性。
    • X.org へ戻すくらいなら stretch のままでいい気がします。
    • 他のウィンドウマネージャは未検証です。

特に「このバージョンのパッケージが必要」というものが少ないため、 stretch (oldstable) のままでいいかというのが率直なところ。

Note

そもそも最新バージョンに近い環境がほしいなら、 他のディストリビューションを使うべきでしょう。

まとめ

  • Secure Boot や AppArmor 標準化に LUKS2 対応など、 セキュリティ周りでは buster はいい感じです。
  • GNOME デスクトップ環境として使うならあまり安定していないのに注意です。
  • なんにせよ merged /usr と glibc、そして Python 関連に要注意です。

sumikko.tokyo では Debian buster 10.2 以降まで、 本番機材は stretch (9.11) のまま運用予定です。

Debian stretch ISO の入手方法

インストール ISO のアーカイブ に oldstable など古いリリースの インストール用 ISO イメージは提供されています。

Published: (Modified: )