Fedora Silverblue はデスクトップ用途の immutable な OS で、システムの部分は、rpm-ostree で生成されたイメージを使用しています。一方、GUI を伴うデスクトップアプリケーションの管理には Flatpak が採用されています。
OSTree
OSTree は、ファイルシステムツリー(= OS 環境)を管理するツールです。このツリーを OSTree はひとつのイメージように扱い、Git のようにリポジトリでバージョン管理をしています。そのため(再起動が必要になりますが)OSTree では、複数のファイルシステムツリーを切り替えて利用することができます。
OSTree で扱う OS 環境は基本的に書き換えることができませんが、例外があり /var 内のみ変更・保存ができるようになっています。そのため、例えば従来の /home ディレクトリは /var/home へのシンボリックリンクになっていて、あたかも従来と同じように /home 内のアカウントでデータの追加や変更作業ができます。
ostree コマンド概略
ostree [OPTION…] COMMAND | ||
ビルトインコマンド | 説 明 | |
---|---|---|
admin | ostree で起動したホストシステムを管理するためのコマンド | |
cat | ファイルの内容を連結する | |
checkout | ファイルシステムツリーへのコミットをチェックアウト | |
checksum | ファイルまたはディレクトリのチェックサム | |
commit | 新しいリビジョンをコミットする | |
config | リポジトリの設定変更 | |
diff | ディレクトリ TARGETDIR をリビジョン REV と比較します。 | |
export | tar 形式で標準出力にコミットをストリーム配信します。 | |
find-remotes | 指定された refs にサービスを提供するためのリモートを見つける | |
create-usb | refs をUSBメモリにコピーする | |
fsck | リポジトリの整合性を確認する | |
gpg-sign | コミットに署名する | |
init | 新しい空のリポジトリを初期化する | |
log | コミットまたは ref で始まるログを表示する | |
ls | ファイルパスの一覧 | |
prune | 届かないオブジェクトを探す | |
pull-local | ソースリポジトリからデータをコピー | |
pull | リモートリポジトリからデータをダウンロード | |
refs | refs の一覧 | |
remote | インターネットへのアクセスを伴う可能性のあるリモートコマンド | |
reset | REF を以前のコミットにリセットする | |
rev-parse | ref のターゲットを出力 | |
show | メタデータオブジェクトを出力する | |
static-delta | スタティックデルタ関連コマンド | |
summary | サマリーメタデータの管理 |
rpm-ostree
OSTree のファイルシステムツリーを丸ごと管理する機能と rpm によるパッケージ管理機能を組み合わせたシステムが rpm-ostree です。rpm-ostree で管理するシステムは OSTree による OS のイメージ管理と rpm によるパッケージ管理の双方の特徴を併せ持つので、ハイブリッドシステムと呼ばれています。
rpm-ostree コマンド概略
コマンドラインのヘルプと参考資料 [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 upgrade の例
[bitwalk@silverblue ~]$ ostree admin status * fedora c77f0c6d97562c12dd653c3b375c800fe7ab8767a0b95b00ab470f5866365d4a.0 Version: 31.20200413.0 origin:fedora c21de1d37c9c9a8d52f03ff95751c15acc764fb3d187771eb4e57e81d6253e82.0 (rollback) Version: 31.1.9 origin: [bitwalk@silverblue ~]$
[bitwalk@silverblue ~]$ rpm-ostree upgrade 1 metadata, 0 content objects fetched; 569 B transferred in 3 seconds Checking out tree 2de2e4e... done Enabled rpm-md repositories: updates fedora-cisco-openh264 updates-modular fedora rpmfusion-nonfree-steam fedora-modular phracek-PyCharm Updating metadata for 'updates'... done rpm-md repo 'updates'; generated: 2020-04-13T16:27:30Z Updating metadata for 'fedora-cisco-openh264'... done rpm-md repo 'fedora-cisco-openh264'; generated: 2019-09-17T18:20:34Z Updating metadata for 'updates-modular'... done rpm-md repo 'updates-modular'; generated: 2020-04-09T20:25:33Z Updating metadata for 'fedora'... done rpm-md repo 'fedora'; generated: 2019-10-23T22:52:47Z Updating metadata for 'rpmfusion-nonfree-steam'... done rpm-md repo 'rpmfusion-nonfree-steam'; generated: 2020-02-24T21:32:34Z Updating metadata for 'fedora-modular'... done rpm-md repo 'fedora-modular'; generated: 2019-10-23T22:53:13Z Updating metadata for 'phracek-PyCharm'... done rpm-md repo 'phracek-PyCharm'; generated: 2020-04-14T10:18: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 Run "systemctl reboot" to start a reboot [bitwalk@silverblue ~]$ sudo systemctl reboot [sudo] bitwalk のパスワード:
[bitwalk@silverblue ~]$ ostree admin status * fedora 46b90d0230166faa5e3ec56f32467774d231139d90adcf59adb50676a5be81f6.0 Version: 31.20200413.0 origin:fedora c77f0c6d97562c12dd653c3b375c800fe7ab8767a0b95b00ab470f5866365d4a.0 (rollback) Version: 31.20200413.0 origin: [bitwalk@silverblue ~]$
参考サイト
にほんブログ村
0 件のコメント:
コメントを投稿