Woher werden Linux-Apps installiert?

482
thanks_in_advance

Entschuldigung im Voraus, wenn dies nicht der Fall ist.

Wenn ich eine App beispielsweise in Ubuntu installieren möchte, gehe ich zum Terminal und gebe etwas ein, das besagt, dass die App installiert werden soll.

Was ich nicht tue, ist den genauen Ort einzugeben, von dem ich möchte, dass er installiert wird.

Dies ist etwas anderes als etwa ein GUI-basiertes Windows oder OS X, bei dem man mit einem Browser zu einer bestimmten Seite im WWW navigieren, ein großes Paket herunterladen und darauf doppelklicken kann, um es zu installieren.

Meine Fragen:

  1. Woher kommen die Linux-Apps?
  2. Wer stellt sicher, dass diese Repositorys nicht durch Malware beschädigt wurden?
  3. Ich gehe davon aus, dass es mehrere Repositories gibt. Und wenn ja, wie entscheidet mein Linux-PC, aus welchem ​​Repository ein Paket heruntergeladen werden soll?
  4. Haben verschiedene Distributionen alle dasselbe Repository oder sind sie unterschiedlich?
  5. Wenn ich eine voll funktionsfähige neueste Version von Ubuntu verwende, im Gegensatz zu einer leichtgewichtigen Version wie Puppy Linux, und den gleichen Befehl in das Terminal eingebe, um eine App zu installieren, werde ich dann dieselbe App installieren in beiden Fällen oder anders? Wie wird das alles so gehandhabt, dass die falsche Version nicht an der falschen Stelle installiert wird?
0

2 Antworten auf die Frage

2
Mark Lopez

Viele fragen. Viele dieser Fragen sind tief. Und ich konnte nur zusammenfassen.

Ihre Anfangsfrage:

Was ich nicht tue, ist den genauen Ort einzugeben, von dem ich möchte, dass er installiert wird.

Der Paketmanager weiß, wo und wie die Programme installiert werden. Dies ist erforderlich, damit der Manager wissen kann, was installiert ist und das System sauber bleibt. Linux verwendet die Philosophie eines Programms, sollte eine Aufgabe ausführen und sie gut ausführen. Wenn Sie ein Programm unter Linux installieren, sucht der Manager nach den erforderlichen Anforderungen und installiert die Pakete für Sie.

  1. Woher kommen die Linux-Apps?

    Die meisten Binärdateien stammen aus den Repositories. Einige bauen Sie selbst aus dem Quellcode auf.

  2. Wer stellt sicher, dass diese Repositorys nicht durch Malware beschädigt wurden?

    Die Pakete werden mit privaten GPG-Schlüsseln signiert. Dies verhindert, dass jemand, der nicht Entwickler ist, Code unter demselben Namen veröffentlicht. Die Verteidiger der Repositories sind also Kryptographie durch Mathematik. Aber in Wirklichkeit müssen Sie den Repositories vertrauen. Fügen Sie keine zufälligen Repositorys hinzu. Die Verwendung von Ubuntu-Repositorys ist sicher, weil Sie wissen, wer sie verwaltet.

  3. Ich gehe davon aus, dass es mehrere Repositories gibt. Und wenn ja, wie entscheidet mein Linux-PC, aus welchem ​​Repository ein Paket heruntergeladen werden soll?

    Der Betreuer der Linux-Distribution entscheidet, welche Ressource verwendet werden soll. Mit Ubuntu erhält jede Version ein Repository.

  4. Haben verschiedene Distributionen alle dasselbe Repository oder sind sie unterschiedlich?

    Anders. Es gibt viele verschiedene Distros, Ubuntu verwendet die Ubuntu / Debian-Repositories, Red Hat verwendet ihre eigenen. Kommt nur auf die Distro an.

  5. Wenn ich eine voll funktionsfähige neueste Version von Ubuntu verwende, im Gegensatz zu einer leichtgewichtigen Version wie Puppy Linux, und den gleichen Befehl in das Terminal eingebe, um eine App zu installieren, werde ich dann dieselbe App installieren in beiden Fällen oder anders?

    Jede Distro verwendet einen anderen Weg, um auf die Repositorys zuzugreifen. Für Ubuntu ist dies apt-getaber bei Red Hat das yum. Einige Distros haben eine etwas andere Dateistruktur und andere Vorgehensweisen. Beispielsweise verwendet Debian, die Mutter von Ubuntu, einen völlig anderen E-Mail-Agenten als Ubuntu. Ein Paketmanager funktioniert nicht in allen Linux-Distributionen. Das wollen wir auch nicht. Ein Monopol ist schlecht für die Sicherheit und die Freiheiten, die Linux mit sich bringt.

  6. Wie wird das alles so gehandhabt, dass die falsche Version nicht an der falschen Stelle installiert wird?

    Der Paketmanager zeichnet alle installierte Software auf (die der Paketmanager installiert hat). Manchmal klappt dies jedoch nicht (Sie können von der Quelle installieren), daher ist es der Benutzer, der alle Probleme behandelt.

