Ubuntu Linux – Background, Foreground, Jobs, Prozesse von der Shell entkoppeln

In Ubuntu Linux, ebenso wie in anderen Distributionen, ist es relativ einfach Prozesse von der Shell abzukoppeln, sodass diese im Hintergrund laufen. Um dies zu tun gibt es diverse Befehle.

Möglichkeit 1

  1. Befehl/Prozess ganz normal aufrufen (z.B. deluge-web zum Starten von der Web UI von Deluge)
  2. Prozess mit Strg/Crtl + Z von der Shell abkoppeln
    Es erscheint eine ähnliche Ausgabe in der Shell:
  3. Nun können wir folgenden Befehl eintippen um uns alle Prozesse anzeigen zu lassen (die Ausgabe sieht aus wie aus Schritt 2):
  4. Die Zahl in den eckigen Klammern wird benötigt, merken!
  5. Mit folgendem Befehl lässt man den Prozess im Hintergrund weiterlaufen:
  6. Mit folgendem Befehl lässt man den Prozess wieder in der aktuellen Shell anzeigen:

     

Möglichkeit 2

Ein Aufruf mit sudo und dem entsprechenden Parameter für den Hintergrund (-b für Background):

Bei dieser zweiten Möglichkeit wir der Prozess direkt im Hintergrund gestartet, man spart sich hier die Schritte des Abkoppeln von der Shell, ebenso wie den Aufruf von bg.

Ubuntu Linux NFS-Share auf Remote-Ziel

Ich erkläre in diesem Artikel nur kurz, wie ihr ein NFS-Share unter Ubuntu Linux mountet. Den Server-Teil werde ich hier nicht erläutern. In meinem Beispiel habe ich mein QNAP verwendet und die NFS-Dateifreigabe aktiviert. Wichtig zu sagen ist, dass beim NFS als Berechtigung die IP-Adresse mit den Berechtigungen Lesen und Lesen/Schreiben hinterlegt wird. Es gibt im Gegensatz zur SMB bzw. auch CIFS keine Authentifizierung über Benutzername und Passwort.

Damit wir NFS verwenden können müssen wir das nfs-common Paket in jedem Fall installieren.

Ich erstelle mir einen Ordner in einem Verzeichnis mnt (für Mount), der Mount-Befehl sieht dann wie folgt aus:

Wichtig ist, dass bevor man den Mount-Befehl abschickt, dass die Berechtigung entsprechend vorher im NFS-Server gesetzt wurde, sonst erhält man eine Access Denied-Meldung. Gegebenenfalls muss man sich als root anmelden oder dem Befehl sudo vorwegschicken.


Bei Neustart des Systems verschwindet der Mount-Punkt wieder. Man sollte hier entweder ein Skript speichern, was diesen Befehl ausführt oder einen Eintrag in der /etc/fstab machen.

Linux Aliase einrichten

Damit ich unter meinem Ubuntu Linux nicht ständig die Datei heraussuchen muss um herauszufinden wie man aliase dauerhaft “speichert”, hab ich mir folgendes winziges Shell-Skript gebastelt:

Das Skript benötigt die entsprechenden Rechte zur Ausführung:

Der Aufruf erfolgt dann wie folgt über die Kommandozeile:

In diesem Beispiel-Aufruf möchte ich, dass “l” mein Alias wird, der folgendes ausführen soll: “ls -ltr -sh”

Linux (Ubuntu) Probleme bei Installationen – fehlende Abhängigkeiten

Heute ist mir beim Aufsetzen einer neuen Ubuntu-VM passiert, dass sich das Google Chrome .deb-Paket nicht installieren lies. Es öffnete sich zwar das Ubuntu Software-Center, beim Klick auf “Installieren” passierte jedoch nichts. Die Anleitung funktioniert ebenso für jedes andere .deb-Paket, dieses Beispiel bezieht sich auf die Installation von Google Chrome.

Allerdings ist es auch möglich Debian-Pakete manuell über das Terminal zu installieren:

  1. Der Einfachheit halber in das Verzeichnis des .deb-Pakets wechseln, z.B.
  2. Folgenden Befehl müssen wir dann anschließend ausführen:

Dann konnte die Installation aber auf Grund fehlender Abhängigkeiten nicht installiert werden. Dies kann man wie folgt lösen:

Damit ließen sich dann die Abhängigkeiten und das Paket installieren und Google Chrome tauchte im Software-Center auf und konnte gestartet werden.

