Unerwünschte Pakete gegen Installation sperren

JochenF

Well-Known Member
Hallo,

ist es möglich bestimmte Pakete so zu sperren dass sie überhaupt nicht installiert werden? Ich möchte verhindern dass ich aus Unachtsamkeit bestimmte unerwünschte Pakete als Abhängigkeiten mitinstalliere, z.B. gnome-vfs oder hal. Lieber verzichte ich dann ganz auf ein Paket welches mir solche Dinge unterjubeln möchte, oder versuche über die Ports Konfiguration diese Abhängigkeiten rauszubringen.

Aktuelles Beispiel: ich wollte net/unison240 installieren, das will mir aber Gnome VFS und HAL unterjubeln (als Abhängigkeiten einer Ocam Lib).
 
Dazu finde ich bisher auch nichts und interessiere mich ebenfalls dafür.
Pakete nutze ich noch nicht seit langem und es kommt vor, dass manche nicht (richtig) funktionieren.
Zum Beispiel mpv, mein neuer Lieblings-Movie-Player. Den muss ich dann, etwa nach einem pkg upgrade, aus den Ports neu installieren. Könnte ich den durch eine Regel ausnehmen, wäre mir das lieber.
So konnte ich ja etwa in der /etc/make.conf verhindern, dass bestimmte Ports gebaut werden, wie Libreoffice oder Java (was immer lange dauerte und Handarbeit erforderte) und stattdessen nur ein Hinweis auf neue Versionen erschien.

Es würde mich wundern, wenn es keine entsprechende Möglichkeit bei pkg gibt. Nunja, andererseits, wenn alles funktioniert, warum sollte dann jemand an so etwas denken? Die Probleme gibt es ja vermutlich nur bei mir (auf meinem alten Misch-System).
Jedenfalls finde ich dazu bislang keine Hinweise, wie man das Einspielen bestimmter Pakete (haltbar konfiguriert) blockieren kann.
 
Pakete die du durch die Ports installiert hast kannst du mit "pkg lock" vor upgrades schützen. Mein Problem ist aber dass ich nicht installierte Pakete sperren will.
 
Vielleicht kann ich einen Workaround anbieten. Laut https://github.com/freebsd/pkg gibt es das annotate Kommando.
You can then tell pkg to always use the named repository for upgrades to that package by:

# pkg annotate -A zsh repository myrepo


Wenn du also neben dem offiziellen repo File ein fake repo hast welches die Pakete unmöglich bereit stellen kann, dann dürfte eine Installation damit verhindert werden.

Siehe auch https://www.freebsd.org/cgi/man.cgi?query=pkg&sektion=7
 
habe gerade nix zum testen da, aber korrigiere doch folgendes wenn du Fehler findest:

# /usr/local/etc/pkg/repos/FakeBSD.conf
FakeBSD: {
url: "pkg+http://127.0.0.1/${ABI}/latest",
mirror_type: "srv",
signature_type: "fingerprints",
fingerprints: "/usr/share/keys/pkg",
enabled: yes
}


pkg annotate -A zsh repository FakeBSD
 
Zumindest hat er das mal fehlerfrei geschluckt. Ob das auch die Installation verhindert weiss ich noch nicht. ;-)
 
Zurück
Oben