Website-Suche

Erstellen Sie ein „.deb Package Repository“ auf Sourceforge.net mit dem „Reprepro“-Tool in Ubuntu


Reprepro ist ein kleines Befehlszeilentool zum einfachen Erstellen und Verwalten von .deb-Repositorys. Heute zeigen wir, wie man mit reprepro ganz einfach Debian-Paket-Repositorys erstellt und wie das geht Laden Sie es mit dem Befehl rsync auf Sourceforge.net hoch.

Schritt 1: Reprepro installieren und Schlüssel generieren

Installieren Sie zunächst alle erforderlichen Pakete mit dem folgenden apt-get-Befehl.

sudo apt-get install reprepro gnupg

Jetzt müssen Sie mit gnupg einen GPG-Schlüssel generieren. Wenden Sie dazu diesen Befehl an.

gpg --gen-key

Es werden Ihnen einige Fragen gestellt, z. B. die Art des Schlüssels, den Sie benötigen, und wie lange der Schlüssel gültig sein soll. Wenn Sie nicht wissen, was Sie antworten sollen, klicken Sie einfach auf Eingabe, um die Standardoptionen anzuzeigen (empfohlen). ).

Natürlich werden Sie nach einem Benutzernamen und einem Passwort gefragt. Merken Sie sich diese, denn wir werden sie später benötigen.

gpg (GnuPG) 1.4.14; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
Your selection? 
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
        = key expires in n days
      w = key expires in n weeks
      m = key expires in n months
      y = key expires in n years
