// Datei: ./praxis/ausgewaehlte-pakete-nicht-aktualisieren/ausgewaehlte-pakete-nicht-aktualisieren.adoc

// Baustelle: Rohtext

[[ausgewaehlte-pakete-nicht-aktualisieren]]

== Ausgewählte Pakete nicht aktualisieren ==

// Stichworte für den Index
(((Paket, nicht aktualisieren)))
(((Paketflags, hold)))

Die Paketverwaltung muss darüber Bescheid wissen, wenn Sie ein
bestimmtes Paket auf dem derzeitigen Stand belassen möchten. Dazu
existiert das Paketflag 'hold', welches Sie in dem Fall explizit
festklopfen müssen (siehe auch ``Paketflags'' unter
<<lokale-paketmarkierungen>>). Haben Sie das Flag gesetzt, wird das
Paket somit nicht weiter aktualisiert oder gelöscht, sondern in dem
derzeit bestehenden Zustand und der Version gehalten.

Ergebnis dieses Vorgehens ist, dass das Paket auf Ihrem Linuxsystem so
erhalten bleibt, wie es aktuell ist. Es gibt keine Veränderungen bzgl.
genutzter Schnittstellen und Abhängigkeiten zu anderen Paketen. Das ist
insbesondere dann sinnvoll, wenn eine ganz bestimmte Komponente benötigt
wird, die sich nicht verändern darf. Hintergrund können bspw.
Softwareunverträglichkeiten, Schnittstellenänderungen oder auch noch
nicht abgeschlossene Anpassungen sein. Sind diese umgesetzt, kann das
Paketflag dann wieder entfernt werden.

Dieses Vorgehen hat Fallstricke. Je länger Sie warten und das Paket
zurückhalten, umso stärker entwickelt sich das Drumherum weiter. In
Folge heißt das, dass Aktualisierungen schwieriger und insbesondere
aufwendiger werden. Bedenken Sie diesen Schritt daher gut.

=== Auf der Kommandozeile ===

// Stichworte für den Index
(((apt-mark, hold)))
(((apt-mark, unhold)))
Um ein Paket auf einem bestimmten Versionsstand zu halten, nutzen Sie
das Werkzeug `apt-mark`. Es kennt das Unterkommando `hold`, um damit das
dazugehörige Paketflag zu setzen, und `unhold`, um diese Festlegung zu
widerrufen. Beide Aufrufe akzeptieren als Parameter eine Liste der
Paketnamen. Die nachfolgenden Ausgaben zeigen das Vorgehen für das Paket
'wireshark'.

.Aufruf von `apt-mark` zum Setzen der Markierung `hold` für das Paket 'wireshark'
----
# apt-mark hold wireshark
wireshark auf Halten gesetzt.
#
----

.Entfernen der Markierung `hold` für das Paket 'wireshark' mittels `apt-mark`
----
# apt-mark unhold wireshark
Halten-Markierung für wireshark entfernt.
#
----

// Stichworte für den Index
(((apt-mark, showhold)))
`apt-mark` kennt zudem das Unterkommando `showhold`. Damit lassen Sie
sich auflisten, welche Pakete auf Ihrem System derzeit auf 'hold'
gesetzt sind. Geben Sie keine Pakete als Parameter an, werden alle
Pakete untersucht. Ansonsten berücksichtigt `apt-mark` nur die von Ihnen
spezifizierten Pakete.

.Auflistung aller Pakete, die gehalten werden
----
# apt-mark showhold
wireshark
#
----

=== Textoberflächen ===

* `aptitude`

=== Graphische Programme ===

* Synaptic
** Menüpunkt Paket:Version sperren (siehe <<fig.synaptic-hold>>)
*** farbige Hervorhebung (default: rot) in der Auswahlliste der Pakete
*** Symbol eines Hängeschloß über dem Auswahlkästchen
*** Kontextmenü mit den Paketaktionen (erreichbar über die rechte
    Maustaste) nicht mehr aufrufbar, Aktionen nur noch über das Menü
** geht nur bei bereits installierten Paketen

.Setzen des Paketflags 'hold' in Synaptic
image::praxis/ausgewaehlte-pakete-nicht-aktualisieren/synaptic-hold.png[id="fig.synaptic-hold", width="50%"]

// Datei (Ende): ./praxis/ausgewaehlte-pakete-nicht-aktualisieren/ausgewaehlte-pakete-nicht-aktualisieren.adoc
