Debian Administration

Linux Version anzeigen lassen

Einleitung

Es gibt mehrere Wege, die aktuelle Linux Version anzeigen zu lassen. Alle Wege, die vorgestellt werden, werden über das Terminal durchgeführt. So kannst du diese auch ausführen, wenn du über SSH / Telnet mit dem Server verbunden bist. 

Linux Version und die Distribution anzeigen

Wenn du die Linux Version und die Distribution anzeigen lassen möchtest, musst du einen entsprechenden Befehl absetzen. Diesen Befehl kannst du so gut wie auf jedem Linux System eingeben.

cat /etc/issue

Linux Installation 32 oder 64-bit?

Wenn du jetzt herausfinden möchtest, ob es sich bei der Linux Installation um eine 32- oder 64-bit Version handelt, kannst du den entsprechenden Befehl absetzen. Dieser gibt dir ein paar Grundinformationen über das System aus. Unter anderem die entsprechende Befehlssatz-Architektur. 

uname -a

Linux Systeminformation übersichtlich darstellen

Als Letztes kannst du die Systeminformationen dir schön darstellen lassen. Dazu verwenden wir das Tool neofetch. Dieses musst du erst nachinstallieren. 

Ubuntu

sudo add-apt-repository ppa:dawidd0811/neofetch
sudo apt-get update
sudo apt-get install neofetch -y

Debian

sudo apt-get install neofetch

Fedora

sudo dnf install neofetch

Wenn du das Tool nun installiert hast, kannst du mit dem Befehl neofetch dir die Systeminformationen anzeigen lassen.

linuxsysteminfo1.JPG

Debian Spiegel-Server ändern

Einleitung

In diesem Beitrag erkläre ich kurz, wie wir schnell unter Debian den Spiegelserver auf einen anderen Spiegelserver ändern können. Dazu geben wir noch einen Parameter mit, mit dem sich das Programm automatisch den besten Spiegelserver automatisch heraussucht. 

Spiegelserver ändern

Um den Spiegelserver zu ändern, müssen wir im ersten Schritt das Programm installieren. Dazu benötigen wir erstmal die Python Paket Installer PIP. 

sudo apt install pip -y

 Im Anschluss installieren wir das benötigte, Programm, um schnell den Spiegelserver zu ändern.

sudo pip3 install apt-mirror-updater
Spiegelserver schnell ändern (Automatische Suche)

Damit das Programm den Spiegelserver selbst heraussucht, geben wir den Parameter -b mit. Dann liest das Programm die Spiegelserver selbst ein, und probiert alle durch. Den besten installiert er für sich selbst. 

sudo apt-mirror-updater -b
sudo apt-mirror-updater --find-best-mirror

sudo apt-mirror-updater -a
sudo apt-mirror-updater --auto-change-mirror
Mögliche Spiegelserver anzeigen

Um die möglichen Spiegelserver anzuzeigen, verwenden wir den Parameter -L. Dann liest das Programm die Spiegelserver-Listen ein, und zeigt uns die möglichen Spiegelserver. 

sudo apt-mirror-updater -c=<URL>
sudo apt-mirror-updater --change-mirror=<URL>

Benutzer

Benutzer

Benutzer wechseln schlägt fehl: This account is currently not available

Einleitung

Beim Updaten eines Debian-Servers bin ich auf das Problem gestoßen, dass ich mich nicht als ein anderer Benutzer mit dem Befehl su anmelden konnte. Ein direkter Login per SSH war auch nicht möglich. Nach einer Recherche bin ich auf die Lösung gestoßen, welches mein Problem beseitigt hat. 

Lösung zum Problem

Im ersten Schritt überprüfen wir, ob dem Benutzer der Login per su oder SSH verboten wurde. Dazu geben wir uns mit dem nachstehenden Befehl einmal eine Übersicht aus, welche Verbote oder Zugriffe unser Benutzer hat.

cat /etc/passwd | grep "benutzername"

Hier überprüfen wir nun, ob hinter dem Benutzernamen ein Eintrag wie /bin/false oder /sbin/nologin steht. Wenn eins von den beiden Dingen hinter dem Benutzernamen steht, haben wir die Ursache gefunden. 

Dazu editieren wir einfach die /etc/passwd Datei mit einem Editor unserer Wahl. Ich verwende dazu nano. Wir entfernen die Einträge und fügen dort /bin/bash ein.

Jetzt sollte ein Login auf dem Server mit dem Benutzer wieder möglich sein. 

Linux automatisch aktualisieren

Einleitung

In diesem Beitrag gehe ich drauf ein, wie wir mithilfe des Paketes cron-apt unseren Debian Server automatisch aktualisieren. Damit können wir sicherstellen, dass wenn wir im Urlaub oder nicht anwesend sind, unser Server immer auf dem aktuellen Stand ist.


