Bedrock Linux - Ein Meta-Linux

Datum

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

Autor
Kategorien Linux

PRTG Map