From eaf8f88c1bfbe5b3c21354865d783cf3a359c95d Mon Sep 17 00:00:00 2001 From: axtlos Date: Sat, 13 May 2023 18:00:21 +0200 Subject: Add Linux Immutability Tools --- .gitignore | 5 ++--- axtlos.7 | 16 ++++++++-------- crystal.1 | 3 ++- generate.sh | 26 +++++++++++++++++++------- lit.7 | 31 +++++++++++++++++++++++++++++++ shards.1 | 31 ++++++++++++++++++++----------- 6 files changed, 82 insertions(+), 30 deletions(-) create mode 100644 lit.7 diff --git a/.gitignore b/.gitignore index 733446d..8a11e5c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ -axtlos.7.html -shards.1.html -crystal.1.html +*.html +*.html.tmp diff --git a/axtlos.7 b/axtlos.7 index f862175..94183f4 100644 --- a/axtlos.7 +++ b/axtlos.7 @@ -19,7 +19,7 @@ can be contacted via: - .Em Matrix: -@xenia:the-apothecary.club +@xenia:psps.cat - .Em XMPP: @@ -27,20 +27,20 @@ axtlos@getcryst.al - .Em E-Mail: -axtlos@tar.black & axtlos@getcryst.al +axtlos@disroot.org & axtlos@getcryst.al .Sh Projects .Nm -mainly develops for +mainly works on + +.Lk https://github.com/project-shards Project Shards + +.Lk https://github.com/linux-immutability-tools .Lk https://getcryst.al Crystal Linux Specifically the following projects: -- -.Lk https://git.getcryst.al/project-shards Project-Shards -A custom macOS style immutable linux distro - - .Lk https://git.getcryst.al/crystal/software/jade Jade The installer backend @@ -86,4 +86,4 @@ Enby rat (the biggest one of them all), great humor and very cool .Sh See also \fBProject Shards\fP(1), \fBCrystal Linux\fP(1) - +\fBLinux Immutability Tools\fP(7) diff --git a/crystal.1 b/crystal.1 index 1fa637e..f91335b 100644 --- a/crystal.1 +++ b/crystal.1 @@ -51,4 +51,5 @@ These Desktops and Window Managers include vanilla GNOME, KDE, i3 and sway. .Sh See Also \fBaxtlos\fP(7), -\fBProject Shards\fP(1) +\fBProject Shards\fP(1), +\fBLinux Immutability Tools\fP(7) diff --git a/generate.sh b/generate.sh index c376e56..fdc3acc 100755 --- a/generate.sh +++ b/generate.sh @@ -1,4 +1,5 @@ #!/usr/bin/env sh +set -e echo "Generate axtlos(7)" mandoc -T html -O style=./style.css axtlos.7 > axtlos.7.html @@ -15,8 +16,9 @@ echo "Replace date with license" sed '//c\ CC BY-SA 4.0' axtlos.7.html > axtlos.7.html.tmp mv axtlos.7.html.tmp axtlos.7.html echo "Change See also to hyperlinks" -sed 's|

Project Shards(1), Crystal Linux(1)

|Project Shards(1), Crystal Linux(1)|g' axtlos.7.html > axtlos.7.html.tmp -mv axtlos.7.html.tmp axtlos.7.html +sed 's|

Project Shards(1), Crystal Linux(1) Linux||g' axtlos.7.html > axtlos.7.html.tmp +sed 's| Immutability Tools(7)

||g' axtlos.7.html.tmp > axtlos.7.html +cp axtlos.7.html index.html echo "Succesfully generated axtlos(7)" echo "Generate shards(1)" @@ -28,11 +30,10 @@ echo "Replace date with license" sed '//c\ CC BY-SA 4.0' shards.1.html > shards.1.html.tmp mv shards.1.html.tmp shards.1.html echo "Change See also to hyperlinks" -sed 's|

axtlos(7), Crystal Linux(1)

|axtlos(7), Crystal Linux(1)|g' shards.1.html > shards.1.html.tmp -mv shards.1.html.tmp shards.1.html +sed 's|

axtlos(7), Crystal Linux(1), Linux Immutability||g' shards.1.html > shards.1.html.tmp +sed 's| Tools(7)

||g' shards.1.html.tmp > shards.1.html echo "Remove one specific newline" cat shards.1.html | grep -v '
' > shards.1.html.tmp -mv shards.1.html.tmp shards.1.html echo "Succesfully generated shards(1)" echo "Generate crystal(1)" @@ -44,6 +45,17 @@ echo "Replace date with license" sed '//c\ CC BY-SA 4.0' crystal.1.html > crystal.1.html.tmp mv crystal.1.html.tmp crystal.1.html echo "Change See also to hyperlinks" -sed 's|

