[gelöst] Repository-Zugehörigkeit eines gegebenen Pakets ermitteln

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
bullgard
Beiträge: 1651
Registriert: 14.09.2012 23:03:01

[gelöst] Repository-Zugehörigkeit eines gegebenen Pakets ermitteln

Beitrag von bullgard » 27.06.2018 03:49:46

Hallo debianforum.de,
[Debian unstable, Xfce]
wie ermittelt man, zu welcher Komponente des Repositoriums ein gegebenes installiertes Paket gehört?

Code: Alles auswählen

~$ man 5 sources.list
gibt aus:
Das Format für zwei Einträge im einzeiligen Stil, die die deb- und deb-src-Typen benutzen, ist:

deb [ Option1=Wert1 Option2=Wert2 ] URI Suite [Bestandteil1] [Bestandteil2] [...]
deb-src [ Option1=Wert1 Option2=Wert2 ] URI Suite [Bestandteil1] [Bestandteil2] [...]
Wie ermittelt man also, ob im Bestandteil1, Bestandteil2 oder Bestandteil3?
Mit freundlichen Grüßen
bullgard
Zuletzt geändert von bullgard am 29.06.2018 04:41:33, insgesamt 1-mal geändert.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Repository-Zugehörigkeit eines gegebenen Pakets ermitteln

Beitrag von rendegast » 27.06.2018 06:11:28

Code: Alles auswählen

apt-cache policy paket
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Repository-Zugehörigkeit eines gegebenen Pakets ermitteln

Beitrag von ThorstenS » 27.06.2018 14:43:33

Du kannst auch mal diesen unglaublich ineffektiven Code laufen lassen, um sämtliche installierte Pakete aufzudröseln:

Code: Alles auswählen

time for i in $(aptitude search ~i -F "%p"); do apt-cache madison $i ; done | tee maddddisson-$(date -I)
Es wird dir je einze Zeile pro Paket ausgespukt, in der folgendes steht:
  • Paketname
  • Version
  • URL
  • release/component
  • source | architecure
Es gib idR mehrere Zeilen pro Paket, weil es mehrere installierbare Versionen geben kann und natürliche sourcen und bei multiarch auch mehrer Architekturen.

Mit dem Aufruf schaue ich nach Upgrades gerne nach, ob z.B. alle Pakete aus oldstable entfernt sind.

bullgard
Beiträge: 1651
Registriert: 14.09.2012 23:03:01

Re: Repository-Zugehörigkeit eines gegebenen Pakets ermitteln

Beitrag von bullgard » 28.06.2018 18:49:02

Hallo rendegast,
rendegast hat geschrieben: ↑ zum Beitrag ↑
27.06.2018 06:11:28

Code: Alles auswählen

apt-cache policy paket
(Das hatte ich doch schon in den Händen!)
bei mir gibt

Code: Alles auswählen

apt-cache policy systemd
aus:
systemd:
Installiert: 239-1
Installationskandidat: 239-1
Versionstabelle:
*** 239-1 500
500 http://ftp2.de.debian.org/debian unstable/main amd64 Packages
100 /var/lib/dpkg/status
238-1.1 500
500 http://ftp.spline.de/pub/siduction/fixes unstable/main amd64 Packages
Warum gibt dann aber

Code: Alles auswählen

~$ sr deblogs systemd
aus
http://changelogs.debian.net/systemd:
Debian source package changelog viewer
Error: No such package
The package name you provided, systemd, does not seem to exist in the Sources file (for main).
?
MfG
bullgard
Zuletzt geändert von bullgard am 28.06.2018 19:01:24, insgesamt 1-mal geändert.

Benutzeravatar
smutbert
Beiträge: 8342
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Repository-Zugehörigkeit eines gegebenen Pakets ermitteln

Beitrag von smutbert » 28.06.2018 19:00:17

ich weiß nicht was sr für ein Befehl sein soll, aber ich vermute im Gegensatz zum ersten Befehl (apt-cache), bei dem es sich um das Binärpaket Debiansystemd dreht, geht es dabei um das Quellcodepaket Debiansystemd.
Mit apt-src kommt man beispielsweise nur weiter, wenn man das entsprechende Quellcodepaket auch mit apt-src „installiert“ hat.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Repository-Zugehörigkeit eines gegebenen Pakets ermitteln

Beitrag von rendegast » 29.06.2018 00:26:25

bullgard hat geschrieben: Warum gibt dann aber
~$ sr deblogs systemd
aus ...
Da war doch mal was
viewtopic.php?f=29&t=169866&p=1175945&h ... w#p1175945
Das in deblogs verwendete changelogs.debian.net ist kaputt/obsolet.


Zumindest für systemd sind momentan alle Links (stretch / stretch-backports / testing/buster / sid)
packages.debian.org/systemd -> entsprechende changelogs
funktionierend.





----------------------------------------------------------------
Ein eigener changelog-Browser in der Art

Code: Alles auswählen

