Skip to content

Debian Bookworm 12 - Btrfs Installation

Linux
3 1 2.4k
  • Andere Distributionen ermöglichen einem das mit einem Mausklick, bei Debian muss man das leider von Hand erledigen. Ich habe das wie folgt gemacht.

    Auf dem Laufwerk alle Partitionen gelöscht, so das nur noch der freie Speicher angezeigt wird. Danach der Reihe nach, folgende Partitionen angelegt.

    • 1GB EFI
    • 1GB Boot ext4 /boot
    • 32GB Swap
    • 466,1 GB physikalisches Volume für Verschlüsselung

    Danach auf Verschlüsselte Datenträger konfigurieren klicken und den Anweisungen folgen. Die beiden Partitionen p3 & p4 verschlüsseln.

    Danach die device-mapper Devices im oberen Teil bearbeiten, wie im Screenshot zu sehen. Einhängepunkte und Filesystem ist wichtig.

    20230409_114701.jpg

    Danach läuft die Installation von Debian Bookworm weiter.

    Das sieht dann so aus

    df -h

    root@debian12:~# df -h
    Dateisystem                 Größe Benutzt Verf. Verw% Eingehängt auf
    udev                          14G       0   14G    0% /dev
    tmpfs                        2,8G    1,6M  2,8G    1% /run
    /dev/mapper/nvme0n1p4_crypt  435G    6,3G  427G    2% /
    tmpfs                         14G       0   14G    0% /dev/shm
    tmpfs                        5,0M     12K  5,0M    1% /run/lock
    /dev/nvme0n1p2               921M     89M  769M   11% /boot
    /dev/nvme0n1p1               511M    5,9M  506M    2% /boot/efi
    tmpfs                        2,8G     64K  2,8G    1% /run/user/1000
    

    swapon

    root@debian12:~# swapon
    NAME      TYPE       SIZE USED PRIO
    /dev/dm-1 partition 29,8G   0B   -2
    

    subvolume list

    root@debian12:~# btrfs subvolume list /
    ID 256 gen 76 top level 5 path @rootfs
    

    filesystem show

    root@debian12:~# btrfs filesystem show 
    Label: none  uuid: 10c31933-b883-44db-9231-91be612ca84f
            Total devices 1 FS bytes used 6.08GiB
            devid    1 size 434.08GiB used 10.02GiB path /dev/mapper/nvme0n1p4_crypt
    

    filesystem df /

    root@debian12:~# btrfs filesystem df / 
    Data, single: total=8.01GiB, used=5.90GiB
    System, DUP: total=8.00MiB, used=16.00KiB
    Metadata, DUP: total=1.00GiB, used=178.53MiB
    GlobalReserve, single: total=15.19MiB, used=0.00B
    

    /etc/fstab

    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    #
    # systemd generates mount units based on this file, see systemd.mount(5).
    # Please run 'systemctl daemon-reload' after making changes here.
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    /dev/mapper/nvme0n1p4_crypt /               btrfs   defaults,subvol=@rootfs 0       0
    # /boot was on /dev/nvme0n1p2 during installation
    UUID=827afb39-794d-40fa-ae50-74562a433ad3 /boot           ext4    defaults        0       2
    # /boot/efi was on /dev/nvme0n1p1 during installation
    UUID=DE97-75E3  /boot/efi       vfat    umask=0077      0       1
    /dev/mapper/nvme0n1p3_crypt none            swap    sw              0       0
    

    Kernel

    root@debian12:~# uname -a
    Linux debian12 6.1.0-7-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.20-1 (2023-03-19) x86_64 GNU/Linux
    

    /etc/os-release

    PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
    NAME="Debian GNU/Linux"
    VERSION_ID="12"
    VERSION="12 (bookworm)"
    VERSION_CODENAME=bookworm
    ID=debian
    HOME_URL="https://www.debian.org/"
    SUPPORT_URL="https://www.debian.org/support"
    BUG_REPORT_URL="https://bugs.debian.org/"
    

    Anmerkung

    Ja, man kann das sicherlich besser konfigurieren, aber ich denke das passt so für mich. Ich habe bewusst kein Subvolume für /home angelegt. Das habe ich bei einer normalen Installation auch nie. Das /boot nicht verschlüsselt ist, ist für mich kein Problem. Für andere vielleicht!? 32GB für Swap entspricht der Menge des verbauten Speichers in dem PC.

    Anregungen und Meinungen sind hier wie immer willkommen.

  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • Heute nochmal viel gelesen und da wurde meistens ein @home angelegt. Ok, dann wollen wir das auch mal machen.

    Bitte dran denken, falls ihr das nachmacht. BACKUP anlegen!!!

    Step 1 Live System starten

    Wir brauchen eine startbare Linuxinstallation. Ich habe mir dazu LinuxMint runtergeladen, ab auf den Stick und den Rechner damit gestartet.

    Ok, die englische Tastatur nervt für das was wir noch alles machen wollen. Also schnell mal das Tastatur Layout auf Deutsch umgebogen.

    20230416_165735.jpg

    Jetzt kann es los gehen 🙂

    Step 2 Entschlüsseln

    Den verschlüsselten NVMe Riegel entschlüsseln & mounten. Sollte ihr keine verschlüsselte Partition haben, dann einfach so mounten. Man sucht sich vorher die richtige Partition aus. In meinem Fall sieht das so aus.

    Disk /dev/nvme0n1: 465,76 GiB, 500107862016 bytes, 976773168 sectors
    Disk model: Samsung SSD 980 500GB                   
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 16384 bytes / 131072 bytes
    Disklabel type: gpt
    Disk identifier: 65C90FD5-E7AD-E74A-8C5F-1DDFFFCFBCE4
    
    Device             Start       End   Sectors   Size Type
    /dev/nvme0n1p1      2048   1953791   1951744   953M EFI System
    /dev/nvme0n1p2   1953792   3907583   1953792   954M Linux filesystem
    /dev/nvme0n1p3   3907584 140625919 136718336  65,2G Linux swap
    /dev/nvme0n1p4 140625920 976771071 836145152 398,7G Linux filesystem
    

    Die Partition p4 interessiert uns hier, das ist das / Verzeichnis.

    cryptsetup luksOpen /dev/nvme0n1p4 debian
    

    Das Passwort eingeben. Danach gibt es ein neues Device mit dem Namen /dev/mapper/debian. Das brauchen wir. Das müssen wir jetzt mounten.

    Step 3 Mounten

    Verzeichnis anlegen zum Mounten

    sudo mkdir /tmp/debian
    

    Jetzt das entschlüsselte Verzeichnis dorthin mounten

    sudo mount /dev/mapper/debian /tmp/debian
    

    Jetzt können wir damit arbeiten.

    Step 3 Subvolume anlegen

    btrfs subvolume create /tmp/debian/@home
    

    Step 4 Daten kopieren

    Alle Daten von /tmp/debian/@rootfs/home/ nach /tmp/debian/@home/home/ kopieren. Das kann etwas dauern. Geduld ist angesagt. Danach starten wir den Rechner neu und booten wieder ganz normal.

    Step 5 Temporär das Subvolume mounten

    Dafür habe ich die Datei /etc/fstab bearbeitet.

    /dev/mapper/nvme0n1p4_crypt /tmp/debian           btrfs   defaults,subvol=@home   0       0
    

    Das dann mounten

    sudo mount -a
    

    Step 6 Benutzerrechte einstellen

    Dann können wir dem Subvolume die nötigen Benutzerrechte geben.

    sudo chown -R frank:frank /tmp/debian
    

    Step 7 Altes Homeverzeichnis umbenennen

    Jetzt kann man sich erstmal alles anschauen, sind alle Daten vorhanden usw. Wenn man sich sicher ist, das alles stimmt, bearbeiten wir die /etc/fstab und machen den richtigen Eintrag.

    /dev/mapper/nvme0n1p4_crypt /home           btrfs   defaults,subvol=@home   0       0 
    

    Jetzt wird das Subvolume nach einem Neustart eingebunden. Wir wollen aber vorher noch, das alte Homeverzeichnis umbenennen! Dazu erneut das Livesystem starten. Das /home umbenennen, bei mir lautet es jetzt OLD_HOME. Somit hat man im Notfall noch die Daten und kann sie einfach umkopieren. Jetzt ein beherzter Neustart! 🙂

    Step 8 Kontrolle

    Wir geben mal

    mount
    

    als Root ein. Ausgabe

    root@debian:~# mount
    /dev/mapper/nvme0n1p4_crypt on / type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=256,subvol=/@rootfs)
    /dev/mapper/nvme0n1p4_crypt on /home type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=295,subvol=/@home)
    [..gekürzt..]
    

    Und mit btrfs kommt das hier

    root@debian:~# btrfs subvolume list /
    ID 256 gen 5093 top level 5 path @rootfs
    ID 295 gen 5093 top level 5 path @home
    [..gekürzt..]
    

    Ich habe noch wegen Docker jede Menge andere, aber das erspare ich Euch an dieser Stelle.
    Das sieht doch gut aus und der Hobby Systemadministrator ist zufrieden 🤓

    Da bei mir Timeshift vorher immer gecrasht ist, habe ich es erneut installiert und es lief, bis auf diesen Bug ohne zu crashen.

    249b211f-38a0-42b2-9567-fec66596eb89-grafik.png

    Timeshift ist in diesem Bereich wirklich schlecht programmiert. Es erwartet zwingend ein Rootverzeichnis mit Namen /@ und ein Homeverzeichnis mit Namen /@home. Etwas unflexibel. Dazu gibt es auch schon einen Issue auf Github.

    Als Lösung könnte man jetzt das Subvolume /@rootfs genauso verschieben. Also, ein Neues anlegen mit Namen /@ danach alle Daten verschieben. /etc/fstab anpassen und fertig. Das wird aber sicherlich nicht mehr heute passieren. Soweit bin ich erstmal zufrieden 🤓

  • Das mit den Namen der btrfs Subvolumes ist bekannt bei Timeshift. Im Readme steht dazu folgendes.

    BTRFS volumes

    BTRFS volumes must have an Ubuntu-type layout with @ and @home subvolumes. Other layouts are not supported. Systems having the @ subvolume and having /home on a non-BTRFS partition are also supported.

    Text file busy / btrfs returned an error: 256 / Failed to create snapshot can occur if you have a Linux swapfile mounted within the @ or @home subvolumes which prevents snapshot from succeeding. Relocate the swapfile out of @ or *@home, for example into it's own subvolume like @swap.

  • KDE Plasma 6 - Beta 2

    Linux kde linux
    2
    0 Stimmen
    2 Beiträge
    265 Aufrufe
    FrankMF
    Leider hat die Realität mich etwas vom Testen neuer Software abgehalten, aber jetzt geht es langsam wieder los. Den Start macht KDE Plasma 6 - Beta 2. Auch wenn ich schon brennend auf die RC1 warte, die lässt aber noch auf sich warten... https://pointieststick.com/category/this-week-in-kde/ Ok, also die Beta 2 auf meinen Stick und ab damit in mein Testsystem. Einmal starten, kurz danach taucht der KDE Neon Desktop auf. [image: 1705002299148-20240110_201838-resized.jpg] [image: 1705002324795-20240110_201852-resized.jpg] Und klick, wird die Installation gestartet. Danach begrüßt uns dieses Fenster. Ich weiß nicht, warum diese Information nicht automatisch ermittelt wird - nervig. [image: 1705002522434-20240110_201924-resized.jpg] Der Rest der Installation lief einwandfrei, ich habe aber keine besondere Installation vorgenommen. Ganze NVMe plattgemacht und alles drauf. Nichts verschlüsselt usw. Eine Installation, die ich so für meinen Haupt-PC nicht machen würde. Eine Kleinigkeit ist mir noch aufgefallen. Der Calamares Installer der benutzt wird, hat bei mir keine Sonderzeichen akzeptiert. Ich hoffe das wird bis zum Release gefixt. Hier noch kurz das Testsystem [image: 1705003417706-screenshot_20240111_210201.png] Ich nutze ausschließlich Wayland, das läuft einfach wesentlich besser. Aber, ich weiß da draußen gibt es viele die das nicht mögen. Das schöne an Linux - ihr habt die freie Wahl. Was war mir negativ aufgefallen? Installer - keine automatische Standortbestimmung Installer - nimmt keine Sonderzeichen für das PW an Login Window - nach Eingabe PW wird die Taste RETURN nicht akzeptiert. Muss ich mit der Maus anklicken. Skalierung auf meinem Monitor nicht optimal - Schrift unscharf Was ist mir positiv aufgefallen? Ich nutze einen 4K Monitor zum Testen. Die Skalierung war automatisch auf 175%. Eine fast perfekte Wahl, wenn da nicht die unscharfe Schrift wäre. Ich habe das auf 150% gestellt, danach war es deutlich besser. Updates kann man sich über das grafische Frontend holen Standby-Modus ging Und einen nervigen FF Bug konnte ich nicht nachstellen. Auf meinem aktuellen System, KDE Plasma 5, flackert der Bildschirm gelegentlich, wenn ich in der Taskleiste durch die geöffneten FF Fenster scrolle. Bei Plasma 6 konnte ich das bis jetzt noch nicht feststellen. Fazit Sieht gut aus, der Release von KDE Plasma 6 wird gut. Ich freu mich drauf. Und diesen komischen Updatevorgang den KDE Neon da benutzt, diesen M$ Style, den könnt ihr direkt wieder in die Mülltonne kloppen. Das möchte ich bei Linux nicht sehen. [image: 1705005840070-screenshot_20240111_214255-resized.png]
  • Fragen, Probleme, geht nicht?

    Angeheftet Support vaultwarden support linux
    1
    0 Stimmen
    1 Beiträge
    149 Aufrufe
    Niemand hat geantwortet
  • NanoPi5 - eMMC

    Verschoben NanoPi R5S openwrt nanopir5s linux
    1
    4
    0 Stimmen
    1 Beiträge
    255 Aufrufe
    Niemand hat geantwortet
  • Debian 11.5 released

    Linux debian
    1
    0 Stimmen
    1 Beiträge
    110 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Debian 11 installieren

    ROCKPro64 bullseye debian rockpro64
    1
    0 Stimmen
    1 Beiträge
    498 Aufrufe
    Niemand hat geantwortet
  • Rest-Server

    Verschoben Restic rest-server linux restic
    8
    0 Stimmen
    8 Beiträge
    749 Aufrufe
    FrankMF
    Dann mal eben ausprobiert. Auf meinem Server war die Version 0.9.7 selber, mit go, gebaut. Dann mache ich das auch mit der v0.10.0 so. Aber bevor ich anfange, wird die v0.9.7 gesichert. mv /usr/local/bin/rest-server /usr/local/bin/rest-server_0_9_7 So erspare ich mir im Problemfall das selber bauen. Ok, dann die neue Version bauen. git clone https://github.com/restic/rest-server.git cd rest-server go run build.go Danach befindet sich im Verzeichnis die Binärdatei rest-server Die kopieren wir jetzt cp rest-server /usr/local/bin Danach kurzer Test # rest-server --version rest-server 0.10.0 (v0.10.0-6-g037fe06) compiled with go1.11.6 on linux/amd64 Gut Version passt Dann ein Backup gestartet. Das sichert einen Teil meines Home-Verzeichnis Files: 153 new, 100 changed, 177857 unmodified Dirs: 0 new, 1 changed, 0 unmodified Added to the repo: 81.881 MiB processed 178110 files, 80.571 GiB in 0:28 snapshot 607e0027 saved Applying Policy: keep the last 3 snapshots, 3 monthly snapshots keep 5 snapshots: ID Time Host Tags Reasons Paths --------------------------------------------------------------------------------------- fa97890e 2020-07-25 21:02:05 frank-XXX monthly snapshot /home/frank 5b073bbb 2020-08-30 10:17:27 frank-XXX monthly snapshot /home/frank f7cf37ef 2020-09-06 15:13:03 frank-XXX last snapshot /home/frank 0157462c 2020-09-13 13:32:12 frank-XXX last snapshot /home/frank 607e0027 2020-09-14 08:09:34 frank-XXX last snapshot /home/frank monthly snapshot --------------------------------------------------------------------------------------- 5 snapshots remove 1 snapshots: ID Time Host Tags Paths --------------------------------------------------------------------- 3010b7cc 2020-09-06 11:39:27 frank-XXX /home/frank --------------------------------------------------------------------- 1 snapshots 1 snapshots have been removed, running prune counting files in repo building new index for repo [1:34] 100.00% 17351 / 17351 packs So weit funktioniert das genau wie vorher. Im Changelog stand ja was von Subfoldern. Das betrifft mich nicht, weil ich für jeden User genau ein Verzeichnis habe. So mit alles Gut Dann warte ich mal morgen ab, ob die täglichen Backups der Server rund laufen.
  • Debian Buster 10.1 released

    Linux debian linux
    1
    0 Stimmen
    1 Beiträge
    302 Aufrufe
    Niemand hat geantwortet
  • Datensicherung zwischen zwei Server

    Linux linux
    2
    1
    0 Stimmen
    2 Beiträge
    765 Aufrufe
    FrankMF
    Funktionskontrolle heute morgen war o.k. Schreibt die Daten aber noch ins falsche Verzeichnis, da muss ich nochmal ran.