Teil 1.2 – Grundlegende Vorgänge unter Linux

Gilt für:   .NET Core 2.1, .NET Core 3.1, .NET 5

Ziel dieses Teils

Dieser Teil der Schulung konzentriert sich auf spezielle Linux-Verzeichnisse, das Ausführen von Befehlen als Superuser (Stammverzeichnis) und das Installieren und Deinstallieren von Anwendungen mithilfe von Paketmanagern.

Die Verwendung von Paketmanagern zum Installieren und Entfernen von Paketen erfordert Stammberechtigungen. Daher müssen Sie zuerst verstehen, wie Befehle als Überbenutzer ausgeführt werden.

Spezielle Linux-Verzeichnisse

Für diese Schulung ist es nicht erforderlich, sich eingehend mit der Verwaltung von Linux zu befassen. Eine Zusammenfassung einiger der speziellen Verzeichnisse wäre jedoch nützlich, da Sie sie in der restlichen Schulung verwenden.

Verzeichnis Beschreibung
/ Stammverzeichnis (Ordner auf oberster Ebene).
/bin Enthält Benutzerbinärdateien, ausführbare Dateien.
/sbin Enthält Benutzerbinärdateien, ausführbare Dateien.
/etc Enthält die Konfigurationsdateien für das lokale System und die Anwendungen. Beispielsweise erstellen Sie einige Konfigurationsdateien im Verzeichnis /etc/system, damit die ASP.NET Core-Anwendung automatisch vom System gestartet werden kann.
/home Enthält das Startverzeichnis jedes Benutzers. Beispiel: /home/. <username>
/tmp Temporäres Verzeichnis zum Speichern temporärer Dateien, die vom System und den Anwendungen erstellt werden.
/usr Speichert freigabefähige Dateien, einschließlich ausführbarer Dateien, Bibliotheken und Dokumente. Beispielsweise werden .NET Core-Laufzeit- und SDKs im Verzeichnis /usr/share/dotnet/ installiert.
/var Speichert Variablendatendateien. Apache speichert beispielsweise den Inhalt der Stammwebsite im Verzeichnis /var/www/html und die Protokolldateien im Verzeichnis /var/log/apache2/. Obwohl dies nicht erforderlich ist, veröffentlichen Sie Ihre Webanwendungen in diesem Verzeichnis.

Hinweis

Bei Linux wird die Groß-/Kleinschreibung beachtet. Daher sind /home und /Home unterschiedliche Verzeichnisse, und Dateiname und Dateiname sind unterschiedliche Dateien.

Wenn Sie zum ersten Mal eine Verbindung mit Ihrem virtuellen Linux-Computer herstellen, beginnen Sie im Stammverzeichnis. Dies ist /home/. <username>

Die Stammverzeichnisverknüpfung ist ~ Tilde. Sie können den cd ~ Befehl jederzeit verwenden, um zum Startverzeichnis zurückzukehren.

Überprüfen Und testen Sie die folgenden Befehle (im folgenden Screenshot dargestellt):

  • pwd(Druckarbeitsverzeichnis): Druckt das aktuelle Verzeichnis und das Verzeichnis /etc/systemd.
  • echo: Druckt den Wert des ~-Verzeichnisses (Stammverzeichnis).
  • cd ~: Gibt Sie an das Stammverzeichnis zurück.

Screenshot des Kennwortbefehls.

Dieses Beispiel enthält keine Auflistung der Verzeichnisinhalte. Ein späterer Schritt in dieser Schulung befasst sich jedoch mit dem Arbeiten mit Dateien und Ordnern. Einige dieser Aufgaben erfordern Überbenutzerberechtigungen. Im nächsten Abschnitt wird erläutert, wie Sie sich selbst auf den Superuserstatus erhöhen.

Ausführen von Befehlen als Superuser

Der Superuser ist das privilegierteste Benutzerkonto. Es hat (uneingeschränkten) Stammzugriff auf alle Dateien und Ordner und die vollständige Kontrolle über den Betrieb des Computers. Der Systemadministrator verwendet dieses Konto für die Systemwartung.

Auf UNIX ähnlichen Systemen lautet der herkömmliche Name des Superusers "root". Der Stammbenutzer kann Aufgaben ausführen, die ansonsten für Standardbenutzer eingeschränkt sind, einschließlich der folgenden:

  • Ändern von Systemverzeichnissen
  • Ändern von Benutzerberechtigungen
  • Ändern des Dateibesitzes
  • Systembezogene Aufgaben wie Neustarts
  • Installation bestimmter Anwendungen