PACK=$1
{
wget --quiet -O - https://packages.debian.org/stable/$PACK
#wget --quiet -O - https://packages.debian.org/stable-backports/$PACK

wget --quiet -O - https://packages.debian.org/stretch-updates/$PACK
}  |  egrep -o "\"http.*metadata.*changelog\""  |  sort -V  | tail -n1
Zuletzt geändert von rendegast am 29.06.2018 05:57:25, insgesamt 2-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

bullgard
Beiträge: 1651
Registriert: 14.09.2012 23:03:01

Re: Repository-Zugehörigkeit eines gegebenen Pakets ermitteln

Beitrag von bullgard » 29.06.2018 04:37:02

Hallo smutbert,
smutbert hat geschrieben: ↑ zum Beitrag ↑
28.06.2018 19:00:17
ich weiß nicht was sr für ein Befehl sein soll, aber ich vermute im Gegensatz zum ersten Befehl (apt-cache), bei dem es sich um das Binärpaket Debiansystemd dreht, geht es dabei um das Quellcodepaket Debiansystemd.
Mit apt-src kommt man beispielsweise nur weiter, wenn man das entsprechende Quellcodepaket auch mit apt-src „installiert“ hat.
sr steht für »surfraw«.
Aus der Beschreibung des DEB-Programmpakets »surfraw«: "Surfraw - Shell Users' Revolutionary Front RAge Against the World Wide Web."
/usr/bin/sr ein Softlink auf /usr/bin/surfraw .
Vielen Dank!
Gruß
bullgard

bullgard
Beiträge: 1651
Registriert: 14.09.2012 23:03:01

Re: Repository-Zugehörigkeit eines gegebenen Pakets ermitteln

Beitrag von bullgard » 29.06.2018 04:40:40

Hallo rendegast,
rendegast hat geschrieben: ↑ zum Beitrag ↑
29.06.2018 00:26:25
bullgard hat geschrieben: Warum gibt dann aber
~$ sr deblogs systemd
aus ...
Da war doch mal was
viewtopic.php?f=29&t=169866&p=1175945&h ... w#p1175945
Das in deblogs verwendete changelogs.debian.net ist kaputt/obsolet.
Zumindest für systemd sind momentan alle Links (stretch / stretch-backports / testing/buster / sid)
packages.debian.org/systemd -> entsprechende changelogs
funktionierend.
----------------------------------------------------------------
Ein eigener changelog-Browser in der Art

Code: Alles auswählen

PACK=$1
{
wget --quiet -O - https://packages.debian.org/stable/$PACK
wget --quiet -O - https://packages.debian.org/stable-updates/$PACK
}  |  egrep -o "\"http.*metadata.*changelog\""  |  sort -V  | tail -n1
Ah! Wunderbar!
Vielen Dank!
Gruß
bullgard

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] Repository-Zugehörigkeit eines gegebenen Pakets ermitteln

Beitrag von rendegast » 29.06.2018 13:23:24

Anm.
/stable-updates/ gibt es in dem Zusammenhang leider nicht (jedoch /stable-backports/),
habe das oben korrigiert zu

Code: Alles auswählen

...
wget --quiet -O - https://packages.debian.org/stable/$PACK
#wget --quiet -O - https://packages.debian.org/stable-backports/$PACK

wget --quiet -O - https://packages.debian.org/stretch-updates/$PACK
...
/stable-backports/ ist hier noch auskommentiert,
in vielen Installationen dürfte auch /stable-updates/ nicht aktiviert sein.
Jedoch sind bei aktiviertem /stable-updates/ alle Pakete von dort für die Installation relevant.
security.debian stable/updates liefert gelegentlich vom Stammrepo unterschiedliche Pakete aus,
jedoch sind diese im allgemeinen in packages.debian.org/stable/ eingeschlossen
(momentanes Beispiel für einen solchen Fall wäre Debianwireshark).





-----------------------------------------------------------------------------------
Habe es etwas ausgearbeitet, sr-deblogs.sh:

Code: Alles auswählen

#!/bin/sh

PACK=$1
[ "x$PACK" = "x" ] && { echo "Bitte Paket angeben"; exit 0; }

apt-cache policy $PACK
echo "-------------------------------------------------------------
"

TMPf=$(tempfile)
echo "https://packages.debian.org/stable/$PACK" > $TMPf

REL=$(lsb_release -cs 2>/dev/null)
[ "x$REL" = "x" ] || { echo "https://packages.debian.org/${REL}-updates/$PACK" >> $TMPf; }

WITH_BACKP=$2
[ "x${WITH_BACKP}" = "x" ] || { echo "https://packages.debian.org/stable-backports/$PACK" >> $TMPf; }

URL=$({
    wget --quiet -O - -i $TMPf
}  |  egrep -o "\"http.*metadata.*changelog\""  |  sort -V  | tail -n1)

grep -n . $TMPf
echo "-------------------------------------------------------------
"

eval www-browser -dump $URL

rm $TMPf
Ohne das 'eval' gibt es einen Fehler von www-browser wegen der übergebenen Anführungszeichen.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten