diff --git a/knowledge base/fedora silverblue.md b/knowledge base/fedora silverblue.md new file mode 100644 index 0000000..89f9998 --- /dev/null +++ b/knowledge base/fedora silverblue.md @@ -0,0 +1,57 @@ +# Fedora Silverblue + +## TL;DR + +Changes to the base layer are executed in a new bootable filesystem root. This means that the system must be rebooted after a package has been layered. + +```shell +# Check for available upgrades. +rpm-ostree upgrade --check + +# Upgrade the system. +rpm-ostree upgrade + +# Install packages. +rpm-ostree install kmod-nvidia xorg-x11-drv-nvidia + +# Override packages. +rpm-ostree override replace \ + local/path/to/podman-3.1.2-1.fc34.x86_64.rpm \ + https://kojipkgs.fedoraproject.org/packages/podman/3.1.2/1.fc34/x86_64/podman-plugins-3.1.2-1.fc34.x86_64.rpm + +# Remove packages. +# Packages will still exist in the undelying base layer, but will not appear +# in the booted root. +rpm-ostree override remove nano + +# Rollback. +rpm-ostree rollback + +# Make changes to the kernel's boot arguments. +rpm-ostree kargs \ + --append=rd.driver.blacklist=nouveau \ + --append=modprobe.blacklist=nouveau \ + --append=nvidia-drm.modeset=1 + +# Preview changes on the current filesystem. +rpm-ostree ex apply-live +``` + +## Package layering + +Package layering works by modifying your Silverblue installation by extending the packages from which Silverblue is composed. + +Using package layering creates a new _deployment_, or bootable filesystem root which **does not** affect your current root. This means that the system must be rebooted after a package has been layered. + +If you don't want to reboot your system to switch to the new deployment, you can use `rpm-ostree ex apply-live` to update the current filesystem and be able to see the changes from the new deployment. It's generally expected that you use package layering sparingly, and use [flatpak]s and [toolbox]. + +## Further readings + +- [User guide] +- [Flatpak] +- [Toolbox] + +[flatpak]: flatpak.md +[toolbox]: toolbox.md + +[user guide]: https://docs.fedoraproject.org/en-US/fedora-silverblue/ diff --git a/knowledge base/microos.md b/knowledge base/microos.md new file mode 100644 index 0000000..a8eaab5 --- /dev/null +++ b/knowledge base/microos.md @@ -0,0 +1,30 @@ +# OpenSUSE MicroOS + +## TL;DR + +Every set of changes to the underlying system is executed on a new inactive snapshot, which will be the one the system will boot into on the next reboot. + +```shell +# Upgrade the system. +sudo transactional-update dup +pkcon update + +# Install a package. +sudo transactional-update pkg install tlp ntfs-3g fuse-exfat nano +pkcon install gnu_parallel + +# Get a shell on the next snapshot. +# Lets you use zypper. +sudo transactional-update shell +sudo tukit execute bash +``` + +## Setting up MicroOS as a desktop OS + +See [MicroOS Desktop] for more and updated information. + +## Sources + +- [MicroOS Desktop] + +[microos desktop]: https://opensuse.github.io/openSUSE-docs-revamped-temp/microos_getting_started/ diff --git a/knowledge base/toolbox.md b/knowledge base/toolbox.md new file mode 100644 index 0000000..e14cdeb --- /dev/null +++ b/knowledge base/toolbox.md @@ -0,0 +1,48 @@ +# Toolbox + +Runs on top of [Podman]. + +## TL;DR + +```shell +# List locally available images and containers. +toolbox list +toolbox list -c + +# Download an OCI image and create a container from it. +toolbox create +toolbox create -d rhel -r 8.1 +toolbox create -i registry.fedoraproject.org/fedora-toolbox:35 fedora + +# Run a command inside the container without entering it. +toolbox run ls -la +toolbox run -d rhel -r 8.1 uptime +toolbox-run -c fedora cat /etc/os-release + +# Get a shell inside the container. +toolbox enter +toolbox enter -d fedora -r f35 +toolbox enter rhel + +# Remove a container. +toolbox rm fedora-toolbox-35 + +# Remove an image. +toolbox rmi fedora-toolbox:35 +toolbox rmi -af +``` + +## Further readings + +- [GitHub] page +- [Podman] + +[podman]: podman.md + +[github]: https://github.com/containers/toolbox + +## Sources + +- [Fedora Silverblue] + +[fedora silverblue]: https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox/