2020-11-19

Endless OS と Toolbox

Endless OS 3.9.0 が 11 月 9 日にリリースされました [1]。Endless OS は Debian から派生した Linux ディストリビューションですが、他の多くの ディストリビューションと異なり、システムは OSTree で、アプリケーションは Flatpak で管理されます。

今回のリリースがどんなものか確認するため、仮想マシン (GNOME Boxes) にインストールしました。

Endless OS 3.9 のデスクトップ画面

Endless OS のインストールについては、本ブログの過去記事 [2] を参照してください。

OSTree と dpkg

OSTree は OS のファイルシステムツリーを管理するツールで、ファイルシステムツリーのイメージを Git のような使い方でバージョン管理をすることができます。そのため、Endless OS が Debian から派生したディストロだからと言っても、Debian の deb 形式のパッケージを扱えるとは夢にも思わず、コマンドを試してみたこともありませんでした。

今回、念のため試してみたら出来ました! dpkg コマンドも apt コマンドも存在していたのです。😮

物は試しと、使いそうもないフォントを選んで apt コマンドで削除したり、新しいフォントをインストールしようとしましたが、immutable な OS ですから、それはさすがにできませんでした。

bitwalk@endless:~$ dpkg -l | grep font
ii  eos-extra-fonts                       1.4.0+dev201.9b4afab-23bem1                 amd64        extra fonts for EndlessOS
ii  fontconfig                            2.13.1-2endless1bem1                        amd64        generic font configuration library - support binaries
...
(途中省略)
...
ii  fonts-thai-tlwg                       1:0.7.1-1bem1                               all          Thai fonts maintained by TLWG (metapackage)
ii  fonts-tlwg-garuda                     1:0.7.1-1bem1                               all          Thai Garuda font (dependency package)
ii  fonts-tlwg-garuda-ttf                 1:0.7.1-1bem1                               all          Thai Garuda TrueType font
...
(途中省略)
...
ii  ttf-femkeklaver                       1.0-1build1bem2                             all          simple handwriting font
bitwalk@endless:~$ apt remove fonts-tlwg-garuda
E: ロックファイル /var/lib/dpkg/lock-frontend をオープンできません - open (13: 許可がありません)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
bitwalk@endless:~$ sudo apt remove fonts-tlwg-garuda
[sudo] bitwalk のパスワード:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
以下のパッケージは「削除」されます:
  eos-core eos-core-amd64 fonts-thai-tlwg fonts-tlwg-garuda
アップグレード: 0 個、新規インストール: 0 個、削除: 4 個、保留: 0 個。
この操作後に 182 kB のディスク容量が解放されます。
W: 読み込み専用のロックファイル /var/lib/dpkg/lock-frontend にロックは使用しません
W: 読み込み専用のロックファイル /var/lib/dpkg/lock にロックは使用しません
続行しますか? [Y/n] y
dpkg: エラー: unable to access the dpkg database directory /var/lib/dpkg: 読み込み専用ファイルシステムです
E: 子プロセス dpkg --set-selections がエラーコード (2) を返しました
E: Couldn't record the approved state changes as dpkg selection states
bitwalk@endless:~$ cd ダウンロード
bitwalk@endless:~/ダウンロード$ sudo apt install ./fonts-ubuntu_0.83-4_all.deb
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
注意、'./fonts-ubuntu_0.83-4_all.deb' の代わりに 'fonts-ubuntu' を選択します
以下のパッケージが新たにインストールされます:
  fonts-ubuntu
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
1,397 kB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 4,201 kB のディスク容量が消費されます。
取得:1 /sysroot/home/bitwalk/ダウンロード/fonts-ubuntu_0.83-4_all.deb fonts-ubuntu all 0.83-4 [1,397 kB]
dpkg: エラー: unable to access the dpkg database directory /var/lib/dpkg: 読み込み専用ファイルシステムです
W: 読み込み専用のロックファイル /var/lib/dpkg/lock-frontend にロックは使用しません
W: 読み込み専用のロックファイル /var/lib/dpkg/lock にロックは使用しません
N: ファイル '/sysroot/home/bitwalk/ダウンロード/fonts-ubuntu_0.83-4_all.deb' がユーザ '_apt' からアクセスできないため、 ダウンロードは root でサンドボックスを通さずに行われます。 - pkgAcquire::Run (13: 許可がありません)
E: Sub-process /usr/bin/dpkg returned an error code (2)
bitwalk@endless:~/ダウンロード$bitwalk@endless:~$

ただ、元の OS の構成は deb パッケージで組まれているということを確認できました。

Toolbox

ひょっとして Toolbox も Fedora と同様に使えるのかと思い確認したところ、こちらもありました。😮

toolbox create で作成されるデフォルトのコンテナは、ちょっと古い Fedora のイメージですが、これで開発環境を揃えられます。

bitwalk@endless:~$ dpkg -l | grep toolbox
ii  toolbox                               0.0.13-1endless2bem1                        amd64        Unprivileged development environment
bitwalk@endless:~$ toolbox create
Image required to create toolbox container.
Download registry.fedoraproject.org/f29/fedora-toolbox:29 (500MB)? [y/N]: y
Created container: fedora-toolbox-29
Enter with: toolbox enter
bitwalk@endless:~$ toolbox enter

Welcome to the Toolbox; a container where you can install and run
all your tools.

 - To create a new tools container, run 'toolbox create'.

bitwalk@toolbox:~$ 
bitwalk@toolbox:~$ sudo dnf update

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.

Failed to set locale, defaulting to C.UTF-8
Fedora Modular 29 - x86_64                      308 kB/s | 1.5 MB     00:04
Fedora Modular 29 - x86_64 - Updates            425 kB/s | 2.1 MB     00:05
Fedora 29 - x86_64 - Updates                    2.2 MB/s |  30 MB     00:13
Fedora 29 - x86_64                              3.0 MB/s |  62 MB     00:21
Last metadata expiration check: 0:00:01 ago on Thu Nov 19 10:14:34 2020.
Dependencies resolved.
================================================================================
 Package                   Arch   Version                         Repo     Size
================================================================================
...
(途中省略)
...

Complete!
bitwalk@toolbox:~$

Toolbox については、本ブログの過去記事 [3] を参照してください。

まとめ

OSTree を利用した immutable な OS は、まだマイナーかもしれませんが、なにしろ書き換えができない OS なのですから、今後、強固なセキュリティを誇る OS として普及していくことが予想されます。個人的には、思うように開発環境を準備できなければ面白くないと思っていましたが、Toolbox の利用でそれも解消です。

Debian ベースの OS 上で Fedora の開発環境を作るのはなんだか変な感じです。ただ、あくまでもデフォルトで Fedora のコンテナが使われるだけで、Debian のイメージも利用できるようです [4]

参考サイト

  1. Release | Endless OS 3.9.0 - english / releases - Endless Community [2020-11-09]
  2. bitWalk's: Linux ディストロ探訪(13) 〜 Endless OS 〜 [2020-04-11]
  3. bitWalk's: Fedora Silverblue と Toolbox [2020-11-03]
  4. Setting up Debian containers on Fedora Silverblue - Base-Art [2020-06-13]

ブログランキング・にほんブログ村へ
にほんブログ村

0 件のコメント: