Wie man ISOs direkt mit dem Pv-Befehl auf USB unter Linux schreibt
Sag Auf Wiedersehen zum dd-Befehl! Das neueste Pv (Pipe Viewer)-Dienstprogramm kann jetzt ISOs direkt auf USB-Laufwerke schreiben!! Dieser Leitfaden zeigt dir, wie du den pv-Befehl anstelle von dd zum Schreiben von Images unter Linux verwendest.
Die Verwendung des Befehlszeilenprogramms pv bietet eine Echtzeit-Fortschrittsanzeige, eine geschätzte Übertragungszeit (ETA) und mehr Transparenz während des Prozesses.
Einführung
Viele von uns sind damit vertraut, den dd-Befehl zu verwenden, um Installationsabbilder auf Speichermedien zu schreiben. Der dd-Befehl ist die altmodische Methode, um bootfähige USB-Laufwerke unter Linux zu erstellen.
Der dd-Befehl ist ziemlich leistungsfähig. Er liest einfach von einer Datei und schreibt in eine andere. Der typische Befehl zum Schreiben von Bildern auf ein Gerät sieht folgendermaßen aus:
sudo dd if=installer.img of=/dev/sda2 bs=1M status=progressNatürlich können einige andere Werkzeuge wie pv (Pipe Viewer) und cat dieselbe Aufgabe erfüllen. Der Hauptgrund, warum dd häufig für diesen Zweck verwendet wird, ist, dass es mit Root-Rechten ausgeführt werden kann, während das Umleiten der Ausgabe von cat oder pv normalerweise erfordert, dass die Shell mit Root-Rechten ausgeführt wird. Der Befehl sudo dd ... ist kürzer als sudo sh -c 'cat ...', oder?
Einschränkungen von dd
Während der Befehl dd zum Erstellen von Images gut funktioniert, hat er einige Einschränkungen:
- Die Fortschrittsinformationen, die von
ddbereitgestellt werden, zeigen den Fortschritt nicht in Prozent an und berechnen keine geschätzte Ankunftszeit (ETA). Es wird nur die Anzahl der geschriebenen Bytes angezeigt. - Die Standardblockgröße von
ddist nicht für moderne Systeme optimiert, weshalb derbs=-Parameter oft enthalten ist. - Es ist leicht zu vergessen,
status=progresseinzuschließen, und es jedes Mal angeben zu müssen, kann umständlich sein.
Was ist der Befehl pv?
Pv steht für Pipe Viewer, ein Kommandozeilen-Tool, das es Benutzern ermöglicht, den Fortschritt von Daten durch eine Pipeline zu überwachen.
Es kann in jede gewöhnliche Pipeline zwischen zwei Prozessen eingefügt werden, um eine visuelle Anzeige darüber zu geben, wie schnell Daten durchfließen, wie lange es gedauert hat und eine Schätzung, wie lange es dauern wird, bis der Vorgang abgeschlossen ist.
Hier sind einige Hauptmerkmale von pv:
- Fortschrittsanzeige:
pvzeigt eine Fortschrittsleiste, den Prozentsatz der Fertigstellung, die vergangene Zeit und die geschätzte verbleibende Zeit an. - ETA-Berechnung: Sie berechnet und aktualisiert die voraussichtliche Ankunftszeit (ETA) für den Abschluss der Datenübertragung.
- Zwischenspeicherung:
pvkann Zwischenspeicherung handhaben, was nützlich ist, wenn man mit langsamen Geräten oder Netzwerkübertragungen zu tun hat. - Steuerung und Statistik: Es bietet Kontrolle über den Datenfluss und kann Statistiken über die Übertragung ausgeben.
- Flexibilität:
pvkann in verschiedenen Szenarien verwendet werden, wie zum Beispiel beim Kopieren von Dateien, Komprimieren von Daten oder jeder anderen Situation, in der Daten von einem Prozess zu einem anderen geleitet werden.
Der pv-Befehl ist besonders nützlich, wenn Sie den Fortschritt von Operationen überwachen müssen, die ansonsten unsichtbar sein könnten, wie zum Beispiel beim Verwenden des dd-Befehls zum Schreiben eines Images auf eine Festplatte oder beim Weiterleiten von Daten durch mehrere Befehle ohne direkte Rückmeldung über die Übertragungsrate oder den Fortschritt.
Warum pv zum Schreiben von Dateien auf Blockgeräte verwenden?
Das pv-Dienstprogramm bietet einige Vorteile gegenüber dd:
pvzeigt eine Echtzeit-Fortschrittsanzeige und eine geschätzte Ankunftszeit (ETA) an und liefert detailliertere Informationen als nur die geschriebenen Bytes.pvbestimmt automatisch die optimalen Puffergrößen, wodurch manuelle Anpassungen überflüssig werden.pvist prägnanter, da es nicht nötig ist,status=progressoderbs=...anzugeben.
Der neueste pv-Befehl kann ISOs direkt auf USB flashen
Die aktuelle Version von pv (1.8.10) enthält eine neue --output (-o) Option. Diese Funktion ermöglicht es pv, direkt in eine Datei oder auf ein Gerät zu schreiben, ähnlich wie dd.
Die --output-Option in pv Version 1.8.10 ermöglicht es Ihnen, die Ausgabe des Pipe Viewers in eine Datei umzuleiten, anstatt sie auf der Standardausgabe (normalerweise dem Terminal) anzuzeigen.
Diese Änderung kann besonders nützlich in Szenarien sein, in denen Sie den Fortschritt der Datenübertragung überwachen und gleichzeitig die Ausgabe in einer Datei speichern möchten, anstatt sie nur im Terminal anzuzeigen.
Lassen Sie uns nun die neueste pv-Dienstprogramm installieren. Die neueste pv ist noch nicht in den Standard-Repositorien der beliebten Linux-Betriebssysteme verfügbar. Daher müssen wir es aus dem Quellcode installieren.
Um jegliche Software aus dem Quellcode zu installieren, müssen Sie die Entwicklungstools und GNU Stow installieren. Während Stow optional ist, empfehle ich dringend, es zu installieren, um die aus dem Quellcode installierte Software effizient zu verwalten.
Entwicklungstools installieren
Wenn Sie die Entwicklungstools noch nicht installiert haben, ist es zwingend erforderlich, diese zuerst zu installieren. Wir haben die Schritte zur Installation der Entwicklungstools auf verschiedenen Linux-Distributionen in dem unten angegebenen Link dokumentiert:
- So installieren Sie Entwicklungstools unter Linux
GNU Stow installieren
Sie können eine Software aus dem Quellcode ohne Stow installieren. Aber ich bevorzuge es, GNU Stow zu verwenden, um Software aus dem Quellcode effizient zu verwalten.
So können Sie GNU Stow auf verschiedenen Betriebssystemen installieren:
Auf Ubuntu/Debian
1. Paketliste aktualisieren:
sudo apt update2. Installiere Stow:
sudo apt install stowAuf Fedora/RHEL/AlmaLinux/Rocky Linux
1. EPEL-Repository aktivieren:
sudo dnf install epel-release2. Stow installieren:
sudo dnf install stowBei älteren RHEL-Versionen verwenden Sie yum anstelle von `dnf'.
Installiere die neueste pv aus den Quellen in Linux
Nach der Installation der notwendigen Entwicklungstools und GNu Stow können Sie GNU Stow auf Ihrem Linux-System wie unten gezeigt installieren:
1. Laden Sie das neueste pv-Dienstprogramm von seiner offiziellen Veröffentlichungsseite herunter:
wget https://codeberg.org/a-j-wood/pv/releases/download/v1.8.10/pv-1.8.10.tar.gz2. Gehen Sie in das Verzeichnis, in dem Sie die pv-Tar-Datei heruntergeladen haben, und entpacken Sie sie mit dem Befehl:
tar xvf pv-1.8.10.tar.gzDies wird den Inhalt der Tar-Datei in einem Verzeichnis namens pv-1.8.10 in Ihrem aktuellen Verzeichnis extrahieren.
3. In das extrahierte Verzeichnis wechseln:
cd pv-1.8.104. Konfigurieren Sie den Build:
./configure --prefix=/usr/local/stow/pv-1.8.10Dieser Befehl wird verwendet, um den Build-Prozess der Software mit einem angegebenen Installationspräfix zu konfigurieren. In diesem Fall wird das Installationsverzeichnis auf /usr/local/stow/pv-1.8.10 festgelegt.
5. Software kompilieren:
make6. Installieren Sie die pv-Software:
sudo make install7. Verwenden Sie GNU Stow zur Verwaltung der Installation:
Nachdem Sie die Software im angegebenen Verzeichnis installiert haben, können Sie GNU Stow verwenden, um symbolische Links von den standardmäßigen Systemverzeichnissen (wie /usr/local/bin, /usr/local/lib usw.) zu den Dateien in /usr/local/stow/pv-1.8.10 zu erstellen.
Um dies zu tun, gehen Sie zum Verzeichnis /usr/local/stow:
cd /usr/local/stowUnd führen Sie den folgenden Befehl aus, um die erforderlichen Symlinks zu erstellen:
sudo stow pv-1.8.10Dies hält Ihre Systemverzeichnisse sauber und macht es einfach, mehrere Versionen von Software zu verwalten.
Überprüfen Sie jetzt, ob der Befehl pv mit folgendem Befehl verfügbar ist:
pv --versionSie werden eine Ausgabe wie unten sehen:
pv 1.8.10
Copyright 2024 Andrew Wood
License: GPLv3+ <https://www.gnu.org/licenses/gpl-3.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Project web site: <https://www.ivarch.com/programs/pv.shtml>Herzlichen Glückwunsch! Wir haben erfolgreich die neueste Version 1.8.10 von 'pv' installiert.
Wie man pv für das Schreiben von Bildern verwendet
Sobald Sie pv Version 1.8.10 in Ihrem System installiert haben, können Sie den folgenden Befehl verwenden, um ein Image zu schreiben:
sudo pv installer.iso -Yo /path/to/block/deviceHier ist die Aufschlüsselung des obigen Befehls:
sudo: Führen Sie den Befehl mit Root-Rechten aus.pv: Das Pipe Viewer-Dienstprogramm.installer.iso: Die Eingabedatei (Ihr Installationsabbild).-Y: Nach jedem Schreibvorgang synchronisieren, um Hänger bei 100 % beim Leeren der Puffer zu verhindern.-ooder--output: Verwenden Sie die neue Ausgabeoption, um direkt in eine Datei oder ein Gerät zu schreiben./path/to/block/device: Das Zielgerät (z. B./dev/sda).
Zum Beispiel zeigt die folgende Ausgabe, dass das KDE Neon ISO auf ein externes USB-Laufwerk /dev/sda geschrieben wird:
$ sudo pv neon-user-20240620-0718.iso -Yo /dev/sdaBeispielausgabe:
$ sudo pv neon-user-20240620-0718.iso -Yo /dev/sda
152MiB 0:00:19 [8.25MiB/s] [> ] 5% ETA 0:05:20Wie Sie in der obigen Ausgabe sehen, zeigt Pv die Datenübertragungsgeschwindigkeit, die Fortschrittsanzeige und die geschätzte verbleibende Zeit (ETA).
Sie können nun das neu erstellte USB-Bootlaufwerk verwenden, um Linux auf Ihrem System zu installieren.
Das neueste Pv-Utility dient nicht nur zum Schreiben von ISOs, sondern kann auch verwendet werden, um Dateien an Orte zu schreiben, die erhöhte Berechtigungen erfordern.
Verwendung von pv mit sudo für privilegierte Standorte
Einer der wesentlichen Vorteile der neuen --output-Option ist ihre Kompatibilität mit sudo. Dies ermöglicht einen einfacheren Ansatz beim Schreiben in Orte, die erhöhte Berechtigungen erfordern, wie Blockgeräte.
Bisherige Umgehungslösungen:
Vor der --output-Option mussten Benutzer auf eine der folgenden Methoden zurückgreifen:
1. Verwendung von tee mit sudo:
pv file | sudo tee /path/to/output >/dev/null2. Verwendung von sudo mit einem Shell-Befehl:
sudo sh -c 'pv file > /path/to/output'3. Starten einer Root-Shell und anschließend Ausführen von pv.
Neuer vereinfachter Ansatz:
Mit der --output-Option können Sie jetzt einfach Folgendes verwenden:
sudo pv file -o /path/to/outputDiese Methode kombiniert die Fortschrittsüberwachungsfunktionen von pv mit der Fähigkeit, an privilegierte Orte zu schreiben, alles in einem einzigen, einfach zu verwendenden Befehl.
Fazit
Ich sage nicht, dass pv besser ist als dd. Das dd-Programm ist ausgezeichnet. Allerdings enthält die neueste Version von pv eine Funktion zum Schreiben von ISO-Images auf USB-Laufwerke, die ich nützlich fand.
Die Verwendung von pv bietet ein benutzerfreundlicheres Erlebnis beim Schreiben von Images mit besserer Fortschrittsverfolgung und optimierter Leistung.
Die Hinzufügung der --output-Option vereinfacht den Prozess weiter, insbesondere beim Umgang mit privilegierten Schreibbereichen.
Da Distributionen aktualisiert werden, um die neueste Version von pv einzuschließen, wird diese Methode für Benutzer zunehmend zugänglicher und vorteilhafter.
Ressourcen:
- pv Codeberg-Repository
- pv-Website
Vorgeschlagene Lektüre:
- Etcher – Eine schöne App zum Erstellen bootfähiger USB-Laufwerke und SD-Karten
- So erstellen Sie Multiboot-USB-Laufwerke mit Ventoy unter Linux
- Popsicle – Erstellen Sie mehrere bootfähige USB-Laufwerke gleichzeitig
- Bootiso ermöglicht es Ihnen, ein bootfähiges USB-Laufwerk sicher zu erstellen
- MultiCD – Multiboot-CD-, DVD- und USB-Images erstellen
- Wie man ein ISO direkt aus dem Internet auf das USB-Laufwerk schreibt
- Wie man ein ISO von einem bootfähigen USB-Laufwerk in Linux erstellt
- So erstellen Sie ein benutzerdefiniertes Ubuntu-Live-CD-Image
