Linux: Unterschied zwischen den Versionen

Aus MeinWiki
Wechseln zu: Navigation, Suche
(String)
(Netzwerk)
 
(27 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
 
*[[Installationsanleitung]]
 
*[[Installationsanleitung]]
 
*[[Backup]]
 
*[[Backup]]
== Festplatte vergrößern ==
+
*[[Festplatten ändern]]
 +
*[[Fehlermeldung-Linux]]
 +
== Speicher ==
 
===Festplatte mit ext3 Dateisystem vergrößern ===
 
===Festplatte mit ext3 Dateisystem vergrößern ===
 
*fsck –n /dev/…
 
*fsck –n /dev/…
Zeile 12: Zeile 14:
 
*tune2fs –j /dev/…
 
*tune2fs –j /dev/…
 
*tune2fs –c 0 –i 0/dev/…
 
*tune2fs –c 0 –i 0/dev/…
===VLAN Linux ===
+
===Festplatte mit ext4 Dateisystem vergrößern ===
*vconfig add eth0 5
+
* Es ist möglich im Betrieb die Festplattengröße zu erweitern.
*ifconfig eth0.5
+
fdisk /dev/…
*ifconfig eth0.5 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 up
+
e2fsck –f /dev/
*cat /proc/net/vlan/eth0.5
+
resize2fs –f /dev/
*ifconfig eth0.5 down
 
*vconfig rem eth0.
 
 
=== Ältere Dateien / Verzeichnisse suchen und entfernen ===
 
=== Ältere Dateien / Verzeichnisse suchen und entfernen ===
 
*Findet Files im aktuellen Verzeichnis (inclusive Unterverzeichnis) die Älter wie 10 Tage sind und zeige sie an.
 
*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 {} ";"
+
     find . -type f -mtime +10 -exec ls -al {} ";"
 
*Findet Verzeichnise im Verzeichnis /var die Älter wie 180 Tage sind und liste sie auf.
 
*Findet Verzeichnise im Verzeichnis /var die Älter wie 180 Tage sind und liste sie auf.
 
     find /var/* -type d -mtime +180 -exec echo {} ";"
 
     find /var/* -type d -mtime +180 -exec echo {} ";"
 
*Löscht Dateien die Älter wie 30 Tage sind aus dem aktuellen Verzeichnis (inclusive Unterverzeichnis).
 
*Löscht Dateien die Älter wie 30 Tage sind aus dem aktuellen Verzeichnis (inclusive Unterverzeichnis).
     find ./* -type f -mtime +30 -exec rm -vf {} ";"
+
     find . -type f -mtime +30 -exec rm -vf {} ";"
 
*Löscht Verzeichnis inclusiv Unterverzeichnis aus dem aktuellen Verzeichnis die Älter 15 Tagen sind.
 
*Löscht Verzeichnis inclusiv Unterverzeichnis aus dem aktuellen Verzeichnis die Älter 15 Tagen sind.
     find /var/* -type d -mtime +10 -exec rm -Rvf {} ";"
+
     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.
 
*Script zum Löschen von älteren Verzeichnissen und Dateien.
 
     #!/bin/bash
 
     #!/bin/bash
Zeile 40: Zeile 44:
 
     test -d ${SearchDir} && \
 
     test -d ${SearchDir} && \
 
       find ${SearchDir}/* -type f -mtime +$olderDay -exec rm -vf {} ";"
 
       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 ==
 
== Mail ==
 
===Mailversand nach extern einrichten / Debian ===
 
===Mailversand nach extern einrichten / Debian ===
Zeile 69: Zeile 91:
 
* Logical Volume anzeigen.
 
* Logical Volume anzeigen.
 
   lvdisplay
 
   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 ==
 
== SSH ==
 
* Verschlüsselte Einträge aus der Datei known_hosts entfernen.
 
* Verschlüsselte Einträge aus der Datei known_hosts entfernen.
 
  ssh-keygen -R "Serverrname/IP-Adresse"
 
  ssh-keygen -R "Serverrname/IP-Adresse"
== Script ==
+
== Systemd ==
=== String ===
+
=== Runlevel anzeigen ===
  ${VAR2%_*}
+
  systemctl list-units --type=target
  ${VAR2#*_}
+
=== 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

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]

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