Prozesse unter Linux beenden

Um einen oder mehrere Prozesse unter Linux zu beenden gibt es verschiedene Möglichkeiten:

1. Taskmanager nutzen

Eigentlich hat mittlerweile fast jede Vernünftige Distribution einen Taskmanager. Dieses GUI Werkzeug erinnert sehr stark an die verwandte Windows Vorlage.

taskmanager

Und lässt sich in den meisten Fällen auch genauso bedienen. Prozess auswählen, rechte Maustaste und die gewünschte Aktion wählen.

taskmanager1

In den meisten Fällen bringt das „Beenden“ eines Prozesses meist nicht das gewünschte Resultat, da sich der Prozess aufgehängt hat und nicht mehr reagiert. Man muss ihn also „töten“ bzw. „killen“

2. Der Befehl „kill“

Dieser Befehl kommt, wie wir bereits oben gesehen haben, auch im Taskmanager zum Einsatz ist aber eigentlich ein reiner Konsolen-Befehl. Um ihn auch auf der Konsole zu nutzen, muss man sich erstmal die laufenden Prozesse anzeigen lassen. Dies geschieht mit folgendem Befehl

ps x

Daraufhin bekommt man in etwa folgende Ausgabe präsentiert.

psx

Hier sehen wir zum einen die Prozess ID (PID), die Zeit wie lange der Prozess bereits läuft (TIME) und den Befehl, welcher den Prozess gestartet hat (COMMAND). Diese drei Variablen sind für uns wichtig um einen Prozess zu definieren. Sucht man nach einem bestimmten Prozess kann man auch „grep“ verwenden

ps x | grep wine

Dadurch werden mir nur Prozesse angezeigt, die „wine“ beinhalten

wine

Problem hierbei ist die Ungenauigkeit, da ich ja wirklich nur nach einem Wort „grepe“ und mir eventuelle Sub-Prozesse, welche zum eigentlichen Problem der Anwendung führen, nicht angezeigt werden.

wine2

Ich empfehle daher

ps x
ps ax

Das a steht hier für „all“ und listet auch Prozesse anderer Benutzer auf. Leider gilt das auch für den User root, daher sollte man hier ein wenig vorsichtiger sein.
Um die Zugehörigkeit eines Prozesses zu definierren

pstree

was dann so aussieht

pstree

Wollen wir nun einen Prozess beenden hilft uns die PID weiter

kill -s 15 PID

Sollte der Prozess nicht mehr reagieren können wir einen „force“ verwenden. In diesem Fall heisst „force“ nur -9

kill -9 PID

Sollte man mal zu faul sein um nach der PID zu suchen, man kennt aber den Namen des Programmes, hilft ein

pkill -9 filezilla

Wobei filezilla hier die Anwendung ist, welche beendet werden soll.
Will man mehrere Prozesse einer Anwendung beenden, wie z.B. alle Prozesse eines httpd Servers

sudo killall -9 httpd

Aber hier gilt wie immer: Erst denken bevor man willkürlich Prozesse abschießt ;)

X2go Server unter Ubuntu installieren

Dagegen kann RDP einpacken. X2go bietet eine sehr gute Performance im Gegensatz zu anderen Protokollen wie z.B. Xrdp oder VNC. Des Weiteren bietet das Programm die Möglichkeit eine Art Terminalserver unter Linux darzustellen. D.h. es können sich mehrere User auf einer Maschine anmelden und dort arbeiten. Dabei spielt die Bandbreite keine zu starke Rolle. Auch einzelne Programme lassen sich Remote ausführen, für den Fall, dass man mal nicht den ganzen Desktop braucht, sondern nur eine Anwendung zur Verfügung stellen möchte.

Installation

Für die Installation des X2go Servers fügen wir folgende ppa hinzu

sudo add-apt-repository ppa:x2go/stable

Danach apt aktualisieren

 sudo apt-get update

Und die entsprechenden Pakete installieren

sudo apt-get install x2goserver x2goserver-xsession

Client Installation

Nachdem ihr den X2go Server installiert habt, braucht ihr natürlich noch einen Client für den Zugriff.

PPA auf dem jeweiligen Rechner hinzufügen

sudo add-apt-repository ppa:x2go/stable

Update

 sudo apt-get update

Und den Client installieren

sudo apt-get install x2goclient

Nach der Installation ist das Paket unter „Internet“ in eurem jeweiligen Starter zu finden, bzw. kann über den Befehl x2goclient gestartet werden.

x2goclient

Wichtig ist, dass der Unity-Desktop sowie Gnome 3 im Moment nicht funktionieren. Ihr solltet also auf dem Server eine andere Oberfläche installieren oder installiert haben. Solltet ihr auf den Server über das Internet zugreifen wollen, muss der SSH Port (22 oder welchen ihr benutzt) freigeben werden. Hier mal ein Video, welches sehr gut die Performance von X2go zeigt:

Path of Exile unter Linux installieren

Ich war die letzten Tage ein wenig lädiert und hatte so Zeit ein paar Spiele unter Linux zu testen. Da ich ja sehr großer Fan von Titeln wie Diablo usw. bin dachte ich mir, ich installier mal wieder Path of Exile.

