Ports deinstallieren

JMC

Member
Hallo,

mich würde interessieren, ob es möglich ist Ports samt ihrer Abhängigkeiten zu deinstallieren?
Bei einigen Programmen ist es ja so, dass diese gleich noch weitere Software installieren, die benötigt wird/praktisch ist, die aber für sonst nichts gebraucht werden. Wenn ich nun also das "Hauptprogramm" so nenn ich es mal, deinstalliere, dann deinstallieren sich ja nicht automatisch die Programme die man zusammen installiert hat, oder? Wie kann ich also den ganzen Installationsprozess rückgängig machen?

Im Handbuch hab ich zwar erfahren wie ich Ports einzeln deinstallieren kann, aber als Anfänger weiß man ja nicht unbedingt immer genau was nun noch alles dazu gehört und man eigentlich nicht braucht - und deswegen nur Ressourcen verbraucht.
Wie mache ich das also? Oder wie kann ich zu mindest alle Abhängigkeiten rausfinden?
 
JMC: Dateisysteme sind groß und geduldig. Kümmere dich nicht als erstes um die Kür. Das Tool deiner Wahl wäre vermutlich pkg delete + pkg autoremove.
 
  • Like
Reaktionen: JMC
Um Abhängigkeiten zu löschen, kann du ein einfaches:
Code:
pkg autoremove
machen. Damit werden alle überflüssigen Pakete entfernt.

Prüft alle Pakete, ob alle Dateien vorhanden sind:
Code:
pkg check -B
Prüft Abhängigkeiten:
Code:
pkg check -d -a
Zeigt dir Abhängigkeiten, von welchem Paket es benötigt wird:
Code:
pkg info -rx "<PAKET>"
Zu welchem Paket gehört die Datei "X"?
Code:
pkg which /usr/local/bin/perl
Ein Paket mit allen Abhängigkeiten löschen
Code:
pkg delete -R <PAKET>


Gruss
 
Und auch sehr schön für diese Anwendung: pkg_cutleaves (muss man extra installieren), das zeigt dir eine Liste von Paketen an, die wohl nur als Abhängigkeiten installiert wurden und nun nicht mehr benötigt werden. Dann kann man die alle löschen lassen. Natürlich kann die Liste angepasst werden ;) Danach läuft das Programm wieder durch und schaut, ob nun noch mehr gelöscht werden kann.

Bin mir nicht sicher, ob das normale pkg diese Funktion mittlerweile irgendwie abbilden kann...
 
Einfach das hier als alias in der pkg.conf definieren:

Code:
leaf                 'query -e "%a == 0" "%n-%v"'

Dann mit "pkg leaf" aufrufen.
 
Danke für den Hinweis! In der pkg.conf.sample gibts noch mehr davon:
Code:
alias: {
  all-depends: query %dn-%dv,
  annotations: info -A,
  build-depends: info -qd,
  cinfo: info -Cx,
  comment: query -i "%c",
  csearch: search -Cx,
  desc: query -i "%e",
  download: fetch,
  iinfo: info -ix,
  isearch: search -ix,
  prime-list: "query -e '%a = 0' '%n'",
  leaf: "query -e '%#r == 0' '%n-%v'",
  list: info -ql,
  noauto = "query -e '%a == 0' '%n-%v'",
  options: query -i "%n - %Ok: %Ov",
  origin: info -qo,
  provided-depends: info -qb,
  raw: info -R,
  required-depends: info -qr,
  roptions: rquery -i "%n - %Ok: %Ov",
  shared-depends: info -qB,
  show: info -f -k,
  size: info -sq,
}
 
Zurück
Oben