RULES ディストロ図鑑の判定の基準
図鑑の値は、
こうやって決めています。
図鑑に出る値は、公式資料で確かめた事実と、事実から決まった規則で計算した値だけです。感想やおすすめは、記名と日付をつけて事実とは別の枠に出します。このページは、その規則をそのまま公開するものです。
- 規則r1
- 方針p1
- 登録簿v3
- 計測の手順m1
規則を直したら版を上げ、すべてのディストロを計算し直します。
4つの層
値の出どころを4つに分けて、混ぜません。上の層は下の層を上書きしません。
1
事実
公式資料、または編集部が実機・仮想マシンで確かめた値。出典と確認日を必ず持ちます。
2
導出
事実から規則で計算した値(推奨版・サポートの残り・始めやすさ・入口)。「なぜそうなったか」を理由として並べます。
3
計測
決めた手順(m1)で編集部が測った値。どの状態を・どの環境で測ったかを検証記録に残します。「軽い」「起動が速い」は、これがそろってから出します。
4
評価準備中
編集部の評価と、使っている人の感想。記名・日付・版つきで、事実とは別の枠に出します。
「無い」と「調べていない」を分ける
空欄を推測で埋めません。値が無い理由を、5つの状態で言い分けます。
未確認
まだ調べていない
または出典を確かめている途中。公開ページでは「未確認」と出します。
(出さない)
確認待ち
取り込み・入力したが、出典の公式資料をまだ確かめていない値。公開ページには出しません。
公式資料では確認できず
判断できない
調べたが、公式資料からも検証からも決められなかった。理由を短く添えます。
該当なし
その概念が無い
例: 非自由なパッケージを別のリポジトリに分けない仕組みのディストロの「非自由なリポジトリ」。
なし
調べた結果、無い
例: 最初から使えるアプリの形式が1つも無い。「未確認」とは別のものです。
Goodly 推奨版(方針 p1)
推奨版は事実ではなく、このサイトの方針です。次の順に選びます。
- サポート中の系列だけを候補にする(まだ出ていない版・通常サポートが終わった版は外す)
- 最低メモリと最低ストレージが確認ずみの版だけを残す
- LTS があれば LTS を優先し、無ければいちばん新しい版
- 値は、その系列のいちばん新しい点リリース(先端の状態)で確かめる
ローリングのディストロは「確認した状態」(最後に確かめたスナップショット・ビルド)を基準にします。新しい版が出ても、値を確かめ終えるまでは「最新は ○○(確認中)」と並べて出します。条件を満たす版が無いときは「基準にしている版」と書き、推奨とは呼びません。
始めやすさの観点(規則 r1)
点数にはしません。事実から理由を ✓(良い点)・△(注意点)・✕(手間がかかる点)・・(良し悪しを決めない事実)で並べ、ラベルを1つ付けます。
上から順に見て、最初に当てはまった行のラベルになります。
- 未確認の項目が1つでもあるラベルを付けない
- 手間がかかる点が1つでもある手間がかかる
- 注意点が2つ以上あるふつう
- それ以外かんたん
ラベルの付け方を試す
インストールの手軽さ
- インストーラーの画面
- ✓GUI△文字の画面(TUI)✕コマンドだけ
- インストーラーの日本語
- ✓日本語で表示される△一部が日本語✕日本語が無い
- Windowsとデュアルブート
- ✓インストーラーが自動で入れられる△手作業でパーティションを分ける必要がある
- Secure Boot
- ✓有効のまま起動できる△起動はできるが、追加ドライバーには署名の登録が必要✕無効にする必要がある
日本語の始めやすさ
- デスクトップの日本語
- ✓日本語で表示される△一部が日本語✕日本語が無い
- 日本語入力
- ✓日本語を選べば最初から使える△インストーラーで選べば使える✕自分で入れて設定する必要がある
- 日本語フォント
- ✓最初から入っている△自分で入れる必要がある
初期設定の少なさ
- 動画・音声のコーデック
- ✓最初から入っている✓インストーラーで選べる△公式のリポジトリから入れられる✕外部のリポジトリから入れる必要がある
- NVIDIA のドライバー
- ✓最初から入っている(専用のイメージを含む)✓インストーラーで選べる△公式のリポジトリから入れられる△外部のリポジトリから入れる必要がある✕公式には案内されていない
- Wi-Fi・Bluetooth のファームウェア
- ✓標準のイメージに入っている△インストール後に入れる必要がある✕別のイメージを使う必要がある
- 最初から使えるアプリの形式
- ✓Flatpak を含む ・それ以外
維持管理の手軽さ
情報の見つけやすさ
「トラブルのときに日本語の情報がどれだけ見つかるか」を再現できる形で測る方法が決まるまで、表示しません。
スペック
最低メモリ2GB以下かつ最低ストレージ20GB以下
のとき「公式の最低要件が低い」と付けます。これは要件の数字の話で、軽いという意味ではありません。「軽量」は、編集部の計測がそろってから計測で決めます。
「あなたのPC」の判定は、アーキテクチャ → そのアーキテクチャのイメージがあるか → 要件の順に見ます。PC の年式から推した判定(CPU の世代・UEFI・TPM)は、確実ではないので △ と理由をつけます。
計測の手順(m1)
計測は、いつも同じ仮想マシンで、同じ手順で行います。手順を1つでも変えたら(回数・測る時点・測り方・固定ページ・ハイパーバイザー)版を上げ、違う版の値どうしは比べません。
Oracle VM VirtualBox
- vCPU
- 4
- メモリ
- 8GB(8192MB)
- ディスク
- 64GB(VDI・可変サイズ)
- ファームウェア
- UEFI(Secure Boot は無効。Secure Boot は事実として別に確かめる)
- ネットワーク
- NAT
- 画面
- 1440×900(16:10。スクリーンショットと共通)・グラフィック VMSVGA・ビデオメモリ 128MB・3D アクセラレーションは無効
- Guest Additions
- 入れない(ディストロが最初から入れているものはそのまま)
計測は VirtualBox の1つに固定する。VirtualBox の版・実行モード(VT-x を直接使うか、Windows のハイパーバイザー経由か)は環境の記録に残し、変えたら新しい環境にする。
1回の検証の流れ
- インストール直後イメージから入れ、スクリーンショットの基本の組を撮り、収集スクリプトの fresh を動かす(パッケージ数・使用量)。
- 更新の間収集スクリプトの update で OS の更新だけを流す(受信量・件数)。
- 更新後収集スクリプトの arm のあと3回再起動する(起動時間・メモリは自動起動で測る)。最後に updated を動かす。変わった画面だけを撮る。
- インストール時の選択肢はすべて既定のまま(言語は日本語)。
- ユーザー名は goodly、ホスト名は goodly-vm に固定する(画面に個人の情報を写さない)。
- ホストでは、計測のあいだほかの VM を動かさない。
- 起動時間とメモリは、固定の版とローリングを同じ日の最新の状態で比べるため、更新後に測ります。
指標
| 指標 | 測る時点 | 回数 | 比べ方 | 測り方 |
|---|---|---|---|---|
| 起動時間秒 | 更新後 | 3回(中央値) | ほかのディストロと並べる | systemd が記録する起動完了の時刻(カーネルの起動から起動完了まで。initrd を含み、ファームウェアとブートローダーは含めない)。各回を再起動から始める。 |
| アイドル時のメモリMB | 更新後 | 3回(中央値) | ほかのディストロと並べる | ログインして何も開かず180秒待ち、/proc/meminfo の MemTotal − MemAvailable(端末も開かないよう、自動起動で測る)。 |
| ブラウザを開いたときのメモリMB | 更新後 | 3回(中央値) | ほかのディストロと並べる | 既定のブラウザで計測用の固定ページを1タブ開き、60秒後に同じ方法で測る。 既定のブラウザの違いも含めた値です。 |
| インストール直後の使用量GB | インストール直後 | 1回 | ほかのディストロと並べる | OS が使うパーティションの使用量の合計(Btrfs は btrfs filesystem usage の Used)。1GB = 10億バイト。 空き容量が実際にどれだけ減ったか、として比べます。 |
| 更新後の使用量GB | 更新後 | 1回 | ほかのディストロと並べる | インストール直後と同じ方法。 |
| 更新の受信量MB | 更新の間 | 1回 | ほかのディストロと並べる | OS の更新だけを流す間の、ネットワークの受信量の差(/proc/net/dev)。パッケージ管理の表示には頼らない。1MB = 100万バイト。 |
| 更新の件数件 | 更新の間 | 1回 | 同じディストロの版どうし | パッケージ管理が示す更新の件数。 パッケージの粒度がディストロごとに違うので、同じディストロの版どうしでだけ比べます。 |
| パッケージ数件 | インストール直後 | 1回 | 同じディストロの版どうし | 入っているパッケージ数(dpkg / rpm / pacman。NixOS はシステムのストアパス数)。Flatpak・Snap は別に数える。 数え方がディストロごとに違うので、同じディストロの版どうしでだけ比べます。 |
| インストールにかかった時間分 | インストール中 | 1回 | 同じディストロの版どうし | インストーラーの「インストール」を押してから完了まで(任意・手で入れる)。 ネットワークからの取得量と回線に左右されます。 |
横並びで比べるのは、同じ環境・同じ手順の版で測った値だけです。測れる条件を満たさないとき(systemd でない起動時間など)は値を作らず「測れません」と出します。
手順のファイル(凍結)
-
計測用の固定ページ
/benchmark/m1.htmlsha256c9c47575df67bbeaebf502147686be50da913bd654721479150d9fb55b054db0 -
収集スクリプト(VM の中)
/benchmark/collect-m1.shsha256e195fa6aceb456f05c138aae8ea58b1c2322e6984d955d261589ed3116a84c21 -
環境の記録とスクリーンショット(ホスト)
/benchmark/env-m1.ps1
収集スクリプトは、動かす前に計測用の固定ページの sha256 を照合します。スクリプトの中身が手順の版と違う出力は受け付けません(手で写した値も入れません)。
探し方の入口
入口に入っている理由は3種類だけです。公式 公式が明記している用途・事実から 下の規則・編集部 記名・日付つきのおすすめ。
利用用途
-
ゲーム
- 公式公式が「ゲーム」向けと明記
- 編集部記名・日付つきのおすすめ
-
開発
- 公式公式が「開発」向けと明記
- 編集部記名・日付つきのおすすめ
-
サーバー
- 公式公式が「サーバー」向けと明記
- 事実からServer エディションがある
- 編集部記名・日付つきのおすすめ
-
クリエイティブ
- 公式公式が「クリエイティブ」向けと明記
- 編集部記名・日付つきのおすすめ
-
普段使い
- 公式公式が「普段使いのデスクトップ」向けと明記
- 編集部記名・日付つきのおすすめ
選択理由
-
古いPCを活かす
- 事実から公式の最低要件が低い/CPU が x86-64(v1)以下で BIOS でも入る/計測で軽い(しきい値は最初の9件を測ってから決める)。計測がそろうまで入れない
- 編集部記名・日付つきのおすすめ
-
プライバシーを守る
- 公式公式が「プライバシー」向けと明記
- 編集部記名・日付つきのおすすめ
-
Linux を学ぶ
- 編集部主観が避けられないので、編集部のおすすめだけで入れる
-
長く安定して使う
- 事実からLTS の系列で、サポートが残り3年以上の版がある
- 編集部記名・日付つきのおすすめ
-
最新のソフトを使う
- 事実からローリング、または系列の間隔が6か月以下
- 編集部記名・日付つきのおすすめ
-
自由なソフトウェアで使う
- 事実から非自由なリポジトリが公式に無いか、有効にしないと入らない。かつ非自由なファームウェアが標準で同梱されていない
- 編集部記名・日付つきのおすすめ
項目ごとの判定の問い
同じ項目に人によって違う答えを入れないよう、項目ごとに「何を見て決めるか」を決めています。50 項目。
基本
最初のリリース日
first_release
#
このディストリビューションの最初の版が公開された日はいつか。
公式サイト
url_official
#
公式サイトのトップページの URL は何か。
公式ドキュメント
url_docs
#
公式のドキュメント(マニュアル・Wiki)の入口の URL は何か。
公式ドキュメント(日本語)
url_docs_ja
#
公式が提供する日本語のドキュメントの URL は何か。コミュニティ運営のものは docs_ja と community_ja_url で扱う。
ダウンロード
url_download
#
公式のダウンロードページの URL は何か。
ソースコード
url_source
#
公式のソースコード・パッケージの公開先の URL は何か。
開発体制
organization
#
開発を主導している組織はどこか。組織の種類(企業・財団・コミュニティ)は組織の側に持つ。
公式の位置づけ
positioning
#
公式サイトや公式文書が、どの用途向けだと明記しているか。明記されていない用途は入れない。
境界の例「誰でも使える」のような一般的な宣伝文句は位置づけに数えない。
- 普段使いのデスクトップ
- ゲーム
- 開発
- サーバー
- クリエイティブ
- プライバシー
- 教育
- セキュリティ検査
ブランドカラー
brand_color
#
公式のブランドガイドラインで定められた主な色は何か(#rrggbb)。
リリースと更新
リリース方式
release_model
#
配布元は版を区切って出すか。fixed は版番号の付いた版を出し、版ごとにサポート期間がある。rolling は版の区切りが無く、更新が絶えず届く。semi_rolling は版の区切りは無いが、更新をまとめて間隔をおいて出す。
- 固定リリース
- セミローリング
- ローリング
次の版への移り方
release_upgrade
#
次の版へ移るとき、公式が案内する方法は何か。ローリングは not_applicable にする。
- その場で次の版へ上げる
- 入れ直しが必要
このエディションの通常サポートの終わり
edition_support_until
#
同じ系列の中で、このエディションだけ通常サポートの終わる日が違うとき、その日はいつか。系列の終わりと同じなら入れない(系列の値を使う)。
境界の例Ubuntu 6.06・8.04・10.04 LTS はデスクトップが3年・サーバーが5年だった(系列にはサーバーの日、Ubuntu Desktop にこの項目でデスクトップの日)。
戻す仕組み
rollback_mechanism
#
更新の後で前の状態に戻すとき、何を単位に戻すか。
境界の例Bazzite は deployment。openSUSE Tumbleweed(Btrfs と Snapper の既定の構成)は snapshot。NixOS の世代は deployment。
- システムの世代ごとに入れ替える(起動メニューで前の世代を選べる)
- ファイルシステムのスナップショットから戻す
- 仕組みは無い
戻す仕組みの準備
rollback_availability
#
その仕組みは、初期状態で使えるか。
- 初期状態で使える
- 入っている、または入れられるが、設定が要る
- 使えない
システムの形
更新の届き方
delivery_model
#
OS の更新は、手元でパッケージを入れ替えて行うか(package_based)。それとも、配布元が組み立てたシステムのイメージを丸ごと受け取るか(image_based)。
境界の例openSUSE Aeon はパッケージを新しいスナップショットに入れる方式なので package_based(ただしシステム領域は書き込み禁止)。
- パッケージ型
- イメージ型
構成の組み立て方
configuration_model
#
標準の使い方で、システムの構成(入れるもの・サービス・設定)を1つの宣言から組み立てるか。初回のインストールを自動化するだけの仕組みは含めない。
- 命令型
- 宣言型
システム領域
root_mutability
#
初期状態で、OS のプログラムが置かれる領域(/usr など)が書き込み禁止か。
- 書き込みできる
- 初期状態で書き込み禁止
要件
最低メモリ
ram_min_mb
#
公式資料が示す最低限のメモリ量はいくつか(MB)。
推奨メモリ
ram_rec_mb
#
公式資料が示す推奨のメモリ量はいくつか(MB)。
最低ストレージ
storage_min_gb
#
公式資料が示す最低限のストレージ容量はいくつか(GB)。
推奨ストレージ
storage_rec_gb
#
公式資料が示す推奨のストレージ容量はいくつか(GB)。
CPU の最低要件
cpu_level
#
公式資料が示す、そのアーキテクチャでの CPU の最低要件は何か。原則としてアーキテクチャごとに登録する。
- i686(32bit)
- x86-64(v1)
- x86-64-v2
- x86-64-v3
- x86-64-v4
- AArch64(ARMv8-A)
- RV64GC
アーキテクチャ
arch
#
公式のインストールイメージがあるアーキテクチャはどれか。パッケージだけが残っているものは含めない。
境界の例「32bit の終わり」は、デスクトップの ISO・インストーラー・パッケージで終わった版が違う。この項目はインストールイメージだけを見る。
- x86_64
- AArch64
- i686(32bit)
- RISC-V 64
- POWER(ppc64le)
- IBM Z(s390x)
- ARM 32bit(armhf)
- PowerPC(32bit)
- SPARC
- IA-64(Itanium)
- PA-RISC(hppa)
起動方式
firmware
#
公式のインストールイメージは、BIOS(レガシー)と UEFI のどちらで起動できるか。
- BIOS と UEFI の両方
- UEFI のみ
TPM
tpm
#
インストールや起動に TPM が必要か。
- 必要
- 不要
インストール
インストーラー
installer
#
公式のインストールイメージで、既定で使うインストーラーは何か。
- Ubuntu のインストーラー(ubuntu-desktop-provision)
- Ubiquity
- Subiquity
- Calamares
- Anaconda
- Debian Installer
- YaST
- Agama
- Pop!_OS のインストーラー
- live-installer
- archinstall
- 手作業(公式手順に沿ってコマンドで入れる)
インストーラーの画面
installer_ui
#
既定のインストーラーは、どの種類の画面で操作するか。
- GUI
- 文字の画面(TUI)
- コマンドだけ
インストーラーの日本語
installer_ja
#
既定のインストーラーで日本語を選んだとき、画面が日本語で表示されるか。
- 日本語で表示される
- 一部が日本語
- 日本語が無い
Windowsとデュアルブート
dual_boot
#
Windows が入っている PC で、インストーラーが自動でWindowsとデュアルブートにできるか。
- インストーラーが自動で入れられる
- 手作業でパーティションを分ける必要がある
ディスクの暗号化
disk_encryption
#
ディスク全体の暗号化を、インストーラーの画面で選べるか。
- インストーラーで全体の暗号化を選べる
- 手作業で設定する必要がある
- 用意されていない
インストール時のネットワーク
network_required
#
公式のインストールイメージで入れるとき、ネットワーク接続が必要か。
- 必要
- 推奨
- 不要
Secure Boot
secure_boot
#
Secure Boot を有効にした PC で、公式のイメージから起動・インストールできるか。
- 有効のまま起動できる
- 起動はできるが、追加ドライバーには署名の登録が必要
- 無効にする必要がある
日本語
デスクトップの日本語
ui_ja
#
インストール時に日本語を選んだとき、インストール後のデスクトップが日本語で表示されるか。
- 日本語で表示される
- 一部が日本語
- 日本語が無い
日本語入力
ime_default
#
インストール時に日本語を選んだとき、インストール直後から日本語入力が使えるか。
- 日本語を選べば最初から使える
- インストーラーで選べば使える
- 自分で入れて設定する必要がある
入力の仕組み
ime_framework
#
日本語入力に既定で使う仕組み(入力メソッドのフレームワーク)は何か。
- Fcitx 5
- IBus
- uim
日本語フォント
cjk_fonts
#
インストール直後から、日本語の表示に使えるフォントが入っているか。
- 最初から入っている
- 自分で入れる必要がある
ハードウェア
NVIDIA のドライバー
nvidia
#
NVIDIA の公式ドライバー(プロプライエタリ)は、どこから入れるか。
- 最初から入っている(専用のイメージを含む)
- インストーラーで選べる
- 公式のリポジトリから入れられる
- 外部のリポジトリから入れる必要がある
- 公式には案内されていない
Wi-Fi・Bluetooth のファームウェア
wifi_bt_firmware
#
一般的な Wi-Fi・Bluetooth に必要なファームウェアは、標準のイメージに入っているか。
- 標準のイメージに入っている
- インストール後に入れる必要がある
- 別のイメージを使う必要がある
非自由なソフトウェアの扱い
非自由なファームウェア
nonfree_firmware
#
非自由なファームウェアは、公式のイメージにどう含まれるか。
- 標準で同梱
- インストーラーで選べる
- 別のイメージで提供
- 提供されない
動画・音声のコーデック
codecs
#
特許の制約がある主なコーデック(H.264 など)は、どこから入れるか。
- 最初から入っている
- インストーラーで選べる
- 公式のリポジトリから入れられる
- 外部のリポジトリから入れる必要がある
非自由なソフトのリポジトリ
nonfree_repo
#
非自由なソフトウェアを配る公式のリポジトリがあるか。あれば初期状態で有効か。
境界の例NixOS は非自由なパッケージも同じ nixpkgs にあり設定で許可する仕組みなので、別のリポジトリという概念が無い(not_applicable)。
- 初期状態で有効
- 有効にできる
- 公式には無い
ストアの非自由なアプリ
store_proprietary
#
既定のソフトウェアストアに、非自由なアプリが初期状態で表示されるか。
- 初期状態で表示される
- 初期状態では表示されない
- ストアが無い
システム
init システム
init_system
#
既定の init システムは何か。
- systemd
- Upstart
- OpenRC
- runit
- SysVinit
- s6
- dinit
パッケージ管理
package_manager
#
OS のパッケージを入れ替えるのに、公式に案内されている道具はどれか。アプリの配布形式(Flatpak など)は app_formats_default で扱う。
- APT
- DNF
- zypper
- pacman
- Nix
- rpm-ostree
- bootc
- apk
- XBPS
- Portage(emerge)
- eopkg
最初から使えるアプリの形式
app_formats_default
#
インストール直後に、追加の設定なしで使えるアプリの配布形式はどれか。1つも無いと確かめたときは none を入れる。
- Flatpak
- Snap
- AppImage
既定のファイルシステム
filesystem_default
#
インストーラーが既定で選ぶルートのファイルシステムは何か。
- ext4
- ext3
- Btrfs
- XFS
- ZFS
- F2FS
既定のデスクトップ環境
desktop_default
#
既定のイメージで入るデスクトップ環境は何か。デスクトップが無いもの(サーバー向け)は not_applicable にする。
- GNOME
- Unity
- KDE Plasma
- Cinnamon
- Xfce
- MATE
- COSMIC
- Budgie
- LXQt
- LXDE
- Pantheon
- DDE(Deepin)
- Enlightenment
選べるデスクトップ環境
desktop_available
#
公式のイメージや公式の手順で選べるデスクトップ環境はどれか。
- GNOME
- Unity
- KDE Plasma
- Cinnamon
- Xfce
- MATE
- COSMIC
- Budgie
- LXQt
- LXDE
- Pantheon
- DDE(Deepin)
- Enlightenment
情報
日本語の文書
docs_ja
#
日本語で読める文書は、公式とコミュニティのどちらにあるか。
- 公式の日本語文書がある
- コミュニティの日本語文書がある
- 日本語の文書は無い
日本語のコミュニティ
community_ja_url
#
日本語のコミュニティ(フォーラム・Wiki)の URL は何か。
当てはまる項目がありません。