Key is valid for? (0) 
Key does not expire at all
Is this correct? (y/N) Y

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) <[email >"

Real name: ravisaive
Email address: [email 
Comment: tecmint
You selected this USER-ID:
    "Ravi Saive (tecmint) <[email >"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.

+++++
gpg: key 2EB446DD marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   2048R/2EB446DD 2014-06-24
      Key fingerprint = D222 B1C9 342E 5911 02B1  9147 3BD6 7918 2EB4 46DD
uid                  Ravi Saive (tecmint) <[email >
sub   2048R/7EF2F750 2014-06-24

Jetzt wird Ihr Schlüssel generiert. Um zu überprüfen, ob dies der Fall ist, führen Sie diesen Befehl mit Root-Rechten aus.

sudo gpg --list-keys
Beispielausgabe
/home/ravisaive/.gnupg/pubring.gpg
----------------------------------
pub   2048R/2EB446DD 2014-06-24
uid                  ravisaive (tecmint) <[email >
sub   2048R/7EF2F750 2014-06-24

Schritt 2: Erstellen Sie ein Paket-Repository und einen Exportschlüssel

Wir beginnen jetzt mit der Arbeit zum Erstellen des Repositorys. Zuerst müssen Sie einige Ordner erstellen. Unser Repository befindet sich im Verzeichnis /var/www/apt. Erstellen wir also einige Ordner.

sudo su
cd /var/www
mkdir apt
mkdir -p ./apt/incoming 
mkdir -p ./apt/conf
mkdir -p ./apt/key

Sie müssen nun den von Ihnen erstellten Schlüssel in den Repository-Ordner exportieren und ausführen.

gpg --armor --export username [email  >> /var/www/apt/key/deb.gpg.key

Hinweis: Ersetzen Sie den Benutzernamen durch den Benutzernamen, den Sie im obigen Schritt eingegeben haben, und [email  durch Ihre E-Mail-Adresse.

Wir müssen eine Datei namens „distributions“ innerhalb von /var/www/apt/conf erstellen.

touch /var/www/apt/conf/distributions

Fügen Sie die folgenden Zeilen zur Distributionsdatei hinzu und speichern Sie die Datei.

Origin: (yourname)
Label: (name of repository)
Suite: (stable or unstable)
Codename: (the codename for the distribution you are using, like trusty)
Version: (the version for the distribution you are using, like 14.04)
Architectures: (the repository packages  architecture, like i386 or amd64)
Components: (main restricted universe multiverse)
Description: (Some information about the repository)
SignWith: yes

Als nächstes müssen wir den Repository-Baum erstellen. Führen Sie dazu diese Befehle aus.

reprepro --ask-passphrase -Vb /var/www/apt export
Beispielausgabe
Created directory "/var/www/apt/db"
Exporting Trusty...
Created directory "/var/www/apt/dists"
Created directory "/var/www/apt/dists/Trusty"
Created directory "/var/www/apt/dists/Trusty/universe"
Created directory "/var/www/apt/dists/Trusty/universe/binary-i386"
FF5097B479C8220C ravisaive (tecmint) <[email > needs a passphrase
Please enter passphrase:
Successfully created '/var/www/apt/dists/Trusty/Release.gpg.new'
FF5097B479C8220C ravisaive (tecmint) <[email > needs a passphrase
Please enter passphrase:
Successfully created '/var/www/apt/dists/Trusty/InRelease.new'

Schritt 3: Pakete zum neu erstellten Repository hinzufügen

Bereiten Sie nun Ihre .deb-Pakete vor, die dem Repository hinzugefügt werden sollen. Gehen Sie in das Verzeichnis /var/www/apt. Dies müssen Sie jedes Mal tun, wenn Sie Pakete hinzufügen möchten.

cd /var/www/apt
reprepro --ask-passphrase -Vb . includedeb Trusty /home/ravisaive/packages.deb

Hinweis: Ersetzen Sie trusty durch den Codenamen, den Sie für das Repository in der Distributionsdatei eingegeben haben, und ersetzen Sie /home/username/package .deb mit dem Pfad zum Paket, Sie werden aufgefordert, die Passphrase einzugeben.

Beispielausgabe
/home/ravisaive/packages.deb : component guessed as 'universe'
Created directory "./pool"
Created directory "./pool/universe"
Created directory "./pool/universe/o"
Created directory "./pool/universe/o/ojuba-personal-lock"
Exporting indices...
FF5097B479C8220C ravisaive (tecmint) <[email > needs a passphrase
Please enter passphrase:
Successfully created './dists/Trusty/Release.gpg.new'
FF5097B479C8220C ravisaive (tecmint) <[email > needs a passphrase
Please enter passphrase:
Successfully created './dists/Trusty/InRelease.new'

Ihr Paket wird zum Repository hinzugefügt, um es zu entfernen.

reprepro --ask-passphrase -Vb /var/www/apt remove trusty  package.deb

Und natürlich müssen Sie den Befehl mit Ihrem Paketnamen und dem Repository-Codenamen ändern.

Schritt 4: Laden Sie das Repository auf Sourceforge.net hoch

Um das Repository auf Sourceforge.net hochzuladen, benötigen Sie dort natürlich ein laufendes Konto und ein laufendes Projekt. Nehmen wir an, Sie möchten das Repository auf http://sourceforge hochladen .net/projects/myfoo/testrepository wobei myfoo Ihr Projektname ist (UNIX-Name, nicht URL, nicht der Titel) und testrepository der Ordner ist, in den Sie die Dateien hochladen möchten. Wir werden dies mit rsync tun Befehl.

rsync -avP -e ssh /var/www/apt/ [email :/home/frs/project/myfoo/testrepository/

Hinweis: Ersetzen Sie username durch Ihren Benutzernamen auf sourceforge.net und myfoo durch den UNIX-Namen Ihres Projekts und testrepository durch den Ordner, in dem Sie die Dateien speichern möchten.

Damit ist Ihr Repository nun auf http://sourceforge.net/projects/myfoo/testrepository hochgeladen. Um es zu Ihrem installierten System hinzuzufügen, müssen Sie zuerst den Repository-Schlüssel importieren. Er befindet sich in < b>/var/www/apt/key/deb.gpg.key, aber das ist ein lokaler Pfad und die Benutzer Ihres Repositorys können ihn nicht zu ihren Systemen hinzufügen, deshalb werden wir es tun Importieren des Schlüssels von sourceforge.net.

sudo su
wget -O - http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key | apt-key add -

Sie können das Repository jetzt ganz einfach zu Ihrem System hinzufügen, öffnen Sie /etc/apt/sources.list und fügen Sie diese Zeile hinzu.

deb http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key trusty main

Hinweis: Ersetzen Sie „myfoo“ durch den UNIX-Namen Ihres Projekts, „trusty“ durch den Codenamen Ihres Repositorys, „testrepository“ durch den Ordner, in den Sie die Dateien hochgeladen haben, und „main“ durch die Repository-Komponenten, denen Sie hinzugefügt haben die Distributionsdatei.

Führen Sie als Nächstes Folgendes aus, um die Repository-Liste zu aktualisieren.

sudo apt-get update

Herzlichen Glückwunsch! Ihr Repository ist aktiv! Wenn Sie möchten, können Sie jetzt ganz einfach Pakete daraus installieren.