Freigeben über


Teil 1.2 – Grundlegende Vorgänge unter Linux

Gilt für: .NET unter Linux

Ziel dieses Teils

Dieser Teil der Schulung konzentriert sich auf linux-spezielle Verzeichnisse, das Ausführen von Befehlen als Superuser (Stamm) 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 zunächst verstehen, wie Befehle als Superuser ausgeführt werden.

Linux-Spezialverzeichnisse

Für diese Schulung ist es nicht notwendig, tief in die Verwaltung von Linux einzutauchen. Eine Zusammenfassung einiger der speziellen Verzeichnisse wäre jedoch nützlich, da Sie diese in den restlichen Schulungen verwenden werden.

Verzeichnis Beschreibung
/ Stammverzeichnis (Ordner der obersten Ebene).
bin/ Enthält Binärdateien, ausführbare Dateien des Benutzers.
/sbin Enthält Binärdateien, ausführbare Dateien des Benutzers.
/etc Enthält die Konfigurationsdateien für das lokale System und die lokalen Anwendungen. Sie erstellen beispielsweise 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 anwendungen erstellt werden.
/usr Speichert freigegebene Dateien, einschließlich ausführbarer Dateien, Bibliotheken und Dokumente. Beispielsweise werden .NET-Runtime und SDKs im Verzeichnis "/usr/share/dotnet/" installiert.
/var Speichert Variable Datendateien. 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.

Notiz

Bei Linux muss die Groß-/Kleinschreibung beachtet werden. 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 mit Ihrem Stammverzeichnis. Dieses Verzeichnis ist "/home/<username>".

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

Überprüfen Und probieren Sie die folgenden Befehle aus (siehe folgenden Screenshot):

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

Screenshot des Kennwortbefehls.

In diesem Beispiel wird der Verzeichnisinhalt nicht aufgelistet. Ein späterer Schritt in dieser Schulung behandelt jedoch das Arbeiten mit Dateien und Ordnern. Einige dieser Aufgaben erfordern Superuserberechtigungen. Im nächsten Abschnitt wird erläutert, wie Sie den Superuserstatus erhöhen.

Ausführen von Befehlen als Superuser

Der Superuser ist das privilegierteste Benutzerkonto. Er hat Stammzugriff (uneingeschränkt) 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 ist der herkömmliche Name des Superusers "root". Der Stammbenutzer kann Aufgaben ausführen, die andernfalls für Standardbenutzer eingeschränkt sind, einschließlich der folgenden Aufgaben:

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

Es gibt mehrere Möglichkeiten zum Ausführen von Befehlen als Stammkontobenutzer. Eine besteht darin, den sudo su Befehl zu verwenden. In diesem Befehl sudo ist kurz für superuser do, und su ist eine Abkürzung für "Benutzer wechseln". Sie können auch den su Befehl verwenden, um zwischen Standardbenutzern zu wechseln.

Wichtig

Nachdem Sie zum Stammkontobenutzer geworden sind, wird alles, was Sie tun, im Stammkontext ausgeführt. Daher sollten Sie sorgfältig handeln, 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 Systemkonfigurationsdateien. Dieser Ordner schützt seine Inhalte 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 Text, der darauf folgt, in die Ausgabe. Die eckige Klammer (>) weist das System an, die Ausgabe anstelle der Konsole an die Datei "/etc/helloworld.txt " zu senden. Dieses Verhalten ähnelt der Funktionsweise von Windows.

Notiz

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" selbst ist perfekt gültig. (Die Erweiterung "txt" wird hier nur als Beispiel verwendet.)

Wenn Sie diesen Befehl ausführen, erhalten Sie eine Fehlermeldung mit der Berechtigung verweigert.

Screenshot der Meldung

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 I D-Befehls.

Um zum Stammkontobenutzer zu werden, führen Sie den sudo su Befehl aus.

Screenshot des Befehls

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

Screenshot des Stammbefehls.

Wichtig

Nachdem Sie sich in Ihrer Sitzung zur Rolle "Superuser" erhöht haben, haben Sie vollständigen Zugriff auf das System. Denken Sie daran, dass dies eine potenziell gefährliche Situation ist, und Sie sollten Vorsicht üben, 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. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Datei erstellt wurde:

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 beginnt.hello

Screenshot des Hello-Befehls.

Die Ausgabe zeigt, dass die Datei erstellt wurde. Was geschieht, wenn wir den Inhalt der Datei untersuchen möchten? Der cat Befehl hilft hier. Führen Sie die Ausführung aus cat /etc/helloworld.txt, um den Inhalt anzuzeigen.

Screenshot des Cat-Befehls.

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

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

Screenshot des Exit-Befehls.

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

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

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

Wenn Sie z. B. ausgeführt restart werden, während Sie den Status "Superuser" nicht erhöhen, lautet das Ergebnis wie folgt.

Screenshot des Neustartbefehls.

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

sudo reboot

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

Screenshot des Neustartbefehls.

Paket-Manager

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

In diesem Lernprogramm wird davon ausgegangen, dass Sie das Ubuntu-Paketverwaltungssystem ausführen. Dieses System wird vom gleichen System abgeleitet, das von der Debian GNU/Linux-Distribution 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 beispielsweise yum verwenden, um Software zu installieren oder zu deinstallieren, wenn Sie Red Hat ausführen.

Aktualisieren der Paket-Manager-Datenbank

APT arbeitet an einer Datenbank der verfügbaren Pakete. Es wird empfohlen, die Paketmanager zu aktualisieren und die Pakete nach einer Neuinstallation zu aktualisieren.