Es gibt mehrere Möglichkeiten, Befehle als Stammkontobenutzer auszuführen. Eine ist die Verwendung des sudo su Befehls. In this command, sudo is short for , and is an abbreviation for superuser do su "switch user." Sie können den Befehl auch su verwenden, um zwischen Standardbenutzern zu wechseln.

Wichtig

Nachdem Sie stammkontobenutzer geworden sind, werden alle Aktionen im Stammkontext ausgeführt. Daher sollten Sie sorgfältig vorgehen, da das Stammkonto Zugriff auf das gesamte System hat.

Um ein Berechtigungsproblem zu veranschaulichen, erstellen Sie eine Textdatei in einem speziellen Ordner mit dem Namen /etc.

Im Ordner "/etc/" befinden sich die Systemkonfigurationsdateien. Dieser Ordner schützt seinen Inhalt davor, von einem Standardbenutzer geändert zu werden.

Führen Sie den folgenden Befehl aus:

echo hello world > /etc/helloworld.txt

Der echo Befehl schreibt den gesamten darauf folgenden Text in die Ausgabe. Die spitze Klammer ( > ) weist das System an, die Ausgabe an die /etc/helloworld.txt-Datei anstelle der Konsole zu senden. Dies ähnelt der Funktionsweise von Windows.

Hinweis

Bei Linux wird die Groß-/Kleinschreibung beachtet: Helloworld.txt, helloworld.txt und helloworld.Txt sind unterschiedliche Dateien.

Sie müssen keine Dateinamenerweiterung angeben. Der Name "helloworld" allein ist absolut gültig. (Die Erweiterung "txt" wird hier nur als Beispiel verwendet.)

Wenn Sie diesen Befehl ausführen, wird die Fehlermeldung angezeigt, dass die Berechtigung verweigert wurde.

Screenshot der Meldung &quot;Berechtigung verweigert&quot;.

Der Vorgang schlägt fehl, da der Ordner "/etc" ein spezieller Ordner ist, den ein Standardbenutzer nicht ändern kann. Überprüfen Sie den Benutzer, indem Sie den id Befehl ausführen.

Screenshot des ID-Befehls.

Führen Sie den Befehl aus, um Stammkontobenutzer zu sudo su werden.

Screenshot des Befehls &quot;sudo su&quot;.