LEMP-Installationsskript

Hier findet ihr ein kleines Hilfeskript. Dieses muss unbedingt als root ausgeführt werden! Vorausgesetzt wird ein Linux mit installiertem apt-get. Mit diesem Skript wird zuerst das Betriebssystem aktualisiert und im Anschluss werden folgende Dinge installiert:

  • MariaDB Server und Client
  • nginx Webserver
  • PHP 7.0-FPM
  • PHP 7.0 MySQL Binds, welche die MySQL/MariaDB Funktionen zur Verbindung liefern
  • phpMyAdmin
  • openssh-server für den SCP Zugriff im Anschluss

Nach den Paketinstallationen muss man lediglich phpmyadmin konfigurieren. Hier ist es im Grunde nur wichtig, dass man den Benutzer und das Passwort angibt, sodass sich phpmyadmin mit der MySQL bzw. in diesem Fall MariaDB verbinden kann. Wer statt MariaDB lieber MySQL verwenden möchte muss lediglich die Pakete mariadb-server und mariadb-client ändern in mysql-server und mysql-client. Der Rest ist identisch.

Im Anschluss daran werden die php.ini und die www.conf automatisch angepasst und zum Schluss wird nginx für PHP und phpmyadmin konfiguriert. So ist es möglich, dass PHP-Skripte ausgeführt werden können und phpMyAdmin über die URL http://eure-ip-oder-hostname/phpmyadmin erreichbar wird.

Dieses Skript wurde am 10.01.2017 erstellt und am selben Tag mit einem Clean-Install von Ubuntu Server 16.10 getestet.

Installations-Skript

 

MySQL Remote Access einrichten

Damit man außerhalb auf eine MySQL-Datenbank zugreifen kann und das ohne phpMyAdmin kann man Software für Windows, Mac oder Linux verwenden. Jeder Datenbankhersteller bietet sein eigenes Tool an, so ist dies bei MySQL zum Beispiel über die MySQL Workbench möglich. Eine Drittanbietersoftware wäre Navicat in diversen Versionen für unterschiedliche Datenbank oder dem “Premium”, die alle unter einem Dach vereint. Navicat ist allerdings nicht kostenlos erhältlich.

Diese Anleitung bezieht sich auf eine MySQL-Datenbank auf einem Debian Linux.

Schritt 1: Privilege setzen

Die Privilegien setzen. Dazu müssen wir einen SQL-Befehl via Konsole oder phpMyAdmin absetzen. Dieser lautet:

Man sollte dies allerdings nicht auf dem root-User anwenden.

  • database.* bedeutet auf alle Tabellen in der Datenbank database. Ein *.* ist ebenfalls möglich.
  • user ist der Benutzer auf den diese Rechte angewendet werden.
  • % ist der Bereich, die Domain, IP. %.domain.com oder 192.168.0.% sind möglich, % bedeutet, egal woher.
  • newpassword ist das Passwort des Benutzers user.

Schritt 2: IP-Binding anpassen

Eine weitere Schutzmaßnahme kommt out-of-the-box daher. In der Datei /etc/mysql/my.cnf gibt es unter der Sektion [mysqld] den Eintrag:

Nun gibt es zwei Möglichkeiten:

  1. Diese Zeile auskommentieren mit einer # als erstes Zeichen, dass ermöglicht allen IP-Adressen den Zugriff von außerhalb.
  2. Einfach eine weitere IP-Adresse “binden”. Habt ihr keine statische IP in eurem Netzwerk ändert sich diese aber z.B. beim Neustart. Dafür kommt wirklich nur ihr auf die Datenbank.

Schritt 3: Neustart

Ggf. muss der mysql-Dienst neugestartet werden, dies passiert unter Linux mit dem Befehl:

Fertig!

phpMyAdmin Passwort vergessen, was nun?

Heute ist es passiert und so schnell kann es gehen. Nach ewig langer Zeit hab ich ein Image auf die microSD vom Raspberry Pi eingespielt und musste mich in die Datenbank einloggen. Doch auch wenn man über den Benutzer root meistens reinkommen sollte stellt sich die Frage nach dem Passwort. Es gibt aber eine Möglichkeit das Passwort herauszufinden. Dazu folgende Zeile im Terminal tätigen:

Wer noch ein paar andere Infos braucht, für den ist folgender Befehl sicherlich auch hilfreich:

Ich hoffe es hilft euch.