Installation

Path of Exile unter Linux installieren ist ein wenig aufwendiger. Wenn es läuft, läuft es aber sehr gut. Zunächst installieren wir PlayOnLinux, ein Programm zur Verwaltung von Wine Versionen.

sudo apt-get install playonlinux

Installiert und gestartet sehen wir dieses Fenster

playonlinux

Dort klicken wir jetzt auf Werkzeuge -> Wine Versionen verwalten und fügen die Version 1.7.27-PathOfExile-1.7.27 hinzu. Wenn ihr mit höchster Auflösung spielen wollt, solltet ihr das ganze unter dem Reiter „Wine Versionen (amd64)“ machen.

playonlinux1

Die Installation läuft automatisch und die entsprechenden Pakete werden nachgeladen. Ist alles installiert können wir das Fenster wieder schließen. Nun öffnen wir Konfigurieren -> Neu und folgendes Fenster erscheint

playonlinux2

 

Mit „Weiter“ bestätigen und 32 oder 64bit wählen, je nachdem welche Wine Version installiert wurde.

playonlinux3

Wine Version bestätigen

playonlinux4

und einen Namen vergeben. Ich nenne das mal PoE. Damit ist unser Path of Exile Container fertig.

playonlinux5

Hier werden jetzt noch ein paar Einstellungen vorgenommen. Unter Anzeig wählen wir für „GLSL-Unterstützung“ disabled aus und geben unsere Videospeichergröße an. Wer die nicht auswendig weiß, kann einen Terminal öffnen und mit folgendem Befehl den Videospeicher anzeigen lassen

grep -i --color memory /var/log/Xorg.0.log

Das sollte folgenden Output liefern

sebastian@linuxdenken:~$ grep -i --color memory /var/log/Xorg.0.log
[     4.256] (--) NVIDIA(0): Memory: 2097152 kBytes
[     4.292] (II) NVIDIA: Using 3072.00 MB of virtual memory for indirect memory
[     4.461] (==) NVIDIA(0): Disabling shared memory pixmaps

Unter Memory ist dann der Speicher zu erkennen.

playonlinux6

Als nächstes öffnen wir den Wine Reiter und klicken dort auf „Wine konfigurieren“

playonlinux7

Bei „Windows-Version wählen wir Windows 8 aus und bestätigen mit „OK“ Danach gehen wir zu dem Reiter „Diverses“ und klicken dort auf „Eine .exe-Datei im virtuellen Laufwerk ausführen. Die entsprechende Datei könnt ihr von der offiziellen Seite laden, Account vorausgesetzt. Sobald ihr die .msi ausgewählt habt begrüßt euch der Installer von Path of Exile.

playonlinux8

Einfach den Anweisungen folgen. Der Standard-Pfad ist vollkommen in Ordnung. Ist das Setup durch öffnen wir unter dem Reiter „Diverses“ ein Terminal und geben folgenden Befehl ein

winetricks riched20 usp10

Dadurch werden zwei Bibliotheken installiert, die wir für die Anzeige des Launchers benötigen. Wenn das auch erledigt ist, können wir unter dem Reiter „Allgemein“ eine Verknüpfung für unsere Wine-Version anlegen

playonlinux9

playonlinux10

Danach auf „Weiter“ und im nächsten Fenster auf „Abbrechen“. Nun sollten wir unter unserem PlayOnLinux Fenster die entsprechende Verknüpfung sehen.

playonlinux11

 

PathofExile markieren und auf „Ausführen“ klicken. Danach startet der Launcher und beginnt mit dem Download und der Installation der Spieldateien.

Optimierung

Solltet ihr Probleme mit der Darstellung haben könnt ihr folgende Einstellungen in der Datei (Heim Verzeichnis)/My Games/Path of Exile/production_Config.ini vornehmen:

antialias_mode=0
borderless_windowed_fullscreen=false
fullscreen=true
post_processing=false
resolution_height=1080
resolution_width=1920
screen_shake=false
shadow_type=no_shadows
texture_filtering=2
texture_quality=1
vsync=false

Spotify unter Ubuntu 15.04 installieren

spotify
Mir ist gerade bei der Installation des Spotify Clients aufgefallen, dass dieser sich nach der Installation nicht starten lässt. Spotify bietet ja bisher nur eine Vorabversion des Clients an. Diese kann installiert werden indem man die PPA seiner /etc/apt/sources.list hinzufügt

echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify-ppa.list

Danach kann man noch den Schlüssel installieren um die Pakete zu verifizieren

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 94558F59

Nach einem

sudo apt-get update

Lässt sich Spotify mit

sudo apt-get install spotify-client

installieren.

Versucht man nun den Client zu starten bekommt man einen Fehler: „spotify: error while loading shared libraries: libgcrypt.so.11: cannot open shared object file: No such file or directory“
Diesen bekommt man auch nur auf der Kommandozeile angezeigt. Um das Programm trotzdem zum Start unter Ubuntu 15.04 zu überreden muss mann die entsprechende libgcrypt11 Bibliothek installieren. Diese ist aber leider nicht mehr in den Ubuntu Sourcen enthalten. Ihr könnt sie hier herunterladen: https://packages.debian.org/wheezy/amd64/libgcrypt11/download

