Weisen Sie meinem lokalen Repository die höchste Priorität zu

39

Zusammenfassung

Wie kann ich dafür sorgen, dass apt-get lokale Repository-Pakete bevorzugt, anstatt dieselbe Paketversion erneut von offiziellen Repositorys herunterzuladen? Das lokale Repository ist signiert und vertrauenswürdig. Wir haben bereits versucht, Prioritäten für apt-Einstellungen festzulegen.


Die ursprüngliche Frage lautete: "So weisen Sie dem lokalen Repository die höchste Priorität zu, ohne die Datei sources.list zu verwenden"

Ich habe ein lokales Repository mit heruntergeladenen Paketen eingerichtet. Ich benutze es, um das Herunterladen der gleichen Pakete über das Internet zu vermeiden, wenn ich mein Ubuntu neu installieren muss. Es ist ein Basis-Repository, das mit erstellt wurde apt-ftparchive packages . > Packages. Ich habe dies zu einem vertrauenswürdigen Repository gemacht, um die Warnung "Nicht authentifiziertes Repository" zu vermeiden. ( Wenn Sie ein nicht vertrauenswürdiges Repository haben aptoder synapticversuchen, dieselben Pakete über das Internet herunterzuladen, weil es vertrauenswürdig ist ).

Ich benutze dieses lokale Repository seit mindestens 1 Jahr. Aber ich muss immer meine lokale Repository-Zeile am Anfang der sources.listDatei platzieren, um dies zu nutzen. Dies ist jedoch ärgerlich, da ich jedes Mal, wenn ich Ubuntu neu installiere, ein Terminal öffnen und etwas darauf tippen muss, obwohl es ein besseres Tool gibt software-properties-gtk. Ich kann dieses Tool nicht verwenden, da es die Quellzeile am Ende von `sources.list platziert.

Und das eigentliche Problem ist, dass das apt oder synapticimmer ein Paket von der zuvor genannten Quelle heruntergeladen wird, ohne zu prüfen, ob die Pakete bereits im lokalen Repository verfügbar sind. Ich habe also keine andere Wahl, als die lokale Quelle an die Spitze des sources.listTerminals zu setzen (ich hasse Terminal eigentlich nicht, aber ich brauche eine Lösung).

Ich habe diese Methode ausprobiert . Das hilft mir aber nicht.

Meine Einstellungsdatei ist diese in /etc/apt/preferences.d/local-pin-900

    Package: *
    Pin: release o=Local,n=ubuntu-local
    Pin-Priority: 900

Meine Release-Datei ist dies

    Origin: Local
    Label: Local-Ubuntu
    Description: Local Ubuntu Repository
    Codename: ubuntu-local
    MD5Sum:
     ed43222856d18f389c637ac3d7dd6f85          1043412 Packages
     d41d8cd98f00b204e9800998ecf8427e                0 Sources

Wenn ich die apt-Einstellung aktiviere, wird die Einstellung apt-cache policykorrekt angezeigt, z. B. wird angezeigt, dass das lokale Repository die höchste Priorität hat.

Aber wenn ich das tue sudo apt-get install <package-name>, aptversuche ich es aus dem Internet herunterzuladen. Wenn ich mein lokales Repository oben platziere, wird es aus dem lokalen Repository installiert.

Also, meine Frage ist -> ‚Ist es möglich , passend zu zwingen lokale Repository zu verwenden , wenn das Paket in lokalen Repository verfügbar ist, ohne explizit‚die lokale Quelle‘an der Spitze meiner Repository - Liste zu platzieren (zB sources.list - Datei)? '

Bearbeiten: Ausgabe von apt-cache policy $package_nameist wie folgt

  
nautilus-wipe:
  Installiert: (keine)
  Kandidat: 0.1.1-2
  Versionstabelle:
     0,1,1-2 0
        500 http://archive.ubuntu.com/ubuntu/ exact / universe i386-Pakete
        900 Datei: / media / Main / Linux-Software / Ubuntu / Precise / Packages

Es zeigt, dass mein lokales Repository eine höhere Priorität hat, obwohl es nicht dasjenige ist, das in der sources.listDatei an erster Stelle steht .

Hier ist die Ausgabe von apt-get install nautilus-wipe

Paketlisten lesen ... Fertig
Abhängigkeitsbaum erstellen       
Statusinformationen werden gelesen ... Fertig
Die folgenden NEUEN Pakete werden installiert:
  nautilus-wischen
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 131 nicht aktualisiert.
Benötigt 30,7 kB Archive.
Nach diesem Vorgang werden 150 KB zusätzlicher Speicherplatz verwendet.
'http://archive.ubuntu.com/ubuntu/pool/universe/n/nautilus-wipe/nautilus-wipe_0.1.1-2_i386.deb' nautilus-wipe_0.1.1-2_i386.deb 30730 MD5Summe: 7d497b8dfcefe1c0b51a45f4b0

Es wird immer noch versucht, die Datei aus dem Internet abzurufen, obwohl ich der Meinung bin, dass sie mit der lokalen Datei zufrieden sein sollte.


Ergebnis der Verwendung von "" oder localhost, wie von mediageek vorgeschlagen

Die Verwendung von localhost hat keine Auswirkung. aber "" hat sich doch nicht von meiner methode unterschieden

    Package: *
    Pin: origin ""
    Pin-Priority: 1001

Ich habe sie vor dem Posten der Frage benutzt. Aber ich habe es erneut versucht (aus Gewissheit). Das gleiche Ergebnis. apt-cache policyDies zeigt, dass mein lokales Repository tatsächlich die höchste Priorität hat. aber als ich versuchte, es zu installieren, sagt es "Notwendigkeit, XXX / XXX KB des Archivs zu erhalten".

Anwar
quelle
War das Paket in Ihrem lokalen Repository neuer / gleich dem offiziellen Paket?
Tumbleweed
Ja, natürlich habe ich es mit dem apt-getBefehl überprüft . Es heißt "0 KB müssen heruntergeladen werden".
Anwar
Sie möchten es überprüfen mitapt-cache policy
Tumbleweed
Der vorherige Kommentar war ein Fehler. Ich dachte, ich gebe es in meiner anderen Frage (in Bezug auf die Installation von Software mit Software-Center aus dem lokalen Repository). Ja, ich habe es bereits überprüft und festgestellt, apt-cache policydass das lokale Repository eine höhere Priorität hat. Aber immer noch apt-getversuchen, es aus dem Internet zu installieren. Ich denke, dass es einfach nicht möglich ist, ohne sources.listDatei zu verwenden.
Anwar
Ich habe gefragt, ob apt-cache policygezeigt wurde, dass die Version dieselbe ist
Tumbleweed

Antworten:

52

Die kurze Antwort:

Über die APT-Voreinstellungsdatei / etc / apt / preferences kann gesteuert werden, welche Versionen von Paketen für die Installation ausgewählt werden .

Hier ist die Datei /etc/apt/preferences, die apt-getverwendet wird, um zu entscheiden, welche Version ausgewählt werden muss, wenn es viele Versionen eines einzelnen Pakets gibt. Damit hat jedes Paket, das aus dem lokalen Repository stammt, Vorrang vor den anderen Paketen.

Paket: *  
Pin: Ursprung ""  
Pin-Priorität: 1001  

Dies steuert nicht die Version, sondern die Quelleneinstellung, wenn beide Pakete dieselbe Version haben. Wenn Sie höchste Priorität für das gleiche Paket zuweisen Version in Ihrem lokalen Repo, schreiben Sie sie an der Spitze der /etc/apt/sources.listDatei>

Antwort auf die ursprüngliche Frage:

Wie ordne ich dem lokalen Repository die höchste Priorität zu, ohne die Datei sources.list zu verwenden?

Es gibt keine Möglichkeit, dem lokalen Repository die höchste Priorität zuzuweisen, ohne die sources.listDatei zu verwenden. Sie müssen sie oben in "sources.list" setzen, wenn Sie Ihrem lokalen Repo die höchste Priorität zuweisen möchten.

Zusammenfassende Antwort auf diese Frage:

Wie kann ich dafür sorgen, dass apt-get lokale Repository-Pakete bevorzugt, anstatt dieselbe Paketversion erneut von offiziellen Repositorys herunterzuladen? Das lokale Repository ist signiert und vertrauenswürdig. Wir haben bereits versucht, Prioritäten für apt-Einstellungen festzulegen.

Unter Verwendung der /etc/apt/sources.listDatei müssen Sie Ihre lokale Repository-Zeile am Anfang dieser Datei platzieren. wie die unten.

deb cdrom: [Kubuntu 12.04 LTS _Precise Pangolin_ - Release i386 (20120424)] / präzise main eingeschränkt
deb Datei: / media / Main / Precise-Debs-New /
deb Datei: / media / Main / Linux-Software / Ubuntu / Precise /

deb http://archive.ubuntu.com/ubuntu Genaues, auf das Hauptuniversum beschränktes Multiversum
deb-src http://archive.ubuntu.com/ubuntu präzises Universum Hauptmultiversum eingeschränkt #Added by software-properties

# deb cdrom: [Xubuntu 12.04 LTS_Precise Pangolin_ - Release i386 (20120423.1)] / präzises eingeschränktes Universum für mehrere Universen
# deb cdrom: [Ubuntu 12.04 LTS _Precise Pangolin_ - Release i386 (20120423)] / präzise main eingeschränkt

# deb http://archive.canonical.com/ubuntu genauer Partner
# deb-src http://archive.canonical.com/ubuntu präziser Partner
# deb http://extras.ubuntu.com/ubuntu genaue Haupt
# deb-src http://extras.ubuntu.com/ubuntu genaue Haupt

Und ja, "apt_preference" hat nichts mit der Auswahl von Instanzen der Pakete mit derselben Version zu tun . Der Punkt hier ist, dass Sie keine /etc/apt/preferenceDatei verwenden können, um die Auswahl / Verwendung einer .debDatei aus Ihrem lokalen Repository zu erzwingen, indem Sie Ihrem lokalen Repository die höchste Priorität zuweisen. Diese Datei (Voreinstellung) wird verwendet, um eine bestimmte Version auszuwählen, nicht eine bestimmte Instanz (.deb-Datei) derselben Version. Im letzteren Fall müssen Sie die /etc/apt/sources.listDatei mit der oben genannten Methode verwenden.


Erläuterung:

Scheint, dass wir alle den apt_preferenceZweck missverstanden haben , das apt_preference-Handbuch beschreibt dies in den ersten 3 Absätzen !!

Über die APT-Voreinstellungsdatei / etc / apt / preferences kann gesteuert werden, welche Versionen von Paketen für die Installation ausgewählt werden .

Für die Installation stehen möglicherweise mehrere Versionen eines Pakets zur Verfügung, wenn die Datei sources.list (5) Verweise auf mehrere Distributionen enthält (z. B. stable und testing). APT weist jeder verfügbaren Version eine Priorität zu. Abhängig von Abhängigkeiten wählt apt-get (8) die Version mit der höchsten Priorität für die Installation aus. Die APT-Voreinstellungsdatei überschreibt die Prioritäten, die APT standardmäßig Paketversionen zuweist, und gibt dem Benutzer die Kontrolle darüber, welche Version für die Installation ausgewählt wird.

Und das sehr wichtige steht im dritten Absatz

Möglicherweise sind mehrere Instanzen derselben Version eines Pakets verfügbar, wenn die Datei sources.list (5) Verweise auf mehr als eine Quelle enthält. In diesem Fall lädt apt-get (8) die Instanz herunter, die am frühesten in der Datei sources.list (5) aufgeführt ist. Die APT-Voreinstellungsdatei wirkt sich nicht auf die Wahl der Instanz aus, sondern nur auf die Wahl der Version .

Diese Kursivschrift stammt von mir

Schauen wir uns das an einem Beispiel an:

Ich habe die genaue Version von compiz-fusion-plugins-extra, aber ich habe sie zu Demonstrationszwecken deaktiviert

Hier ist die Datei /etc/apt/preferences, die apt-getverwendet wird, um zu entscheiden, welche Version ausgewählt werden muss, wenn es viele Versionen eines einzelnen Pakets gibt. (In diesem Beispiel compiz-fusion-plugins-extrahat mehrere Versionen.

Paket: *  
Pin: Ursprung ""  
Pin-Priorität: 1001  

Diese Datei fordert apt-getzur Installation vom lokalen Repository für alle Pakete auf, die mehrere Versionen in verschiedenen Repositorys haben.

Mit anderen Worten, wenn ich ein Paket xappsmit einer Version 1.0in meinem lokalen Repository habe und dasselbe Paket xappsin Precises Repository mit einer höheren Version vorhanden ist 2.0, apt-getwird beispielsweise die Version aus dem lokalen Repository, dh Version, vorgezogen 1.0.

Hier ist meine /etc/apt/sources.listAkte

deb http://archive.ubuntu.com/ubuntu Genaues, auf das Hauptuniversum beschränktes Multiversum
deb-src http://archive.ubuntu.com/ubuntu präzises Universum Hauptmultiversum eingeschränkt #Added by software-properties
deb http://security.ubuntu.com/ubuntu/ präzise-Sicherheitsuniversum Hauptmultiversum eingeschränkt
deb http://archive.ubuntu.com/ubuntu präzise-Updates Universum Haupt-Multiversum eingeschränkt
deb http://archive.ubuntu.com/ubuntu Precise-Backports-Universum Haupt-Multiversum eingeschränkt

# deb http://archive.canonical.com/ubuntu genauer Partner
# deb-src http://archive.canonical.com/ubuntu präziser Partner
# deb http://extras.ubuntu.com/ubuntu genaue Haupt
# deb-src http://extras.ubuntu.com/ubuntu genaue Haupt


deb Datei: / media / Main / Linux-Software / Ubuntu / Oneiric / #dies ist ein Oneiric-Repository.
deb Datei: / media / Main / Linux-Software / Ubuntu / Natty / natty /
deb Datei: / media / Main / Linux-Software / Ubuntu / Natty / kubuntu /
deb Datei: / media / Main / Linux-Software / Ubuntu / Natty / natty_new /

Obwohl ich das Repository des genauen in der Datei bereits aufgeführt habe, wird dadurch kein apt-getPaket aus diesem Repository ausgewählt. Wie im Handbuch beschrieben

Die APT-Voreinstellungsdatei wirkt sich nicht auf die Wahl der Instanz aus, sondern nur auf die Wahl der Version.

Die Ausgabe des Befehls apt-cache policy compiz-fusion-plugins-extrawar also erwartungsgemäß wie folgt

anwar @ edubuntu-lenovo: / etc / apt $ apt-cache-Richtlinie compiz-fusion-plugins-extra 
compiz-fusion-plugins-extra:
  Installiert: (keine)
  Kandidat: 0.9.5.94-0ubuntu1 / ** niedrigere Versionen für Priorität auswählen ** /
  Versionstabelle:
     0.9.7.0 ~ bzr9-0ubuntu6 0
        500 http://archive.ubuntu.com/ubuntu/ exact / universe i386-Pakete
     0.9.5.94-0ubuntu1 0
       1001 Datei: / media / Main / Linux-Software / Ubuntu / Oneiric / Packages
     0.9.4-0ubuntu3 0
       1001 Datei: / media / Main / Linux-Software / Ubuntu / Natty / natty / Packages

Hier steht die Kandidatenversion 0.9.5.94-0ubuntu1(die sich im lokalen Repository befindet) nicht 0.9.7.0~bzr9-0ubuntu6 0im genauen Repository. obwohl die genaue 'wurde zuerst in der sources.listDatei aufgeführt.

Ein Beispiel für apt-geteinen Installationsversuch compiz-fusion-plugins-extranach dem Festlegen der höchsten Priorität für das lokale Repository.

anwar @ edubuntu-lenovo: ~ $ sudo apt-get installiere compiz-fusion-plugins-extra 
Paketlisten lesen ... Fertig
Abhängigkeitsbaum erstellen       
Statusinformationen werden gelesen ... Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  x11-apps x11-xfs-utils xinit x11-Sitzungs-utils libfs6
Verwenden Sie "apt-get autoremove", um sie zu entfernen.
Die folgenden zusätzlichen Pakete werden installiert:
  compiz-core compiz-plugins-default compiz-plugins-extra
  compiz-plugins-main-default libdecoration0 xserver-xorg-core
  xserver-xorg-video-intel
Vorgeschlagene Pakete:
  compizconfig-settings-manager xfonts-100dpi xfonts-75dpi
Die folgenden Pakete werden ENTFERNT:
  compiz compiz-gnome compizconfig-backend-gconf edubuntu-desktop
  libcompizconfig0 Ubuntu-Desktop-Einheit xorg xserver-xorg
  xserver-xorg-input-all xserver-xorg-input-evdev xserver-xorg-input-mouse
  xserver-xorg-input-synaptics xserver-xorg-input-vmmouse
  xserver-xorg-input-wacom xserver-xorg-video-all xserver-xorg-video-ati
  xserver-xorg-video-cirrus xserver-xorg-video-fbdev xserver-xorg-video-geode
  xserver-xorg-video-mach64 xserver-xorg-video-mga xserver-xorg-video-neomagic
  xserver-xorg-video-nouveau xserver-xorg-video-openchrome
  xserver-xorg-video-qxl xserver-xorg-video-r128 xserver-xorg-video-radeon
  xserver-xorg-video-s3 xserver-xorg-video-savage
  xserver-xorg-video-siliconmotion xserver-xorg-video-sis
  xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-dreizack
  xserver-xorg-video-vesa
Die folgenden NEUEN Pakete werden installiert:
  compiz-fusion-plugins-extra compiz-plugins-extra
Die folgenden Pakete werden DOWNGRADED:
  compiz-core compiz-plugins-default compiz-plugins-main-default
  libdecoration0 xserver-xorg-core xserver-xorg-video-intel
0 aktualisiert, 2 neu installiert, 6 herabgestuft, 37 zu entfernen und 698 nicht aktualisiert.
Benötigt 0 B / 5.772 kB an Archiven.
Nach diesem Vorgang werden 8.294 KB Speicherplatz freigegeben.
Möchten Sie fortfahren [J / N]? 

Seltsam !!!, Es wird versucht, die bereits installierten Compiz-Pakete von Precise zu downgraden, um Abhängigkeiten (die mit denen von Oneiric übereinstimmen) mit neu ausgewählten zu lösen compiz-fusion-plugins-extra!!!.

Was gefährlicher ist, ist, dass versucht wird, Grafiktreiberpakete (xserver-xorg -....) zu entfernen, um Konflikte mit neuen Compizes zu vermeiden.

(Wahrscheinlich, wenn ich sie auch in meinem lokalen Repository hatte, können sie wollen sicher zu degradieren. Aber da diese Pakete in der Regel installiert sind, habe ich sie nicht herunterladen, ist so nicht in lokalen Repo, daher ist dieses Ergebnis) .

Fazit : Die Verwendung von /etc/apt/preferenceswird daher nur empfohlen, wenn Sie über ein vollständiges Repository im lokalen System verfügen.

Was ist, wenn mehrere Instanzen (.deb-Datei) derselben Version in vielen Repositorys vorhanden sind?

Welches wird durch das apt_preferenceHandbuch beschrieben

Möglicherweise sind mehrere Instanzen derselben Version eines Pakets verfügbar, wenn die Datei sources.list (5) Verweise auf mehr als eine Quelle enthält. In diesem Fall lädt apt-get (8) die Instanz herunter, die am frühesten in der Datei sources.list (5) aufgeführt ist.

Ein Beispiel für Anwendungsfälle für die /etc/apt/preferencesDatei:

Ein Beispiel für das Erzwingen apt-getder Auswahl einer in einem benutzerdefinierten Repository verfügbaren Version anstelle von Ubuntus Standard ist möglicherweise die "Linux Mint" -Distribution. Sie verwenden diese benutzerdefinierte preferenceDatei.

Paket: *
Pin: o = linuxmint loslassen
PIN-Priorität: 700

Paket: *
PIN: origin packages.linuxmint.com
PIN-Priorität: 700

Paket: *
Pin: o = Ubuntu loslassen
Pin-Priorität: 500

Dies bewirkt effektiv, dass sie Pakete bereitstellen, wenn sie diese in ihren Repositories haben. Wenn sie diese jedoch nicht haben, verwenden sie Ubuntus Standard-Repository.


Ein Beispiel, das ausgeführt wird, apt-getnachdem die höchste Priorität für das lokale Repository festgelegt wurde

Ich wollte nur ein kubuntu-desktop Paket über Ubuntu installieren , um KDE zu testen. (Ich habe das vergessen, ich habe eine Voreinstellung mit /etc/apt/preferenceDatei festgelegt) . Ich hatte eine ISO des Kubuntu-12.04-Alternate-Installers, also dachte ich, ich kann das benutzen.

(Nachdem ich die ISO als Repository-Quelle richtig eingestellt hatte) , lief ich
sudo apt-get install kubuntu-desktopund war überrascht, als ich die Ausgabe unten sah.

anwar @ edubuntu-lenovo: ~ $ sudo apt-get installiere kubuntu-desktop
Paketlisten lesen ... Fertig
Abhängigkeitsbaum erstellen       
Statusinformationen werden gelesen ... Fertig
Einige Pakete konnten nicht installiert werden. Dies kann bedeuten, dass Sie haben
angefordert eine unmögliche Situation oder wenn Sie die instabile verwenden
Verteilung, dass einige erforderliche Pakete noch nicht erstellt wurden
oder wurde aus dem Incoming verschoben.
Die folgenden Informationen können zur Behebung der Situation beitragen:

Die folgenden Pakete haben nicht erfüllte Abhängigkeiten:
 kubuntu-desktop: Hängt ab von: language-selector-kde, wird aber nicht installiert
                   Empfiehlt: amarok wird aber nicht installiert
                   Empfiehlt: apturl-kde wird aber nicht installiert
                   Empfiehlt: gdebi-kde wird aber nicht installiert
                   Empfiehlt: gpgsm wird aber nicht installiert
                   Empfiehlt: ibus-qt4 wird aber nicht installiert
                   Empfiehlt: jockey-kde wird aber nicht installiert
                   Empfiehlt: kdegraphics-strigi-plugins, wird aber nicht installiert
                   Empfiehlt: kdepim-wizards, wird aber nicht installiert
                   Empfiehlt: kpackagekit wird aber nicht installiert
                   Empfiehlt: libreoffice-kde wird aber nicht installiert
                   Empfiehlt: libreoffice-style-oxygen, wird aber nicht installiert
                   Empfiehlt: network-manager-pptp-kde, wird aber nicht installiert
                   Empfiehlt: plasma-widget-facebook wird aber nicht installiert
                   Empfiehlt: plasma-widget-kimpanel wird aber nicht installiert
                   Empfiehlt: usb-creator-kde, wird aber nicht installiert
E: Sie können Probleme nicht beheben, da Sie defekte Pakete haben.

Das Ergebnis hat mich überrascht. Ich erinnere mich plötzlich, dass ich eine Voreinstellung ( zum Schreiben dieser Antwort ) festgelegt habe /etc/apt/preference, um die höchste Priorität für mein lokales Repository festzulegen.

Also habe ich folgendes ausgeführt: apt-cache policy kubuntu-desktopDie Ausgabe war wie folgt:

anwar @ edubuntu-lenovo: ~ $ apt-cache policy kubuntu-desktop 
kubuntu-desktop:
  Installiert: (keine)
  Kandidat: 1,222,1 kDe47 ~ ppa2
  Versionstabelle:
     1,254 0
        500 cdrom: // Kubuntu 12.04 LTS _Precise Pangolin_ - Release i386 (20120424) / precision / Haupt-i386-Pakete
        500 http://archive.ubuntu.com/ubuntu/ exact / main i386-Pakete
     1,222,1 kde47 ~ ppa2 0
       1001 Datei: / media / Main / Linux-Software / Ubuntu / Natty / natty / Packages
     1,222,1 0
       1001 Datei: / media / Main / Linux-Software / Ubuntu / Natty / natty / Packages
     1,222 0
       1001 Datei: / media / Main / Linux-Software / Ubuntu / Natty / kubuntu / Packages

In dieser Ausgabe sehen wir, dass sowohl "cdrom" als auch "exact main repository" die Versionsnummer 1.254 haben , während das lokale Repository die Version 1.222.1kde47 ~ ppa2 hat , die eine niedrigere Version ist. Obwohl sie in der Datei sources.list vor den lokalen platziert sind, haben lokale Pakete Vorrang.

Um explizit zu sehen, dass apt-gettatsächlich versucht wird, von einem lokalen zu installieren, lief ich synapticund bekam dieses, was zeigt, dass das Apt-System 1.222.1kde47 ~ ppa2 als zu installierende Kandidatenversion betrachtet.

Bildbeschreibung hier eingeben

Auch apt-cache policy kubuntu-desktopzeigen die gleichen Dinge

anwar @ edubuntu-lenovo: ~ $ apt-cache policy kubuntu-desktop
kubuntu-desktop:
  Installiert: (keine)
  Kandidat: 1,222,1 kDe47 ~ ppa2
  Versionstabelle:
     1,254 0
        500 cdrom: // Kubuntu 12.04 LTS _Precise Pangolin_ - Release i386 (20120424) / precision / Haupt-i386-Pakete
        500 http://archive.ubuntu.com/ubuntu/ exact / main i386-Pakete
     1,222,1 kde47 ~ ppa2 0
       1001 Datei: / media / Main / Linux-Software / Ubuntu / Natty / natty / Packages
     1,222,1 0
       1001 Datei: / media / Main / Linux-Software / Ubuntu / Natty / natty / Packages
     1,222 0
       1001 Datei: / media / Main / Linux-Software / Ubuntu / Natty / kubuntu / Packages

Um dies zu lösen, entfernte ich die /etc/apt/preferenceDatei von sudo rm /etc/apt/preference.

Dann lief das nochmal wieder apt-cache policy kubuntu-desktop. nur diese erwartete Ausgabe zu sehen.

anwar @ edubuntu-lenovo: ~ $ sudo rm / etc / apt / preferences
anwar @ edubuntu-lenovo: ~ $ sudo apt-cache policy kubuntu-desktop
kubuntu-desktop:
  Installiert: (keine)
  Kandidat: 1,254
  Versionstabelle:
     1,254 0
        500 cdrom: // Kubuntu 12.04 LTS _Precise Pangolin_ - Release i386 (20120424) / precision / Haupt-i386-Pakete
        500 http://archive.ubuntu.com/ubuntu/ exact / main i386-Pakete
     1,222,1 kde47 ~ ppa2 0
        500 Datei: / media / Main / Linux-Software / Ubuntu / Natty / natty / Packages
     1,222,1 0
        500 Datei: / media / Main / Linux-Software / Ubuntu / Natty / natty / Packages
     1,222 0
        500 Datei: / media / Main / Linux-Software / Ubuntu / Natty / kubuntu / Packages

Auch das lief wieder. sudo apt-get install kubuntu-desktopum die Ausgabe unten zu sehen:

......... unnötige Angaben gelöscht .........

0 aktualisiert, 213 neu installiert, 0 zu entfernen und 150 nicht aktualisiert.
Benötigt 0 B / 89,6 MB an Archiven.
Nach diesem Vorgang werden 269 MB zusätzlicher Speicherplatz verwendet.
Möchten Sie fortfahren [J / N]? 

Das vollständige Ergebnis können Sie hier einsehen

Dann bin ich mir ziemlich sicher über den Erklärungsteil.


Referenz 1: Das Handbuch zu apt_preference

Referenz 2: So behalten Sie eine bestimmte Version der installierten Pakete bei

Anwar
quelle
1
+1 für den Teil "Was ist, wenn mehrere Instanzen der gleichen Version", erklärt das Verhalten. Aber ich werde nur bis zum Ende der Woche warten, vielleicht hat jemand eine bessere Erklärung. :)
Savvas Radevic
sollte ich das Beispiel mit dem lokalen Repo hinzufügen?
Anwar
Jesus ... Ich meine, danke für deine gut erläuterte Antwort, aber das sollte VOLLSTÄNDIG einfacher sein. Warum um alles in der Welt kann keine Priorität zugewiesen werden, wenn apt-add-repository ausgeführt wird?
Adam Plocher