Was genau macht das Terminal beim install Befehl?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hallo

Was genau macht das Terminal beim install Befehl?

  • Zunächst sei gesagt dass das Terminalprogramm (Terminal, Konsole, xterm, LXTerm, Terminator, Terminology ect.) welches Du unter einer grafischen Oberfläche ausführst kein Terminal ist sondern nur eine Art "Terminalemulation".
  • Stelle es Dir vor wie eine Durchreiche zwischen Küche (Terminalemulation) und Esszimmer (Shell)

sudo apt-get install vlc

Ein bisschen aufgedröselt ungefähr so:

  1. Die eingegebene Zeile wird mit der Bestätigung durch Return/Enter an die Shell weiter gereicht die für den Benutzer vom Administrator festgelegt wurde.
  2. Die Shell (sh, bash, zsh, ksh ect.) ruft das Programm /usr/bin/sudo auf.
  3. sudo seinerseits schaut nun in die Datei /etc/sudoers ob der Benutzer der es ausführen will überhaupt als berechtigtes Mitglied  eingetragen ist und ob der Benutzer auch für dieses Programm eine Genehmigung hat es auszuführen.
  4. Wenn das positiv ausfällt wird sudo ausgeführt und verlangt das User- Passwort als Zugriffsberechtigung.
  5. Wurde das korrekte Passwort eingegeben versucht sudo ein Programm mit dem Namen apt in einem der Pfade  aus der Variablen $PATH zu finden und startet es wenn es vorhanden ist.
  6. apt liest aus der Datei /etc/sources.list auf welche Paketquellen (Repositories) es zugreifen soll.
  7. nun liest apt die Inhaltsverzeichnisse der Repositories ein (Die liegen ebenfalls auf der Festplatte und werden durch apt-get update aktualisiert) und sucht nach einem Paket mit dem angegebenen Namen (Das tut es sowohl im Dateinamen als auch in der Beschreibung des Paketes vlc.
  8. Weiterhin wird anhand der Paketbeschreibung nachgesehen ob das verlangte Paket, also vlc noch Abhängigkeiten hat die es braucht um laufen zu können. Diese werden nun ebenfalls im Inhaltsverzeichnis gesucht und in die, zum herunterladen vorgesehene, Liste eingetragen.
  9. Wurden alle gewünschten Programmpakete gefunden, so wird eine online Verbindung zu dem Repository aufgebaut in dem die Dinge alle liegen.
  10. Es wird nun wget, curl oder ähnliches (wenn es nicht schon im Code des Paketmanagers steckt) aufgerufen und bekommt als Parameter den Pfad für den Download und auch einen Zielpfad zum abspeichern wo apt es erwartet zu finden.
  11. Das Zepter geht nun wieder zurück an apt welches die technischen Beschreibungen durchsucht um zu sehen wohin welche Datei genau kopiert werden soll und setzt die darin verankerten Berechtigungen.
  12. Das alles wird natürlich mit mehr oder weniger Rückmeldungen in der "Durchreiche" angezeigt

Das alles ist jetzt aber immer noch sehr grob und lässt sich noch sehr viel detaillierter ausführen, wobei ich denke das Dir diese Liste reichen dürfte :-)

Linuxhase

-------------------------------------------------------------------------------------------------

  1. bzw. dem Distributor wenn man es übernimmt wie der es eingerichtet hat
17

mal wieder die verständlichste Antwort auf eine Frage, die eigentlich banal klingt. Ich widerspreche ungern, aber wenn es noch ausführlicher geht wie du sagst, dann bitte die extended version:) ich möchte es ja von Grund auf verstehen. Da du mir nicht ersr zum ersten mal die beste Antwort auf eine Linux frage lieferst würde mich nun schon mal interessieren was du beruflich machst, bzw woher du dein Linux/EDV wissen hast und was du interessierten außer google und informatik studium rätst um auf den selben Kenntnisstand zu kommen?

0
45
@DerChacker

@DerChacker

wenn es noch ausführlicher geht wie du sagst, dann bitte die extended version:)

Dafür empfehle ich ein gutes Buch:

https://www.rheinwerk-verlag.de/lpic-1_3781/

würde mich nun schon mal interessieren was du beruflich machst

Ich bin überhaupt nicht im IT-Bereich tätig sondern verdiene meinen Lebensunterhalt mit harter körperlicher Arbeit.

woher du dein Linux/EDV wissen hast