Nicht wundern, dass es eine Debian Seite ist, ist kompatibel. Schließlich basiert Ubuntu ja auf Debian. Folgender Befehl installiert das Paket

dpkg -i libgcrypt11_1.5.0-5+deb7u1_amd64.deb

!ACHTUNG! Die Paketnummer kann sich ändern *deb7u3_amd64.deb ist gerade aktuell.

Danach läuft die Musik wieder

Diablo 3 unter Linux Ubuntu 15.04 und LinuxMINT installieren

Wenn ich was zocke, dann Diablo 3. Wie man Diablo 3 unter Linux installiert beschreibt der folgende Artikel.

Installation

Um Diablo 3 unter Ubuntu 15.04 oder LinuxMINT zu installieren, sind folgende Schritte nötig

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update

Pakete neu einlesen

sudo apt-get install wine1.7

Diablo 3 Setup runter laden am besten in euer Home-Verzeichnis

cd ~/Downloads
wget http://dist.blizzard.com/downloads/d3-installers/9ed8c6bce632597fa6646acda77b8025/retail_1/Diablo-III-Setup-deDE.exe

Die Installation starten wir mit folgendem Befehl

wine "Diablo-III-Setup-deDE.exe"

Ihr bekommt daraufhin direkt eine Installationsaufforderung präsentiert, welche so aussehen sollte

diablo

Dieses Fenster kann bis zu 3 mal erscheinen. Nacheinander wohlgemerkt. Einfach bei allen auf installieren klicken. Danach solltet ihr mit folgendem Fenster konfrontiert werden

diablo1

Gebt hier euren BattleNet Account ein und klickt auf „Einloggen“. Jetzt solltet ihr folgendes sehen

diablo2

„Installation starten“ und der Download der Softwarepakete beginnt. Nach der Installation wird euch wie gewohnt der BattleNet Launcher angezeigt.

Optimierung

Solltet ihr eine langsame Grafikkarte verbaut, oder das ganze wie ich auf einem Notebook installiert haben solltet ihr die Grafik auf OpenGL umstellen. Das erhöht eure Framerate bzw. sollte es sie verdoppeln.

Text Datei auf dem Desktop erstellen und folgenden Inhalt einfügen:

32Bit

#!/bin/sh

WINEDEBUG=-all wine "/home/EUERBENUTZERNAME/.wine/dosdevices/c:/Program Files (x86)/Diablo III/Diablo III.exe" -opengl

64Bit

#!/bin/sh

WINEDEBUG=-all wine "/home/EUERBENUTZERNAME/.wine/dosdevices/c:/Program Files (x86)/Diablo III/Diablo III.exe" -opengl

Nvidia Karten:

32Bit

#!/bin/sh

WINEDEBUG=-all __GL_THREADED_OPTIMIZATIONS=1 wine "/home/EUERBENUTZERNAME/.wine/dosdevices/c:/Program Files (x86)/Diablo III/Diablo III.exe" -opengl

64Bit

#!/bin/sh

WINEDEBUG=-all __GL_THREADED_OPTIMIZATIONS=1 wine "/home/EUERBENUTZERNAME/.wine/dosdevices/c:/Program Files (x86)/Diablo III/Diablo III.exe" -opengl

Danach das Script noch ausführbar machen. In den Ordner wechseln und folgenden Befehl per Kommandozeile ausführen:

chmod +x DATEINAME

Das Spiel über den neuen “Launcher” starten und die höheren FPS (kann man sich anzeigen lassen mit strg+r) genießen. Generell sollte sich das Spiel mit den hier beschriebenen Schritten auch unter früheren Versionen von Ubuntu oder LinuxMINT installieren lassen.

Hier gibt es einen Artikel wie man World of Warcraft installiert.

Lüftersteuerung auf einem ThinkPad regeln

Ich empfehle immer gerne ThinkPads wenn ich nach einem Linux kompatiblen Notebook gefragt werde. Bei diesen Notebooks funktioniert in der Regel fast alles. Das einzige womit die meisten Distributionen auf ThinkPads ein Problem haben, ist die Lüftersteuerung. Bei Kubuntu z.B. setzt der Lüfter erst viel zu spät ein und somit wird das Notebook im Normalbetrieb sehr warm. Abhilfe schafft hier das Programm thinkfan.

Voraussetzungen für die Installation sind: Mindestens Ubuntu 10.04, Debian 6.0 oder höher.

Folgende Modelle werden nicht unterstützt:

  • SL300/400/500-Reihe
  • E330/E530, L440, S531

Installation

Folgender Befehl installiert das Programm

sudo apt-get install thinkfan

Nach der Installation muss thinkpad_acpi konfiguriert werden

echo "options thinkpad_acpi fan_control=1" | sudo tee /etc/modprobe.d/thinkfan.conf

Um das Programm bei jedem Systemstart automatisch zu starten editieren wir die Datei /etc/default/thinkfan

sudo nano /etc/default/thinkfan

und ändern den Eintrag in

START=yes

