Bedrock Linux bezeichnet sich selbst als Meta-Linux Distribution, welche es möglich macht verschiedene Features anderer Linux Distributionen.
Dabei lassen sich stable Pakete von Debian und zeitgleich z.B. aktuelle Pakete von Arch Linux verwenden.
Die aktuelle Version von Bedrock Linux ist 0.7.6.
Homepage: bedrocklinux.org
Installation
Im Gegensatz zu den meisten anderen Linux-Distros liefert Bedrock Linux kein eigenes CD/DVD-Image aus. Statt dessen wird Bedrock Linux auf ein bestehendes Linux Installiert. Dabei gilt es zu beachten, dass die Installation aktuell nicht mit /home
LVM-Mountpoints umgehen kann.
Daher nutze ich zum testen ein aktuelles Debian 9 ohne LVM.
root@debian:~# df -Th
Dateisystem Typ Größe Benutzt Verf. Verw% Eingehängt auf
udev devtmpfs 2,0G 0 2,0G 0% /dev
tmpfs tmpfs 396M 5,4M 391M 2% /run
/dev/sda1 ext4 75G 1,3G 70G 2% /
tmpfs tmpfs 2,0G 0 2,0G 0% /dev/shm
tmpfs tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs tmpfs 2,0G 0 2,0G 0% /sys/fs/cgroup
tmpfs tmpfs 396M 0 396M 0% /run/user/1000
Um Bedrock Linux zu installieren lädt man sich ein Shellscript für die zu verwendende Architektur von deren Github-Seite runter:
raw.githubusercontent.com/bedrocklinux/
oder man kann es sich auch aus dem Sourcecode bauen:
github.com/bedrocklinux
Ich verwende zur Installation der Einfachheit halber das Shellscript, daher lade ich dieses per wget
herunter:
wget https://github.com/bedrocklinux/bedrocklinux-userland/releases/download/0.7.6/bedrock-linux-0.7.6-x86_64.sh
Anschließend wird das Installationsscript mit dem --hijack
Parameter gestartet um Bedrock Linux zu installieren:
Nun sollte das System neu gestartet werden.
der brl Befehl
Nach dem Neustart steht der brl
Befehl zur Verfügung, mit dem alles verwaltet wird. Bedrock Linux verwendet strata, dabei handelt es sich um Sammlungen von zusammenhängenden Dateien.
brl list
Direkt nach der Installation finden sich auf dem System nur zwei strata:
root@debian:~# brl list
bedrock
debian
brl status
Damit lässt sich prüfen welche strata aktiv sind:
root@debian:~# brl status
bedrock: enabled
debian: enabled
brl fetch
Um zu schauen welche strata zur Installation zur Verfügung stehen verwendet man brl fetch --list
root@debian:~# brl fetch --list
alpine
arch
centos
debian
devuan
fedora
gentoo
ubuntu
void
void-musl
Um nun ein verfügbares stratum von der Liste zu installieren verwendet man:
brl fetch <stratum>
root@debian:~# brl fetch centos
[ 1/19 ( 5%)}] Determining name
* Using centos
[ 2/19 ( 10%)}] Determining CPU architecture
* Using x86_64
[ 3/19 ( 15%)}] Determining release
* Using 7
[ 4/19 ( 21%)}] Determining mirror
* Checking bedrock.conf [brl-fetch-mirror] items
[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\] 100%
* Finding fastest mirror from 10
[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\] 100%
* Using http://mirror.alpha-labs.net/centos
[ 5/19 ( 26%)}] Making bootstrap directory structure
[ 6/19 ( 31%)}] Downloading package information database
Looking for file matching: primary.xml.gz
at: http://mirror.alpha-labs.net/centos/7/os/x86_64/repodata/
found: 25cd2c29e5adb2b6f8a5b091237dd9f760e97815b37f2557f2cd1c12a5f294f0-primary.xml.gz
Connecting to mirror.alpha-labs.net (84.246.124.55:80)
primary.xml.gz 100% |**********************************************************************************************************************************************************************************************| 2882k 0:00:00 ETA
[ 7/19 ( 36%)}] Extracting package information database
[ 8/19 ( 42%)}] Converting distro package information database to brl format
[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\] 100%
[ 9/19 ( 47%)}] Calculating required bootstrap packages
[10/19 ( 52%)}] Downloading bootstrap packages
[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\] 100%
[11/19 ( 57%)}] Extracting bootstrap packages
[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\] 100%
[12/19 ( 63%)}] Installing bootstrap packages
warning: ./audit-libs-2.8.4-4.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
[13/19 ( 68%)}] Running bootstrap software
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: mirror.alpha-labs.net
* extras: ftp.uni-bayreuth.de
* updates: mirror.alpha-labs.net
...
Complete!
[14/19 ( 73%)}] Setting locale
[15/19 ( 78%)}] Cleaning up
[16/19 ( 84%)}] Importing users and groups
[17/19 ( 89%)}] Preparing symlinks
[18/19 ( 94%)}] Showing
[19/19 (100%)}] Enabling
* Successfully fetched a new centos stratum with name centos
Nun ist centos
verfügbar:
root@debian:~# brl list
bedrock
centos
debian
root@debian:~# brl status
bedrock: enabled
centos: enabled
debian: enabled
Cross-stratum Features
Wenn mehrere strata aktiv sind lassen sich die entsprechenden Paketmanager zeitgleich verwenden:
root@debian:~# apt --version && yum --version
apt 1.4.9 (amd64)
3.4.3
Installiert: rpm-4.11.3-35.el7.x86_64 am 2019-06-29 22:49
Erstellt : CentOS BuildSystem <http://bugs.centos.org> am 2018-10-30 19:27
Übermittelt: Pavlina Moravcova Varekova <pmoravco@redhat.com> am 2018-06-19
Installiert: yum-3.4.3-161.el7.centos.noarch am 2019-06-29 22:49
Erstellt : CentOS BuildSystem <http://bugs.centos.org> am 2018-11-05 01:54
Übermittelt: CentOS Sources <bugs@centos.org> am 2018-10-30
Installiert: yum-plugin-fastestmirror-1.1.31-50.el7.noarch am 2019-06-29 22:49
Erstellt : CentOS BuildSystem <http://bugs.centos.org> am 2018-10-30 22:58
Übermittelt: Michal Domonkos <mdomonko@redhat.com> am 2018-08-24
brl which
Um zu prüfen aus welchem stratum das aufzurufende Programm stammt verwendet man:
brl which <Programm>
root@debian:~# brl which emacs
centos
root@debian:~# brl which vim
debian
Der Befehl kann auch dazu verwendet werden um herauszufinden welches stratum eine bestimmte Konfigurationsdatei bereitstellt. Stammt die zu prüfende Datei aus keinem stratum wird global
angezeigt.
root@debian:~# brl which ~/.nano
global
ein Programm aus einem bestimmten stratum verwenden
Die allgemeine Syntax lautet hierbei: strat <stratum> <Programm>
Beispiel: strat centos vim
INFO: Weitere Erläuterungen zu den einzelnen Befehlen finden sich in der entsprechenden Dokumentation