Linux: Unterschied zwischen den Versionen
Aus MeinWiki
								
												
				|  (→Netzwerk) | |||
| (37 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/… | ||
| Zeile 11: | 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 === | ===VLAN Linux === | ||
| *vconfig add eth0 5   | *vconfig add eth0 5   | ||
| Zeile 18: | Zeile 53: | ||
| *ifconfig eth0.5 down | *ifconfig eth0.5 down | ||
| *vconfig rem eth0. | *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