Bei neueren Ubuntu/Debian Versionen muss zusätzlich der Dienst unter systemctl eingetragen werden

systemctl enable thinkfan.service

Als letzten Schritt hinterlegen wir noch Temperaturschwellen in der Datei /etc/thinkfan.conf

sudo nano /etc/thinkfan.conf
 (0,   0,  42)
(1, 40, 47)
(2, 45, 52)
(3, 50, 57)
(4, 55, 62)
(5, 60, 67)
(6, 65, 72)
(7, 70, 77)
(127,   75, 32767) # Wichtig: diese Zeile (127 = "disengaged" d.h. ungeregelt) sorgt für volle Lüfterdrehzahl

Bei den drei Werten gilt folgende Regel:

  • Lüfterlevel 0 (aus) – 7 (max.), 127 („disengaged“, d.h. volle Leistung ohne Regelung)
  • Temperatur bei deren Erreichen in absteigender Richtung der Lüfterlevel um 1 veringert wird
  • Temperatur bei deren Erreichen in aufsteigender Richtung der Lüfterlevel um 1 erhöht wird

Alles eingetragen? Dann starten wir das Notebook neu. Nach dem Neustart prüfen wir ob alles läuft

 sudo /etc/init.d/thinkfan status

Die Ausgabe sollte so aussehen

thinkfan

Problemlösung

Bei den Modellen X220 und T420s und höher verweigert das Programm seit Kernel 2.6.38 den Dienst. Es wird beim Aufruf von

 sudo thinkfan -n

Folgende Ausgabe geliefert

 /proc/acpi/ibm/thermal: No such file or directory

Problem: Es werden keine Temperaturen erkannt.
Lösung: Installation von lm-sensors

 sudo apt-get install lm-sensors

Danach starten wir das Programm mit

 sudo sensors-detect

Man muss jetzt eine Reihe von Fragen beantworten. In der Regel sollte man bei jeder Frage einfach mit „yes“ bestätigen können. !ACHTUNG! bei der letzten Frage ist die Vorauswahl auf „no“ gestellt ihr müsst aber zwingend „yes“ angeben sonst funktionieren die Sensoren nicht bzw. werden nicht automatisch gestartet.

 "Do you want to add these lines automatically to /etc/modules? (yes/NO)" yes

An dieser Stelle empfehle ich wieder einen Neustart. Ist das System gebootet generieren wir die temp_input Files

 find /sys/devices -type f -name "temp*_input"

Das sieht dann so aus

thinkfan1

Diese Ausgabe hinterlegen wir in der Datei /etc/thinkfan.conf mit einem vorangestellten hwmon

thinkfan2

Neustart. Und das wars.

Sollten bei euch Probleme auftreten oder ihr eine Frage haben, meldet euch über die Kommentar-Funktion

Archive unter Linux entpacken/packen

Da ich mir teilweise auch den ganzen -xfvz Mist nicht merken kann, hier mal eine Auflistung der unterschiedlichen Befehle zum packen oder entpacken unter Linux.

tar

Entpacken:

 tar xfv archiv.tar (x = extract, f = file, v = verbose)

Packen:

 tar cfv archiv.tar inhalt1 inhalt2 inhalt3 (c = create)

Komprimiert packen:

 tar cfzv archiv.tar inhalt1 inhalt2 inhalt3 (z = komprimieren)

Anzeigen:

 tar tfv archiv.tar

gz

Packen:

 gzip file

Entpacken:

 gunzip file

Komprimiert packen:

 tar cfvz archiv.tar.gz inhalt1 inhalt2

Dekomprimieren und entpacken:

 tar xfvz archiv.tar.gz

bz2

Packen:

 bzip2 file

Entpacken:

 bunzip2 file.bz2

Komprimiert packen:

 tar cfvj archiv.tar.bz2 inhalt1 inhalt2

Dekomprimieren und entpacken:

 tar xfvj archiv.tar.bz2

zip

Packen:

 zip archiv.zip inhalt1 inhalt2

Ordner packen:

 zip -r archiv.zip ordner1 ordner2 ordner3

Ordner entpacken:

 unzip archiv.zip

Anzeigen:

 unzip -l archiv.zip

Mehr Infos gibts unter

man tar

zum Beispiel.

Zeigergeschwindigkeit unter Ubuntu einstellen

Ja. Das ist ein echtes Problem. Von diesen gibt es unter Linux noch das ein oder andere. Probleme, die seit Jahren nicht behoben werden. Die Zeigergeschwindigkeit.

Wer wie ich mit einem Notebook arbeitet, dem dürfte schon aufgefallen sein, dass die Zeigergeschwindigkeit nicht unbedingt mit den Mauseinstellungen übereinstimmt. In meinem Fall ist mir die Geschwindigkeit einfach zu schnell. Wirft man also einen Blick in Mauseinstellungen bekommt man aber folgendes Bild:

mauseinstellungen

Beschleunigung und Empfindlichkeit stehen hier eindeutig auf Langsam und Niedrig, was nicht wirklich dem Verhalten des Mauszeigers entspricht. Eigentlich sollte sie sich bei dieser Einstellung fast gar nicht mehr bewegen. Zum Glück kann man hier ein wenig tricksen.

