Einfache Möglichkeit, ein Debian -Paket und ein lokales Paket -Repository zu erstellen

- 989
- 293
- Matteo Möllinger
Dieser Artikel beschreibt eine einfache Möglichkeit, ein hausgemachtes Debian -Paket zu erstellen und es in ein lokales Paket -Repository aufzunehmen. Obwohl wir ein vorhandenes Debian/Ubuntu. Sobald unser Paket fertig ist, werden wir es in unser lokales Paket -Repository einbeziehen. Dieser Artikel zeigt einen sehr simplen Ansatz, kann jedoch in vielen verschiedenen Szenarien als Vorlage dienen.
In diesem Tutorial lernen Sie:
- So erstellen Sie ein triviales Debian -Paket
- So erstellen Sie ein lokales Debian -Repository
- So fügen Sie das Repository zur Liste der Softwarequellen hinzu

Softwareanforderungen und Konventionen verwendet
Kategorie | Anforderungen, Konventionen oder Softwareversion verwendet |
---|---|
System | Debian |
Software | Das Build-Ewesential-Paket |
Andere | Ein funktionierender Apache -Webserver und Stammberechtigungen |
Konventionen | # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können |
Erstellen einer binären ausführbaren Datei
Das erste, was wir tun müssen, ist, ein einfaches C ++ - Programm zu erstellen, zu kompilieren und zu testen. Falls Sie ein einfaches C -Programm schreiben möchten, besuchen Sie stattdessen unser umfassendes Tutorial für C -Programmierung. Unser Programm wird nichts anderes tun, sondern nur „LinuxConfig“ drucken.org “auf dem Bildschirm. Hier ist der Code:
#Include int main () verwenden namespace std; Cout << "linuxconfig.org\n";
Kopieren Speichern Sie den obigen Code als Linuxconfig.CC
. Um das Programm zu kompilieren, brauchen wir das G++
Compiler, der durch das Build-Eesential-Paket bereitgestellt wird. Wir können es durch Ausführen installieren:
$ sudo apt-Get Installation Build-Escial
Um den Code zu kompilieren, verwenden wir den folgenden Linux -Befehl:
$ G ++ Linuxconfig.cc -o linuxconfig $ ./LinuxConfig LinuxConfig.Org
Alles sieht gut aus. Zu diesem Zeitpunkt sollten wir eine ausführbare Datei mit dem Namen "LinuxConfig" haben, die eine Zeichenfolge auf dem Bildschirm druckt.
Erstellen eines Debian -Pakets
Nachdem wir unser kleines Programm in Form einer ausführbaren Binärdatei bereit haben, können wir ein Debian -Paket erstellen. Um dies zu tun, verwenden wir die dpkg-deb
Werkzeug. Zunächst müssen wir die Debian -Paketstruktur erstellen. Die einzigen Dateien, die zum Erstellen eines Debian -Pakets erforderlich sind, sind:
- Debian/Kontrolle
- Benutzerdefinierte Dateien, die Teil des Pakets sein (nicht erforderlich)
Erstellen Sie zuerst ein Verzeichnis namens namens Linuxconfig
. Dieses Verzeichnis enthält alle erforderlichen Paketdateien:
$ mkdir linuxconfig
Erstellen Sie als Nächstes das Debian -Verzeichnis und die Kontrolldatei:
$ MKDIR Linuxconfig/Debian $ VI Linuxconfig/Debian/Kontrolle
In der Steuerdatei geben wir die folgenden Informationen ein:
Paket: LinuxConfig Version: 1.0 Abschnitt: benutzerdefinierte Priorität: Optionale Architektur: Alle essentiell: Keine Installationsgröße: 1024 Pflegemittel: LinuxConfig.Org Beschreibung: Drucken Sie Linuxconfig aus.Org auf dem Bildschirm
Großartig, das einzige, was fehlt, ist unser Linuxconfig -Programm. In der Linuxconfig
Verzeichnis Wir erstellen einen Verzeichnisbaum, der den Pfad darstellt, in dem unser Programm im System installiert wird, und kopieren die
ausführbar in es:
$ mkdir -p linuxconfig/usr/bin/$ cp/path/to/linuxconfig linuxconfig/usr/bin/
Zu diesem Zeitpunkt sind wir bereit, das Paket zu erstellen:
$ dpkg-deb-build linuxconfig dpkg-deb: Erstellen von Paket 'LinuxConfig' in 'LinuxConfig.Deb '. $ ls linuxconfig Linuxconfig.Deb
Möglicherweise möchten Sie den Namen des Pakets so ändern, dass es die Programmversion und die Paketarchitektur enthält. Zum Beispiel:
$ MV LinuxConfig.Deb LinuxConfig-1.0_AMD64.Deb
Alles erledigt ! Unser Paket ist fertig ! (Hinweis: Dies ist nur ein Beispiel: Die Erstellung offizieller Pakete erfordert mehr Arbeit).
Einrichten eines lokalen Paket -Repositorys
Um ein lokales Paket -Repository zu erstellen, benötigen wir eine Arbeit. In diesem Fall werden wir die Verwendung von annehmen Apache
mit Standardeinstellungen. Um Apache Webserver zu installieren, müssen wir nur ausführen:
$ sudo apt-Get Installieren Sie Apache2
Nach der Installation können wir zur Überprüfung des Webservers zur IP -Adresse des Geräts (oder zu "http: // localhost" navigieren, wenn Sie einen Browser auf der Maschine selbst ausführen), was in unserem Fall http: // ist 10.1.1.4. Wir sollten das sehen
berühmt Es klappt! Nachricht.
Die Webserver -Software wird ausgeführt, aber es wurden noch kein Inhalt hinzugefügt. Der Dokument Root
des Standard Apache Virtualhost
, Ist /var/www/html
: Hier werden wir unser Repository erstellen.
Lassen Sie uns das Debian -Verzeichnis im Inneren erstellen /var/www/html
und kopieren Sie die LinuxConfig-1.0_AMD64.Deb -Paket darin:
$ sudo mkdir/var/www/html/debian $ sudo cp/path/to/linuxconfig-1.0_AMD64.Deb/var/www/html/debian/
Der nächste Schritt besteht aus der Erzeugung einer Paketliste. Wir bewegen uns in die Debian
Verzeichnis und verwenden Sie die DPKG-Scanpackages
Dienstprogramm zur Erfüllung der Aufgabe. Möglicherweise müssen Sie die installieren dpkg-dev
Paket für den Fall der DPKG-Scanpackages
Befehl fehlt:
$ dpkg-scanpackages . | GZIP -c9> Pakete.GZ DPKG-Scanpackages: Info: schrieb 1 Einträge zur Ausgabe von Paketendatei.
Unser lokales Repository ist jetzt fertig.
Hinzufügen des Repositorys zu den Softwarequellen
An diesem Punkt müssen wir das bearbeiten, um unser Paket aus dem von uns erstellten lokalen Repository installieren zu können /etc/Apt/Quellen.Liste
Datei fügen Sie den Eintrag relativ dazu hinzu (ändern Sie die IP -Adresse, um die Ihres Computers widerzuspiegeln) und
Synchronisieren Sie die Repositorys:
Echo "Deb [Trusted = Ja] http: // 10.1.1.4/Debian ./"| Tee -a/etc/apt/Quellen.Liste> /dev /null
Stellen Sie sicher, dass Sie die oben genannten hinzufügen [Trusted = Ja]
Um die folgende Fehlermeldung zu vermeiden:
Release 'hat keine Release -Datei. N: Die Aktualisierung eines solchen Repositorys kann nicht sicher erfolgen und ist daher standardmäßig deaktiviert.
Repositorys synchronisieren:
$ sudo APT-Get Update IGN: 1 http: // 10.1.1.4/Debian ./Inrelease IGN: 2 http: // 10.1.1.4/Debian ./Release IGN: 3 http: // 10.1.1.4/Debian ./Pakete IGN: 3 http: // 10.1.1.4/Debian ./Pakete IGN: 3 http: // 10.1.1.4/Debian ./Pakete erhalten: 3 http: // 10.1.1.4/Debian ./ Pakete [303 B]
Um unser Paket zu installieren, können wir jetzt das APT-Get-Tool verwenden:
$ sudo apt-Get Installieren Sie LinuxConfig-Lesen-Paket-Listen… Erstellen von Abhängigkeitsbaum-Lesen Status Informationen. Müssen 3174 b Archive bekommen. Nach diesem Betrieb werden 1.049 KB zusätzlicher Festplattenraum verwendet. WARNUNG: Die folgenden Pakete können nicht authentifiziert werden! LinuxConfig Installieren Sie diese Pakete ohne Überprüfung [y/n]? y
Ausführen:
$ LinuxConfig LinuxConfig.Org
Um das Paket aus dem System zu entfernen, führen Sie einfach aus:
$ sudo apt-get linuxconfig-Lesenspaketlisten entfernen Sie Informationen zum Erstellen von Abhängigkeitsbaum-Lesen Status. Nach diesem Betrieb wird 1049 KB -Scheibenraum befreit. Möchtest du fortfahren? [Y/n] y
Verwandte Linux -Tutorials:
- Eine Einführung in Linux -Automatisierung, Tools und Techniken
- Dinge zu installieren auf Ubuntu 20.04
- Mastering -Bash -Skriptschleifen beherrschen
- Mint 20: Besser als Ubuntu und Microsoft Windows?
- Wie man mit der Woocommerce -REST -API mit Python arbeitet
- Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
- So erstellen Sie temporäre Dateien mit MKTemp unter Linux
- So bauen Sie ein Paket mit dem Arch Linux Build -System wieder auf
- So erstellen Sie eine Flatpak -Anwendung von Grund auf neu
- So arbeiten Sie mit DNF -Paketgruppen
- « So richten Sie einen LEMP -Server auf Debian 10 Buster ein
- So installieren Sie NextCloud unter Debian 10 Buster Linux »