Wie zwingen Sie apt-get source, das angeforderte Paket abzurufen?

Wie zwingen Sie apt-get source, das angeforderte Paket abzurufen?
$ apt-get source libtiff4
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Picking 'tiff3' as source package instead of 'libtiff4'
E: Unable to find a source package for tiff3

Wenn ich -f hinzufüge, ändert sich das Verhalten nicht. Was verursacht das und wie erzwinge ich, dass das gewünschte Paket heruntergeladen wird?

Basierend auf einer Suche kann ich nicht einmal sagen, wo es die Idee von tiff3 bekommt

$ apt-cache search libtiff
libtiff-doc - TIFF manipulation and conversion documentation
libtiff-tools - TIFF manipulation and conversion tools
libtiff5 - Tag Image File Format (TIFF) library
libtiff5-alt-dev - Tag Image File Format library (TIFF), alternative development files
libtiff5-dev - Tag Image File Format library (TIFF), development files
libtiffxx5 - Tag Image File Format (TIFF) library -- C++ interface
gem-plugin-tiff - Graphics Environment for Multimedia - TIFF support
libtiff-opengl - TIFF manipulation and conversion tools
libtiff4 - Tag Image File Format (TIFF) library (old version)
libtiff4-dev - Tag Image File Format (TIFF) library (old version), development files
libtiffxx0c2 - Tag Image File Format (TIFF) library (old version) -- C++ interface
pngtools - series of tools for PNG (Portable Network Graphics) images
python-libtiff - wrapper to the libtiff library to Python using ctypes

Antwort1

Es besteht keine 1:1-Beziehung zwischen Binärpaketen und den entsprechenden Quellpaketen. Gründe dafür sind:

  • In einigen Fällen werden mehrere Binärpakete aus einer einzigen Quelle abgeleitet
  • Die Namen werden leicht unterschiedlich sein, um die Versionierung des Binärpakets widerzuspiegeln
  • Einige Pakete enthalten nicht direkt Binärdateien, sondern geben stattdessen nur Abhängigkeitspakete an, die installiert werden sollen.

Ich kann Ihr spezielles Problem nicht reproduzieren, vielleicht weil ich eine neuere Version von Ubuntu installiert habe. Unten finden Sie eine Schritt-für-Schritt-Anleitung für ein ähnliches Problem mit einer ähnlichen Bibliothek (beachten Sie, dass in meinem Beispiel alles bereits installiert ist, die angezeigten Informationen zu Zuordnung und Abhängigkeiten jedoch weiterhin relevant sind). Dies sollte einige gute Hinweise zum Umgang mit dieser Art von Problem geben.

Ich habe erfolgreich ein Paket namens installiert libjpeg8:

$ sudo apt-get install libjpeg8
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libjpeg8 is already the newest version.

Ich versuche, die Quelle abzurufen, aber sie wird auf etwas mit dem Suffix neu zugeordnet -empty.

$ apt-get source libjpeg8
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Picking 'libjpeg8-empty' as source package instead of 'libjpeg8'
Skipping unpack of already unpacked source in libjpeg8-empty-8c

Ich liste die Abhängigkeiten des gewünschten Pakets auf und stelle fest libjpeg-turbo8:

$ apt-cache depends libjpeg8
libjpeg8
  Depends: libjpeg-turbo8
  Replaces: libjpeg8:i386
  Breaks: libjpeg8:i386

Ich installiere die Quelle für libjpeg-turbo8und erhalte die Quelle, die ich brauche:

$ apt-get source libjpeg-turbo8
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Picking 'libjpeg-turbo' as source package instead of 'libjpeg-turbo8'
Skipping unpack of already unpacked source in libjpeg-turbo-1.3.0

Antwort2

Stellen Sie sicher, dass Ihr Häkchen bei „Quellcode“ unter „Software und Updates“ gesetzt ist.

Screenshot von Software und Updates

Wenn nicht, markieren Sie es, öffnen Sie ein Terminal und:

sudo apt-get update

(Sie müssen dies wahrscheinlich nicht tun, wenn Sie ein Dialogfeld erhalten, in dem Sie aufgefordert werden, die Paketliste neu zu laden, nachdem Sie ein Häkchen gesetzt haben, falls dies nicht der Fall war) und führen Sie dann Folgendes aus:

apt-get source libtiff4-dev

um den Quellcode für libtiff4 abzurufen.

verwandte Informationen