Sie sollten zwei Dinge bemerken: Wenn Sie Stamm werden, wird das Dollarzeichen ( $ ) zu einem Nummernzeichen ( # ). Außerdem wird der Benutzername in Stamm geändert. Wenn Sie denselben id Befehl erneut ausführen, sehen Sie, dass der Benutzer und die Gruppen-ID des Stamms 0 sind.

Screenshot des Stammbefehls.

Wichtig

Jetzt haben Sie sich in Ihrer Sitzung auf die Rolle "Superuser" erhöht, und Sie haben vollständigen Zugriff auf das System. Denken Sie daran, dass dies eine potenziell gefährliche Situation ist, und sie sollten vorsichtig sein, während Sie fortfahren.

Führen Sie nun denselben Befehl noch einmal aus:

echo hello world > /etc/helloworld.txt

Dieses Mal erhalten Sie keine Fehlermeldung. Aber wird die Datei erstellt? Führen Sie den folgenden Befehl aus, um dies zu überprüfen:

ll /etc/hello*

Der ll Befehl listet die Dateien und Unterordner auf, die sich in einem angegebenen Ordner befinden. In diesem Beispiel beschränkt der /etc/hello* Parameterwert die Befehlsausgabe auf die Dateien oder Ordner, deren Name in hello beginnt.

Screenshot des Befehls &quot;hello&quot;.

Die Ausgabe zeigt, dass die Datei erstellt wurde. Was geschieht, wenn der Inhalt der Datei untersucht werden soll? Der cat Befehl hilft hier. Um den Inhalt anzuzeigen, führen Sie cat /etc/helloworld.txt .

Screenshot des Cat-Befehls.

Der cat Befehl liest Dateien sequenziell und schreibt deren Inhalt in die Standardausgabe. Daher wird "Hello World" in der Konsole geschrieben.

Um Fehler zu vermeiden, die das System beschädigen könnten, während Sie auf den Stammstatus erhöht werden, empfiehlt es sich, die Stammsitzung zu beenden und zur Standardbenutzersitzung zurückzukehren, um gefährliche Vorgänge zu vermeiden. Führen Sie dazu exit . Sie können sehen, dass das Nummernzeichen auf ein Dollarzeichen zurückgesetzt wird und der Benutzername als Standardbenutzer angezeigt wird.

Screenshot des Exit-Befehls.

Führen Sie für weitere Vorgehensweisen dasselbe ll und cat Befehle im Standardbenutzerkontext aus. Sie werden sehen, dass Sie die Datei nicht im Ordner /etc/ erstellen können, sondern die Datei auflisten und den Inhalt lesen können.

Ausführen von Befehlen mithilfe des Präfixes "sudo"

Anstatt in Ihrer Sitzung zum Stammkontobenutzer zu werden, können Sie Befehle mithilfe des Formats als Stamm sudo <command> ausführen. Dieser Ansatz ist sicherer, da der angegebene Befehl nur als Superuser ausgeführt wird.

Wenn Sie z. B. ausführen, restart während Sie nicht auf den Überbenutzerstatus erhöht sind, lautet das Ergebnis wie folgt.

Screenshot des Neustartbefehls.

Um diesen Befehl stattdessen als Superuser auszuführen, können Sie entweder den Sitzungskontext in stamm (durch Ausführen) ändern sudo su oder das Präfix "sudo" wie folgt hinzufügen:

sudo reboot

Der Neustartvorgang wird nun wie erwartet vom virtuellen Computer ausgeführt.

Screenshot des Neustartbefehls.

Paketmanager

Paketmanager werden verwendet, um Anwendungen in Linux zu installieren, zu aktualisieren und zu entfernen. Es gibt mehrere verschiedene Paketmanager, z. B. DPKG (Git Package Management System), RPM (Red Hat Paket-Manager) und Zypper für SUSE-Paketmanager selbst sind auf niedriger Ebene. Daher kann es schwierig sein, Software direkt mithilfe des Paket-Managers zu verwalten. Glücklicherweise gibt es Wrapper für diese Tools, die das Installieren und Deinstallieren von Software vereinfachen. Beispielsweise ist Yum ein Wrapper um RPM (Red Hat Paket-Manager) und APT ist ein Wrapper um DPKG (Ubuntu Package Management System).

In diesem Lernprogramm wird davon ausgegangen, dass Sie das Ubuntu-Paketverwaltungssystemausführen. Dieses System wird von demselben System abgeleitet, das von der Linux-Distribution Von Linux VERWENDET wird. Daher können wir APT verwenden, um die Software zu installieren.

Je nach Ihrer Linux-Wahl müssen Sie möglicherweise andere Tools verwenden. Sie können z. B. yum verwenden, um Software zu installieren oder zu deinstallieren, wenn Sie Red Hat ausführen.

Aktualisieren der Paket-Manager-Datenbank

APT funktioniert mit einer Datenbank verfügbarer Pakete. Es wird empfohlen, die Paketmanager zu aktualisieren und die Pakete nach einer Neuinstallation zu aktualisieren.

Um die Paketdatenbank auf Ubuntu zu aktualisieren, führen Sie sudo apt update . Beachten Sie, dass das sudo Präfix vor dem Befehl eingegeben apt wird. Auf diese Weise führen Sie den Befehl als Stammbenutzer aus, apt ohne den Sitzungskontext tatsächlich in den Kontext des Stammbenutzers zu ändern.

Screenshot des Befehls &quot;sudo apt update&quot;.

Der Updatebefehl aktualisiert keines der installierten Softwarepakete. Stattdessen wird die Paketdatenbank aktualisiert. Das eigentliche Upgrade erfolgt über den sudo apt upgrade Befehl.

Screenshot des Befehls &quot;sudo apt upgrade&quot;.

Nachdem Sie Y eingegeben und dann die EINGABETASTE gedrückt haben, werden die Pakete aktualisiert.

Screenshot des Fortschritts des Paket-Upgrades.

Suchen nach Paketen mithilfe von Paketmanagern

Das folgende Beispiel für die Verwendung von Paketmanagern zum Suchen nach Paketen veranschaulicht die Installation und Deinstallation des Apache 2-Webservers.

Beginnen Sie, indem Sie mithilfe des Befehls nach "apache web server" apt search suchen. APT führt eine Volltextsuche durch und zeigt die Ergebnisse an. Sie installieren Apache HTTP Server mithilfe des Paketnamens von apache2 .

Screenshot des geeigneten Suchbefehls.

Hinweis

Die Verwendung des Befehls. Das sudo Präfix wird nicht hinzugefügt, da Sie kein Stammbenutzer sein müssen, um Pakete durchsuchen zu können.

Anstatt eine APT search auszuführen, können Sie in einem Webbrowser nach "How to install Apache on Ubuntu" suchen, um den Paketnamen und den APT-Befehl zu finden. In diesem Beispiel sollten Sie dieses offizielle Ubuntu-Dokument finden, in dem klar erläutert wird, wie sie auf Ubuntu installiert Apache 2 werden.

Anzeigen der Details des Pakets

Um zu überprüfen, ob Sie das richtige Paket haben, führen Sie die Ausführung apt show aus, um die Paketdetails anzuzeigen, wie im folgenden Screenshot dargestellt. Beachten Sie erneut, dass das sudo Präfix hier nicht erforderlich ist.

Screenshot des Befehls &quot;apt show&quot;.

Auflisten der installierten Pakete und Filtern der Liste mithilfe von "gierp"

Nachdem Sie festgestellt haben, dass das gefundene Paket das gewünschte Paket ist, müssen Sie sicherstellen, dass es nicht bereits auf dem Zielserver installiert ist.

Verwenden Sie dazu den apt list --installed Befehl, um die installierten Anwendungen auf dem virtuellen Computer aufzuführen. Sie können auch den Befehl "gierp" hinzufügen, um die Ergebnisse so zu filtern, dass nur die Anwendungen angezeigt werden, die apache2 enthalten.

Hinweis

Der grep Befehl durchsucht einen bestimmten Begriff in einer Datei. Es ist ein sehr leistungsfähiges Tool, da es mehrere Optionen bereitstellt, z. B. die Suche mithilfe von regex oder einer Zeichenfolge, das Invertieren der Suchergebnisse, das Ignorieren der Groß-/Kleinschreibung, die Suche mithilfe mehrerer Suchbegriffe und rekursive Suchunterstützung.

Wenn Sie apt list --installed | grep apache2 ausführen, sollten Sie sehen, dass das Paket nicht auf dem virtuellen Computer installiert ist.

Screenshot des Befehls &quot;apt list&quot;.

Installieren des Pakets

Nachdem Sie nun festgestellt haben, dass Sie das gewünschte Paket gefunden haben und es noch nicht installiert ist, können Sie mit der Installation fortfahren. Führen Sie den folgenden Befehl aus:

sudo apt install apache2

Hinweis

Dieses Mal wird dem Befehl das Präfix vorangestellt, sudo da dieser Befehl das System ändert. Daher muss es das Stammkonto sein, damit es ordnungsgemäß ausgeführt wird. Der Paket-Manager ist so gut, dass Sie gefragt werden, ob Sie die Anwendung wirklich installieren möchten.

Screenshot des Befehls &quot;sudo&quot;.

Geben Sie Y (ja) ein, und drücken Sie die EINGABETASTE, um sie zu Apache2 installieren. Der Paket-Manager zeigt eine Statusanzeige an, um den Status der Installation anzugeben.

Screenshot des Installationsstatus.

Wenn Sie denselben apt list --installed | grep apache2 Befehl erneut ausführen, sehen Sie, dass das Apache 2-Paket zusammen mit einigen anderen apache2-bezogenen Paketen installiert wird, die automatisch installiert werden.

Screenshot des Befehls &quot;apt list grep&quot;.

Obwohl Sie Apache 2 installiert haben, müssen Sie tatsächlich Nginx verwenden. Daher benötigen Sie Apache nicht mehr, und Sie können dieses Paket vom virtuellen Computer entfernen.

Entfernen von Paketen

Das Installieren eines Pakets (in diesem Fall Apache 2) ist umkehrbar. Sie können das Paket entfernen, wenn Sie feststellen, dass Es nicht benötigt wird. Sie haben zwei Befehlsoptionen zum Entfernen von Paketen:

  • apt remove: Dieser Befehl entfernt die Binärdateien, aber nicht die Konfigurationsdatei. Dies ist nützlich, wenn Sie beabsichtigen, das Paket neu zu installieren und die gleiche Konfiguration beizubehalten.

  • apt purge: Mit diesem Befehl werden die Binärdateien und die Konfigurationsdatei entfernt.

Entfernen Sie das Paket, indem Sie apt remove es als Stammbenutzer verwenden, um das Ergebnis anzuzeigen. Führen Sie dazu sudo apt remove apache2 . Wenn Sie aufgefordert werden, die Entfernung zu bestätigen, geben Sie Y ein, und drücken Sie dann die EINGABETASTE.

Screenshot des Befehls &quot;sudo apt remove apache2&quot;.

Die Befehlsausgabe gibt Folgendes an:

  • APT hat festgestellt, dass es Pakete gibt, die automatisch installiert wurden und nicht mehr erforderlich sind.
  • APT hat nur das apache2 Paket entfernt, und es wird empfohlen, die sudo apt autoremove zugeordneten Pakete zu entfernen.

Listet die installierten Pakete erneut auf. Sie sehen, dass das apache2 Paket entfernt wird, aber die automatisch installierten Pakete, die mit ihm bereitgestellt wurden, installiert bleiben.

Screenshot der installierten Pakete.

Befolgen Sie die Empfehlung, sudo apt autoremove erneut ausgeführt zu werden, um die Restpakete zu entfernen.

Screenshot des Befehls &quot;sudo apt autoremove&quot;.

Listet die installierten Pakete noch einmal auf. Nun sollten keine apache2-bezogenen Pakete installiert sein.

Screenshot der apache2-bezogenen Pakete.

Dieses Verfahren ist noch nicht abgeschlossen. Beachten Sie, dass der Unterschied zwischen apt remove und apt purge darin besteht, ob die Konfigurationsdatei entfernt wird. In dieser Übung haben Sie es nicht entfernt. Wo ist das?

Das Suchen der Datei umfasst keine Paketmanager. Stattdessen führen Sie eine Standardsuche für Dateien in Linux aus. Sie können auf verschiedene Weisen vorgehen. Einer der gängigsten Suchbefehle ist find . Dieser Befehl ist jedoch auch verwirrend zu verwenden, daher werden wir ihn hier nicht besprechen. Stattdessen verwenden wir whereis .

Hinweis

Linux ist sehr gut dokumentiert. Fast jeder Befehl verfügt über eine hilfreiche Hilfeseite. Verwenden Sie die Befehle "Man" und "Info", um die Hilfeseiten in Linux anzuzeigen. For example, to learn more on your own about the find command, run man find or info find .

Gemäß der Hilfeseite für whereis lautet die Definition wie folgt:

whereis sucht die binären, Quell- und manuellen Dateien für die angegebenen Befehlsnamen.

Wenn Sie whereis apache2 ausführen, sollten Sie die Installation /etc/apache2 finden.

Screenshot des Befehls &quot;whereis apache2&quot;.

Denken Sie daran, dass sich im Verzeichnis /etc/ die Systemkonfigurationsdateien befinden. Um zu erfahren, ob "apache2" eine Datei oder ein Ordner ist, führen Sie ll /etc/apache2 . Wie Sie sehen können, handelt es sich hierbei um einen Ordner, der die Apache2-Konfigurationsdateien enthält.

Screenshot des Befehls &quot;ll etc apache2&quot;.

Sie apache2 erwarten, dass sie diese Dateien und Ordner enthalten, da Sie den Befehl verwendet apt remove haben, der die Konfigurationsdateien nicht löscht.

Führen Sie als letzten Schritt den Befehl aus, apt purge um dessen Auswirkung anzuzeigen. Sie können auch nach dem Entfernen des Pakets eine Bereinigung ausführen, um den Installationsordner zu bereinigen. Der folgende Screenshot zeigt, dass nichts whereis gefunden wurde. Der Grund dafür ist, dass der purge Befehl die Konfigurationsdateien zusammen mit den Binärdateien entfernt hat.

Screenshot des Befehls &quot;Bereinigung treffend&quot;.

Nächste Schritte

Teil 1.3 – Installieren von .NET Core unter Linux

Informationen zum Haftungsausschluss von Drittanbietern

Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.