Erstellen Sie Debian-Binärpakete mit Dpkg-repack neu
In dieser kurzen Anleitung wird ein nützliches Dienstprogramm namens dpkg-repack
vorgestellt, das zum Neuerstellen von Debian-Binärpaketen verwendet wird, die bereits auf einem Debian-basierten System installiert sind.
Was ist dpkg-repack?
Stellen Sie sich dieses Szenario vor. Sie haben einige Pakete auf Ihrem Debian-basierten System installiert. Und Sie möchten dieselben Pakete auf einem anderen System installieren. Aber Sie haben die Binärarchive, also die Deb-Dateien, verloren. Würden Sie sie noch einmal von der offiziellen Website oder dem Repository herunterladen?
Was passiert, wenn die bestimmte Version eines bestimmten Pakets anderswo nicht mehr verfügbar ist? Keine Sorge! Da sie bereits auf Ihrem System installiert sind, können Sie die .deb
-Dateien problemlos neu erstellen. Sag Hallo zu dpkg-repack
!
Das dpkg-repack
ist ein Befehlszeilen-Archivierungstool für Debian-Pakete, um Debian-Binärpakete neu zu erstellen, die bereits auf Ihrem System installiert sind.
Kurz gesagt: Das Dienstprogramm dpkg-repack
kann eine .deb
-Datei aus einem Debian-Paket erstellen, das bereits auf Ihrem System installiert ist.
Das Dienstprogramm dpkg-repack
kann in vielen Situationen hilfreich sein, in denen Sie Folgendes tun möchten:
.deb
-Dateien aus vorhandenen installierten Debian-Paketen neu erstellen,- Pakete einfach von einem System auf ein anderes kopieren,
- Speichern Sie den aktuellen Status eines Pakets, bevor Sie es aktualisieren.
- Sichern Sie eine bestimmte Version eines Pakets für die zukünftige Verwendung.
- Speichern Sie bestimmte Pakete, die nicht mehr zum Download verfügbar sind.
Installieren Sie dpkg-repack in Debian, Ubuntu und Derivaten
Das dpkg-repack
ist in den Standard-Repositories von Debian, Ubuntu und seinen Varianten verfügbar. Um dpkg-repack
zu installieren, führen Sie einfach den folgenden Befehl aus:
sudo apt install dpkg-repack
Erstellen Sie Debian-Binärpakete mit dpkg-repack neu
1. Für dieses Handbuch verwenden wir die Microsoft Teams-Anwendung, die ich vor einiger Zeit auf meinem Ubuntu-Desktop installiert habe.
dpkg -l | grep teams
Beispielausgabe:
ii teams 1.3.00.5153 amd64 Microsoft Teams for Linux is your chat-centered workspace in Office 365.
Ich habe die Datei teams.deb
nicht mehr. Ich habe es direkt nach der Installation der Microsoft Teams-Anwendung gelöscht. Ich kann zur offiziellen Download-Seite gehen und es erneut herunterladen. Aber warum sollte man sich die Mühe machen, es immer wieder herunterzuladen? Ich kann jetzt einfach die Datei teams.deb
mit dpkg-repack neu erstellen.
2. Um die Datei teams.deb
aus einem bereits installierten Teams-Paket mit dem Dienstprogramm dpkg-repack
zu erstellen, führen Sie Folgendes aus:
dpkg-repack teams
Beispielausgabe:
dpkg-deb: building package 'teams' in './teams_1.3.00.5153_amd64.deb'.
Erstellen Sie Debian-Binärpakete mit dem Dienstprogramm dpkg-repack neu
Wie Sie sehen, hat der obige Befehl die Datei "teams_1.3.00.5153_amd64.deb'"
aus dem Teams-Paket neu erstellt, das bereits auf meinem Ubuntu-Desktop installiert ist. Die neu erstellte Deb-Datei wird im aktuellen Arbeitsverzeichnis gespeichert.
Ebenso können Sie alle installierten Debian-Pakete mit dem Dienstprogramm dpkg-repack
zurück in .deb
-Pakete konvertieren.
3. Es ist auch möglich, mehrere Deb-Dateien mit durch Leerzeichen getrennten Dateien neu zu erstellen:
dpkg-repack <package1> <package2> <package3>
4. Wenn Sie die Deb-Datei aufgrund von Berechtigungsproblemen nicht neu erstellen können, versuchen Sie es in der fakeroot-Umgebung wie folgt:
fakeroot -u dpkg-repack teams
Eine interessante Funktion des Dienstprogramms dpkg-repack besteht darin, dass das neue Paket die Änderungen erbt, wenn beim Entpacken Änderungen am Paket vorgenommen wurden (d. h. Dateien in /etc geändert wurden).
Anzeigen des Inhalts der Deb-Datei
Schritt 1: Sie können den Inhalt dieser Deb-Datei mit folgendem Befehl anzeigen:
dpkg --contents teams_1.3.00.5153_amd64.deb
Beispielausgabe:
drwxr-xr-x root/root 0 2020-05-26 15:15 ./
drwxr-xr-x root/root 0 2020-05-26 15:15 ./usr/
drwxr-xr-x root/root 0 2020-05-26 15:15 ./usr/bin/
-rwxr-xr-x root/root 286 2020-02-20 16:46 ./usr/bin/teams
drwxr-xr-x root/root 0 2020-05-26 15:15 ./usr/share/
.
.
.
drwxr-xr-x root/root 0 2020-05-26 15:15 ./usr/share/teams/swiftshader/
-rwxr-xr-x root/root 286264 2020-02-20 16:46 ./usr/share/teams/swiftshader/libEGL.so
-rwxr-xr-x root/root 2677296 2020-02-20 16:46 ./usr/share/teams/swiftshader/libGLESv2.so
-rwxr-xr-x root/root 114964776 2020-02-20 16:46 ./usr/share/teams/teams
-rw-r--r-- root/root 1040912 2020-02-20 16:46 ./usr/share/teams/v8_context_snapshot.bin
Inhalte von Deb-Dateien unter Linux anzeigen
Schritt 2: Das dpkg-repack ist praktisch, wenn Sie denselben Paketsatz auf mehreren Systemen installieren. Übertragen Sie sie einfach über eine externe Festplatte oder über LAN auf andere Systeme und installieren Sie sie mit dem dpkg-Befehl:
sudo dpkg -i <package-name>
Schritt 3: Bitte beachten Sie, dass Sie die Abhängigkeiten noch herunterladen müssen. Führen Sie Folgendes aus, um die Abhängigkeiten zu installieren:
sudo apt-get -f install
Alternativ finden Sie die Abhängigkeiten des Pakets wie unter folgendem Link beschrieben:
- So listen Sie die Abhängigkeiten eines Pakets unter Linux auf
Und erstellen Sie sie dann alle mit dpkg-repack
wie oben beschrieben neu.
Schritt 4: Dies ist auch hilfreich, wenn Sie ein Paket auf die vorherige Arbeitsversion zurücksetzen möchten. Angenommen, Sie haben gerade das Paket Vim
auf die neue verfügbare Version aktualisiert. Wenn die neue Version nicht wie erwartet funktioniert, können Sie einfach mit dpkg-repack
auf die alte Version zurückgreifen, die Sie zuvor erstellt haben.
Weitere Einzelheiten finden Sie in den Manpages:
man dpkg-repack
Verwandte Lektüre:
- So erstellen Sie Debian-Pakete aus dem Quellcode
- So erstellen Sie Pakete aus dem Quellcode mit CheckInstall
- So konvertieren Sie Linux-Pakete mit Alien
Ressource:
- dpkg-repack GitHub-Repository