Geschwindigkeit reduzieren

Möchte man die Maus wie ich langsamer haben kann man folgende Schritte durchführen. Zunächst lässt man sich die auf dem PC angeschlossenen Eingabegeräte anzeigen mit dem Befehl

xinput -list

Die Ausgabe sollte in etwa so aussehen

xinput

Hier werden euch alle Eingabegeräte angezeigt. Für uns wichtig ist der erste Bereich mit „Virtual core pointer“. Unsere Maus identifizieren wir hier über den Namen. Wenn es ein Touchpad ist heißt es auch zu 99% Touchpad. Wenn ihr eine Steelseries Maus habt, heißt sie auch so. Wollen wir jetzt für ein Eingabegerät die Geschwindigkeit ändern, können wir das mit diesem Befehl bewerkstelligen

xinput set-prop "ID eurer Maus" "Device Accel Constant Deceleration" 7

Die ID wird euch in der Liste angezeigt. Sieben ist hier ein guter Mittelwert. Nach oben wird es schneller, nach unten langsamer. Der Befehl hält nur bis zum nächsten Neustart. Danach ist alles beim Alten (also falsch wie oben gelernt). Um das ganze nach einem Neustart nicht immer wieder eingeben zu müssen hilft uns ein kleines Script. Wir wechseln in den Ordner /etc/X11 und erstellen folgendes Verzeichnis

sudo mkdir xorg.conf.d

In diesem Verzeichnis legen wir die Datei 50-mouse-deceleration.conf an

sudo nano 50-mouse-deceleration.conf

Der Datei fügen wir folgenden Inhalt hinzu

Section "InputClass"
     Identifier   "unsere Maus"
     MatchProduct "der Name unserer Maus nicht die ID"
     Option       "ConstantDeceleration" "7"
EndSection

Das ganze speichern wir mit Strg+O und beenden Nano mit Strg+X. Jetzt haben wir auch nach dem Neustart eine „funktionierende“ Maus.

ESXi VM zu ProxmoxVE konvertieren

Ausgangslage: Wir haben einen ESXi am laufen und wollen die VMs auf einen ProxmoxVE umziehen. Hier ist ein wenig Vorarbeit notwendig, es geht aber schneller und einfacher als gedacht.

Vorbereitung

Zunächst verbinden wir uns mittels des VMware vSphere Clients zu unserem ESXi. Dort wählen wir die VM, welche umgezogen werden soll und gehen zu Datei -> Export -> OVF-Vorlage exportieren …

esxi2

Wichtig hierbei: Die VM muss ausgeschaltet sein, sonst ist der Punkt nicht verfügbar. Wir geben nun Name und Verzeichnis an und drücken OK. Jetzt sollte die Vorlage erstellt werden, was in der Regel einen Moment dauert.

esxi3

Ist das ganze beendet kopieren wir die Datei test.vmdk auf unseren ProxmoxVE Server in ein beliebiges Verzeichnis. Das kann man von Windows aus am besten mit WinSCP machen, von Linux aus sollte es jedem klar sein wie ich mittels ssh eine Datei kopiere.

Ist die Datei kopiert, erstellt man auf dem ProxmoxVE eine neue VM. Hier müsst ihr eigentlich auf nichts achten bzw. könnt diese so konfigurieren wie es euch beliebt oder wie die VM, welche wir ja gerade kopieren, vorher ausgesehen hat.

Wenn die VM erstellt ist wandeln wir unsere .vmdk Datei in eine .qcow2 Datei um. Dies geschieht über folgenden Befehl direkt auf dem ProxmoxVE. Wechselt zur Eingabe des Befehls am besten in das Verzeichnis in dem auf die .vmdk liegt.

qemu-img convert -f vmdk test.vmdk -O qcow2 test.qcow2

Der Vorgang dauert einen Moment und ihr bekommt keine Fortschrittsanzeige. Also geduldig bleiben. Bei sehr großen VMs kann es auch sehr lange dauern.

Ist die Datei konvertiert solltet ihr jetzt eine zusätzliche Datei mit dem oben angegebenen Namen in eurem Verzeichnis liegen haben. Diese kopieren wir jetzt in das Verzeichnis eurer neu erstellten VM

cp test.qcow2 /pfad/zur/vm/vm-vmdID-disk-1.qcow2

Hier müsst ihr darauf achten, den genauen Pfad eurer VM anzugeben und die vmID gegen die von euch verwendete zu tauschen. In der Regel vergibt Proxmox die IDs fortlaufend und beginnt meist mit 100.

Sobald der Kopiervorgang beendet wurde könnt ihr eure VM starten. Das System sollte ohne Probleme booten.

Ubuntu Update auf 15.04

Ubuntu 15.04 steht vor der Tür. Neuinstallation oder Upgrade ist die Frage. Ich persönlich habe hier noch ein Ubuntu 14.04 laufen, welches  ich jetzt mal upgrade.

ubuntu_upgrade

 

Zunächst ist es wichtig, dass ihr die aktuellsten Updates installiert habt.

sudo apt-get update && sudo apt-get upgrade

