[Arch] Abhängigkeiten wie genau ist das nun?

Meta.Morph

Lt. Junior Grade
Registriert
März 2022
Beiträge
357
Servus,

hab Arch installiert. Auf so einem frischen System, sind wenig Pakete vorinstalliert - was auch (mehr oder weniger) Sinn der Sache ist.

In meiner Vorstellung hat sich ein Gedanke eingenistet: je weniger Pakete man installiert - die man eigentlich nicht benötigt. Desto stabiler kann das System laufen (grob gesagt).

Nun vertraue ich darauf, das der Paketmanager alle Abhängigkeiten Installiert bzw. alle Abhängigkeiten auch wieder entfernen kann.

Nun ist es mir schon öfters passiert, das ich ein Paket installiert habe, weil die Installation mein Problem nicht gelöst hat, wollte ich das Paket wieder entfernen. Problem nun: möchte ich dieses Paket entfernen, wird - meinetwegen - auch mal der komplette Desktop entfernt...
Wie jetzt?
Entweder ist dieses eine Paket, welches ich nachträglich installiert hab, eine Abhängigkeit (ohne die Programm YX nicht elementar funktioniert) oder nicht und lediglich optional.

Wie darf ich mir das Vorstellen?

Vielleicht noch ein Beispiel:
Ich wollte Grid Autosports spielen. Ging nicht. Zum Glück hat Arch eine tolle Wiki... dort riet man mir, lib32-openssl-1.0 zu installieren und den Starter zu editieren. Gebracht hat das leider nichts.
Meine Lösung ist, das ich im compatiblity tool die Vorletzte Version auswähle.
Aus Neugier, welches Handeln nun tatsächlich die Lösung brachte, wollte ich lib32-openssl-1.0 wieder entfernen. Ging aber nicht. Zumindest nicht ohne Steam komplett mit zu löschen...
 
Zuletzt bearbeitet:
Meta.Morph schrieb:
1) In meiner Vorstellung hat sich ein Gedanke eingenistet: je weniger Pakete man installiert - die man eigentlich nicht benötigt. Desto stabiler kann das System laufen (grob gesagt).

2) Nun vertraue ich darauf, das der Paketmanager alle Abhängigkeiten Installiert bzw. alle Abhängigkeiten entfernt.

3) Nun ist es mir schon öfters passiert, das ich ein Paket installiert habe, weil die Installation mein Problem nicht gelöst hat, wollte ich das Paket wieder entfernen. Problem nun: möchte ich dieses Paket entfernen, wird - meinetwegen - auch mal der komplette Desktop entfernt...
Wie jetzt?
Entweder ist dieses eine Paket, welches ich nachträglich installiert hab, eine Abhängigkeit (ohne die Programm YX nicht elementar funktioniert) oder nicht und lediglich optional.

Ich werde dies anhand von gnu gentoo linux erklären.


1) Nein
Je weniger Pakete man hat umso weniger Abhänigkeiten zwischen den Paketen hat man.
Je weniger muss man aktualisieren, weil es weniger Pakete sind.
Umso weniger Platz braucht man in der Wurzel
Umso schneller sind Backups fertig, weil die Backups kleiner sind.

2) das geht nicht.
Bei Gentoo muss man emerge --deselect verwenden um die Abhängigkeiten zu entfernen.

--deselect [ y | n ], -W
Remove atoms and/or sets from the world file. This action is implied by uninstall actions, including --depclean, --prune and --unmerge. Use --deselect=n in order to prevent uninstall actions from removing atoms
from the world file.

Wenn der User etwas installiert, ist es im World File, d.h. der User will das Paket umbedingt haben.

... alle Abhängigkeiten installiert ... da braucht man eine Distro wo die User, also jeder, sich die Arbeit macht Bugs zu melden bugs.gentoo.org mit missing dependencies. wirst bei einer distro wo die user base eher sehr begabt ist nicht haben. ... zusaetzlich muss man lesen können ... lesen zu können ist schwierig ... erfodert zeit und geduld. ... 95 prozent hat man in der ausgabe den text was fehlt ... viele wollen oder können nicht lesen. ... viele wollen auch keine bugs schreiben. zeitaufwand 10 minuten pro bug.

3) erneut das thema lesen

Ein ordentlicher Paketmanger hat auch ein log.
Dieses kann man auch lesen, erneut thema lesen, und diese pakete dann mit der hand deinstallieren.
tail -1000 /var/log/emerge.log

--

total am Thema vorbei: Wenn man wenige Dinge installiert haben möchte kenne ich nur gentoo. ich habe schon andere distributionen mit der zeit installiert gehabt und parallel verwendet, leider wird zu viel müll mitinstalliert. Meine Gentoo Erstinstallation, von der ich gerade schreibe, ist aus 2006. Ob es sich auszahlt alles neu zu installieren, neu einzurichten, bezweifle ich persönlich.

--

Aus Neugier, welches Handeln nun tatsächlich die Lösung brachte, wollte ich lib32-openssl-1.0 wieder entfernen. Ging aber nicht.

Man kann immer am Paketmanager vorbei etwas tun. Ist es schlau? Manchmal
Opreationen am Dateisystem sollten immer möglich sein als Root User.

