Linux: Unterschied zwischen den Versionen
Aus MeinWiki
K |
(→Netzwerk) |
||
(39 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
*[[Shell Script]] | *[[Shell Script]] | ||
*[[Installationsanleitung]] | *[[Installationsanleitung]] | ||
− | == | + | *[[Backup]] |
+ | *[[Festplatten ändern]] | ||
+ | *[[Fehlermeldung-Linux]] | ||
+ | == Speicher == | ||
===Festplatte mit ext3 Dateisystem vergrößern === | ===Festplatte mit ext3 Dateisystem vergrößern === | ||
− | |||
*fsck –n /dev/… | *fsck –n /dev/… | ||
*tune2fs –O ^has_journal /dev/… | *tune2fs –O ^has_journal /dev/… | ||
Zeile 12: | Zeile 14: | ||
*tune2fs –j /dev/… | *tune2fs –j /dev/… | ||
*tune2fs –c 0 –i 0/dev/… | *tune2fs –c 0 –i 0/dev/… | ||
+ | ===Festplatte mit ext4 Dateisystem vergrößern === | ||
+ | * Es ist möglich im Betrieb die Festplattengröße zu erweitern. | ||
+ | fdisk /dev/… | ||
+ | e2fsck –f /dev/… | ||
+ | resize2fs –f /dev/… | ||
+ | === Ältere Dateien / Verzeichnisse suchen und entfernen === | ||
+ | *Findet Files im aktuellen Verzeichnis (inclusive Unterverzeichnis) die Älter wie 10 Tage sind und zeige sie an. | ||
+ | find . -type f -mtime +10 -exec ls -al {} ";" | ||
+ | *Findet Verzeichnise im Verzeichnis /var die Älter wie 180 Tage sind und liste sie auf. | ||
+ | find /var/* -type d -mtime +180 -exec echo {} ";" | ||
+ | *Löscht Dateien die Älter wie 30 Tage sind aus dem aktuellen Verzeichnis (inclusive Unterverzeichnis). | ||
+ | find . -type f -mtime +30 -exec rm -vf {} ";" | ||
+ | *Löscht Verzeichnis inclusiv Unterverzeichnis aus dem aktuellen Verzeichnis die Älter 15 Tagen sind. | ||
+ | find /var/ -type d -mtime +10 -exec rm -Rvf {} ";" | ||
+ | *Lösche Files ohne Unterverzeichnis mit einen bestimmten Datum | ||
+ | find -maxdepth 1 -type f -newermt 20210220 -a ! -newermt 20210222 -exec rm -vf {} ";" | ||
+ | *Finde Dateien ohne Unterverzeichnis mit eine bestimmten Datum | ||
+ | find -maxdepth 1 -type f -printf '%TY%Tm%Td %p\n' | awk '"20210220"<=$1 && $1<="20210222"' | ||
+ | *Script zum Löschen von älteren Verzeichnissen und Dateien. | ||
+ | #!/bin/bash | ||
+ | # Verzeichnis welches nach löschbaren Inhalt durchsucht wird | ||
+ | SearchDir='/usr/local/pnp4nagios/var/perfdata' | ||
+ | #Definition des max Alters | ||
+ | olderDay=10 | ||
+ | # Verzeichnise entfernen. | ||
+ | test -d ${SearchDir} && \ | ||
+ | find ${SearchDir}/* -type d -mtime +$olderDay -exec rm -Rvf {} ";" | ||
+ | # Dateien entfernen. | ||
+ | test -d ${SearchDir} && \ | ||
+ | find ${SearchDir}/* -type f -mtime +$olderDay -exec rm -vf {} ";" | ||
+ | |||
+ | == Netzwerk == | ||
+ | ===VLAN Linux === | ||
+ | *vconfig add eth0 5 | ||
+ | *ifconfig eth0.5 | ||
+ | *ifconfig eth0.5 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 up | ||
+ | *cat /proc/net/vlan/eth0.5 | ||
+ | *ifconfig eth0.5 down | ||
+ | *vconfig rem eth0. | ||
+ | ===NTP-Server testen=== | ||
+ | sntp -P no -v -r server.domain.net | ||
+ | ===Portscan=== | ||
+ | nmap -sS -p 4786 192.168.2.0/24 | ||
+ | ===Port Testen UDP === | ||
+ | nc -z -v -u [hostname/IP address] [port number] | ||
+ | === Port Testen TCP === | ||
+ | nc -z -v [hostname/IP address] [port number] | ||
+ | |||
+ | == Mail == | ||
+ | ===Mailversand nach extern einrichten / Debian === | ||
+ | *Installation | ||
+ | apt-get install exim4-daemon-light mailutils | ||
+ | *Konfiguration | ||
+ | dpkg-reconfigure exim4-config | ||
+ | vi /etc/email-addresses | ||
+ | update-exim4.conf | ||
+ | *Test | ||
+ | echo 'Hallo' | mail -s 'Huhu' "Empfanger-Mailadresse" | ||
+ | *Troubleshooting | ||
+ | tail -f /var/log/exim4/mainlog | ||
+ | == Cron-Job == | ||
+ | * Minuten (0-59) | ||
+ | * Stunden (0-23) | ||
+ | * Tag des Monats (1-31) | ||
+ | * Monat (1-12) | ||
+ | * Wochentag (0-7, 0 und 7 = Sonntag) | ||
+ | * / = Schrittweise | ||
+ | == Grep == | ||
+ | * folgende Zeilen mit anzeigen. | ||
+ | -A <Anzahl folgend> | ||
+ | -B <Anzahl davor> | ||
+ | -C <Anzahl davor und folgend> | ||
+ | * nicht vorhanden | ||
+ | -V | ||
+ | == LVM == | ||
+ | * Logical Volume anzeigen. | ||
+ | lvdisplay | ||
+ | == Multipath == | ||
+ | * Anzeigen der Devices | ||
+ | multipath -ll | ||
+ | * Update Devices | ||
+ | multipath -F | ||
+ | multipath -v3 | ||
+ | == Samba == | ||
+ | *Wenn es zu Problemen mit Symbolischen Links kommt, über mount die Anbindung bewerkstelligen. | ||
+ | mount --bind /mnt/cifs_share /opt/share | ||
+ | fstab: | ||
+ | /mnt/cifs_share /opt/share none defaults,bind 0 0 | ||
+ | |||
+ | *Konfiguration neu laden | ||
+ | smbcontrol all reload-config | ||
+ | |||
+ | == Script == | ||
+ | === String === | ||
+ | * Substring Extraction String:Position:(Lengh) | ||
+ | ${STRING:8} | ||
+ | ${STRING:8:2} | ||
+ | * Substring Removal shortest match from front String#Substring | ||
+ | ${STRING#*_} | ||
+ | * Substring Removal longest match from front String##Substring | ||
+ | ${STRING##*_} | ||
+ | * Substring Removal shortest match from back String%Substring | ||
+ | ${STRING%*_} | ||
+ | * Substring Removal longest match from back String##Substring | ||
+ | ${STRING%%*_} | ||
+ | * String match | ||
+ | case "STRING" in | ||
+ | *OK*) echo ...;; | ||
+ | esac | ||
+ | == Script/Bash == | ||
+ | === Array === | ||
+ | * Count element. | ||
+ | ${#ARRAY[@]} | ||
+ | ${#ARRAY[*]} | ||
+ | == Tomcat == | ||
+ | *Speicherfehler Javaheap | ||
+ | echo 'export CATALINA_OPTS="-Xms512M -Xmx1024M"' > /usr/share/tomcat7/bin/setenv.sh | ||
+ | == SSH == | ||
+ | * Verschlüsselte Einträge aus der Datei known_hosts entfernen. | ||
+ | ssh-keygen -R "Serverrname/IP-Adresse" | ||
+ | == Systemd == | ||
+ | === Runlevel anzeigen === | ||
+ | systemctl list-units --type=target | ||
+ | === Change Runlevel === | ||
+ | rm /etc/systemd/system/default.target | ||
+ | * Init 3 | ||
+ | ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target | ||
+ | * Init 5 | ||
+ | ln -sf /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target | ||
+ | === Datei === | ||
+ | *Datei leeren | ||
+ | : > dateinamen | ||
+ | *Bis auf die letzten n Zeilen löschen | ||
+ | tail -n Zeilen dateiname > dateiname | ||
+ | == Logrotated == | ||
+ | * Konfiguration testen | ||
+ | sudo logrotate /etc/logrotate.conf --debug | ||
+ | == VI/VIM == | ||
+ | *Copy&Paste im Putty mit rechter Maustaste aktivieren. | ||
+ | vi /usr/share/vim/vim81/defaults.vim | ||
+ | " In many terminal emulators the mouse works just fine. By enabling it you | ||
+ | " can position the cursor, Visually select and scroll with the mouse. | ||
+ | "if has('mouse') | ||
+ | " set mouse=a | ||
+ | "endif |
Aktuelle Version vom 3. Januar 2022, 07:50 Uhr
Inhaltsverzeichnis
Speicher
Festplatte mit ext3 Dateisystem vergrößern
- fsck –n /dev/…
- tune2fs –O ^has_journal /dev/…
- fdisk /dev/…
- reboot
- e2fsck –f /dev/…
- resize2fs –f /dev/…
- tune2fs –j /dev/…
- tune2fs –c 0 –i 0/dev/…
Festplatte mit ext4 Dateisystem vergrößern
- Es ist möglich im Betrieb die Festplattengröße zu erweitern.
fdisk /dev/… e2fsck –f /dev/… resize2fs –f /dev/…
Ältere Dateien / Verzeichnisse suchen und entfernen
- Findet Files im aktuellen Verzeichnis (inclusive Unterverzeichnis) die Älter wie 10 Tage sind und zeige sie an.
find . -type f -mtime +10 -exec ls -al {} ";"
- Findet Verzeichnise im Verzeichnis /var die Älter wie 180 Tage sind und liste sie auf.
find /var/* -type d -mtime +180 -exec echo {} ";"
- Löscht Dateien die Älter wie 30 Tage sind aus dem aktuellen Verzeichnis (inclusive Unterverzeichnis).
find . -type f -mtime +30 -exec rm -vf {} ";"
- Löscht Verzeichnis inclusiv Unterverzeichnis aus dem aktuellen Verzeichnis die Älter 15 Tagen sind.
find /var/ -type d -mtime +10 -exec rm -Rvf {} ";"
- Lösche Files ohne Unterverzeichnis mit einen bestimmten Datum
find -maxdepth 1 -type f -newermt 20210220 -a ! -newermt 20210222 -exec rm -vf {} ";"
- Finde Dateien ohne Unterverzeichnis mit eine bestimmten Datum
find -maxdepth 1 -type f -printf '%TY%Tm%Td %p\n' | awk '"20210220"<=$1 && $1<="20210222"'
- Script zum Löschen von älteren Verzeichnissen und Dateien.
#!/bin/bash # Verzeichnis welches nach löschbaren Inhalt durchsucht wird SearchDir='/usr/local/pnp4nagios/var/perfdata' #Definition des max Alters olderDay=10 # Verzeichnise entfernen. test -d ${SearchDir} && \ find ${SearchDir}/* -type d -mtime +$olderDay -exec rm -Rvf {} ";" # Dateien entfernen. test -d ${SearchDir} && \ find ${SearchDir}/* -type f -mtime +$olderDay -exec rm -vf {} ";"
Netzwerk
VLAN Linux
- vconfig add eth0 5
- ifconfig eth0.5
- ifconfig eth0.5 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 up
- cat /proc/net/vlan/eth0.5
- ifconfig eth0.5 down
- vconfig rem eth0.
NTP-Server testen
sntp -P no -v -r server.domain.net
Portscan
nmap -sS -p 4786 192.168.2.0/24
Port Testen UDP
nc -z -v -u [hostname/IP address] [port number]
Port Testen TCP
nc -z -v [hostname/IP address] [port number]
Mailversand nach extern einrichten / Debian
- Installation
apt-get install exim4-daemon-light mailutils
- Konfiguration
dpkg-reconfigure exim4-config vi /etc/email-addresses update-exim4.conf
- Test
echo 'Hallo' | mail -s 'Huhu' "Empfanger-Mailadresse"
- Troubleshooting
tail -f /var/log/exim4/mainlog
Cron-Job
- Minuten (0-59)
- Stunden (0-23)
- Tag des Monats (1-31)
- Monat (1-12)
- Wochentag (0-7, 0 und 7 = Sonntag)
- / = Schrittweise
Grep
- folgende Zeilen mit anzeigen.
-A <Anzahl folgend> -B <Anzahl davor> -C <Anzahl davor und folgend>
- nicht vorhanden
-V
LVM
- Logical Volume anzeigen.
lvdisplay
Multipath
- Anzeigen der Devices
multipath -ll
- Update Devices
multipath -F multipath -v3
Samba
- Wenn es zu Problemen mit Symbolischen Links kommt, über mount die Anbindung bewerkstelligen.
mount --bind /mnt/cifs_share /opt/share fstab: /mnt/cifs_share /opt/share none defaults,bind 0 0
- Konfiguration neu laden
smbcontrol all reload-config
Script
String
- Substring Extraction String:Position:(Lengh)
${STRING:8} ${STRING:8:2}
- Substring Removal shortest match from front String#Substring
${STRING#*_}
- Substring Removal longest match from front String##Substring
${STRING##*_}
- Substring Removal shortest match from back String%Substring
${STRING%*_}
- Substring Removal longest match from back String##Substring
${STRING%%*_}
- String match
case "STRING" in *OK*) echo ...;; esac
Script/Bash
Array
- Count element.
${#ARRAY[@]} ${#ARRAY[*]}
Tomcat
- Speicherfehler Javaheap
echo 'export CATALINA_OPTS="-Xms512M -Xmx1024M"' > /usr/share/tomcat7/bin/setenv.sh
SSH
- Verschlüsselte Einträge aus der Datei known_hosts entfernen.
ssh-keygen -R "Serverrname/IP-Adresse"
Systemd
Runlevel anzeigen
systemctl list-units --type=target
Change Runlevel
rm /etc/systemd/system/default.target
- Init 3
ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target
- Init 5
ln -sf /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target
Datei
- Datei leeren
: > dateinamen
- Bis auf die letzten n Zeilen löschen
tail -n Zeilen dateiname > dateiname
Logrotated
- Konfiguration testen
sudo logrotate /etc/logrotate.conf --debug
VI/VIM
- Copy&Paste im Putty mit rechter Maustaste aktivieren.
vi /usr/share/vim/vim81/defaults.vim " In many terminal emulators the mouse works just fine. By enabling it you " can position the cursor, Visually select and scroll with the mouse. "if has('mouse') " set mouse=a "endif