Aus Büchern wie diesem, einer dazugehörigen Schulung (LPIC Prüfung) auf die ich mich, unter anderem damit, vorbereitet habe und natürlich mit Erfahrung gepaart mit großem Interesse.

außer google und informatik studium rätst um auf den selben Kenntnisstand zu kommen?

  • Google hilft ja nur beim auffinden von interessanten Seiten auf denen es die gesuchten Informationen gibt, ist darin aber sehr gut.
  • Das einzige was besser (im Sinne von "nach meinen Werten gefiltert") ist YACY als Suchmaschine zu verwenden.
  • Dabei ist richtiges suchen schon die halbe Miete, also analysieren was man braucht, was man nicht braucht und die Kriterien entsprechend setzt.
  • Ein ebenso wichtiger Teil dabei ist die Offenheit gegenüber allem neuen. Windows-Wissen ist IMHO eher hinderlich als förderlich.
  • ausprobieren, ausprobieren, ausprobieren, in sämtliche Verzeichnisse abtauchen und sich alles genau ansehen und immer wieder installieren, am besten mehrere Distributionen in verschiedenen Umgebungen und mit wechselnden Desktops.

Linuxhase

1
17

P.S.: hast du auch eine Antwort auf meine Multibootsystem frage?

0
17

Vielen, vielen Dank! An dir ist ein Informatiker, bzw Linux admin verloren gegangen

1

ein Terminal macht dabei praktisch nichts, es ist lediglich ein Fenster, in das man etwas eingeben kann und das dann auch u.U. etwas anzeigt.

Ein Terminal ist auch nur ein Programm wie sudo oder apt-get oder ls ...
Für ein Terminal ist apt-get ein Parameter, so wie install einer für apt-get ist.

Manche Programme benötigen viele solche Parameter, manch keine, zumindest keine, die man schreiben muss.

Der Befehl ls geht auch ohne Parameter, er benutzt, wenn z.B. kein Verzeichnis angegeben wird das aktuelle Verzeichnis ( das ist sein "Hintergrundwissen").

Genau ein solches "Hintergrundwissen" hat apt-get. Es kennt die Webseite ( besser die URL) auf der zu holende Programme zu finden sind.

Bei Windows musst du das selbst wissen.

17

und woher stammt dieses Hintergrundwissen?

0
43
@DerChacker

"Hintergrundwissen" kann man hier auch als "wenn nichts anderes angegeben ist"  betrachten, auch unter Default bekannt.
Woher stammt das?
Das hat der Programmierer oder der, der so ein Programm in Auftrag gegeben hat, so festgelegt.
Dafür gibt es genügend Beispiele:

ls  ohne Parameter ist das Gleiche wie ls ./ oder ls $PWD ,
das Programm erkennt, wenn keine Werte übergeben wurden und nimmt dann das aktuelle Verzeichnis.

Bei  id wird ähnlich verfahren.
id ohne Parameter zeigt die Identifikations-Daten des aufrufenden Benutzers an, währen
id ein-anderer  dann die von "ein-anderer"  anzeigt.

Die einzelnen Distributionen (Debian, Ubuntu , openSuSE ...) kennen selbstverständlich die Web-Adresse  (URL's) bzw. Repositories in  denen zu installierende Programme gespeichert sind und "brennen" die in die Programme fest ein.
Die URL's werden, üblicherweise in eine Datei geschrieben und deren Adresse im Computer ( z.B. /etc/lib/..... ) ist dann das "Hintergrundwissen" des betreffenden Programms (apt-get, zypper , ..)

0

Was von wo installiert werden soll, steht in den Paketlisten. Dafür ist der

apt update

Befehl. Dieser aktualisiert alle Paketlisten im System. In der Paketliste steht dann z.B. unter dem Punkt VLC die dazugehörigen Bibliotheken und Skripte und wo diese liegen (auf welchem Server). Von dort werden die Daten dann heruntergeladen und installiert.

PS.: du kannst statt apt-get auch einfach nur apt benutzen, geht etwas schneller und macht das gleiche.

17

und was genau machen die Bibliotheken und Skripte?

0
29
@DerChacker

Nun in etwa das gleiche was eine .exe bei Windows macht, ein Programm starten. Irgendwo muss stehen, was das Programm machen soll. Dazu sind die Bibliotheken da. Die Skripte starten das Programm und geben Parameter mit, die vorher, entweder automatisch oder vom User, definiert wurden. 

0
17

ah. ok.

0

Was möchtest Du wissen?