Wenn die Updates installiert sind solltet ihr sicher sein, dass ihr ein aktuelles Backup eures Systems habt. Theoretisch kann ja immer mal was schief gehen. Des Weiteren kann es zu Problemen mit eingebundenen PPAs kommen. Solltet ihr hier was exotisches verwenden, schaut euch die Abhängigkeiten vorher an. Alles überprüft? Wir benutzen jetzt mal nicht den Terminal sonder rufen folgenden Punkt auf

 Systemeinstellungen -> Anwendungen & Aktualisierung -> Aktualisierungen

ubuntu_upgrade1
Dort setzen wir den Haken bei „Vorabveröffentlichte Aktualisierungen“ und wählen unten unter „Über neue Ubuntu-Versionen benachrichtigen“ -> „Für jede neue Version“ aus. Folgendes Fenster bekommen wir dann angezeigt. Das ist lediglich APT welches uns informiert, dass die Quellen neu geladen werden müssen. Also „Neu laden“ klicken.

ubuntu_upgrade2

 

Daraufhin bekommen wir dann auch direkt gemeldet, dass neue Aktualisierungen verfügbar sind.

ubuntu_upgrade3

Haben wir das erste Update installiert, werden wir, wenn die Aktualisierungsverwaltung erneut gestartet wird, auf das System-Update hingewiesen

ubuntu_upgrade4

 

Damit startet die Aktualisierung. Wie ich oben erwähnt hatte, bekommt man auch direkt die Meldung über die deaktivierten Paketquellen

ubuntu_upgrade5

 

Einfach bestätigen und weiter den Anweisungen folgen. Dabei sollten eigentlich keine weiteren Probleme auftreten. Am Ende habt ihr ein aktuelles System.

MAC Adresse unter Linux ändern

Virtuelle Maschine in lokalem Netzwerk aufgesetzt, konfiguriert und auf den Server geladen. Netzwerkkarten konfiguriert. Netzwerk kann nicht gestartet werden. Problem: Das Linux behält die alte MAC, obwohl ich die Netzwerkkarte entfernt und neu zugeordnet hatte.

Wie ändert man also die MAC Adresse unter Linux? Ganz einfach wenn man weiss wie.

Möglichkeit 1

Temporäre Änderung der MAC über folgende Befehle:

sudo ifconfig eth0 down
sudo ifconfig eth0 hw ether 00:11:22:33:44:55
sudo ifconfig eth0 up

Eintrag überprüfen

sudo ifconfig

Damit habt ihr eure MAC bis zum nächsten Neustart des Systems geändert. Total gut wenn man z.B. einem Netzwerk nicht seine MAC mitteilen möchte.

Möglichkeit 2

Dauerhafte Änderung der MAC über einen Eintrag in /etc/network/interfaces

sudo nano /network/interfaces

Unter dem Eintrag iface eth0 inet dhcp folgendes ergänzen

iface eth0 inet dhcp
   hwaddress ether 00:11:22:33:44:55

Als Adresse müsst ihr entweder die von euch erfundene MAC eintragen oder eine reale, die ihr von eurem Provider für z.B. VMs bekommen habt.

Externen MySQL Zugriff einrichten

Eine aktuelle Version des Artikels gibt es auf http://kleewald.eu/blog

 

 

 

Gestern habe ich ja beschrieben, wie man phpMyAdmin unter Ubuntu installiert. Heute kam dann direkt die Frage auf: Wie richte ich einen externen Zugriff auf die Datenbank ein. Darauf will ich hier mal eingehen. Grundlage ist der Artikel „phpMyAdmin unter Ubuntu installieren und absichern“. Ich gehe davon aus, dass ihr ein System habt, welches nach der Beschreibung in dem Artikel erstellt wurde. Des Weiteren weise ich darauf hin, dass ein externer Zugriff auf eine Datenbank auch immer ein Risiko darstellt. Ich kann deshalb jedem nur raten sein System immer auf dem aktuellsten Stand zu halten, da das die Risiken minimiert von einem Exploit betroffen zu sein.

Externen Zugriff auf die Datenbank einrichten

Wenn das System „frisch“ installiert wurde ist standardmäßig nur der lokale Zugriff auf die Datenbank erlaubt. Dieser Zugriff wird über eine Variable in der /etc/mysql/my.cnf gesteuert. Der Eintrag sieht wie folgt aus:

bind 127.0.0.1

Damit wir Zugriff von einem externen System erhalten muss dieser Eintrag geändert werden.

bind 0.0.0.0

Diese Änderung bewirkt, dass sich jede IP mit der Datenbank verbinden kann. Das heisst natürlich nicht, dass auch jeder Zugriff auf die Datenbank hat. Vielmehr sollte man es als Möglichkeit beschreiben, welche nun gegeben ist. Ihr könnt hier auch einfach eine bestimmte IP eintragen, von der der Zugriff erlaubt wird. Das sieht dann so z.B. aus

bind 192.168.100.1

Das ermächtigt nur die IP 192.168.100.1 zum Zugriff auf den Server. Ich denke mal das Prinzip ist klar geworden.
Haben wir einen bind Eintrag gewählt, müssen wir den MySQL Server neu starten

