Holen Sie sich Paketquellen und Repository-Link


10

Gibt es eine Möglichkeit (dpkg, apt?), Die Quellen und die URL eines Pakets in Debian in das Repository zu übertragen, falls verfügbar?

Antworten:


3

Was ist mit sudo apt-get source packageName? Es installiert den neuesten verfügbaren Quellbaum, sofern verfügbar, im aktuellen Arbeitsverzeichnis.

Überprüfen Sie man apt-getfür weitere Details.


Ich brauche nur den Namen. Gibt es einen Weg, um es zu bekommen? Wie kann ich auch die Git-Repo-URL erhalten, von der das Paket heruntergeladen wird?
Marius Cotofana

3
Hier gibt es keine wirkliche Notwendigkeit sudo, oder?
sr_

6

für die neueste Version:

apt-get download --print-uris package | cut -d' ' -f1

für bestimmte Version

apt-get download --print-uris package=version | cut -d' ' -f1

5

apt-cache policy package Zeigt an, welche Versionen von welchen Repositorys installiert werden können.

bash$ apt-cache policy dpkg
dpkg:
  Installed: 1.16.1.2ubuntu7.1
  Candidate: 1.16.1.2ubuntu7.1
  Version table:
 *** 1.16.1.2ubuntu7.1 0
        500 http://fi.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        500 http://mirrors.nic.funet.fi/ubuntu/ precise-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     1.16.1.2ubuntu7 0
        500 http://fi.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

5

So erhalten Sie die Quelle:
Überprüfen Sie, ob Sie eine deb-srcLeitung haben /etc/apt/sources.list.
Führen Sie als root aus apt-get build-dep package.
Führen Sie als normaler Benutzer aus apt-get source package.

Um die URL zu erhalten, gehen Sie zu http://packages.debian.org/source/sourcepackage. Anschließend erhalten Sie eine Liste der verschiedenen Versionen in den unterstützten Archiven.
Wenn sich der Name des Quellpakets von der Binärdatei unterscheidet, befindet er sich in der Paketbeschreibung in der zweiten Zeile.
grep -A1 binpackagename /var/lib/apt/*Packages |grep Sourcesollte den Trick machen.


5

Versuchen:

apt-get install --yes --no-download --reinstall --print-uris package-name

Sie können nur URL extrahieren, indem Sie Folgendes hinzufügen: | tail -n1 | grep -o "http[^']\+"


funktioniert nicht für mich
Lalebarde

Hat für mich gearbeitet, danke. Der wichtige Teil ist--print-uris
Gabriel Devillers

Funktioniert nicht, wenn das Paket nicht erfüllte Deps hat
Evan Carroll


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.