Installation des Paketes

Dazu müssen wir zuerst die Paketquellen aktualisieren und gegebenenfalls Updates installieren, wenn diese vorhanden sind.

sudo apt update && sudo apt upgrade -y

Im nächsten Schritt installieren wir jetzt das Paket cron-apt.

Dazu geben wir folgenden Befehl in die Konsole ein.

sudo apt install cron-apt -y

Konfiguration von cron-apt

Um unsere Updates automatisch installieren zu lassen, müssen wir cron-apt jetzt nur noch konfigurieren. Damit wird dann das Skript jeden Morgen um 4 Uhr Morgens gestartet, und spielt die Updates ein. (Die Uhrzeit kann noch geändert werden).

Wir öffnen zuerst die Standardkonfiguration. Wir öffnen die Datei 3-download mit einem Editor unserer Wahl. Ich verwende hier nano.

sudo nano /etc/cron-apt/action.d/3-download

In dieser Datei befindet sich schon ein Befehl. Dieser Befehl wird automatisch ausgeführt, wenn, cron-apt gestartet wird. Dies geschieht dann automatisch, wenn die festgelegte Uhrzeit erreicht wird, oder wenn wir den Befehl sudo cron-apt -s eingeben.

Die Datei sollte folgenden Inhalt haben:

autoclean -y
dist-upgrade -d -y -o APT::Get::Show-Upgraded=true

Bei diesem Befehl werden die allgemeinen Updates nur heruntergeladen, aber nicht installiert! Wenn wir möchten, dass die Updates automatisch installiert werden, müssen wir nur den Parameter -d entfernen. Dieser gibt an, dass die Updates nur heruntergeladen werden, und wir die Installation selbst in die Hand nehmen müssen.

Wenn die Updates automatisch installiert werden sollen, und man darüber wegsieht, dass es dann zu Problemen kommen kann, durch beispielsweise zurückgezogene Pakete, kann man den nachstehenden Befehl anstelle des vorhandenen verwenden.

autoclean -y
dist-upgrade -y -o APT::Get::Show-Upgraded=true

Wenn wir beispielsweise wollen, dass die normalen Updates nicht automatisch installiert werden, aber Security Updates automatisch installiert werden sollen, können wir die Durchläufe durch eigene Skripte anpassen. Dazu müssen wir nur in demselben Verzeichnis eine Datei mit einer fortlaufenden Nummer und einer Beschreibung erstellen.

sudo nano /etc/cron-apt/action.d/10-securityupdates

In der Datei fügen wir folgenden Inhalt ein:

upgrade -y -o APT::Get::Show-Upgraded=true

Damit jetzt unsere Datei auch verwendet wird, wenn cron-apt startet, müssen wir noch eine Konfigurationsdatei anlegen. Dazu legen wir wieder eine Datei mit dem Namen unser vorherigen angelegten Datei an. Dabei verändert sich nur der Ordner, in dem die Datei angelegt wird.

sudo nano /etc/cron-apt/config.d/10-securityupdates

Dort fügen wir folgenden Code ein. Dabei müssen wir aber die entsprechenden Pfade zu den Paketquellen Listen angeben.

OPTIONS="-q -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list -o Dir::Etc::SourceParts=\"/dev/null\""

Ausführungszeit ändern

Möchten wir jetzt zuletzt noch ändern, wann cron-apt ausgeführt wird, müssen wir die entsprechende Konfigurationsdatei öffnen. Dazu verwenden wir den folgenden Befehl:

sudo nano /etc/cron.d/cron-apt

Wir können dort jetzt die Zeit angeben, wann cron-apt ausgeführt werden soll. Die Zeit geben wir über Syntax der Crontabs / Cronjobs an.

Wenn wir jetzt überprüfen wollen, ob unser Programm sauber durchläuft, können wir es manuell starten, mit dem folgenden Befehl.

sudo cron-apt -s

Im Weiteren legt das Programm auch Logfiles ab. Diese können wir unter /var/log/cron-apteinsehen.

Dateisysteme

Dateisysteme

iSCSI-LUN mounten in Debian (ohne CHAP)

Einleitung

In diesem kurzen Artikel geht es kurz darum, wie wir unter Debian ein iSCSI LUN mounten können. So können wir den System "Physische Festplatten" vorgaukeln und dort Daten auf Storage-System ablegen. 

Durchführung

iSCSI Initiatornamen herausfinden

Um eine Verbindung herzustellen, muss im ersten Schritt ein LUN auf z.B. einem NAS oder SAN angelegt werden. Wie wir den Initiatornamen herausfinden können, habe ich hier beschrieben:

iSCSI Initiatornamen herausfinden

iSCSI-Targets finden

Um die iSCSI-Targets von unserem NAS oder SAN herauszufinden, können wir einen iscsiadm Befehl verwenden. Dieser zeigt uns alle iSCSI-Targets an, die unser Storagesystem zur Verfügung stellt. In dem Befehl müssen wir lediglich die IP-Adresse und den Port des Portals ändern. 

iscsiadm -m discovery -t sendtargets -p <IP-Adresse>:<Port>

Dieser Befehl zeigt uns dann eine Anzahl an verfügbaren Targets an. Diese Ausgabe könnte z.B. wie folgt aussehen:

192.168.10.4:3260,1 iqn.2000-01.com.synology:srv-nas1.default-target.fa26622f0ab
169.254.241.174:3260,1 iqn.2000-01.com.synology:srv-nas1.Target-1.fa26622f0ab
192.168.10.4:3260,1 iqn.2000-01.com.synology:srv-nas1.Target-1.fa26622f0ab
[fec0:a2b2:16::1ae]:3260,1 iqn.2000-01.com.synology:srv-nas1.Target-1.fa26622f0ab
iSCSI-Target mounten

Um ein iSCSI-Target jetzt zu mounten, müssen wir uns den Target-Namen kopieren. Diesen benötigen wir jetzt, um die Verbindung herzustellen. Ein iSCSI-Target-Name beginnt in der Regel immer mit iqn.

Um jetzt die Verbindung herzustellen, führen wir den folgenden Befehl aus (mit Anpassung der Portal-Adresse und Port und des Targetnamens)

iscsiadm --mode node --targetname <Target-Name> --portal <IP-Adresse>:<Port> --login

Wenn alles geklappt hat, sollte jetzt das iSCSI-Target gemountet sein. Dies können wir überprüfen, indem wir schauen, ob lsblk uns eine neue Festplatte anzeigt. 

Info: Die Festplatten beginnen in der Regel immer mit sd*

iSCSI-Festplatte formatieren

Nun können wir mit fdisk eine neue Partition anlegen:

fdisk /dev/<Festplatte>
#fdisk /dev/sdb

Und im Anschluss formatieren wir unsere Festplatte mit dem gewünschten Format.

mkfs.ext4 /dev/<Festplatten-Partition>
#mkfs.ext4 /dev/sdb1

Nun können wir einen Ordner anlegen und diesen mit unserer Festplatten-Partition verbinden:

mkdir /mnt/<Ordnernamen>
mount /dev/<Festplatten-Partition> /mnt/<Ordnernamen>

#mkdir /mnt/iscsi
#mount /dev/sdb1 /mnt/iscsi

Nun sollten wir Daten auf dem entsprechenden LUN ablegen können. 

Dateisysteme

iSCSI bei Neustart automatisch mounten

Einleitung

In dieser Anleitung geht es kurz darum, wie wir auf unserem Debian-Server einstellen können, dass ein iSCSI-Target automatisch bei einem Neustart des Systems verbunden wird. Dies gibt uns die Sicherheit, dass unser System bei einem Neustart weiterhin funktioniert, falls die Festplatten sich nicht automatisch einhängen. 

Durchführung

Im ersten Schritt müssen wir in der Konfiguration unseres iSCSI-Targets einstellen, dass bei einem Start des Systems die Verbindung automatisch wiederhergestellt werden soll. 

Dazu öffnen wir die Datei unseres Targets. Der Pfad variiert je nach Target-Namen und IP-Adresse.

nano /etc/iscsi/nodes/iqn.<target-name>

In dieser Datei müssen wir den node.startup von manual auf automatic umschreiben:

node.startup = automatic

Im nächsten Schritt benötigen wir für die /etc/fstab Konfiguration die UUID unserer Partition. Dazu verwenden wir den folgenden Befehl und geben unsere Partition mit an:

blkid /dev/<Partition>
#blkid /dev/sdb1

Eine Ausgabe könnte wie folgt aussehen:

blkid /dev/sdb1
/dev/sdb1: UUID="c78a3b91-edc7-4367-8b22-153fe6de5dda" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="dfc541ad-5ae3-384f-b1a6-f0b7279ca7fe"

Diese UUID kopieren wir uns in die Zwischenablage und öffnen die /etc/fstab Datei.

nano /etc/fstab

Dort fügen wir eine neue Zeile hinzu:

UUID=<UUID der Partition> /mnt/<Ordnernamen des Mount-Ordners> ext4 rw,suid,_netdev,exec,auto,nouser,async 0 2

Jetzt brauchen wir den Server einmal neu starten, und dann sollte das geklappt haben.