sudo /etc/init.d/mysql restart

Ob der Zugriff funktioniert, testet ihr mit folgendem Befehl

telnet server_ip 3306

Alternativ könnt ihr auch die MySQL Workbench verwenden

User für den externen Zugriff anlegen

Ich empfehle einen speziellen User für den externen Zugriff einzurichten. Natürlich könnt ihr auch den root User oder jeden anderen von euch erstellten User nehmen. Persönlich nutze ich immer einen extra dafür erstellten. Dazu öffnen wir eine Verbindung zu unserem MySQL Server

mysql -u -root -p

Und erstellen den User, der hier mal Klaus genannt wird

create user 'klaus'@'%';

Jetzt haben wir den User Klaus mit dem Recht auf externen Zugriff angelegt.
Wollt ihr einen existierenden User bearbeiten hilft euch

use mysql;
update user set host='%' where user='euer_benutzer';
update db set host='%' where user='euer_benutzer';

Das gibt zum einen dem User euer_benutzer das Recht von extern auf die Datenbank zu verbinden, zum anderen werden alle Datenbanken des Benutzers auf das neu vergebene Recht aktualisiert.

MySQL Zugriff über iptables erlauben

Wenn ihr einen Schritt weiter gehen wollt könnt ihr auch einzelnen IP Adressen den Zugriff gewähren. Das funktioniert über iptables, was sowas wie eine eingebaute Firewall für Linux ist. Das paket ist eigentlich in allen Distributionen vorhanden und es muss somit nichts nachinstalliert werden.

Mit folgender Regel erlaubt ihr den Zugriff auf euer System über den Port 3306 von den Adressen 10.10.11.1 ,192.168.100.1 und localhost. Für alle anderen wird der Zugriff somit gesperrt

iptables -A INPUT -i lo -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -s 10.10.11.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -s 192.168.100.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j REJECT --reject-with icmp-port-unreachable

Das wars. Immer schön ans Updaten des Systems denken, dann kann eigentlich auch nichts passieren.

phpMyAdmin unter Ubuntu installieren und absichern

Vorbereitung

Wie man phpMyAdmin unter CentOS installiert hatte ich ja schon mal hier beschrieben Da es aber ein paar Sonderheiten unter Ubuntu zu beachten gibt, dachte ich mir ich schreib nochmal einen kurzen Artikel wie man phpMyAdmin unter Ubuntu installieren und absichern kann. Ich habe eben erst mal ne Stunde an meiner Firewall rum gefummelt, bis das Test-System endlich ins Internet wollte … Versichert euch also auf jeden Fall, dass die Internetverbindung bei euch im Test,- oder Live-System steht.

Ich gehe davon aus, dass Ubuntu Server 14.04 in der Grundversion + SSH Server installiert ist. Wie das System um den LAMP Stack erweitert wird könnt ihr hier nachlesen. Macht vorher auch mittels:

sudo apt-get update && sudo apt-get upgrade

unbedingt noch ein Update des Systems.

Wenn ihr diese Grundvoraussetzungen erfüllt geht es weiter mit der Installation von phpMyAdmin.

Installation von phpMyAdmin

Das Programm phpMyAdmin lässt sich einfach über apt aus den Ubuntu Repositories installieren über folgenden Befehl

sudo apt-get update
sudo apt-get install phpmyadmin

Ihr werdet nun ein paar Sachen abgefragt, die es richtig zu beantworten gilt

phpmyadmin1

Hier wählen wir apache2.

phpmyadmin2

Selbst als erfahrener Datenbankadministrator bin ich noch nie auf die Idee gekommen, dass von Hand anzulegen. Also <Yes>

phpmyadmin3

Euer Passwort eingeben …

phpmyadmin4

… und bei Bedarf ein neues Passwort für den phpMyAdmin Benutzer erstellen. Wenn ihr das Feld leer lasst bekommt ihr eins automatisch generiert. Achtet also darauf, wenn ihr Ok klickt.

Die phpMyAdmin Apache Konfiguration wurde unter /etc/apache2/conf-enabled/ angelegt wenn das Setup beendet wurde. Als nächstes installieren wir das Paket php5-mcrypt über folgenden Befehl

sudo php5enmod mcrypt

Und starten den Webserver neu

sudo service apache2 restart

Daraufhin sollte die phpMyAdmin Instanz unter folgender URL erreichbar sein.

http://ip_oder_domain_eures_servers/phpmyadmin

Ihr bekommt diese Login-Maske angezeigt

phpmyadmin5

an der ihr euch mit root und dem von euch vergebenen phpMyAdmin Passwort anmelden könnt.

phpMyAdmin absichern

Wenn ihr euren Server in einer sicheren Umgebung betreibt, sprich einem lokalen Netzwerk auf das von außen kein Zugriff besteht, seid ihr an diesem Punkt fertig. Ist das nicht der Fall und der Server ist öffentlich zugänglich d.h. über das Internet erreichbar, richten wir in diesem Schritt noch einen .htaccess Schutz ein.

