[bitwalk@localhost ~]$ umount /dev/sda1
[bitwalk@localhost ~]$ sudo btrfs device add /dev/sda1 /var/home
/dev/sda1 appears to contain an existing filesystem (vfat).
ERROR: use the -f option to force overwrite of /dev/sda1
[bitwalk@localhost ~]$ sudo btrfs balance start /var/home
WARNING:
Full balance without filters requested. This operation is very
intense and takes potentially very long. It is recommended to
use the balance filters to narrow down the scope of balance.
Use 'btrfs balance start --full-balance' option to skip this
warning. The operation will start in 10 seconds.
Use Ctrl-C to stop it.
10 9 8 7 6 5 4 3 2 1
Starting balance without any filters.
Done, had to relocate 8 out of 8 chunks
[bitwalk@localhost ~]$
btrfs filesystem show コマンドで、btrfs ファイルシステムに含まれるデバイス一覧を表示して、複数のデバイスでストレージの使用量が変化していることを確認します。。
[bitwalk@localhost ~]$ sudo btrfs filesystem show
[sudo] bitwalk のパスワード:
Label: 'fedora_fedora' uuid: 20f5fc8a-a945-4bd2-986c-401f00459323
Total devices 2 FS bytes used 6.29GiB
devid 1 size 56.65GiB used 0.00B path /dev/mmcblk0p3
devid 2 size 119.08GiB used 7.03GiB path /dev/sda1
[bitwalk@localhost ~]$
Fedora 33 インストール後の最初の起動時にユーザアカウントを作成する点が素晴らしい、と下記 YouTube では力説しています。確かにプレインストールされた Windows PC であたり前のことが Linux では意外と出来ていませんでした。😮念の為、遡って確認してみたところ、少なくとも Fedora 31 ではインストール後の最初の起動時の初期設定でアカウントを作成するようになっていました。
インストール後に、rpm-ostree コマンドでパッケージのアップデートを実行して、新しいパッケージを反映させます。テストに使用した PC は、有線のネットワークにつなげてあります。
[bitwalk@fedoraiot ~]$ sudo rpm-ostree 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.
[sudo] password for bitwalk:
⠈ Receiving objects: 98% (7314/7407) 4.8 MB/s 267.5 MB
Receiving objects: 98% (7314/7407) 4.8 MB/s 267.5 MB... done
Staging deployment... done
Upgraded:
NetworkManager 1:1.26.2-1.fc33.1 -> 1:1.26.2-2.fc33
NetworkManager-libnm 1:1.26.2-1.fc33.1 -> 1:1.26.2-2.fc33
...
(途中省略)
...
util-linux 2.36-2.fc33 -> 2.36-3.fc33
vim-minimal 2:8.2.1522-2.fc33 -> 2:8.2.1770-1.fc33
Removed:
dbxtool-8-13.fc33.x86_64
Run "systemctl reboot" to start a reboot
[bitwalk@fedoraiot ~]$ systemctl reboot
WiFi の接続
参考に、nmcli コマンドを使った WiFi への接続例を示しました。
[bitwalk@fedoraiot ~]$ nmcli dev wifi list
IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY
XX:XX:XX:XX:XX:XX BCW720J-XXXXX-G Infra 1 130 Mbit/s 100 **** WPA1 WPA2
XX:XX:XX:XX:XX:XX BCW720J-XXXXX-A Infra 100 405 Mbit/s 67 *** WPA1 WPA2
...
...
[bitwalk@fedoraiot ~]$ nmcli dev
DEVICE TYPE STATE CONNECTION
enp0s20u1u1 ethernet connected enp0s20u1u1
wlo1 wifi disconnected --p2p-dev-wlo1 wifi-p2p disconnected --
lo loopback unmanaged --
[bitwalk@fedoraiot ~]$ sudo nmcli device wifi connect BCW720J-XXXXX-A password XXXXXXXXXXXXX ifname wlo1
[sudo] password for bitwalk:
Device 'wlo1' successfully activated with '4f04ca0a-1caa-4706-9f71-d610148a1467'.
[bitwalk@fedoraiot ~]$ nmcli dev
DEVICE TYPE STATE CONNECTION
enp0s20u1u1 ethernet connected enp0s20u1u1
wlo1 wifi connected BCW720J-XXXXX-Ap2p-dev-wlo1 wifi-p2p disconnected --
lo loopback unmanaged --
[bitwalk@fedoraiot ~]$
[bitwalk@fedoraiot ~]$ podman search httpd --filter=is-official
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/library/httpd The Apache HTTP Server Project 3214 [OK]
[bitwalk@fedoraiot ~]$ podman pull docker.io/library/httpd
Trying to pull docker.io/library/httpd...
Getting image source signatures
Copying blob 26694ef5449a done
Copying blob 3ae86ea9f1b9 done
Copying blob 7b85101950dd done
Copying blob bb79b6b2107f done
Copying blob da919f2696f2 done
Copying config 3dd970e6b1 done
Writing manifest to image destination
Storing signatures
3dd970e6b110c8cbcec63e05a91e3cefd23c76a780fcb78c33979153f044b2d4
[bitwalk@fedoraiot ~]$
取ってきた httpd を、8080 番のポートからアクセスできるように実行します。
[bitwalk@fedoraiot ~]$ podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/httpd latest 3dd970e6b110 6 days ago 141 MB
[bitwalk@fedoraiot ~]$ podman run -dt -p 8080:80/tcp docker.io/library/httpd
567ea42182c4607b06fb914b979291e6dc3b73f80d5f6b8e8848d332af2a681b
[bitwalk@fedoraiot ~]$ podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
567ea42182c4 docker.io/library/httpd:latest httpd-foreground 8 seconds ago Up 7 seconds ago 0.0.0.0:8080->80/tcp cool_chebyshev
[bitwalk@fedoraiot ~]$ curl http://localhost:8080
<html><body><h1>It works!</h1></body></html>
[bitwalk@fedoraiot ~]$
IoT 機器向けには Fedora IoT、デスクトップ用途には Fedora Silverblue、そしてサーバー(クラウド環境)向けには Fedora CoreOS という次世代の OS は rpm-ostree による immutable な OS を管理する仕組みを持っています。
そのなかで、Fedora IoT は rpm-ostree と podman によるコンテナ機能を備えた最小構成の OS になります。
IoT, Internet of Things(モノのインターネット)に特化した、という表現はあやふやですが、Fedora IoT の役割は、おそらくですが、センサーなどのデバイスからの情報を扱うような特定用途向けサーバーに利用することを想定しているのでしょう。デスクトップ環境が無いだけで、必要なコンテナをデプロイすれば、データベースやその他のサーバーにもフツーに使えそうです。もちろん、静かに機械学習をさせてデータを整理・加工させるのはもっと面白そうです。🤪