Seit dem Aufkommen von Linux sind viele Distributionen ziemlich bald erschienen: Slack, RedHat, Debian, SUSE usw. Dann trat das Problem der Auswahl einer Distribution auf, weil jede von ihnen ihre eigenen Eigenschaften und Vorteile hat, die sie zu etwas Besonderem machen. RedHat und Debian sind die stabilsten und konservativsten Distributionen. Ubuntu konzentriert sich auf Benutzerfreundlichkeit und verfügt über eine hervorragende Benutzeroberfläche. Gentoo ist frei von Auswahl und Flexibilität.
Jeder Linux-Benutzer hatte Momente, in denen ihm einige der in anderen Distributionen implementierten Funktionen fehlten. Vielen Leuten gefiel es nicht, dass Debian zu systemd wechselte, und sie erstellten darauf basierend eine neue Distribution - Devuan. Einige haben zu Gentoo gewechselt, wo der Benutzer eine Umgebung mit zwei Init-Systemen erstellen kann: openrc und systemd.
Verschiedene Distributionen behandeln dieses Problem unterschiedlich. Die Installation eines Pakets, das sich nicht im regulären Repository befindet, wird mithilfe von Docker-Containern oder mithilfe der in sich geschlossenen Paketsysteme snap und flatpak gelöst. Mit dem DEB-Paketmanager können Sie sogar RPM-Pakete auf Systemen installieren. Gentoo unterstützt RPM- und DEB-Pakete. All dies funktioniert, aber es skaliert nicht gut und ist nicht sehr stabil.
Die Entwickler von Bedrock Linux gingen noch einen Schritt weiter und erstellten eine vollwertige Meta-Distribution. Es ist möglich, nicht nur Pakete, sondern auch Komponenten verschiedener Linux-Distributionen wie Legosteine zu verwenden. In einer Umgebung können Sie ein System aus mehreren Linux-Betriebssystemen erstellen, indem Sie beispielsweise zusätzliche Ubuntu-Pakete zusätzlich zu den grundlegenden Debian- und Arch-Komponenten installieren. Das Installationsskript ist für die folgenden Plattformen verfügbar.
- aarch64;
- armv7hl;
- armv7l;
- mips64el;
- mips64;
- Mips;
- Mipsel;
- ppc64;
- ppc64le;
- ppc;
- s390;
- x86_64;
- x86;
Warum übrigens ein Installationsskript und keine vollwertige Installationsdiskette oder ein Image? Der Grund dafür ist, dass Bedrock Linux keine eigene kanonische Distribution hat, sondern eine Reihe von Rezepten zum Zusammenstellen eines Betriebssystems aus einer Reihe von Zutaten. In dieser Hinsicht ähnelt Bedrock Linux einer anderen Gentoo-Meta-Distribution, aber in dem Versuch, die Unermesslichkeit zu akzeptieren, ist es an die Grenzen der Vernunft gestoßen und hat sie möglicherweise überschritten.
Installieren von Bedrock und grundlegenden Befehlen
Bedrock verwendet eine bereits installierte traditionelle Linux-Distribution mit einem Installationsskript und verwandelt sie in ein Hybridsystem. Wenn Sie beispielsweise Debian bereits installiert haben, erhalten Sie mithilfe des Installationsskripts eine Umgebung mit Ubuntu. Zuerst müssen Sie als root ausgeführt werden.
sh ./bedrock-linux-<release>-<arch>.sh --hijack
Das Skript gibt eine Warnung aus, dass dies keine Übungen sind.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Continuing will: *
* - Move the existing install to a temporary location *
* - Install Bedrock Linux on the root of the filesystem *
* - Add the previous install as a new Bedrock Linux stratum *
* *
* YOU ARE ABOUT TO REPLACE YOUR EXISTING LINUX INSTALL WITH A *
* BEDROCK LINUX INSTALL! THIS IS NOT INTENDED TO BE REVERSIBLE! *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Please type "Not reversible!" without quotes at the prompt to continue:
> Not reversible!
__ __ __
\ \_________\ \____________\ \___
\ _ \ _\ _ \ _\ __ \ __\ /
\___/\__/\__/ \_\ \___/\__/\_\_\
Bedrock Linux 0.7.19 Poki
Es ist Zeit, sich mit der Kompatibilitätstabelle für Linux-Distributionen vertraut zu machen . Die wichtigsten populären Distributionen haben ein gutes Maß an Unterstützung, abgesehen von möglicherweise OpenSUSE. Das Entladen und unbeaufsichtigte Installationen werden für Linux Mint nicht unterstützt. Vergessen Sie auch nicht die Kompatibilitätstabelle zwischen den Komponenten . Binärdateien lassen sich beispielsweise gut von einer Distribution zur anderen übertragen, Schriftarten jedoch nicht.
Wenn alle Überprüfungen erfolgreich sind, nimmt das Skript die erforderlichen Änderungen am Betriebssystem vor. Anschließend müssen Sie den Computer neu starten, damit die Änderungen wirksam werden. Ab diesem Zeitpunkt befindet sich der Benutzer in der Bedrock Linux-Umgebung. Jetzt können Sie ein zusätzliches Betriebssystem in einem Container installieren, der als Schicht bezeichnet wird - so etwas wie eine Chroot-Umgebung, in der spezielle Löcher für die Kommunikation mit anderen Schichten erstellt werden.
Bevor Sie beginnen, ist es jedoch ratsam, sich mit der Bedienungsanleitung vertraut zu machen, indem Sie die Grundlagen des brl-Tutorials aufrufen. Die einfachsten Bedrock-Befehle, deren Zweck offensichtlich ist.
# brl update
# brl version
# brl ctatus
Zeigen Sie die Liste der verfügbaren Distributionen an und installieren Sie sie.
# brl fetch --list
# brl fetch alpine
# brl fetch void
Wie interagieren Bedrock-Verteilungen?
In bestimmten Situationen können Sie Befehle aus verschiedenen Schichten ausführen, als wären sie Teil desselben bekannten Linux-Betriebssystems. Beispielsweise können Befehle von void und alpine in derselben Pipeline verwendet werden. Der erste Befehl setzt das jq-Paket auf alpine, der zweite - jo auf void. Die Pipeline liest von der zweiten und überträgt auf die erste, alles geschieht für den Benutzer transparent.
$ sudo apk add jq
$ sudo xbps-install -y jo
$ jo "distro=bedrock" | jq ".distro"
Das ursprüngliche Debian Linux-Betriebssystem, das von --hijack betroffen war, ist jetzt auch nur noch eine Schicht. Seine Existenz kann durch Ausführen einiger dieser Befehle erraten werden.
$ brl which ls
debian
$ brl which /
debian
Insbesondere stimmt die Ausgabe dieser Befehle mit dem Inhalt der Datei / etc / os-release überein, wie aus dem aktuellen Shell-Prozess hervorgeht. Dies ist logisch, da jede Schicht nur ihre eigene lokale Datei sieht, da sonst das parallel installierte Debian und Ubuntu über den Inhalt der Datei /etc/apt/sources.list stolpern würde.
Wenn jedoch alle Dateien lokal wären, könnten verschiedene Distributionen nicht miteinander kommunizieren. Damit dies möglich ist, werden globale Dateien benötigt. Solche Dateien existieren.
$ brl which /bedrock/etc/bedrock.conf
global
$ brl which /run
global
$ brl which /tmp
global
In den Fällen, in denen die Prozesse einer Distribution die lokalen Dateien einer anderen Distribution erreichen müssen , werden Kreuzpfade implementiert. Um beispielsweise die os-release-Datei von einer Schicht in eine andere zu lesen, müssen Sie über den Pfad / bedrock / strata / auf die Ressourcen des Dateisystems zugreifen. Das Schichtgestein selbst dient nur zum gegenseitigen Lesen und Schreiben von Dateien. Intern ist crossfs ein FUSE-Dateisystem, in dem angeforderte Dateien im laufenden Betrieb überschrieben werden, um die Kompatibilität zwischen verschiedenen Schichten sicherzustellen.
$ brl which /bedrock/strata/bedrock/etc/os-release
bedrock
$ cat /bedrock/strata/bedrock/etc/os-release
NAME="Bedrock Linux"
ID=bedrock
ID_LIKE=bedrocklinux
VERSION="0.7.19 (Poki)"
VERSION_ID="0.7.19"
PRETTY_NAME="Bedrock Linux 0.7.19 Poki"
HOME_URL="https://bedrocklinux.org"
$ brl which /bedrock/strata/my-alpine/etc/os-release
my-alpine
Wenn Sie einen internen Befehl für eine bestimmte Schicht ausführen müssen, müssen Sie das entsprechende Präfix verwenden.
$ strat void sh -c 'apk --help'
Grundgestein Update
Bedrock ist einfach und unkompliziert zu aktualisieren. Führen Sie wie alle Linux-Distributionen brl update einfach als root aus. Dieser Befehl aktualisiert nur die Bedrock-Schicht, der Rest der Schichten wird mit ihren eigenen Standardwerkzeugen aktualisiert: zum Beispiel yum update oder dnf update für Redhat und CentOS.
Schichten entfernen
Nichts zu kompliziert - zuerst wird die Distribution ausgeschaltet, dann folgt die Deinstallation.
$ sudo brl disable alpine
$ sudo brl remove alpine
$ sudo remove -d void
Der letzte Befehl kombiniert die Deaktivierungs- und Entfernungsvorgänge.
Wofür ist Bedrock Linux wirklich?
An diesem Punkt stellen viele Leser höchstwahrscheinlich die Frage: Warum müssen Sie einen Igel mit einer Schlange züchten und ein Hybrid-Betriebssystem erstellen, da eine Linux-Workstation selbst nicht immer ziemlich stabil ist, insbesondere bei geschlossenen Grafikkartentreibern oder in einem Wayland-Sitzung . Versuchen wir, einige Szenarien für die praktische Verwendung von Bedrock Linux aufzulisten.
- Sie bevorzugen stabile Linux-Distributionen wie RedHat und Debian, benötigen aber auch Unterstützung für neue Hardware: CPU oder einen neu gekauften Drucker. Um diese Unterstützung zu erhalten, müssen Sie ein neueres Kernel- und Cup-Paket, hplips, installieren. Diese Aufgabe kann einmal gelöst werden, aber ein stabiles System mit instabilen Paketen ist nicht mehr dasselbe
- , . , systemd openrc, runit, Ubuntu.
- , Linux, . sh bash Debian, /bin/sh /bin/bash. Bedrock Linux stratum Debian Linux.
- Linux OS. .