Ist der Pip-Befehl gefährlich?
Über den Pip- Befehl bei Python (oder auch apt über Linux usw.) lassen sich Programme herunterladen bzw. installieren, nur über welche Website zieht er diese Daten?
Z.B. der Befehl "Pip install NumPY" woher nimmt er diese Daten? Ist das alles irgendwie als Datei-Leiche schon auf meinem PC vorhanden? Weil das Wort "Install" lässt dies anmuten.
Nur wann habe ich all diese Daten heruntergeladen die ich über Pip erhalte?
4 Antworten
Bei den Paketverwaltungs-Tools apt, zypper, dnf, eopkg & Co. kommen die Pakete aus den Paket-Archiven der Distribution, die du benutzt. Wird die Distribution aktiv gepflegt, dann sind da keine "Karteileichen" vorhanden, aber ja, die Dateien landen auf deinem PC, primär im Ordner /usr/bin/ .
Wenn du deiner Distribution vertraust, dann kannst du auch den Paketen vertrauen. Und wenn nicht, dann solltest du dir eine andere Distribution suchen.
Bei Flatpaks über Flathub kommen die Programme aus Flathub und sind teilweise von den Entwicklern der Apps selbst - das erkennt man am Tag "verifiziert". Hier muss man den Entwicklern vertrauen, aber die Apps laufen in einer Sandbox, sodass sie prinzipiell sicherer sind. Verwendet man dann noch Wayland können die Programme auch nur das sehen, was sie sehen sollen. Bei X11 können Programme alles auf dem Bildschirm sehen und jede Tastatureingabe mitlesen.
Flatpak-Pakete landen entweder in /var/lib/flatpak/app oder ~/local/share/flatpak/app .
Für alle *ubuntu-Fans: Snaps kommen von Canonical und d.h. man muss dieser Firma vertrauen.
Bei pip ist das etwas anders, denn die kommen aus dem Python-Repository und sind nicht von der Distribution gepflegt. Wenn ich das richtig verstanden habe, kann da "jeder" Pakete einstellen. Ob sie geprüft werden, weiß ich nicht. Prinzpiell sollte man bei pip aber nicht alles blind installieren, sondern immer prüfen, wer das eingestellt hat und wie es gepflegt wird.
Pip installiert wohl in den Ordner /usr/local/lib/pythonX.Y/ . Das kannst du mittels
pip show PAKET
herausfinden.
Jeder Paketmanager hat eine Liste an Paketquellen aus denen er die Installationspakete bezieht.
Mit dem Befehl
apt update
prüft der Paketmanager welche Pakete in welcher Version im repo verfügbar sind.
Wenn du dann mit
apt install
Ein Paket installierst und ggf auch die [TAB] taste den Namen autovervollständigen lässt, dann bezieht sich der Paketmanager auf eben diese Liste an verfügbaren Paketen.
apt lädt nun also das spezifizierte *.deb Paket und ggf notwendige Abhängigkeiten herunter und installiert diese. Die *.den Pakete verbleiben dabei in einem Cache auf deinem PC
mit
apt autoclean
Kannst du apt übrigens anweisen die nicht mehr benötigten *.deb Pakete aus dem Cache zu entfernen (das entfernt die Pakete für veraltete Versionen und längst deinstallierte Programme)
Es gibt diverse Spiegelserver, die Freiwillige (z.B. Unis) betreiben.
Listen dieser Server sind in Paketmanagern hinterlegt, können aber auch manuell ergänzt/entfernt bleiben.
Für APT zum Beispiel liegt diese Datei unter /etc/apt/sources.list
Solche Programme wie APT kommen mit einer Liste an vertrauenswürdigen Repositories. Basierend auf dem Befehl wird eines dieser gewählt und das Programm heruntergeladen/ installiert.
Mit Debian 13 wird das ganze in das DEB822-Format umgewandelt und dann stimmt das nicht mehr. Ubuntu hat das schon mit 24.04 gemacht:
https://linuxnews.de/debian-13-trixie-steigt-auf-deb822-um/