Fedora Silverblue とは
Fedora Silverblue はデスクトップ用途の immutable な OS で、以前は Fedora Atomic Workstation [1] と呼ばれていたのですが、Fedora 29 から Silverblue にブランド名が変更されました。OS は、rpm-ostree を活用して生成されたイメージを使用しています。一方、GUI を伴うデスクトップアプリケーションの管理には Flatpak が採用されています。将来、Silverblue が通常の Fedora Workstation に置き換わる可能性がありますが、そうなるのはまだまだ先とのことです [2] 。
immutable, rpm-ostree, flatpak については後述するとして、仮想環境にインストールしてみました。
仮想環境へのインストール
Silverblue のダウンロードサイト [3] から最新の iso イメージ (Fedora-Silverblue-ostree-x86_64-31-1.9.iso) をダウンロードして、仮想環境 (GNOME Boxes ) にインストールしました。
インストールの手順や見た目は、通常の Fedora Workstation と同じです。
インストール後、再起動してアカウントを作成します。
インストールプロセスは、通常の Fedora 31 Workstation とほとんど区別が付きませんでした。インストール後のアプリケーションの一覧を見ると、インターネットブラウザ (Firefox) や端末エミュレータなど最低限のものしかありません。
デフォルトでインストールされているアプリケーション一覧
rpm-ostree による OS 管理
OSTree
OSTree は、ファイルシステムツリー(= OS 環境)を管理するツールです。OS 環境をイメージで管理すると捉えることができます。このファイルシステムは起動可能で immutable(変更されない = read only)です。ファイルシステムツリーのイメージは Git のような使い方でバージョン管理をすることができます。そのため(再起動が必要になりますが)OSTree では、複数のファイルシステムツリーを切り替えて利用することができます。
OSTree で扱う OS 環境は書き換えることができませんが、/var 内のみ変更・保存ができます。そのため、例えば従来の /home ディレクトリは /var/home へのシンボリックリンクになっています。
Silverblue のルートディレクトリ
rpm-ostree
OSTree が管理するファイルシステムツリー(= OS 環境)は書き換えることができないため、セキュリティ的には非常に堅牢ですが、従来の rpm や deb によるパッケージ単位の管理に比べれば制約が大きく不便になります。そこで、OSTree の機能と、rpm によるパッケージ管理機能を組み合わせたシステムが rpm-ostree です。rpm-ostree で管理するシステムは OSTree による OS のイメージ管理と rpm によるパッケージ管理を併せ持つので、ハイブリッドシステムと呼ばれています。
コマンドラインのヘルプと参考資料 [4] を元にして、rpm-ostree コマンドの概略をまとめました。
rpm-ostree コマンド概略
rpm-ostree [OPTION…] COMMAND
ビルトインコマンド
説 明
compose
OS ツリーを構成するコマンドです。
cleanup
キャッシュされている、あるいは処理保留中のデータを消去します。
db
RPM のデータベースにクエリを発行するコマンドです。
【用法】
rpm-ostree db [OPTION…] COMMAND
diff
前後のコミットにおけるパッケージの差分(バージョンの違い、追加、削除)を表示します。
list
コミットされたパッケージの一覧を表示します。
version
コミットされたパッケージの rpmdb バージョンを表示します。
deploy
特定のコミットをデプロイします。
rebase
別の OS ツリーに切り替えます。
rollback
以前ブートした OS ツリーに戻します。
status
起動しているシステムのバージョンを取得します。
upgrade
システムのアップグレードを実行します。
reload
コンフィギュレーションを再ロードします。
usroverlay
一時的な上書き用ファイルシステム (overlayfs) を /usr に適用します。
cancel
アクティブなトランザクション(例えば upgrade)を中止します。
initramfs
ローカルでの initramfs 再生成を有効または無効にします。
initramfs は、メモリ上に展開可能な,小さなサイズのルートファイルシステムです。ここにルートファイルシステムをマウントするために必要なカーネルモジュールやスクリプトが保存されています。
install
追加のパッケージを書き込みます。
uninstall
追加して書き込んだパッケージを削除します。
override
ベースパッケージのオーバーライドを管理します。
【用法】
rpm-ostree override [OPTION…] COMMAND
replace
ベースレイヤーのパッケージを置き換えます。
remove
ベースレイヤーからパッケージを削除します。
reset
現在アクティブなパッケージのオーバーライドをリセットします。
reset
全ての変異 (muation) を削除します。
refresh-md
rpm リポジトリのメタデータを生成します。
kargs
カーネルに渡す引数のクエリまたは編集をします。
rpm-ostree の使用例
Silverblue のインストール後、端末エミュレータ上で rpm-ostree status とタイプして起動しているイメージの情報を表示しました。
rpm-ostree status の使用例
[bitwalk@localhost ~]$ rpm-ostree status
State: busy
AutomaticUpdates: disabled
Transaction: upgrade (download only)
Initiator: client(id:gnome-software dbus:1.278 unit:gnome-session-manager@gnome.service uid:1000)
Deployments:
● ostree://fedora:fedora/31/x86_64/silverblue
Version: 31.1.9 (2019-10-23T21:44:48Z)
Commit: c4bf7a6339e6be97d0ca48a117a1a35c9c5e3256ae2db9e706b0147c5845fac4
GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4
さらに rpm-ostree upgrade とタイプして OS 環境のアップグレードを実施しました。アップグレード後は systemctl reboot で再起動します。どちらも sudo を使わずに実行できました。
rpm-ostree upgrade の使用例
[bitwalk@localhost ~]$ rpm-ostree upgrade
1 metadata, 0 content objects fetched; 569 B transferred in 2 seconds
Staging deployment... done
Upgraded:
NetworkManager 1:1.20.4-1.fc31 -> 1:1.20.6-1.fc31
NetworkManager-adsl 1:1.20.4-1.fc31 -> 1:1.20.6-1.fc31
...
(途中省略)
...
perl-threads-shared 1.60-443.module_f31+5982+3dad29a3 -> 1.60-440.fc31
python3-setools 4.2.2-1.module_f31+4996+814a25d3 -> 4.2.2-1.fc31
Removed:
libdnet-1.12-31.fc31.x86_64
tpm2-abrmd-2.2.0-2.fc31.x86_64
tpm2-abrmd-selinux-2.1.0-3.fc31.noarch
tpm2-tools-3.2.0-3.fc31.x86_64
Added:
perl-Digest-1.17-439.fc31.noarch
perl-Digest-MD5-2.55-439.fc31.x86_64
...
(途中省略)
...
perl-URI-1.76-5.fc31.noarch
perl-libnet-3.11-440.fc31.noarch
Run "systemctl reboot" to start a reboot
[bitwalk@localhost ~]$ systemctl reboot
再起動後、再び rpm-ostree status とタイプして起動しているイメージの情報を確認すると二種類のイメージが存在していることがわかります。
rpm-ostree status の使用例 (2)
[bitwalk@localhost ~]$ rpm-ostree status
State: idle
AutomaticUpdates: disabled
Deployments:
● ostree://fedora:fedora/31/x86_64/silverblue
Version: 31.20191123.0 (2019-11-23T00:39:51Z)
Commit: 2c0cb651d74ad99eaaeff4929dbeb707bb8fc66d5f655e1bb777b9762037cdab
GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4
ostree://fedora:fedora/31/x86_64/silverblue
Version: 31.1.9 (2019-10-23T21:44:48Z)
Commit: c4bf7a6339e6be97d0ca48a117a1a35c9c5e3256ae2db9e706b0147c5845fac4
GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4
[bitwalk@localhost ~]$
OS イメージのロールバック
rpm-ostree rollback とタイプして、ロールバックしてみました。
rpm-ostree rollback の使用例
[bitwalk@localhost ~]$ rpm-ostree rollback
Moving 'c4bf7a6339e6be97d0ca48a117a1a35c9c5e3256ae2db9e706b0147c5845fac4.0' to be first deployment
Transaction complete; bootconfig swap: yes; deployment count change: 0
c-ares 1.15.0-4.fc31 -> 1.15.0-4.module_f31+5271+b9c46c4d
perl-Carp 1.50-439.fc31 -> 1.50-443.module_f31+5982+3dad29a3
...
(途中省略)
...
perl-threads-shared 1.60-440.fc31 -> 1.60-443.module_f31+5982+3dad29a3
python3-setools 4.2.2-1.fc31 -> 4.2.2-1.module_f31+4996+814a25d3
Downgraded:
NetworkManager 1:1.20.6-1.fc31 -> 1:1.20.4-1.fc31
NetworkManager-adsl 1:1.20.6-1.fc31 -> 1:1.20.4-1.fc31
...
(途中省略)
...
zlib 1.2.11-20.fc31 -> 1.2.11-19.fc31
zlib-devel 1.2.11-20.fc31 -> 1.2.11-19.fc31
Removed:
perl-Digest-1.17-439.fc31.noarch
perl-Digest-MD5-2.55-439.fc31.x86_64
...
(途中省略)
...
perl-URI-1.76-5.fc31.noarch
perl-libnet-3.11-440.fc31.noarch
Added:
libdnet-1.12-31.fc31.x86_64
tpm2-abrmd-2.2.0-2.fc31.x86_64
tpm2-abrmd-selinux-2.1.0-3.fc31.noarch
tpm2-tools-3.2.0-3.fc31.x86_64
Run "systemctl reboot" to start a reboot
[bitwalk@localhost ~]$ systemctl reboot
再起動後、再々度 rpm-ostree status とタイプして起動しているイメージの情報を確認すると最初のイメージが有効になっていることを確認できます。
rpm-ostree status の使用例 (3)
[bitwalk@localhost ~]$ rpm-ostree status
State: busy
AutomaticUpdates: disabled
Transaction: upgrade (check only)
Initiator: client(id:gnome-software dbus:1.232 unit:gnome-session-manager@gnome.service uid:1000)
Deployments:
● ostree://fedora:fedora/31/x86_64/silverblue
Version: 31.1.9 (2019-10-23T21:44:48Z)
Commit: c4bf7a6339e6be97d0ca48a117a1a35c9c5e3256ae2db9e706b0147c5845fac4
GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4
ostree://fedora:fedora/31/x86_64/silverblue
Version: 31.20191123.0 (2019-11-23T00:39:51Z)
Commit: 2c0cb651d74ad99eaaeff4929dbeb707bb8fc66d5f655e1bb777b9762037cdab
GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4
[bitwalk@localhost ~]$
再度 rpm-ostree upgrade とタイプしてアップグレード後、systemctl reboot で再起動しました。
dnf のインストール
rpm のクエリコマンドが使えるかどうか試したところ、ちゃんと使えました。なお、dnf はインストールされていませんでした。
rpm コマンドでパッケージ確認
[bitwalk@localhost ~]$ rpm -qa
NetworkManager-openconnect-1.2.6-2.fc31.x86_64
libglvnd-gles-1.1.1-5.fc31.x86_64
gnome-shell-extension-background-logo-3.34.0-1.fc31.noarch
...
(途中省略)
...
at-spi2-core-2.34.0-1.fc31.x86_64
mesa-libglapi-19.2.4-1.fc31.x86_64
[bitwalk@localhost ~]$
そこで、rpm-ostree install で dnf をインストールしてみました。dnf のインストールはできましたが、またまた systemctl reboot で再起動です。
rpm-ostree install の使用例
[bitwalk@localhost ~]$ rpm-ostree install dnf
Checking out tree 2c0cb65... done
Enabled rpm-md repositories: updates fedora
rpm-md repo 'updates' (cached); generated: 2019-11-23T00:45:22Z
rpm-md repo 'fedora' (cached); generated: 2019-10-23T22:52:47Z
Importing rpm-md... done
Resolving dependencies... done
Will download: 18 packages (4.4 MB)
Downloading from 'updates'... done
Downloading from 'fedora'... done
Importing packages... done
Checking out packages... done
Running pre scripts... done
Running post scripts... done
Running posttrans scripts... done
Writing rpmdb... done
Writing OSTree commit... done
Staging deployment... done
Added:
deltarpm-3.6.2-2.fc31.x86_64
dnf-4.2.15-2.fc31.noarch
dnf-data-4.2.15-2.fc31.noarch
...
(途中省略)
...
unbound-libs-1.9.4-1.fc31.x86_64
Run "systemctl reboot" to start a reboot
[bitwalk@localhost ~]$
再起動後、毎度になりますが rpm-ostree status とタイプして起動しているイメージの情報を確認すると、LayeredPackages: dnf と、追加したパッケージの情報が別に記載されています。
rpm-ostree status の使用例 (4)
[bitwalk@localhost ~]$ rpm-ostree status
State: busy
AutomaticUpdates: disabled
Transaction: upgrade (download only)
Initiator: client(id:gnome-software dbus:1.231 unit:gnome-session-manager@gnome.service uid:1000)
Deployments:
● ostree://fedora:fedora/31/x86_64/silverblue
Version: 31.20191123.0 (2019-11-23T00:39:51Z)
BaseCommit: 2c0cb651d74ad99eaaeff4929dbeb707bb8fc66d5f655e1bb777b9762037cdab
GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4
LayeredPackages: dnf
ostree://fedora:fedora/31/x86_64/silverblue
Version: 31.20191123.0 (2019-11-23T00:39:51Z)
Commit: 2c0cb651d74ad99eaaeff4929dbeb707bb8fc66d5f655e1bb777b9762037cdab
GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4
[bitwalk@localhost ~]$
dnf および rpm コマンドでインストールできない
rpm-ostree で dnf をインストールできましたので、R の開発環境 RStudio をインストールしようと、サイトから rpm パッケージをダウンロードして、まず dnf コマンドでインストールしてみましたが、/(ルート)の領域不足というエラーでインストールできませんでした。念の為、rpm でもインストールしましたが、今度はロックファイルが作成できないという理由でインストールできませんでした。
※ R の環境は、あらかじめ rpm-ostree install R-core-devel を実行してインストールしておきました。
dnf および rpm によるローカル rpm パッケージのインストール(失敗例)
[bitwalk@localhost ダウンロード]$ ls
rstudio-1.2.5019-x86_64.rpm
[bitwalk@localhost ダウンロード]$ sudo dnf install rstudio-1.2.5019-x86_64.rpm
[sudo] bitwalk のパスワード:
Fedora 31 - x86_64 - Updates 13 kB/s | 6.5 kB 00:00
メタデータの期限切れの最終確認: 0:00:01 時間前の 2019年11月24日 00時31分06秒 に実施しました。
依存関係が解決しました。
================================================================================
Package Architecture Version Repository Size
================================================================================
インストール:
rstudio x86_64 1.2.5019-1 @commandline 115 M
トランザクションの概要
================================================================================
インストール 1 パッケージ
合計サイズ: 115 M
インストール済みのサイズ: 583 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
エラー: Transaction test error:
パッケージ rstudio-1.2.5019-1.x86_64 のインストールには 618MB の領域が / ファイルシステム上に必要です。
[bitwalk@localhost ダウンロード]$ sudo rpm -ivh rstudio-1.2.5019-x86_64.rpm
警告: rstudio-1.2.5019-x86_64.rpm: ヘッダー V4 RSA/SHA256 Signature、鍵 ID e331692f: NOKEY
エラー: トランザクション ロックを(/var/lib/rpm/.rpm.lock 上に)作成できません。(Read-only file system)
[bitwalk@localhost ダウンロード]$
rpm-ostree install でローカルの rpm ファイルをインストール
結局、RStudio の rpm パッケージは rpm-ostree install コマンドでインストールしました。
rpm-ostree によるローカル rpm パッケージのインストール例
[bitwalk@localhost ダウンロード]$ rpm-ostree install rstudio-1.2.5019-x86_64.rpm
Checking out tree 2c0cb65... done
Enabled rpm-md repositories: updates fedora
Updating metadata for 'updates'... done
rpm-md repo 'updates'; generated: 2019-11-23T00:45:22Z
Updating metadata for 'fedora'... done
rpm-md repo 'fedora'; generated: 2019-10-23T22:52:47Z
Importing rpm-md... done
Resolving dependencies... done
Checking out packages... done
Running pre scripts... done
Running post scripts... done
Running posttrans scripts... done
Writing rpmdb... done
Writing OSTree commit... done
Staging deployment... done
Added:
rstudio-1.2.5019-1.x86_64
Run "systemctl reboot" to start a reboot
[bitwalk@localhost ダウンロード]$
再起動後、rpm-ostree status とタイプして起動しているイメージの情報を確認すると、LocalPackages: rstudio-1.2.5019-1.x86_64 と、ローカルで追加した rpm パッケージの情報が別に記載されています。
rpm-ostree status の使用例 (5)
[bitwalk@localhost ~]$ rpm-ostree status
State: idle
AutomaticUpdates: disabled
Deployments:
● ostree://fedora:fedora/31/x86_64/silverblue
Version: 31.20191123.0 (2019-11-23T00:39:51Z)
BaseCommit: 2c0cb651d74ad99eaaeff4929dbeb707bb8fc66d5f655e1bb777b9762037cdab
GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4
LayeredPackages: R-core-devel dnf
LocalPackages: rstudio-1.2.5019-1.x86_64
ostree://fedora:fedora/31/x86_64/silverblue
Version: 31.20191123.0 (2019-11-23T00:39:51Z)
BaseCommit: 2c0cb651d74ad99eaaeff4929dbeb707bb8fc66d5f655e1bb777b9762037cdab
GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4
LayeredPackages: R-core-devel dnf
[bitwalk@localhost ~]$
RStudio をインストールした後、アプリがアプリケーション・ビューに登録され、問題なく起動できることを確認しました。
RStudio のインストール後のアプリ登録と実行例
Flatpak によるデスクトップアプリケーション管理
Flatpak とは、Linux デスクトップ向けのソフトウェアデプロイメント・パッケージ管理・アプリケーション仮想化(アプリケーション・コンテナ)を行うユーティリティソフトウェアです。ユーザーがアプリケーションとシステムを分離して実行することができるサンドボックス を提供しています。
前述した通り rpm-ostree でも rpm のパッケージ管理はできますが、インストールなどで OS 環境に変更を加える度に再起動が必要となり、いささか不便です。Silverblue では、Flackpak のリポジトリからデスクトップアプリケーション(GUI アプリケーション)をインストールする仕組みが用意されています。
Silverblue をインストール後、デフォルトで利用可能な Flatpak リポジトリは Fedora のものだけですが、あまりアプリケーションが登録されていません。Flathub [5] のリポジトリを登録することで、主要なオープンソースのディスクトップアプリケーションを利用できるようになります。
※ さらにアプリケーション開発者は、 https://github.com/flathub/flathub/wiki/App-Submission にサブミットしてアプリを配布することができます。
コマンド例
説 明
$ flatpak remotes
現在、システムに登録されているリモートリポジトリ (remote) の一覧を表示します。
$ flatpak remotes
Name Options
fedora system,oci
flathub system
$ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
リモートリポジトリ (remote) flathub を追加します。 追加後、ソフトウェアリポジトリが追加されるので、「ソフトウェア」上にも反映されます。
$ flatpak remote-delete flathub
リモートリポジトリ (remote) flathub を削除します。
$ flatpak search gimp
リモートリポジトリ (remote) で、gimp にマッチするアプリケーションを検索します。
$ flatpak search gimp
Name Description Application ID Version Branch Remotes
GIMP (GNU Image Manipulation Program) 画像の作成と写真の編集を行います org.gimp.GIMP 2.10.14 stable fedora,flathub
Glimpse 画像の作成と写真の編集を行います org.glimpse_editor.Glimpse 0.1.0 stable flathub
Scans to PDF Create small, searchable PDFs from scanned documents com.github.unrud.djpdf 0.1.0 stable flathub
$ flatpak install flathub org.gimp.GIMP
$ flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref
$ flatpak install gimp
リモートリポジトリ (remote) flathub から、ID が org.gimp.GIMP のアプリケーションをインストールします。
$ flatpak install gimp
Looking for matches…
Remotes found with refs similar to ‘gimp’:
1) ‘fedora’ (system)
2) ‘flathub’ (system)
Which do you want to use (0 to abort)? [0-2]: 2
Found ref ‘app/org.gimp.GIMP/x86_64/stable’ in remote ‘flathub’ (system).
Use this ref? [Y/n]: y
Required runtime for org.gimp.GIMP/x86_64/stable (runtime/org.gnome.Platform/x86_64/3.32) found in remote flathub
Do you want to install it? [Y/n]: y
org.gimp.GIMP permissions:
ipc network x11 file access [1]
dbus access [2] tags [3]
[1] /tmp, host, xdg-config/GIMP, xdg-config/gtk-3.0
[2] org.freedesktop.FileManager1, org.gtk.vfs, org.gtk.vfs.*
[3] stable
ID Arch Branch Remote Download
1. [✓] org.gnome.Platform x86_64 3.32 flathub 360.0 MB / 374.0 MB
2. [✓] org.gnome.Platform.Locale x86_64 3.32 flathub 1.8 MB / 320.0 MB
3. [✓] org.freedesktop.Platform.html5-codecs x86_64 18.08 flathub 3.2 MB / 3.3 MB
4. [✓] org.gimp.GIMP x86_64 stable flathub 106.5 MB / 108.9 MB
Installation complete.
$ flatpak run org.gimp.GIMP
アプリケーション ID を run コマンドで実行します。
ただし 多くの場合はアイコンをクリックしてアプリケーションを起動できます。
$ flatpak update
インストールされているアプリケーションとランタイムを最新のものに更新します。
$ flatpak list
$ flatpak list --app
インストールされているアプリケーションとランタイムの一覧を表示します。 アプリケーションの一覧のみを表示したい場合は、--app を付加します。
$ flatpak list
Name Application ID Version Branch Installation
html5-codecs …ktop.Platform.html5-codecs 18.08 system
GIMP (GNU Image Manip… org.gimp.GIMP 2.10.14 stable system
GNOME Application Pla… org.gnome.Platform 3.32 system
$ flatpak list --app
Name Application ID Version Branch Installation
GIMP (GNU Image Manipulation Progr… org.gimp.GIMP 2.10.14 stable system
$ flatpak uninstall org.gimp.GIMP
$ flatpak uninstall --unused
インストールされている ID が org.gimp.GIMP (アプリケーション)をアンインストール(削除)します。 また、ID の代わりに --unused を付加すると、使用されていないランタイムを削除します。
$ flatpak repair
インストールされているパッケージの矛盾を解決します。
$ flatpak permission-reset org.gimp.GIMP
インストールされている ID が org.gimp.GIMP (アプリケーション)のパーミッションをリセットします。
$ flatpak history
Flatpak によるインストール履歴を表示します。
$ flatpak history
Time Change Application Branch Installation Remote
11月 24 09:52:42 add remote system flathub
11月 24 10:04:07 pull org.gnome.Platform 3.32 /var/tmp/flatpak-cache-G91WB0/org.gnome.Platform-E84WB0/repo-fm0dQv flathub
11月 24 10:04:41 pull local org.gnome.Platform 3.32 system /var/lib/flatpak/repo/tmp/flatpak-cache-JJ1TB0/repo-fm0dQv
...
(途中省略)
...
11月 24 10:06:06 deploy install org.gimp.GIMP stable system flathub
Fedora Toolbox
Fedora Toolbox は開発者のためにユーザーアカウント単位でコンテナ環境を提供するコマンドラインツールです。toolbox enter コマンドでコンテナ環境に入り、ユーザーアカウントのディレクトリにアクセスできます。また、dnf コマンドがここでは利用できます。
Silverblue ではデフォルトで Toolbox がインストールされていたので、Silverblue 固有なツールと思っていましたが、通常の Fedora 31 Workstation でも利用できます。
コマンド例
説 明
toolbox create [--container <name>]
toolbox 用のコンテナを作成します。デフォルトで Fedora のイメージが OCI 標準に準拠した形式でダウンロードされます。
$ toolbox create
Image required to create toolbox container.
Download registry.fedoraproject.org/f31/fedora-toolbox:31 (500MB)? [y/N]: y
Created container: fedora-toolbox-31
Enter with: toolbox enter
toolbox enter [--container <name>]
toolbox のコンテナに入って、インタラクティブに設定などをします。
[bitwalk@localhost ~]$ toolbox enter
Welcome to the Toolbox; a container where you can install and run
all your tools.
- Use DNF in the usual manner to install command line tools.
- To create a new tools container, run 'toolbox create'.
For more information, see the documentation.
⬢[bitwalk@toolbox ~]$ sudo dnf install htop
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
Fedora Modular 31 - x86_64 715 kB/s | 5.2 MB 00:07
Fedora Modular 31 - x86_64 - Updates 1.4 MB/s | 3.1 MB 00:02
Fedora 31 - x86_64 - Updates 3.9 MB/s | 12 MB 00:03
Fedora 31 - x86_64 6.1 MB/s | 71 MB 00:11
Last metadata expiration check: 0:00:01 ago on Sun Nov 24 12:08:55 2019.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
htop x86_64 2.2.0-6.fc31 fedora 112 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 112 k
Installed size: 250 k
Is this ok [y/N]: y
Downloading Packages:
htop-2.2.0-6.fc31.x86_64.rpm 648 kB/s | 112 kB 00:00
--------------------------------------------------------------------------------
Total 142 kB/s | 112 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : htop-2.2.0-6.fc31.x86_64 1/1
Running scriptlet: htop-2.2.0-6.fc31.x86_64 1/1
Verifying : htop-2.2.0-6.fc31.x86_64 1/1
Installed:
htop-2.2.0-6.fc31.x86_64
Complete!
⬢[bitwalk@toolbox ~]$ rpm -qa | grep htop
htop-2.2.0-6.fc31.x86_64
⬢[bitwalk@toolbox ~]$ exit
logout
[bitwalk@localhost ~]$
toolbox list
ローカルにある toolbox のイメージとコンテナの一覧を表示します。
[bitwalk@localhost ~]$ toolbox list
IMAGE ID IMAGE NAME CREATED
a198bc8c3cda registry.fedoraproject.org/f31/fedora-toolbox:31 2 weeks ago
CONTAINER ID CONTAINER NAME CREATED STATUS IMAGE NAME
91406a7a66dd fedora-toolbox-31 23 minutes ago Up 14 minutes ago registry.fedoraproject.org/f31/fedora-toolbox:31
[bitwalk@localhost ~]$
toolbox rm [--force] <name>
toolbox のコンテナを削除します。
toolbox rmi [--force] <name>
toolbox のイメージを削除します。
rpm でパッケージを確認すると、toolbox-0.0.16 -1.fc31.noarch となっており、まだ開発が始まったばかりのパッケージです。コンテナ環境を簡単に扱えますが、今のところ機能的にもとてもシンプルです。ユーザーアカウントで開発用のコンテナを簡単に用意できるので、案外利用価値が多いかもしれません。
まとめ
項目
説明
ディストリビューション
Fedora Silverblue
プロジェクトサイト
https://silverblue.fedoraproject.org/
デスクトップ環境
GNOME
対応プラットフォーム
x86_64
パッケージ管理
rpm-ostree + flatpak
(一応、rpm ベース)
日本語入力
Ibus, kkc(デフォルト)
更新頻度 サポート期間
一年に二回という Fedora のバージョン更新頻度に準じています。あるバージョンについて 2 つ先のバージョンがリリースされてから 1ヶ月後にメンテナンスが終了します。主要パッケージの定期的な更新頻度は二週間に一回程度か?
寸評
利便性を犠牲にしても immutable な OS を使うニーズは、セキュリティ面から考えて今後ますます高くなるでしょう。そのため OSTree から派生した rpm-ostree のようなシステムは、それなりに採用分野が広がると思います。
デスクトップアプリケーションを flatpak で管理する限り、デスクトップ用途において、どの Linux を使っても同じ UX(ユーザーエクスペリエンス)を実現することになります。そうなればエンタープライズなデスクトップ用途において、Linux デスクトップがもっと普及するようになるかもしれません。オープンソースの世界は多様性に富んでいますから、まだ flatpak がデファクトスタンダードになるかどうかは未知です。しかし、rpm とか deb というようなパッケージ管理の違いを超えて、アプリケーションの仮想化の時代に突入したといえます。
Siliverblue が現行の Fedora Workstation に置き換わるとすれば、flatpak が今後どこまで普及するかどうかにかかっているように思います。
参考サイト
An Introduction to Fedora Atomic Workstation — Project Atomic
What is Silverblue? - Fedora Magazine [2019-07-12]
Team Silverblue — Download
rpm-ostree command man page | ManKier
Applications—Linux Apps on Flathub
2019年7月2日 Xからの脱却 ―Fedora,次バージョンでのデスクトップ改善ポイントを提示:Linux Daily Topics|gihyo.jp … 技術評論社 [2019-07-02]
bitWalk's: Fedora Silverblue と Toolbox [2020-11-03]
VIDEO
にほんブログ村