Bezüglich Spiele gibt es genug Wikis, oder man hat eine 2te Disk mit einer Windows 10 Installation.


Zumindest nicht ohne Steam komplett mit zu löschen...

Den Paketmanager sollte man schon bedienen können. Ist der Paketmanager unbrauchbar, wie so oft in meiner persönlichen Meinung, muss man die Distribution wechseln. was fuer einen unbrauchbar ist werde ich hier nicht diskutieren.
 
Zuletzt bearbeitet:
Hier ist im Wiki die Anleitung dazu:
https://wiki.archlinux.org/title/pacman#Removing_packages

pacman -R package_name
entfernt nur das eine Paket

pacman -Rs package_name
entfernt das Paket und alle Abhängigkeiten, die nicht von anderen Paketen benötigt werden

Gibt noch andere Pacmanoptionen, die sich da verschieden verhalten, aber stehen im Wiki auch mit Warnungen, was passieren kann.
 
  • Gefällt mir
Reaktionen: 0-8-15 User
Meta.Morph schrieb:
In meiner Vorstellung hat sich ein Gedanke eingenistet: je weniger Pakete man installiert - die man eigentlich nicht benötigt. Desto stabiler kann das System laufen (grob gesagt).

Das ist erstmal Windowsdenken... Wieviel Erfarung hast du mit Linux?

Wenn die Software nicht ausgeführt wird, macht es nichts wenn es nur auf der Platte rumliegt. Was natürlich stört ist, dass das Datenvolumen der Updates im Monat langsam zunimmt. Es gibt dann eventuell Probleme mit uralten verwaisten libs, aber die aktuell benötigten Programme sollten auf aktuelle libs zugreifen.
 
LochinSocke schrieb:
Das ist erstmal Windowsdenken...
Gilt aber am Ende des Tages auch unter Linux.
Meta.Morph schrieb:
Nun vertraue ich darauf, das der Paketmanager alle Abhängigkeiten Installiert bzw. alle Abhängigkeiten auch wieder entfernen kann.
Wenn du beispielsweise ein Paket installierst, welches ein anderes Paket mit bereits bestehenden Abhängigkeiten ersetzt, dann kannst du das neue Paket logischerweise nicht einfach entfernen, sondern musst es durch das vorherige Paket oder ein beliebiges anderes Paket, welches die Abhängigkeiten ebenfalls erfüllt, ersetzen.
Meta.Morph schrieb:
Ging aber nicht. Zumindest nicht ohne Steam komplett mit zu löschen...
Steam oder doch nur steam-native-runtime?
 
Zuletzt bearbeitet:
0-8-15 User schrieb:
Wenn du beispielsweise ein Paket installierst, welches ein anderes Paket mit bereits bestehenden Abhängigkeiten ersetzt, dann kannst du das neue Paket logischerweise nicht einfach entfernen,
Wenn das so ist, macht das natuerlich Sinn!
Also gut, dann kann ich tatsaechlich darauf vertrauen, das Pacman seinen Job macht und mir nicht unnoetigs Zeug mit installiert?

0-8-15 User schrieb:
Hab Steam installiert. Die Runtime kam als Abhaengikeit mit. Man kann ja auswaehlen, welche Version man starten will.
 
Mir ist ein richtig bloeder Fehler unterlaufen.

Ich dachte, es waere eine tolle Idee, Pakete konseqent immer kaskadierend zu entfernen.
Jetzt hab ich das Paket ohne diesen Flag entfernt...

Ist ja auch irgendwie logisch, das es beide Optionen geben muss. Nur nicht in meiner Welt :(. Nungut. Aber jetzt.
 
Meta.Morph schrieb:
Nun ist es mir schon öfters passiert, das ich ein Paket installiert habe, weil die Installation mein Problem nicht gelöst hat, wollte ich das Paket wieder entfernen. Problem nun: möchte ich dieses Paket entfernen, wird - meinetwegen - auch mal der komplette Desktop entfernt...
Dazu noch: Du kannst ein Paket mit "pacman -Rdd PAKET" entfernen, ohne dass dabei sämtliche Pakete, die davon abhängen, mit entfernt werden. Das führt aber dazu, dass diese Pakete dann eine Abhängigkeit vermissen, also nicht richtig funktionieren werden. Das einzige Szenario, wo dieses Kommando nötig wäre, ist meiner Meinung nach, wenn man zum Beispiel die git-Version eines Library installiert hat und auf die Standardversion wechseln möchte. Dann stehen die zwei Versionen im Konflikt zueinander, also kann ich nicht erst mal die Standardversion als Abhängigkeit installieren und danach die git-Version entfernen. Also entferne ich mit "-Rdd" die git-Version und installiere sofort danach die Standardversion aus den Repos. Alle sind zufrieden und das System ist nicht kaputt. ;)
 
Rdd ist mir bekannt. Hab es deshalb auch nicht eingesetzt.
Optionale Abhaegigkeiten entfernt man mit einem einfachem R.
Ich hab, wie gesagt, immer bloed Rscn eingehaemmert...

Photon schrieb:
Das einzige Szenario, wo dieses Kommando nötig wäre, ist meiner Meinung nach, wenn man zum Beispiel die git-Version eines Library installiert hat und auf die Standardversion wechseln möchte.

Merk ich mir.
 
Zurück
Oben