Genutzt wurde ein Ubuntu 16.04.3 mit HWE Kernel in der minimal Version, sämtliche apt install
Befehle wurden mit der Option --no-install-recommends
genutzt.
Die neuste Btrfs-Progs Version in den Standardrepos entspricht der 4.4, welche vom Januar 2016 stammt.
Die neuste Version kann man im Changelog einsehen.
Vorbereitung
Um die neuste Version zu installieren geht man in die Übersicht der Tarballs:
www.kernel.org
wget https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v4.15.tar.gz
Um die zur Zeit aktuellste Version herunter zuladen.
Entpacken der Datei
tar -xzf btrfs-progs-v4.15.tar.gz
Anschließend in den Ordner springen
cd btrfs-progs-v4.15/
configure
Hier muss man nun den Befehl ./configure
ausführen, um die Abhängigkeiten aufzulösen und das makefile zu erzeugen.
Hierbei kann es zu fehlenden Abhängigkeiten kommen, nach dem Installieren dieser, den Prozess mit ./configure
erneut starten. Bis der Prozess ohne Fehler durchläuft.
mögliche Probleme und Lösungen
configure: error: no acceptable C compiler found in $PATH
Lösung: apt install gcc
configure: error: The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
Lösung: apt install pkg-config
No package 'ext2fs' found
Lösung: apt install e2fslibs-dev
No package 'blkid' found
Lösung: apt install libblkid-dev
No package 'zlib' found
Lösung: hier neuste Version runterladen: zlib
wget https://www.zlib.net/zlib-1.2.11.tar.xz@
tar -xzf zlib-1.2.11.tar.xz
cd zlib-1.2.11/
./configure
make
make install
Wenn das Programm richtig installiert ist findet man unter /usr/local/lib/pkgconfig/
die entsprechende zlib.pc
configure: error: Package requirements (libzstd >= 1.0.0) were not met:
Lösung:
apt install git
cd /root
git clone https://github.com/facebook/zstd.git
cd zstd/
make
make install
configure: error: cannot find lzo2 library
Lösung: apt install liblzo2-dev
make
Nachdem alle Abhängigkeiten installiert sind sollte folgende Aussgabe sichtbar sein:
documentation: yes
backtrace support: yes
btrfs-convert: yes (ext2)
btrfs-restore zstd: yes
Type 'make' to compile.
Anschließend kann man mit make
das kompilieren starten.
Hierbei kann es zu folgendem Fehler kommen:
/bin/sh: 2: asciidoc: not found
Makefile:125: recipe for target 'btrfs-ioctl.xml' failed
make[1]: *** [btrfs-ioctl.xml] Error 127
Makefile:293: recipe for target 'build-Documentation' failed
make: *** [build-Documentation] Error 2
So müssen noch folgende Pakete installiert werden:
apt install asciidoc xmlto
Danach sollte das make
funktionieren.
make install
Wenn der make
Vorgang abgeschlossen ist müssen die alten Verlinkungen gelöscht werden mit apt-get --purge remove btrfs-tools
. Die neuen Pakete werden mit make install
installiert.
Um zu überprüfen ob die gewünschte Version installiert ist kann man btrfs version
aufrufen.