Führen Sie zum Aktualisieren der Paketdatenbank auf Ubuntu aus sudo apt update. Beachten Sie, dass das sudo Präfix vor dem apt Befehl eingegeben wird. Dadurch führen Sie den apt Befehl als Stammbenutzer aus, ohne den Sitzungskontext tatsächlich auf den des Stammbenutzers zu ändern.

Screenshot des Befehls

Der Updatebefehl aktualisiert tatsächlich keine der installierten Softwarepakete. Stattdessen wird die Paketdatenbank aktualisiert. Das tatsächliche Upgrade erfolgt über den sudo apt upgrade Befehl.

Screenshot des Befehls

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

Screenshot des Fortschritts des Paketupgrades.

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 mit dem apt search Befehl auf "Apache-Webserver" suchen. APT führt eine Volltextsuche durch und zeigt die Ergebnisse an. Sie installieren Apache HTTP Server mithilfe des Paketnamens von apache2.

Screenshot des Befehls

Notiz

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

Anstatt ein APT search, können Sie in einem Webbrowser nach "wie Apache auf Ubuntu installieren" suchen, um den Paketnamen und den APT-Befehl zu finden. In diesem Beispiel finden Sie dieses offizielle Ubuntu-Dokument , das klar erklärt, wie man auf Ubuntu installieren Apache 2 kann.

Anzeigen der Details des Pakets

Um sicherzustellen, dass Sie über das richtige Paket verfügen, führen Sie die Ausführung apt show aus, um die Paketdetails anzuzeigen, wie im folgenden Screenshot gezeigt. Beachten Sie auch hier, dass das sudo Präfix hier nicht erforderlich ist.

Screenshot des Befehls

Auflisten der installierten Pakete und Verwenden von Grep zum Filtern der Liste

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 auflisten zu können. Sie können auch den Grep-Befehl hinzufügen, um die Ergebnisse zu filtern, um nur die Anwendungen anzuzeigen, die enthalten apache2.

Notiz

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

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

Screenshot des Befehls

Installieren des Pakets

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

sudo apt install apache2

Notiz

In diesem Fall wird dem Befehl sudo das Präfix vorangestellt, da dieser Befehl das System ändert. Daher muss es sich um das Stammkonto handeln, damit es ordnungsgemäß ausgeführt wird. Der Paket-Manager ist so freundlich, dass Sie dazu aufgefordert werden, ob Sie die Anwendung wirklich installieren möchten.

Screenshot des Befehls

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

Screenshot des Status der Installation.

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 ist, die automatisch installiert werden.

Screenshot des Befehls

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 Sie Pakete.

Die Installation eines Pakets (in diesem Fall Apache 2) ist umkehrbar. Sie können das Paket entfernen, wenn Sie feststellen, dass Sie es nicht benötigen. Sie haben zwei Befehlsoptionen zum Entfernen von Paketen:

  • apt remove: Mit diesem Befehl werden die Binärdateien, aber nicht die Konfigurationsdatei entfernt. Es ist nützlich, wenn Sie beabsichtigen, das Paket neu zu installieren und dieselbe Konfiguration beizubehalten.

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

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

Screenshot des Befehls

Die Befehlsausgabe informiert Sie über die folgenden Informationen:

  • APT hat festgestellt, dass es Pakete gibt, die automatisch installiert wurden und nicht mehr benötigt werden.
  • APT hat nur das apache2 Paket entfernt, und es empfiehlt, die sudo apt autoremove zugehörigen Pakete zu entfernen.

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

Screenshot der installierten Pakete.

Folgen Sie der Empfehlung, erneut auszuführen sudo apt autoremove , um die Linkspakete zu entfernen.

Screenshot des Befehls

Listet die installierten Pakete ein weiteres Mal auf. Jetzt sollten keine apache2-bezogenen Pakete installiert sein.

Screenshot von keine apache2-bezogenen Pakete.

Dieses Verfahren ist nicht abgeschlossen. Denken Sie daran, dass der Unterschied zwischen apt remove und apt purge ist, ob die Konfigurationsdatei entfernt wird. In dieser Übung haben Sie sie nicht entfernt. Wo ist das?

Das Suchen der Datei umfasst keine Paketmanager. Stattdessen führen Sie eine Standardsuche nach Dateien in Linux aus. Es gibt mehrere Möglichkeiten dazu: Einer der am häufigsten verwendeten Suchbefehle ist find. Dieser Befehl ist jedoch auch verwirrend zu verwenden, daher werden wir ihn hier nicht besprechen. Stattdessen verwenden whereiswir .

Notiz

Linux ist sehr gut dokumentiert. Fast jeder Befehl verfügt über eine nützliche Hilfeseite. Verwenden Sie die Befehle "Man " und "Info ", um die Hilfeseiten in Linux anzuzeigen. Um beispielsweise selbst mehr über den find Befehl zu erfahren, führen Sie man find aus oder info find.

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

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

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

Screenshot des Befehls

Denken Sie daran, dass sich das Verzeichnis "/etc/ " befindet, in dem sich die Systemkonfigurationsdateien befinden. Um zu erfahren, ob "apache2" eine Datei oder ein Ordner ist, führen Sie aus ll /etc/apache2. Wie Sie sehen können, ist dies ein Ordner und enthält die Apache2-Konfigurationsdateien.

Screenshot des Befehls

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

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

Screenshot des Befehls

Nächste Schritte

Teil 1.3 – Installieren von .NET 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.