Upgrade to Pro — share decks privately, control downloads, hide ads and more …

flatpak

Avatar for Kazuo Moriwaka Kazuo Moriwaka
November 15, 2019

 flatpak

Red Hat Tech Nightのボツネタでした

Avatar for Kazuo Moriwaka

Kazuo Moriwaka

November 15, 2019
Tweet

More Decks by Kazuo Moriwaka

Other Decks in Technology

Transcript

  1. 5 Red Hat Enterprise Linux 8 • サーバOSとしては超強い • 一方デスクトップとしては貧弱

    • ソフトウェアなくてつらい • Fedoraなら山ほどソフトウェアがあるのに…… • 事情はわかる • どんどん新しくしたいのとライフサイクルがあわない • codecのライセンス等の問題 • 儲からない……
  2. 6 RHEL8のデモブースを準備する • ビデオ流そ…… H.264のcodecないやん! なんとかデスクトップアプリいれたい • 自前ビルド ← GentooかArchへ行こう

    • EPELやrpmfusionとか ← わかるけど競合したらやだな • snapd EPEL ← にあるっぽい • flatpak ← RHEL8に入ってる。これ試そう
  3. 8 OSTree (libostree) ってなに? • ディレクトリツリーをgit風にバージョン管理する基盤 • branch/commit/reference/pullなどの概念 • リポジトリ

    • ファイルをチェックサムで識別するcontentl-addressed object store • 特定reference(とそのN世代前まで)だけミラーするなど • 複数バージョンをチェックアウト • リポジトリからhardlinkしたりbtrfsならCoWしたり • 起動可能なディレクトリツリーを考慮 • ブートローダ設定のswapによる更新、更新失敗時の巻き戻しなど
  4. 9 ostreeのコマンド例 $ ostree --repo=repo init $ mkdir tree $

    echo 'heeeeee' > tree/hello.txt $ ostree --repo=repo commit --branch=base tree 13c7e9a6edbf25e3b56443ce88c46b35e6edd7a7a7c9c7685788d47e09e66aca $ echo 'hello' > tree/hello.txt $ echo 'world' > tree/world.txt $ ostree --repo=repo commit --branch=base tree ab66069b57a61d2665bdf52c221627ec16fad6dcabf09dd00034f7350cdd1db3 $ ostree diff --repo=repo base base^ M /hello.txt D /world.txt
  5. 10 OSTree応用例 • OSの更新をatomicにおこなう(成功するか、失敗して古い のに戻る) • Atomic Host, CoreOS, Fedora

    SilverblueでOS更新に利用 • アプリケーションの配布につかう • flatpak
  6. 11 flatpak • OSTreeを基盤としたアプリケーションの配 布技術 • バイナリと、バイナリが依存するライブラリ をまとめて配布 • 複数バージョンの混在が可能

    • freedesktop.org, GNOME, KDE(Qt)のランタ イム • デスクトップ環境と統合 • ディストリビューションを選ばない(はず)