axtlos(7), Project Shards(1)

|axtlos(7), Project Shards(1)|g' crystal.1.html > crystal.1.html.tmp -mv crystal.1.html.tmp crystal.1.html +sed 's|

axtlos(7), Project Shards(1), Linux Immutability||g' crystal.1.html > crystal.1.html.tmp +sed 's| Tools(7)

||' crystal.1.html.tmp > crystal.1.html echo "Succesfully generated crystal(1)" + +echo "Generate Linux Immutability Tools(7)" +mandoc -T html -O style=./style.css lit.7 > lit.7.html +echo "Replace dat with license" +sed '//c\ CC BY-SA 4.0' lit.7.html > lit.7.html.tmp +mv lit.7.html.tmp lit.7.html +echo "Change See also to hyperlinks" +sed 's|

axtlos(7) Project Shards(1), Crystal||g' lit.7.html > lit.7.html.tmp +sed 's|Linux(1)

|
\naxtlos(7), \nProject Shards(1), \nCrystal Linux(1)|g' lit.7.html.tmp > lit.7.html + +echo "Succesfully generated lit(7)" diff --git a/lit.7 b/lit.7 new file mode 100644 index 0000000..6c710b8 --- /dev/null +++ b/lit.7 @@ -0,0 +1,31 @@ +.Dd $Mdocdate$ +.Dt Linux Immutability Tools 7 +.Os +.Sh Name +Linux Immutability Tools - lit +.Sh SYNOPSIS +.Nm Linux Immutability Tools +.Op lit +.Ar by immutable distros, for immutable distros +.Sh DESCRIPTION +.Nm +Linux Immutability Tools is a collaboration between \fBProject Shards\fP(1) and Vanilla OS to create tools that are useful for immutable Linux distributions +.Sh Links +.Nm +is on github: + +- +.Lk https://github.com/linux-immutability-tools + +.Sh Tools +.Nm +currently provides following tools: + +.Lk https://github.com/linux-immutability-tools/fsguard FsGuard +a tool to verify the integrity of your system before it fully boots + +.Sh See also +\fBaxtlos\fP(7) +\fBProject Shards\fP(1), +\fBCrystal Linux\fP(1) + diff --git a/shards.1 b/shards.1 index 3207ba4..a65748e 100644 --- a/shards.1 +++ b/shards.1 @@ -6,10 +6,10 @@ .Op shards .Ar MacOS inspired .Ar Immutable -.Ar Crystal Spin +.Ar Linux Distribution .Sh DESCRIPTION .Nm -is an immutable Crystal Linux spin using multiple Volumes to create one system +is an immutable linux distribution using multiple Volumes to create one system .Sh How it works .Nm utilizes multiple Volumes (called Shards) to create one root using bind and overlay mounts @@ -23,17 +23,13 @@ Consists of 6 Shards: like /run or /dev and the initial tools for mounting the other Shards and creating the proper root system +.IP \fBBoot\fP +\- The Boot shard contains files and packages requir to boot on real hardware +this is mainly the bootloader and kernel .IP \fBSystem\fP \- The System shard is the main root, it contains everything required to boot -the system and cannot be modified unless booted into the recovery - - -.IP \fBDesktop\fP -\- The Desktop shard contains all packages related to the Desktop, which by -default is GNOME, just like the System shard it cannot be modified unless booted -into the recovery - +into userspace and cannot be modified unless booted into the recovery .IP \fBData\fP \- Data Contains everything the user installs themselves or changes on the root @@ -97,6 +93,19 @@ postinstall configurations usually set in the Installer, like user creation, setting the timezone or choosing locales are done post install in a first-setup application. +.Sh Images +.Nm +like other immutable distributions uses images to distribute updates +unlike other immutable distributions however, +.Nm +does not directly use OCI-Images, it uses flatpak packages as a type of ostree +frontend. This means that optimally the update process only consists of a simple +flatpak update to upgrade the system. + +Realistically this is not the case, since extra things such as managing /etc will have +to be done after the update + .Sh See Also \fBaxtlos\fP(7), -\fBCrystal Linux\fP(1) +\fBCrystal Linux\fP(1), +\fBLinux Immutability Tools\fP(7) -- cgit v1.2.3