Pakete auf Hold setzen

Aus Linupedia.org
Version vom 13. April 2013, 16:32 Uhr von Zerum (Diskussion | Beiträge) (Lösung 3:)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Um bei Debian-basierten Distributionen Pakete auf Hold zu setzen müsst ihr folgendes als root machen:

Lösung 1:

dpkg --get-selections \* > selections 

dann könnt ihr die Datei selections mit einem Editor eurer Wahl öffnen und editieren. Um z.B. das Paket apache und apache-common auf hold zu setzten macht ihr es so:

vorher:

apache install 
apache-common install 

nachher:

apache hold 
apache-common hold 

Speichert die änderungen jetzt ab und gib:

dpkg --set-selections < selections 

Nun steht das Paket apache und apache-common auf hold

Lösung 2:

Das ganze geht auch etwas eleganter ohne editieren einer Datei.

  • Paket auf "hold" setzen:
echo "apache hold" | dpkg --set-selections
  • Den "hold" entfernen:
echo "apache install" | dpkg --set-selections

Lösung 3:

Der Paketmanager Aptitude kann Pakete direkt auf "hold" setzen. Wichtig ist zu wissen dass Aptitude den Status in einer eigenen Datenbank speichert. Apt weiss also nichts davon und behandelt solche Pakete als "install". Deshalb empfiehlt sich die folgende Lösung eher für User die Aptitude ständig zur Paketverwaltung benutzen.

  • Paket mit Aptitude auf "hold" setzen:
aptitude hold apache
  • Paket mit Aptitude auf "unhold" setzen:
aptitude unhold apache

Zurück zur Paketmanager-Übersicht