In einigen Situationen muss ein lokales Paket manuell mithilfe von installiert werden dpkg -i <packagename>
. Manchmal kann es weiter nützlich sein, die Funktionalität apt
dieses Pakets zu nutzen, sodass die Frage lautet:
Wie kann man mit einer Debian-basierten Linux-Distribution - wie Xubuntu 13.04 / Ubuntu - schnell ein lokales Repository für zufällige Pakete erstellen?
dpkg -i <packagename>
mitapt-get -f install
zu folgen , um erforderliche Pakete einzuziehen. Die übliche Sache, um ein passendes Repo für Debian zu erstellen, ist reprepro.apt
mit--fix-broken
nach der Installation eines lokalen Pakets mit erforderlich wäredpkg -i
? Würde sich dpkg nicht darum kümmern? Ich habe gelesen, dass es erforderlich sein kann, wenn apt zum ersten Mal ausgeführt wird. @ FM & Gilles: Über reprepro . Scheint nützlich, wenn ich es zum Laufen bringen könnte (nicht sicher über dir struct, Inhalt von 3 Dateien oder Parameter zur Laufzeit). Versuche es erneut und aktualisiere oder poste die vollständige Frage.dpkg
löst Abhängigkeiten nicht auf,apt
tut es aber .dpkg
warnt vor kaputten Abhängigkeiten, ist aber auf niedrigem Niveau, versucht also nicht, diese zu beheben. Dasdpkg -i *.deb
gefolgt vonapt-get -f install
ist Standardverfahren. Es gibt einen Fehler in der Wunschliste, derapt
sich um die Installation lokaler Pakete kümmert, und ich glaube, es gibt sogar einen Patch, der jedoch noch nicht implementiert wurde. Siehe apt-get install könnte auch lokale Paketdateien installieren , die ursprünglich im Jahr 1999 eingereicht wurden.Antworten:
Dies sollte von der Situation unterschieden werden, in der Sie versuchen, einen vollständigen Paketbaum aus einem offiziellen Repository zu replizieren und die Priorität der Quellen zu optimieren . Zufällige Pakete sind virtuelle Pakete, Pakete, die zu Testzwecken lokal kompiliert oder stückweise kopiert werden. Hier ist ein einfaches Setup, das auf veralteter Dokumentation basiert .
Erstellen Sie zunächst ein Verzeichnis zum Hosten der Pakete:
Verschieben Sie dann Ihre .deb-Paketdateien dorthin. Führen Sie diesen Befehl aus dem Verzeichnis über dem gerade erstellten aus (stellen Sie sicher, dass die Berechtigungen dies zulassen!):
Erstellen Sie nun eine Datei mit der Endung
.list
in/etc/apt/sources.list.d/
mit dem Inhalt:und aktualisiere die apt Datenbank:
Zu diesem Zeitpunkt können die Pakete in unserem lokalen Repository wie jedes andere Paket mit installiert werden
apt-get install <packagename>
. Wenn dem lokalen Repository neue Pakete hinzugefügt werden,dpkg-scanpackages
muss der vorgeschriebene Befehl erneut ausgegeben werden, um die Datei Packages.gzapt
zu aktualisieren. Er muss aktualisiert werden, bevor die neuen Pakete verfügbar gemacht werden. Hoffentlich kann dies zu Testzwecken nützlich sein.quelle
[trusted=yes]
zwischendurchdeb
diefile:///
URI (siehesources.list(5)
Manpage), sonstapt-get update
scheitert es an der fehlenden Signatur.Wenn Sie ein Repo mit der vollständigen Struktur erstellen möchten, die Sie für Tools wie Debootstrap benötigen, ist der einfachste Weg, den ich gefunden habe:
Erstellen Sie ein Repository-Verzeichnis.
Erstellen Sie ein conf-Unterverzeichnis.
Erstellen Sie eine / opt / debian / conf / distributions-Datei mit dem folgenden Inhalt (passen Sie ihn an die von Ihnen verwendete Distribution an):
Importieren Sie Ihr Paket mit reprepro.
Importieren Sie eine Reihe von Paketen mit einer Shell-for-Schleife, z. B. alles aus Ihrem APT-Cache:
Dadurch wird ein nicht signiertes Archiv erstellt. Es kann mit debootstrap mit der Option --no-check-gpg verwendet werden.
quelle