02Dez
Tags: Apache | Betriebssystem | Debian (Linux) | Raspbian (Raspberry Pi) | Ubuntu | Webserver
Kommentieren
Um einen Server laufend zu überwachen, beispielsweise um Unterbrechungen in der Erreichbarkeit oder die Performance zu untersuchen, kann folgendes Script helfen:
|
#!/bin/bash echo "" > ps.log echo "" > uptime.log echo "" > apache-status.log while true do echo `date` uptime >> uptime.log (top -b -c -d 30 -w | head -n 15) >> ps.log (www-browser --width=160 -dump http://localhost:7080/server-status) >> apache-status.log sleep 30 done |
Es macht alle 30 Sekunden eine Momentaufnahme von Auslastung, Uptime und Apache-Serverstatus. Damit kann dann auch nachträglich festgestellt werden, wo möglicherweise Probleme liegen.
apache, apache2, debian, monitoring, server, server-status, uptime
14Okt
Tags: Allgemein | Debian (Linux) | Raspbian (Raspberry Pi)
Kommentieren
Dieses Problem tritt auf, wenn auf der Partition /boot nicht genügen Speicherplatz zur Installation des neuen Kernels vorhanden ist. Dies passiert oft, wenn alte Kernel-Versionen nicht gelöscht werden.
Alle installierten Kernels auflisten:
|
dpkg -l linux-image-\* | grep ^ii |
Die Kernels auflisten, die theoretisch entfernt werden können
|
kernelver=$(uname -r | sed -r 's/-[a-z]+//') dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve $kernelver |
Nun etwas aufräumen:
|
sudo apt-get autoremove sudo apt-get update sudo apt-get upgrade reboot |
Nach dem Neustart können alle alten Kernels entfernt werden:
|
sudo apt-get purge $(dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve "$(uname -r | sed -r 's/-[a-z]+//')") |
Quellen
- http://askubuntu.com/questions/89710/how-do-i-free-up-more-space-in-boot
02Jul
Tags: Allgemein | Debian (Linux) | Raspbian (Raspberry Pi) | Ubuntu
Kommentieren
Benutzer hinzufügen
|
# Benutzer im System anlegen sudo adduser --no-create-home --disabled-login --shell /bin/false <username> # Benutzer zu Gruppe hinzufügen usermod -g <gruppe> <username> # Benutzer zu Samba hinzufügen sudo smbpasswd -a <username> |
Benutzer entfernen
|
sudo userdel -r <username> sudo smbpasswd -x <username> |
Quellen
10Dez
Tags: Betriebssystem | Debian (Linux) | Raspbian (Raspberry Pi)
Kommentieren
Warum parted
, wenn auch fdisk
funktioniert?
fdisk
arbeitet mit MBR
, parted
mit GPT
– zwei verschiedene Formate, Partitionen auf eine Festplatte zu schreiben. Der Grund, weshalb ich hier auf GPT
zurückgreife anstatt das allseits bekannte und beliebte MBR
, ist, dass MBR
nur Partitionen bis 2TB unterstützt.
Partitionieren der Festplatte
Für die folgenden Schritte ist das Programm parted
nötig. Dieses kann mittels
|
$ sudo apt-get install parted |
nachinstalliert werden.
- Untersuchen der aktuellen Festplattenkonfiguration:
|
Disk /dev/sdb: 110 GiB, 118111600640 bytes, 230686720 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xa659f109 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 60262399 60260352 28,8G 83 Linux /dev/sda2 60264446 62912511 2648066 1,3G 5 Extended /dev/sda5 60264448 62912511 2648064 1,3G 82 Linux swap / Solaris |
- Untersuchen der Partitionierung der entsprechenden Festplatte (in diesem Falle
/dev/sdb
):
|
Disk /dev/sdb: 110 GiB, 118111600640 bytes, 230686720 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes |
- Starten von
parted
mit der gewählten Festplatte /dev/sdb
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
GNU Parted 3.2 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print Error: /dev/vdd: unrecognised disk label Model: Virtio Block Device (virtblk) Disk /dev/vdd: 21,5GB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: (parted) mklabel gpt (parted) print Model: VMware Virtual disk (scsi) Disk /dev/sdb: 118GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags (parted) mkpart primary 0% 100% (parted) print Model: VMware Virtual disk (scsi) Disk /dev/sdb: 118GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 118GB 118GB primary (parted) q Information: You may need to update /etc/fstab. |
- Anzeigen der gesamten angeschlossenen Festplattenkonfiguration:
|
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 30G 0 disk ├─sda1 8:1 0 28,8G 0 part / ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 1,3G 0 part [SWAP] sdb 8:16 0 110G 0 disk └─sdb1 8:17 0 110G 0 part sr0 11:0 1 1024M 0 rom |
- Formatieren der neuen Partition als
ext4
:
|
$ sudo mkfs.ext4 /dev/sdb1 |
|
mke2fs 1.42.12 (29-Aug-2014) Ein Dateisystems mit 28835328 (4k) Blöcken und 7208960 Inodes wird erzeugt. UUID des Dateisystems: fb6bed30-7a04-4638-a12b-ae55d2c5de2e Superblock-Sicherungskopien gespeichert in den Blöcken: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 beim Anfordern von Speicher für die Gruppentabellen: erledigt Inode-Tabellen werden geschrieben: erledigt Das Journal (32768 Blöcke) wird angelegt: erledgt Die Superblöcke und die Informationen über die Dateisystemnutzung werden geschrieben: erledigt |
Die 1
in sdb1
ist übrigens äußerst wichtig, da ihr ansonsten die gesamte Festplatte ohne Partitionen formatiert, was unter umständen später Probleme bereiten kann (es funktioniert, wäre jedoch nicht zu empfehlen).
- Mounten unserer neuen Partition:
|
$ sudo mount /dev/sdb1 /data |
18Nov
Tags: Allgemein | Debian (Linux) | macOS / OS X (Mac) | Raspbian (Raspberry Pi) | Webserver
Kommentieren
OS X / Linux
Im Folgenden beschreibe ich, wie das Ganze mit einem Linux- oder Mac-Client beim Zugriff auf einen Linux-Server funktioniert.
Lokal: Key erstellen
|
$ ssh-keygen -t rsa -b 2048 Generating public/private rsa key pair. Enter file in which to save the key (/Users/USER/.ssh/id_rsa/): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/USER/.ssh/id_rsa. Your public key has been saved in /Users/USER/.ssh/id_rsa.pub. The key fingerprint is: 32:33:a6:c9:04:c9:c9:b9: test@localhost.local The key's randomart image is: |
Key übertragen
|
scp /Users/USER/.ssh/id_rsa.pub user@deinserver.com:~ |
Remote: Key zu den authorized_keys hinzufügen
|
# Falls die nötigen Verzeichnisse nicht existieren, anlegen: mkdir ~/.ssh chmod 700 ~/.ssh touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys # Key hinzufügen cat ~/id_rsa.pub >> ~/.ssh/authorized_keys |
Lokal: Key automatisch mit senden
|
ssh-add /Users/USER/.ssh/id_rsa Need passphrase for /Users/USER/.ssh/id_rsa.pub user@deinserver.com. Enter passphrase: |
Troubleshooting
Fehler: „Could not open a connection to your authentication agent.“
In diesem Fall hilft es meist, den SSH-Agent zu starten:
Quellen:
27Mai
Tags: Debian (Linux) | Raspbian (Raspberry Pi)
Kommentieren
Um die Ausgabe eines Befehls zu beobachten, bietet sich das Programm watch
an, das in angegebenem Zyklus die Bildschirmausgabe aktualisiert:
|
Options: -b, --beep beep if command has a non-zero exit -c, --color interpret ANSI color sequences -d, --differences[=<permanent>] Unterschiede zwischen den Ausgaben werden hervorgehoben -e, --errexit exit if command has a non-zero exit -g, --chgexit Beende watch, wenn sich die Ausgabe des Befehls ändern -n, --interval <secs> Anzahl der Sekunden zwischen den Aktualisierungen [2s] -p, --precise attempt run command in precise intervals -t, --no-title Verstecke die Kopfzeile (Uhrzeit und Kommando) -x, --exec pass command to exec instead of "sh -c" -h, --help Zeige diese Hilfe -v, --version Zeige die Version von watch |
Beispiel
Das folgende Beispiel überwacht die aktuelle RAM-Belegung in /proc/meminfo
und aktualisiert sich jede Sekunde. Zudem werden die Veränderungen hervorgehoben:
|
watch -n 1 -d 'cat /proc/meminfo' |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
Every 1,0s: cat /proc/meminfo Wed May 27 21:11:09 2015 MemTotal: 4060708 kB MemFree: 1598172 kB MemAvailable: 3695240 kB Buffers: 33728 kB Cached: 2189016 kB SwapCached: 0 kB Active: 164308 kB Inactive: 2136732 kB Active(anon): 67788 kB Inactive(anon): 24780 kB Active(file): 96520 kB Inactive(file): 2111952 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 1324028 kB SwapFree: 1324028 kB Dirty: 56 kB |
Weiterführende Informationen
aktualisieren, befehl, command, kommando, refresh, watch
27Apr
Tags: Betriebssystem | Debian (Linux) | Raspbian (Raspberry Pi)
Kommentieren
Installierte CPU mit Taktfrequenz auslesen
Um die auf dem aktuellen System installierten CPU inkl. Taktfrequenz auszulesen, reicht es, das folgende Kommando auszuführen. Hierzu sind nicht einmal root-Rechte nötig:
|
grep -i --color "model name" /proc/cpuinfo |
Installierten RAM auslesen
Der oben links unter „total“ in der Zeile „Mem:“ angegebene Wert ist der Speicher in Megabyte.
Angeschlossene Storage-Devices (Festplatten) auslesen
Um alle angeschlossenen Geräte am System anzuzeigen:
Beispiel-Ausgabe:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 28,8G 0 part /
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 1,3G 0 part [SWAP]
sr0 11:0 1 1024M 0 rom
Quellen
- http://wiki.ubuntuusers.de/lsblk
Festplatten-Größe auslesen (Gesamt-Speicherplatz)
12Mrz
Tags: Raspbian (Raspberry Pi)
Kommentieren
Um den Raspberry Pi (Raspbian) zu aktualisieren, bietet sich neben dem normalen Updatevorgang ebenfalls ein Update der Firmware an. Dies funktioniert wie folgt:
Anschließend wir die neue Firmware heruntergeladen und installiert. Das Ganze dauert rund 10 Minuten. Anschließend ist natürlich ein Reboot nötig.
Sieht zum Beispiel so aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom *** Performing self-update % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 8107 100 8107 0 0 18080 0 --:--:-- --:--:-- --:--:-- 22772 *** Relaunching after update *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom *** Downloading specific firmware revision (this will take a few minutes) % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 168 0 168 0 0 259 0 --:--:-- --:--:-- --:--:-- 351 100 43.5M 100 43.5M 0 0 361k 0 0:02:03 0:02:03 --:--:-- 1636k *** Updating firmware *** Updating kernel modules *** depmod 3.18.9-v7+ *** depmod 3.18.9+ *** Updating VideoCore libraries *** Using HardFP libraries *** Updating SDK *** Running ldconfig *** Storing current firmware revision *** Deleting downloaded files *** Syncing changes to disk *** If no errors appeared, your firmware was successfully updated to 1431f38b47ca42cac467a12242b713bba3c50fbc *** A reboot is needed to activate the new firmware |