Dazu müssen wir zunächst Apache die .htaccess Overrides erlauben. Dies geschieht in der phpmyadmin.conf

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Hier fügen wir ein AllowOverride All der Spalte hinzu

    Options FollowSymLinks
    DirectoryIndex index.php
    AllowOverride All

Speichern und Apache restarten.

sudo service apache2 restart

Als nächstes wird eine .htaccess File erstellt. Folgender Befehl legt direkt in unserem phpmyadmin Verzeichnis eine an

sudo nano /usr/share/phpmyadmin/.htaccess

Nicht wundern die Datei ist leer. Wir füllen sie mit diesem Inhalt

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Datei speichern und schliessen. Und weiter im Text.
Für die Authentifizierung benötigen wir eine .htpasswd File. Den Ort wo diese Datei liegen muss, haben wir mit der Variablen AuthUserFile in der .htaccess definiert. Um die .htpasswd anlegen zu können brauchen wir zunächst aber noch ein Paket

sudo apt-get install apache2-utils

Ist dieses installiert können wir die Datei anlegen

sudo htpasswd -c /etc/phpmyadmin/.htpasswd Benutzername

Unter Benutzername tragen wir den von uns gewünschten Benutzernamen ein. Es muss kein bereits auf dem Linux System vorhandener Benutzer sein. Das Passwort wird nach Eingabe des Befehls vergeben. Damit ist Benutzer und Passwort angelegt.
Ihr werdet in Zukunft bevor ihr eure Seite betretet nach eben diesem Benutzer und Passwort gefragt. Erst danach gelangt ihr zu der Anmelde-Maske von phpMyAdmin.

phpmyadmin6

Fragen? Anregungen? Hinterlasst einen Kommentar.

Apache, MySQL und PHP unter Ubuntu installieren

LAMP unter Untu installieren. Für diese Anleitung setze ich einen Ubuntu Server in der Grundinstallation voraus. Das sollte jeder auch ohne Anleitung / Tutorial hinbekommen.

LAMP beschreibt eine Sammlung von Dateien unter Linux: Linux, Apache, MySQL, PHP und dient somit als Grundlage der meisten Webserver unter Linux. Los gehts.

Installation Apache

Apache lässt sich relativ einfach über apt installieren. Terminal auf und

sudo apt-get update
sudo apt-get install apache2

eingeben. Danach ist der Server unter

http://die_IP_des_servers

erreichbar und euch sollte diese Seite angezeigt werden

 

apache2

Wenn ihr die Seite angezeigt bekommt, ist der Webserver richtig installiert.

MySQL installieren

Da wir nun unseren Webserver installiert haben, kommen wir zur Datenbank. Wir bedienen uns hier wieder apt und installieren MySQL mit folgendem Befehl

sudo apt-get install mysql-server php5-mysql

Das apt-get update können wir uns sparen, da wir ja gerade erst aktualisiert hatten. Während der Installation der Datenbank werdet ihr nach einem Administrator Passwort gefragt, welches ihr vergeben müsst. Merkt euch dieses gut, denn es ist in etwa genauso wichtig wie euer root Passwort. Solltet ihr einen Fehler bekommen, dass das Passwort nicht vergeben werden kann, so könnt ihr dies nach der Installation mit folgendem Befehl nachholen.

/usr/bin/mysqladmin -u root password 'neues passwort'

Wenn die Installation beendet ist führen wir noch ein

sudo mysql_install_db
sudo mysql_secure_installation

aus. Dadurch werden die Beispieldaten, die mit MySQL installiert werden, wieder gelöscht und eure Installation wird dadurch abgesichert. Zudem wird die Datenbankstruktur von MySQL angelegt. Solltet ihr immer noch kein root Passwort vergeben haben, werdet ihr in diesem Schritt dazu genötigt. Um zu testen ob alles korrekt installiert wurde könnt ihr euch mit

mysql -u root -p

und eurem Passwort anmelden.
Sollte das alles ohne Probleme durchgelaufen sein, kommen wir zum nächsten Schritt.

PHP installieren

Fast geschafft. Jetzt fehlt nur noch PHP.

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

Das wars. Es sollten eigentlich keine Probleme bei der Installation aufgetreten sein. Jetzt müssen wir nur noch den Apache Webserver neu starten

sudo service apache2 restart

Für weitere PHP Module können wir eine Suche mittels apt-cache search starten

sudo apt-cache search php5-

Was uns eine Liste in diesem Format ausgibt

php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5

Diese Module lassen sich dann bei Bedarf noch über apt nachinstallieren.

Um unsere PHP Installation zu testen legen wir jetzt eine info.php Datei an

sudo nano /var/www/html/info.php

Mit folgendem Inhalt:

<?php
phpinfo();
?>

Diese können wir nun über unseren Browser aufrufen

http://die_IP_des_servers/info.php

und sollten folgende Seite angezeigt bekommen

phpinfo

Wird diese angezeigt haben wir alles richtig gemacht. Die Datei kann man nach der Ausgabe wieder entfernen. Es soll ja nicht jeder diese Infos über unseren Server bekommen.

sudo rm /var/www/html/info.php

Das wars. LAMP installiert und konfiguriert. Einsatzfertig. Bei Fragen oder Problemen hinterlasst einen Kommentar.