GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So erstellen Sie Ihr eigenes Repository für Pakete unter Debian

Es gibt verschiedene Gründe, warum Sie Ihr eigenes lokales Repository erstellen möchten. Es ist eine großartige Möglichkeit, ein lokales Spiegel-Repository zum Zwischenspeichern häufig verwendeter Pakete zu erstellen, die von vielen Computern verwendet werden, um Bandbreitennutzung zu sparen, oder Sie haben möglicherweise ein paar modifizierte Pakete, die Sie dem Entwicklerteam intern zur Verfügung stellen möchten.

In diesem Tutorial zeigen wir Ihnen, wie Sie ganz einfach ein lokales Debian-Paket-Repository erstellen , kompatibel mit Debian- und Ubuntu-Versionen.

Schritt 1:Erforderliches Paket installieren

Auf Debian-basierten Systemen werden alle Repositories von den APT-Dienstprogrammen (apt, apt-get, apt-cache usw.) verwaltet. Das Paket dpkg-dev wird für die Erstellung eines lokalen Repositorys benötigt, das mit APT kompatibel ist.

Aktualisieren Sie zuerst die Systempakete mit dem folgenden Befehl:

$ sudo apt update && sudo apt upgrade

Als nächstes installieren Sie dpkg-dev Paket, indem Sie Folgendes eingeben:

$ sudo apt-get install dpkg-dev

Fahren Sie nach Abschluss der Paketinstallation mit der Erstellung eines Verzeichnisses für Ihre Paketdateien fort.

Schritt 2:Erstellen Sie ein Verzeichnis für das lokale Repository

Erstellen Sie ein Verzeichnis, um Binärpakete zu speichern. Für dieses Beispiel verwenden wir /opt/local/debs, aber Sie können jedes beliebige Verzeichnis verwenden.

$ sudo mkdir -p /opt/local/debs

Als nächstes wechseln Sie das Verzeichnis:

$ cd /opt/local/debs

Schritt 3:Pakete zum lokalen Repo-Verzeichnis hinzufügen

Für dieses Tutorial laden wir das Chrome-Browser-Paket in unser lokales Repository herunter, da es nicht im Standard-Ubuntu-Repository zu finden ist:

$ sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

Sie können in diesem Schritt beliebig viele Pakete kopieren oder herunterladen.

Schritt 4:Erforderliches Repository-Paket-Meta für APT erstellen

Dazu müssen wir mehrere dpkg-scanpackages-Befehle ausführen. Ich wechsle zum Root-Benutzerkonto, da ich das /opt/local-Verzeichnis verwende, um die Verwendung von sudo zu überspringen.

$ sudo su

Zuerst erstellen wir eine Release-Datei, indem wir den folgenden Befehl ausführen:

# dpkg-scanpackages . /dev/null > Release

Abhängig davon, wie viele Pakete Sie dem lokalen Repository hinzugefügt haben, sollten Sie eine ähnliche Ausgabe erhalten:

dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: google-chrome-stable
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.

Scannen Sie als Nächstes alle deb-Dateien im Verzeichnis und erstellen Sie eine entsprechende Packages.gz-Datei

# dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

Ausgabe:

dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: google-chrome-stable
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.

Beachten Sie, dass Sie diese Befehle jedes Mal ausführen müssen, wenn Sie Ihrem lokalen Repository-Verzeichnis neue Deb-Pakete hinzufügen. Sie könnten auch ein einfaches Bash-Skript erstellen und es ausführen, wenn Sie neue Pakete hinzufügen.

Um die lokale Repo-Verzeichnisstruktur aufzulisten, führen Sie den Befehl ls aus:

$ ls -l

Ausgabe:

-rw-r--r-- 1 root root 83325072 May 8 02:29 google-chrome-stable_current_amd64.deb
-rw-r--r-- 1 root root 761 May 17 20:44 Packages.gz
-rw-r--r-- 1 root root 1321 May 17 20:39 Release

Schritt 5:Unser lokales Repository zu Sources.list hinzufügen

Der letzte Schritt besteht darin, die Datei sources.list zu bearbeiten. Bearbeiten Sie die Datei mit dem Editor Ihrer Wahl:

$ sudo nano /etc/apt/sources.list

Fügen Sie Ihrer /etc/apt/sources.list die folgende Zeile hinzu:

deb [trusted=yes] file:/opt/local/debs ./

Jetzt werden wir unser lokales Repository in Aktion testen.

Schritt 6:Bestätigung

Wir können dies überprüfen, indem wir die Pakete aus dem lokalen Repository installieren oder entfernen.

Zuerst müssen wir die Pakete aktualisieren:

$ sudo apt-get update

Nun installieren wir unser Paket wie gewohnt mit apt-get:

$ sudo apt-get install google-chrome-stable

Jetzt können Ihre lokalen Pakete mit Synaptic, aptitude und den apt-Befehlen installiert, aktualisiert und entfernt werden:apt-get, apt-cache usw. Wenn Sie apt-get install ausführen, werden alle Abhängigkeiten aufgelöst und für Sie installiert, solange wie sie erfüllt werden können.

Wir können unsere installierten Pakete genauso einfach entfernen wie jedes andere installierte Paket auf unserem System:

$ sudo apt-get remove google-chrome-stable

Schlussfolgerung

In diesem Tutorial haben wir gelernt, wie wir unser eigenes lokales Debian-Repository erstellen und Pakete lokal hinzufügen/entfernen. Diese Schritte gelten für die meisten Debian-basierten Distributionen.


Debian
  1. So erstellen Sie ein lokales Red Hat-Repository

  2. So erstellen Sie RPM für Ihr eigenes Skript in CentOS/RedHat

  3. So erstellen Sie einen Sudo-Benutzer in Debian

  4. So erstellen Sie eine Subdomain für Ihre Website

  5. So erstellen Sie ein lokales Yum-Repository für MySQL Enterprise-Pakete

Wie man ein Repository zu Debian hinzufügt

So finden Sie Ihre IP-Adresse unter Debian 11

So erstellen Sie Ihr erstes Java-Programm in Debian 10

So installieren Sie Backports und experimentelle Repositorys unter Debian 11

So erstellen Sie Ihren eigenen IPsec-VPN-Server unter Linux

So erstellen Sie Ihr eigenes VPN – Detaillierte Anweisungen