2021 社群議程 桌面套件大亂鬥
Shawn Wang @ COSCUP 2021
Image Not Showing
Possible Reasons
|
- KaLUG 老面孔 - 任職於Easystack 主要使用Distro: - Ubuntu, Fedora 主要桌面環境: - sway, gnome 40 |
[root@sb470 ~]# rpm-ostree status
State: idle
Deployments:
● ostree://fedora:fedora/34/x86_64/testing/silverblue
Version: 34.20210629.0 (2021-06-29T01:01:12Z)
BaseCommit: 619483c0f00e0a865e9f4573141fb414dc952402935057b279aecfdec5d86309
GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39
LayeredPackages: arm-image-installer asciinema blueman cmake cockpit expect fcitx5-chewing fcitx5-chinese-addons fcitx5-configtool freerdp
libguestfs-tools podman-compose qemu snapd sshuttle sway vim virt-install virt-manager virt-top wayvnc wdisplays wf-recorder
xdg-desktop-portal-wlr xrdp xterm
LocalPackages: google-chrome-stable-90.0.4430.93-1.x86_64 rpmfusion-nonfree-release-34-1.noarch rpmfusion-free-release-34-1.noarch
Pinned: yes
ostree://fedora:fedora/34/x86_64/testing/silverblue
Version: 34.20210629.0 (2021-06-29T01:01:12Z)
BaseCommit: 619483c0f00e0a865e9f4573141fb414dc952402935057b279aecfdec5d86309
GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39
LayeredPackages: arm-image-installer asciinema blueman cmake cockpit expect fcitx5-chewing fcitx5-chinese-addons fcitx5-configtool freerdp
libguestfs-tools podman-compose qemu snapd sshuttle sway vim virt-install virt-manager virt-top wdisplays wf-recorder
xdg-desktop-portal-wlr xrdp xterm
LocalPackages: google-chrome-stable-90.0.4430.93-1.x86_64 rpmfusion-nonfree-release-34-1.noarch rpmfusion-free-release-34-1.noarch
# step 1
# Add the temporary unofficial Kinoite remote
$ curl -O https://tim.siosm.fr/downloads/siosm_gpg.pub
$ sudo ostree remote add kinoite https://siosm.fr/kinoite/ --gpg-import siosm_gpg.pub
# Optional, only if you want to keep Silverblue available
$ sudo ostree admin pin 0
# step 2
[root@sb470 ~]# rpm-ostree rebase kinoite:fedora/33/x86_64/kinoite
### 第一段 處理 base ostree (不含額外裝的包)
⠚ Receiving objects: 83% (56223/67324) 123.5 kB/s 1.2 GB
Receiving metadata objects: 1/(estimating) 12 位元組/s 146 位元組... done
Checking out tree f04ead7... done
### 第二段 處理額外裝的包
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora google-chrome updates-archive
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2020-08-25T19:10:34Z
rpm-md repo 'updates' (cached); generated: 2021-07-16T00:54:09Z
rpm-md repo 'fedora' (cached); generated: 2020-10-19T23:27:19Z
rpm-md repo 'google-chrome' (cached); generated: 2021-07-15T18:35:55Z
rpm-md repo 'updates-archive' (cached); generated: 2021-07-16T02:07:43Z
Importing rpm-md... done
Resolving dependencies... done
Will download: 306 packages (280.7 MB)
⠒ Downloading from 'updates' 32% [██████░░░░░░░░░░░░░░] (3m)
Will download: 306 packages (280.7 MB)
Downloading from 'updates'... done
Downloading from 'fedora'... done
Downloading from 'updates-archive'... done
Importing packages... done
Relabeling... done
Checking out packages... done
Running pre scripts... done
Running post scripts... done
Running posttrans scripts... done
Writing rpmdb... done
### 第三段 寫入本地的 ostree commit
⠤ Writing OSTree commit...
Staging deployment... done
Freed: 66.3 MB (pkgcache branches: 0)
Upgraded:
...
Run "systemctl reboot" to start a reboot
# step 3
reboot
rpm-ostree rollback ; reboot
hybrid image/package system
+----------------------------------+
| rpm-ostree (daemon + CLI) |
+------> status, upgrade, rollback, <---+
| | pkg layering, initramfs --enable | |
| +----------------------------------+ |
+---|-----------------------+ +-------------------|--+
| libostree (image system) | | libdnf (pkg system) |
|C API, hardlink fs trees, | |ties together |
|system repo, commits, | |libsolv (SAT solver) |
|atomic bootloader swap | | + librepo |
+---------------------------+ +----------------------+
[root@sb470 /]# ls -l /
總用量 52
lrwxrwxrwx. 4 root root 7 12月 10 2020 bin -> usr/bin
drwxr-xr-x. 7 root root 4096 7月 16 22:32 boot
drwxr-xr-x. 22 root root 4620 7月 17 06:15 dev
drwxr-xr-x. 1 root root 4568 7月 15 13:06 etc
lrwxrwxrwx. 4 root root 8 12月 10 2020 home -> var/home
lrwxrwxrwx. 7 root root 7 12月 10 2020 lib -> usr/lib
lrwxrwxrwx. 7 root root 9 12月 10 2020 lib64 -> usr/lib64
lrwxrwxrwx. 4 root root 9 12月 10 2020 media -> run/media
lrwxrwxrwx. 4 root root 7 12月 10 2020 mnt -> var/mnt
lrwxrwxrwx. 4 root root 7 12月 10 2020 opt -> var/opt
lrwxrwxrwx. 4 root root 14 12月 10 2020 ostree -> sysroot/ostree
dr-xr-xr-x. 320 root root 0 7月 16 22:33 proc
lrwxrwxrwx. 4 root root 12 12月 10 2020 root -> var/roothome
drwxr-xr-x. 53 root root 1460 7月 16 22:41 run
lrwxrwxrwx. 4 root root 8 12月 10 2020 sbin -> usr/sbin
lrwxrwxrwx. 1 root root 19 7月 15 13:06 snap -> /var/lib/snapd/snap
lrwxrwxrwx. 4 root root 7 12月 10 2020 srv -> var/srv
dr-xr-xr-x. 13 root root 0 7月 16 22:33 sys
drwxr-xr-x. 1 root root 68 1月 11 2021 sysroot
drwxrwxrwt. 26 root root 580 7月 17 06:29 tmp
drwxr-xr-x. 1 root root 106 1月 1 1970 usr
drwxr-xr-x. 1 root root 284 7月 16 21:59 var
/dev/sda2 on /boot type ext4 (rw,relatime,seclabel)
/dev/sda1 on /boot/efi
/dev/sda3 on /sysroot type btrfs (rw,relatime,seclabel,ssd,space_cache,user_subvol_rm_allowed,subvolid=257,subvol=/root)
/dev/sda3 on / type btrfs (rw,relatime,seclabel,ssd,space_cache,user_subvol_rm_allowed,subvolid=257,subvol=/root)
/dev/sda3 on /var type btrfs (rw,relatime,seclabel,ssd,space_cache,user_subvol_rm_allowed,subvolid=257,subvol=/root)
/dev/sda3 on /var/home type btrfs (rw,relatime,seclabel,ssd,space_cache,user_subvol_rm_allowed,subvolid=256,subvol=/home)
/dev/sda3 on /sysroot/ostree/deploy/fedora/var/home type btrfs (rw,relatime,seclabel,ssd,space_cache,user_subvol_rm_allowed,subvolid=256,subvol=/home)
/dev/sda3 on /usr type btrfs (ro,relatime,seclabel,ssd,space_cache,user_subvol_rm_allowed,subvolid=257,subvol=/root)
Pro | Con |
---|---|
store | a lot of mount points |
channel | 新格式 |
interfaces | Core18 / Core20 (IoT only) |
container | |
dev / classic mode |
上游討論 - nix-guix-snapd
## /etc/systemd/system/mount-prepare.service
#需要手動處理 /snap mount-prepare.service
[Unit]
Description=Prepare mount points
Before=remote-fs-pre.target
Wants=remote-fs-pre.target
[Service]
Type=oneshot
ExecStartPre=chattr -i /
ExecStart=/bin/sh -c "ln -s -f /var/lib/snapd/snap /snap"
ExecStopPost=chattr +i /
[Install]
WantedBy=remote-fs.target
# rpm-ostree install snapd
# snap install scrcpy
<用 usb 接上 你的android 手機>
# scrcpy
Learn More →