0
p1xel
  1. Kommt darauf an, was Sie genau fragen. Sie erhalten sie aus den Repositories. Die Repositorys erhalten binäre Pakete (wir zählen hier nicht Gentoo), Pakete, die von jemandem erstellt wurden, der der Paketverwalter ist, oder ein Bot, der dies automatisch tut. Dies gilt nur für Open Source-Software (Software, deren Code öffentlich verfügbar und legal vertrieblich ist). Der Quellcode stammt von Entwicklern, die entweder einen Tarball auf ihre Website oder eine Quellhosting-Site wie SourceForge oder Github hochladen . Da Sie ein Anfänger sind, dürfen Sie KEINE Pakete selbst downloaden und kompilieren.

  2. Wie Linus sagte: "Wenn man genügend Augäpfel hat, sind alle Käfer flach" ( Linus 'Gesetz ). Dies gilt auch für bösartige Software. Jeder (ja, auch Sie) kann den Code von Paketen überprüfen, MD5-Summen, GPG-Schlüssel usw. überprüfen, um sicherzustellen, dass die Software keinen Code enthält, der Sie schädigen könnte. Die Paketbetreuer (die Jungs, die Quellcode aus dem Internet stellen und in die Repos packen) sind für das Paket verantwortlich. Malware ist jedoch bei Clype-Source- Husten mit Skype- Husten VIEL weniger nachweisbar . Wenn Sie der Paranoid-Typ sind, vermeiden Sie Closed-Source-Software.

  3. Wenn Sie eine Linux-Distribution verwenden, ist höchstwahrscheinlich bereits ein eigenes Repository konfiguriert (wie Ubuntu). Mehrere Repositorys können auf einem einzigen Host gespeichert werden, z. B. Multiversum, Universum, eingeschränkt usw. Die verschiedenen Repositorys auf demselben Host verfügen über unterschiedliche Pakete, sodass keine Kollisionen auftreten. Daher können Repositorys von Drittanbietern ein Problem sein.

  4. Einige Distributionen, die auf anderen Distributionen basieren (die in der Linux-Welt üblich sind), können ihre eigenen Repositorys nur für Kernpakete verwenden, die nur sie verwenden, aber sie erhalten die Pakete, die der Benutzer von der jeweiligen Distribution benötigt. Ein gutes Beispiel ist Linux Mint. Linux Mint hat eine sehr geringe Belastung auf ihren Servern und enthält nur Kernpakete des Mint-Teams. Wenn Sie jedoch ein zufälliges Paket (wie SuperTuxKart) installieren möchten, holt Mint es aus den Ubuntu-Repos. Der Paketcache wird ab und zu synchronisiert, damit Ihr Computer weiß, welche Pakete wo sind.

  5. Möglicherweise verwenden Sie nicht denselben Befehl. Der Befehl hängt davon ab, welchen Paket-Manager eine Distribution verwendet. Debian, Ubuntu usw. verwenden APT und Red Hat, Fedora usw. verwenden YUM. Wenn das Paket gleich benannt wird, erhalten Sie höchstwahrscheinlich (nur in seltenen Situationen) nicht dasselbe Paket. Sie werden jedoch höchstwahrscheinlich eine andere Version erhalten. Dies hängt wiederum davon ab, welches Repository Ihre Distribution verwendet. Veraltete und / oder stabile Repos erhalten alte Software, blutiger Vorsprung / neue Repos erhalten die neueste Version.

Der Paketmanager übernimmt alle Pakete und stellt sicher, dass alles am richtigen Ort ist.

Ich schlage vor, Sie lesen auf einigen Man-Seiten nach ;)

Willkommen in der Linux-Welt!