systemadmin
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige ÜberarbeitungNächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
systemadmin [2022/01/06 10:16] – [Installationen] techguru | systemadmin [2024/04/04 15:22] – [parted] techguru | ||
---|---|---|---|
Zeile 42: | Zeile 42: | ||
Das Heimatverzeichnis des Hauptbenutzer auf Sicherungs-Partition verlegen. Die Verlinkungen können dann entfallen. Bis auf OpenSuse .kde4 und Ubuntu .kde Unterschied | Das Heimatverzeichnis des Hauptbenutzer auf Sicherungs-Partition verlegen. Die Verlinkungen können dann entfallen. Bis auf OpenSuse .kde4 und Ubuntu .kde Unterschied | ||
- | Dann aus Kompatibilitäts- Gründen das Heimatverz. auf der Sicherungs-Partition mit dem Standard Heimatverzeichnis verlinken. | + | Dann aus Kompatibilitäts-Gründen das Heimatverz. auf der Sicherungs-Partition mit dem Standard Heimatverzeichnis verlinken. |
ln -s / | ln -s / | ||
Zeile 54: | Zeile 54: | ||
== Neuen Hauptbenutzer anlegen: ronni == | == Neuen Hauptbenutzer anlegen: ronni == | ||
- | useradd -c Multimedia -d /media/ | + | useradd -c Multimedia -d /home/ |
| | ||
groupadd -g 800 backup | groupadd -g 800 backup | ||
Zeile 82: | Zeile 82: | ||
Symbolische links für Ordner im Heimatverz. anlegen. Ordner darf vorher nicht im Verkn. Verz. existieren. | Symbolische links für Ordner im Heimatverz. anlegen. Ordner darf vorher nicht im Verkn. Verz. existieren. | ||
- | Am besten ist es den Ordner vorher ins Sicher Laufwerk zu verschieben und dann mit Verkn. Verz. Verknuepfen. | + | Am besten ist es den Ordner vorher ins Sicher Laufwerk zu verschieben und dann mit Verkn. Verz. Verknüpfen. |
< | < | ||
Zeile 167: | Zeile 167: | ||
=== Beispiele ohne Playbooks und Roles === | === Beispiele ohne Playbooks und Roles === | ||
+ | Kommando als remote User ansible ausführen, ssh-key vom Remote Nutzer muss im ~/.ssh hinterlegt sein. | ||
ansible all -u ansible -b -a "/ | ansible all -u ansible -b -a "/ | ||
Zeile 302: | Zeile 303: | ||
Einen Patch auf allen Entwicklungssystemen ausrollen: | Einen Patch auf allen Entwicklungssystemen ausrollen: | ||
- | ansible all -i inventoryfiles/ | + | ansible all -i inventoryfiles/ |
==== Ansible Variablen ==== | ==== Ansible Variablen ==== | ||
Zeile 553: | Zeile 554: | ||
@reboot root / | @reboot root / | ||
| | ||
+ | |||
+ | |||
+ | === Benutzer Crontab === | ||
+ | |||
+ | Jeder Nutzer hat seine eigene crontab wo er eigene Programme eintragen kann. Diese können dann zu gewünschten Zeiten ausgeführt werden ohne das man root fragen muss. | ||
+ | |||
+ | Anzeigen lassen kann man sich deren Inhalt mit '' | ||
+ | Editieren kann man den Inhalt mit '' | ||
+ | |||
+ | Bei besonders wiederborstigen Startskripten muss auch mal eine '' | ||
+ | |||
+ | In der Benutzer Crontab braucht man keinen Nutzername angeben, da ja klar ist als welcher Nutzer es läuft. | ||
+ | |||
+ | < | ||
+ | # Dienste Start / Stop per Cron | ||
+ | 40 13 * * * . $HOME/ | ||
+ | 45 13 * * * . $HOME/ | ||
+ | </ | ||
==== at-job ==== | ==== at-job ==== | ||
Zeile 684: | Zeile 703: | ||
su username =anderen User anmelden | su username =anderen User anmelden | ||
+ | | ||
+ | unlink / | ||
+ | | ||
watch ifconfig ls ps -A =überwacht die angegebenen Kommandos, aktualisiert alle 2s. | watch ifconfig ls ps -A =überwacht die angegebenen Kommandos, aktualisiert alle 2s. | ||
dmesg =zeigt System Startprotokoll | dmesg =zeigt System Startprotokoll | ||
Zeile 689: | Zeile 711: | ||
vmstat -2 | vmstat -2 | ||
- | expr 2 + 3 = ERGEBNIS =rechnen auf der Shell: | + | |
+ | | ||
expr length ZEICHENKETTE | expr length ZEICHENKETTE | ||
expr index ZEICHENKETTE I =gibt hier 3 zurück, Index in ZKETTE, wo eines der ZEICHEN auftritt, sonst 0 | expr index ZEICHENKETTE I =gibt hier 3 zurück, Index in ZKETTE, wo eines der ZEICHEN auftritt, sonst 0 | ||
Zeile 695: | Zeile 718: | ||
Kernel Module suchen: | Kernel Module suchen: | ||
+ | |||
find / | find / | ||
Suchen nach SUID/SGUID Dateien: | Suchen nach SUID/SGUID Dateien: | ||
+ | |||
find / -type f -perm +6000 -exec ls -l {} \; | find / -type f -perm +6000 -exec ls -l {} \; | ||
find / -perm /4000 | find / -perm /4000 | ||
Suchen nach toten Links: | Suchen nach toten Links: | ||
+ | |||
find -L . -type l | find -L . -type l | ||
Modul-Datei *.ko aktivieren/ | Modul-Datei *.ko aktivieren/ | ||
+ | |||
insmod / | insmod / | ||
- | Es gibt "insmod" | + | Es gibt '' |
- | vereinigt beide Befehle | + | vereinigt beide Befehle |
modprobe --show-depends nvidia =zeigt Abhängigkeiten vom nvidia Modul | modprobe --show-depends nvidia =zeigt Abhängigkeiten vom nvidia Modul | ||
modprobe -r modul =Hinzufügen, | modprobe -r modul =Hinzufügen, | ||
Zeile 715: | Zeile 743: | ||
depmod -a =überprüft alle vorhandenen Module und aktualisiert die Einträge | depmod -a =überprüft alle vorhandenen Module und aktualisiert die Einträge | ||
udevinfo -ap / | udevinfo -ap / | ||
- | Kombinination, zeigt direkt die Informationen für eine Gerätedatei an. | + | Kombination, zeigt direkt die Informationen für eine Gerätedatei an. |
udevinfo -a -p $(udevinfo -q path -n / | udevinfo -a -p $(udevinfo -q path -n / | ||
Zeile 746: | Zeile 774: | ||
egrep ' | egrep ' | ||
- | Auf grafischer Oberfläche Programme als root starten | ||
- | KDE mit " | ||
- | Gnome mit " | ||
- | gksu wireshark | ||
+ | Auf grafischer Oberfläche Programme als root starten; KDE mit " | ||
- | === Rechner ausschalten | + | gksu wireshark |
+ | |||
+ | wird auch oft standardmäßig mit '' | ||
+ | |||
+ | |||
+ | === Konfiguration | ||
+ | |||
+ | Ohne root Rechte ohne sudo | ||
Adding suid mode to ''/ | Adding suid mode to ''/ | ||
Zeile 821: | Zeile 853: | ||
find / -xdev -iname *kde* =durchsucht keine anderen Partitionen, | find / -xdev -iname *kde* =durchsucht keine anderen Partitionen, | ||
find . -type f -mtime -1 =findet alle Dateien(-type f) keine Ordner die nicht älter als ein Tag sind | find . -type f -mtime -1 =findet alle Dateien(-type f) keine Ordner die nicht älter als ein Tag sind | ||
+ | find . -type f -mtime +3 ls = Alle Dateien im aktuellen Verz. finden die älter als 3 Tage sind und Auflisten mit allen Informationen | ||
find /usr/ -print0 | grep -FzZ " | find /usr/ -print0 | grep -FzZ " | ||
find . -wholename " | find . -wholename " | ||
Zeile 846: | Zeile 879: | ||
- | === System Informationen === | + | === Befehl als anderer Benutzer ausführen === |
+ | |||
+ | Hin und wieder möchte man einen Befehl als anderer Benutzer als sich selbst oder dem Root ausführen. In diesem Falle hilft die folgende Zeile weiter. | ||
+ | |||
+ | sudo -u BENUTZER BEFEHL | ||
+ | |||
+ | Hat man kein sudo zur Verfügung geht auch die folgende Zeile. | ||
+ | |||
+ | su BENUTZER -c BEFEHL | ||
+ | |||
+ | |||
+ | |||
+ | ==== System Informationen | ||
Informationen über das verwendete System Abrufen. ComputerModel, | Informationen über das verwendete System Abrufen. ComputerModel, | ||
Zeile 982: | Zeile 1027: | ||
rpm -ql groupwise | rpm -ql groupwise | ||
rpm -qf / | rpm -qf / | ||
+ | rpm -qR paketname.rpm | ||
rpm -Uvh paketname.rpm | rpm -Uvh paketname.rpm | ||
rpm -Uvh http:// | rpm -Uvh http:// | ||
Zeile 1279: | Zeile 1324: | ||
| | ||
</ | </ | ||
- | |||
- | |||
- | ==== journalctl ==== | ||
- | |||
- | Diw folgende journalctl Option ist gut damit journalctl nicht alles jeweils per Seite anzeigt sondern alles komplett aufgelistet wird. So wie man es von einer Textdatei kennt. Das ist gut um besser nach bestimmten Schlüsselwörtern zu suchen, da so der gesamte Journal zu Verfügung steht. | ||
- | |||
- | journalctl --no-pager | ||
Zeile 1308: | Zeile 1346: | ||
Nach Änderungen oder Neuerstellen von ServiceUnits muss einmal '' | Nach Änderungen oder Neuerstellen von ServiceUnits muss einmal '' | ||
+ | Weiteres Beispiel: | ||
+ | |||
+ | < | ||
+ | [Unit] | ||
+ | Description=archiva-dienst | ||
+ | After=network.target | ||
+ | |||
+ | [Service] | ||
+ | Type=simple | ||
+ | ExecStart=/ | ||
+ | ExecStop=/ | ||
+ | User=archiva | ||
+ | # Group=archiva - Gruppe muss auch existieren! Group=users könnte funktionieren | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | |||
+ | Nach Änderungen oder Neuerstellen von ServiceUnits muss einmal '' | ||
+ | |||
+ | |||
+ | |||
+ | ==== journalctl ==== | ||
+ | |||
+ | Die folgende '' | ||
+ | |||
+ | journalctl --no-pager | ||
+ | | ||
+ | | ||
+ | Um nur zwischen zwei bestimmten Zeit Abschnitten zu suchen / Von - Bis: | ||
+ | | ||
+ | journalctl --since=" | ||
+ | |||
+ | |||
+ | |||
+ | ==== ältere Vorgänger InitV ==== | ||
Füge Startlinks (die mit “S99…” beginnen) in ''/ | Füge Startlinks (die mit “S99…” beginnen) in ''/ | ||
Zeile 1375: | Zeile 1449: | ||
swapoff -a | swapoff -a | ||
+ | |||
+ | Mit '' | ||
Möchte man die SWAP-Partition vergrößern, | Möchte man die SWAP-Partition vergrößern, | ||
Zeile 1567: | Zeile 1643: | ||
Welche Programme greifen auf die ALSA Geräte Datei ''/ | Welche Programme greifen auf die ALSA Geräte Datei ''/ | ||
- | | + | lsof /dev/snd/* |
| | ||
< | < | ||
Zeile 1579: | Zeile 1655: | ||
- | | + | fuser /dev/snd/* |
< | < | ||
Zeile 1591: | Zeile 1667: | ||
3285 ? SLl 256:08 rhythmbox | 3285 ? SLl 256:08 rhythmbox | ||
</ | </ | ||
- | |||
==== Drucker ==== | ==== Drucker ==== | ||
Zeile 1707: | Zeile 1782: | ||
- | ==== Shell-Skripte | + | ===== Bash Shell-Skripte |
+ | === Grundlagen === | ||
Zur Anzeige aller Variablen dient der Befehl '' | Zur Anzeige aller Variablen dient der Befehl '' | ||
+ | |||
+ | === Suchen ersetzen === | ||
+ | |||
+ | Ersetzen in der Ausgabe(RAW_OUTPUT) von MULTIWERT durch REALWERT | ||
+ | nacheinander wird jeder der 3 Werte in RAW_OUTPUT durch neue Werte ersetzt. | ||
+ | |||
+ | < | ||
+ | RESULT=" | ||
+ | RESULT2=" | ||
+ | RESULT3=" | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Eingabe Prombt shebang === | ||
Kleiner Spaß am Rande für Microsoft DOS/Windows Fans die Linux nutzen. | Kleiner Spaß am Rande für Microsoft DOS/Windows Fans die Linux nutzen. | ||
- | ein PS1=" | + | ein '' |
- | diesen Spuk kann man wieder leicht rückgängig machen mit: | + | |
+ | < | ||
PS1=" | PS1=" | ||
PS1=" | PS1=" | ||
PS1=" | PS1=" | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Datums Differenz | ||
+ | |||
+ | Das Datum am besten zuvor im iso-8601 Format umwandeln | ||
+ | |||
+ | date --iso-8601 | ||
+ | |||
+ | Dann das Datum berechnen in dem mit dem Schalter %s das angegebene Datum in die Sekunden seit 1970(Unix Startzeit) umgerechnet wird. | ||
+ | |||
+ | date_diff=$(( ($(date -d $DATUMSVARIABLE +%s) - $(date +%s)) / (60*60*24) )) | ||
Zeile 1787: | Zeile 1890: | ||
find / | find / | ||
+ | |||
+ | === SHELL Variablen bearbeiten === | ||
+ | |||
+ | Im folgenden Beispiel wird innerhalb der Variablen VAR das Wort Kent durch Saajan ersetzt. | ||
+ | |||
+ | < | ||
+ | VAR=" | ||
+ | RESULT=" | ||
+ | echo $RESULT | ||
+ | Eric and Saajan are good friends. | ||
+ | </ | ||
==== Installationen ==== | ==== Installationen ==== | ||
Die Betriebssystem Installation | Die Betriebssystem Installation | ||
Zeile 1799: | Zeile 1913: | ||
Bootloader wieder herstellen, z.B. nach der Installation von MS Windows. Rechner mit Linux Live CD | Bootloader wieder herstellen, z.B. nach der Installation von MS Windows. Rechner mit Linux Live CD | ||
- | starten. Die Linux-System Partition mounten | + | starten. Die Linux-System Partition mounten |
- | Verzeichnis in die System Partition mounten | + | Verzeichnis in die System Partition mounten |
(sda4 kann auch anders heißen, je nachdem wo das Linux System installiert ist.). | (sda4 kann auch anders heißen, je nachdem wo das Linux System installiert ist.). | ||
- | Dann die System Partition betreten | + | Dann die System Partition betreten |
< | < | ||
Zeile 1810: | Zeile 1924: | ||
</ | </ | ||
- | evtl. hilfreich von Live CD starten, dort in der Konsole grub eingeben. In der nun geöffneten | + | evtl. hilfreich von Live CD starten, dort in der Konsole |
- | Grub-Konsole: | + | Grub-Konsole: |
- | root (hd0,5) | + | |
- | setup (hd0) | + | |
+ | setup (hd0) | ||
alt | alt | ||
- | In der Datei / | + | In der Datei '' |
- | des Betriebsystems | + | des Betriebsystems |
für die Bildschirmauflöung einstellen, die wärend des bootens oder auf der | für die Bildschirmauflöung einstellen, die wärend des bootens oder auf der | ||
System Konsole angezeigt wird. | System Konsole angezeigt wird. | ||
neu | neu | ||
- | Anpassungen grub2 werde nicht direkt an / | + | Anpassungen grub2 werde nicht direkt an '' |
- | der Datei / | + | der Datei '' |
GRUB Bootoptionen | GRUB Bootoptionen | ||
Zeile 1915: | Zeile 2030: | ||
</ | </ | ||
+ | Anschließend nun den Branch (oftmals main oder master) festlegen/ | ||
- | Nun das Projekt auf dem Git-Server anlegen. Oftmals gibt es auf dem Git-Server ein Webinterface wo es einen Menü-Punkt //New Repository// | + | git branch -M main |
+ | |||
+ | Nun das Projekt auf dem Git-Server anlegen. Oftmals gibt es auf dem Git-Server ein Webinterface wo es einen Menü-Punkt //New Repository// oder //New Project// gibt. Hier sollte man am besten ein komplett leeres Projekt ohne Dateien anlegen. Denn sonst meckert git rum das schon Dateien vorhanden sind wenn man ein bestehendes Verzeichnis hoch laden möchte. | ||
Auf der Konsole muss dann noch folgendes ausgeführt werden um die Dateien in die Versions Verwaltung zu integrieren. | Auf der Konsole muss dann noch folgendes ausgeführt werden um die Dateien in die Versions Verwaltung zu integrieren. | ||
Zeile 1922: | Zeile 2040: | ||
git remote add origin https:// | git remote add origin https:// | ||
git push -u origin master | git push -u origin master | ||
+ | |||
+ | Alternativ legt man das Projekt mit Dateien auf dem Webinterface des Git-Servers an und clont sich das Projekt dann dorthin wo man es haben möchte. | ||
Zeile 2007: | Zeile 2127: | ||
/ | / | ||
+ | | ||
+ | |||
+ | Mit dem Standard Dateimanager '' | ||
+ | |||
+ | dbus-monitor --session | ||
+ | | ||
+ | Bei diesem Fehler hatte es geholfen mit dem Standard Nutzer den Benutzer Prozess neu-zustarten: | ||
+ | |||
+ | systemctl --user restart dbus.service | ||
+ | systemctl --user restart dbus.socket | ||
+ | | ||
==== Knotes ==== | ==== Knotes ==== | ||
Zeile 2131: | Zeile 2262: | ||
fsck =checkt Dateisystem nach Fehlern! | fsck =checkt Dateisystem nach Fehlern! | ||
fsck.ext3 =checkt ext2/ext3 Dateisysteme nach Fehlern und behebt diese. | fsck.ext3 =checkt ext2/ext3 Dateisysteme nach Fehlern und behebt diese. | ||
- | e2fsck =checkt ext2/ext3 Dateisysteme nach Fehlern und behebt diese. | + | e2fsck =checkt ext2/ext3 Dateisysteme nach Fehlern und behebt diese. |
+ | |||
+ | === Informationen über die Massenspeicher Medien anzeigen === | ||
blkid / | blkid / | ||
+ | |||
+ | Viele Anzeige Möglichkeiten mit '' | ||
+ | |||
+ | lsblk --output HCTL, | ||
+ | |||
+ | |||
+ | Oder nur speziel Informationen bezüglich scsi komptibler Geräte anzeigen, ähnlich dem '' | ||
+ | |||
+ | lsblk --scsi | ||
+ | NAME HCTL TYPE VENDOR | ||
+ | sda 0: | ||
+ | sr0 3: | ||
+ | |||
Setze maximale Mount-Anzahl auf 60 | Setze maximale Mount-Anzahl auf 60 | ||
Zeile 2174: | Zeile 2320: | ||
- | === Parted | + | === parted |
Auch direkt von der Bash lassen sich alle Kommandos aus der '' | Auch direkt von der Bash lassen sich alle Kommandos aus der '' | ||
Zeile 2194: | Zeile 2340: | ||
- | Weitere Beispiele direkt von der Bash/ | + | Weitere Beispiele direkt von der Bash/ |
+ | |||
+ | parted -a optimal /dev/sdb mklabel gpt mkpart var_lib_mysql | ||
+ | |||
+ | Die Angabe vom Dateisystem ist überflüssig: | ||
+ | |||
+ | parted -a optimal /dev/sde mklabel gpt mkpart backup ext4 0% 100% | ||
parted /dev/sdb1 mklabel gpt mkpart P1 ext4 1MiB 429GB | parted /dev/sdb1 mklabel gpt mkpart P1 ext4 1MiB 429GB | ||
parted /dev/sdb1 mklabel gpt mkpart ZCM42 ext4 1 429GB | parted /dev/sdb1 mklabel gpt mkpart ZCM42 ext4 1 429GB | ||
+ | | ||
+ | :!: | ||
+ | Hier muss man auch beachten ob nicht schon bereits eine Partition Table existiert **gpt/ | ||
+ | |||
+ | parted -a optimal /dev/sdb mkpart backup_hd ext4 0% 100% | ||
+ | | ||
+ | Beim folgenden Befehl funktioniert es nicht, wenn ich 100% hinten anhänge, dann fragt er nochmal nach wegen Partitionsgröße: | ||
+ | |||
+ | parted /dev/sdc mklabel gpt mkpart usr_sap xfs | ||
| | ||
Eine neue Partition anlegen, es muss hier noch mit '' | Eine neue Partition anlegen, es muss hier noch mit '' | ||
Zeile 2205: | Zeile 2366: | ||
- | Im folgenden das schrittweise Anlegen einer 300GB Partition mit '' | + | Im folgenden das schrittweise Anlegen einer 300GB Partition mit '' |
parted /dev/sdb | parted /dev/sdb | ||
< | < | ||
- | (parted) mklabel oder mktabel | + | (parted) mklabel oder mktable |
New disk label type? msdos | New disk label type? msdos | ||
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue? | Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue? | ||
Yes/No? Yes | Yes/No? Yes | ||
+ | (parted) mkpart primary | ||
oder: | oder: | ||
| | ||
New disk label type? gpt | New disk label type? gpt | ||
- | (parted) | + | (parted) |
File system type? [ext2]? xfs | File system type? [ext2]? xfs | ||
Start? | Start? | ||
Zeile 2255: | Zeile 2417: | ||
Mit '' | Mit '' | ||
+ | |||
+ | :!: Hier nun aufpassen das das komplette Device angegeben wird **/ | ||
< | < | ||
Zeile 2328: | Zeile 2492: | ||
+ | === parted rescue === | ||
+ | |||
+ | Das partitionierungs Programm '' | ||
+ | |||
+ | |||
+ | ==== BTRFS Kommandos ==== | ||
+ | |||
+ | Allgemeine Info über die BTRFS Partitionen | ||
+ | |||
+ | btrfs filesystem show | ||
+ | btrfs subvol list / | ||
+ | btrfs fi usage / | ||
+ | |||
+ | Den belegten Speicherplatz einer BTRFS Partition, hier /var anzeigen | ||
+ | |||
+ | btrfs filesystem df /var | ||
+ | |||
+ | |||
+ | === BTRFS Aufräumen/ | ||
+ | |||
+ | btrfs filesystem defragment /var | ||
+ | | ||
+ | Die Metadaten und Datei-Daten wieder optimiert auf dem Dateisystem anordnen | ||
+ | | ||
+ | btrfs balance start /tmp | ||
+ | | ||
+ | Man kann sich den aktuellen Status des balance Vorgangs auf einem 2. Terminal anzeigen lassen | ||
+ | |||
+ | btrfs balance status / eingeben. | ||
+ | | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | | ||
+ | | ||
+ | === BTRFS resize === | ||
+ | |||
+ | Nach dem eine virtuelle Festplatte vergrößert wurde oder auf einer Festplatte eine Partition entfernt wurde und der freie Speicherplatz dem BTRFS zugerechnet werden soll, muss dann auch das BTRFS nachträglich in seiner Größe angepasst werden. Hierfür verwenden wir das Programm '' | ||
+ | |||
+ | * Server oder VM wird mit einem Livesystem gestartet | ||
+ | * Das Programm '' | ||
+ | * Innerhalb von '' | ||
+ | * Mit **resize**, die zu erweiternde Partition auswählen, in meinem Fall die Nr.2 welches die Root Partition darstellt. | ||
+ | * Die Partiton um x GB erweitern oder 100% eingeben | ||
+ | * VM normal starten | ||
+ | |||
+ | Ist das richtige System wieder gestartet, wird noch der folgende Kommando aufgerufen | ||
+ | |||
+ | btrfs filesystem resize max / | ||
+ | | ||
| | ||
==== piCore ==== | ==== piCore ==== | ||
Zeile 2545: | Zeile 2759: | ||
rsync -auv --exclude=/ | rsync -auv --exclude=/ | ||
/ | / | ||
+ | |||
+ | Hier wird nur das gesichert was ausdrücklich im rsync_include.file enthalten ist: | ||
+ | rsync -auv --delete --include-from=/ | ||
+ | |||
Für besondere Fälle; Falls das Passwort mit übergeben werden muss. Z.B. wenn etwas Nachts automatisch als root Nutzer kopiert werden muss und man hier keinen SSH-key für konfigurieren mag. Den Kommando schon öfter genutzt in Verbindung mit at-jobs, wenn Nachts einmalig etwas kopiert/ | Für besondere Fälle; Falls das Passwort mit übergeben werden muss. Z.B. wenn etwas Nachts automatisch als root Nutzer kopiert werden muss und man hier keinen SSH-key für konfigurieren mag. Den Kommando schon öfter genutzt in Verbindung mit at-jobs, wenn Nachts einmalig etwas kopiert/ | ||
Zeile 2613: | Zeile 2831: | ||
64 bytes from fe80:: | 64 bytes from fe80:: | ||
</ | </ | ||
+ | |||
< | < | ||
Ein ping an ff02::fb MDNS Standard query | Ein ping an ff02::fb MDNS Standard query | ||
Zeile 2622: | Zeile 2841: | ||
Eine IPv6 Adresse(site local address) an eth0 vergeben: | Eine IPv6 Adresse(site local address) an eth0 vergeben: | ||
+ | |||
ip -6 addr add fec0::1/64 dev eth0 | ip -6 addr add fec0::1/64 dev eth0 | ||
Zeile 2633: | Zeile 2853: | ||
< | < | ||
- | neutron@thor:~$ route -A inet6 | + | tux@iglu:~$ route -A inet6 |
Kernel-IPv6-Routentabelle | Kernel-IPv6-Routentabelle | ||
Destination | Destination | ||
Zeile 2651: | Zeile 2871: | ||
< | < | ||
- | thor:~# ip -6 route show | + | iglu:~# ip -6 route show |
fe80::/64 dev eth1 proto kernel | fe80::/64 dev eth1 proto kernel | ||
</ | </ | ||
Zeile 2659: | Zeile 2879: | ||
< | < | ||
- | thor:~ # nmap -6 fe80:: | + | iglu:~ # nmap -6 fe80:: |
Starting Nmap 6.25 ( http:// | Starting Nmap 6.25 ( http:// | ||
Zeile 2737: | Zeile 2957: | ||
- | Kommando ip link zeigt die verfügbaren Netzwerk Schnittstellen | + | Kommando |
< | < | ||
1: lo: < | 1: lo: < | ||
Zeile 2753: | Zeile 2973: | ||
ssh -6 tux@fec0::1 | ssh -6 tux@fec0::1 | ||
scp -6 tux@[fec0: | scp -6 tux@[fec0: | ||
- | | ||
ssh -6 tux@fe80:: | ssh -6 tux@fe80:: | ||
Zeile 2783: | Zeile 3002: | ||
lsof -i -P -n|egrep -i " | lsof -i -P -n|egrep -i " | ||
+ | | ||
+ | zeigt nur IPv6 Dienste an | ||
+ | |||
+ | lsof -i6 -n|egrep -i " | ||
| | ||
welcher Dienst lauscht an Port 25 | welcher Dienst lauscht an Port 25 | ||
Zeile 2801: | Zeile 3024: | ||
inet6 fe80:: | inet6 fe80:: | ||
| | ||
- | < | ||
</ | </ | ||
+ | < | ||
ip -6 addr show vmnet8 | ip -6 addr show vmnet8 | ||
4: vmnet8: < | 4: vmnet8: < | ||
Zeile 2808: | Zeile 3031: | ||
| | ||
</ | </ | ||
+ | |||
Gültigkeitsbereich: | Gültigkeitsbereich: | ||
Gültigkeitsbereich: | Gültigkeitsbereich: | ||
- | ==== Netzwerk Informationen ==== | + | ===== Netzwerk Informationen |
Welche Rechner sind in meinem Netzwerk IP und MAC Adresse? | Welche Rechner sind in meinem Netzwerk IP und MAC Adresse? | ||
Man kann ein Shell Skript schreiben, direkt auf der Konsole als Befehl: | Man kann ein Shell Skript schreiben, direkt auf der Konsole als Befehl: | ||
- | | + | |
> ping -c1 -W2 192.168.1.$IP | > ping -c1 -W2 192.168.1.$IP | ||
> done | > done | ||
- | Dann mit "arp -n" | + | Dann mit '' |
oder auch von der Konsole zu starten: | oder auch von der Konsole zu starten: | ||
Zeile 2827: | Zeile 3051: | ||
for ((i=1; | for ((i=1; | ||
+ | |||
+ | ==== nmap ==== | ||
oder: | oder: | ||
Zeile 2836: | Zeile 3062: | ||
Operating System fingerprinting and port scanning: | Operating System fingerprinting and port scanning: | ||
+ | |||
nmap -P0 -O <IP address> | nmap -P0 -O <IP address> | ||
Starting Nmap 4.20 ( http:// | Starting Nmap 4.20 ( http:// | ||
Zeile 2854: | Zeile 3081: | ||
For instance, the following command will report which IP-based services are running on the device, | For instance, the following command will report which IP-based services are running on the device, | ||
and which version of the service is being used: | and which version of the service is being used: | ||
- | nmap -P0 -sV <IP address> | + | |
+ | | ||
Starting Nmap 4.20 ( http:// | Starting Nmap 4.20 ( http:// | ||
Interesting ports on 192.168.2.1: | Interesting ports on 192.168.2.1: | ||
Zeile 2870: | Zeile 3098: | ||
- | == Die 5 meist genutzen | + | == Die 5 meist genutzten |
nmap --top-ports 5 194.94.81.54 | nmap --top-ports 5 194.94.81.54 | ||
Zeile 2880: | Zeile 3108: | ||
genauer: | genauer: | ||
+ | |||
nmap -P0 -sV -p T:80 77.92.77.11 | nmap -P0 -sV -p T:80 77.92.77.11 | ||
PORT STATE SERVICE VERSION | PORT STATE SERVICE VERSION | ||
Zeile 2896: | Zeile 3125: | ||
== UDP Scan == | == UDP Scan == | ||
+ | |||
nmap -sU 192.168.1.2 | nmap -sU 192.168.1.2 | ||
Zeile 2946: | Zeile 3176: | ||
- | === Oder einfacher mit netcat (nc) === | + | ==== Oder einfacher mit netcat (nc) ==== |
netcat -v 172.18.10.80 1812 | netcat -v 172.18.10.80 1812 | ||
- | radius1.it.rodgau.de | + | radius1.example.net [172.18.10.80] 1812 (radius) : Connection refused |
Bei zwei Netzwerkkarten wird die default Route genutzt. Möchte man die Verbindung der anderen Karte prüfen, muss mit dem Schalter '' | Bei zwei Netzwerkkarten wird die default Route genutzt. Möchte man die Verbindung der anderen Karte prüfen, muss mit dem Schalter '' | ||
Zeile 3010: | Zeile 3240: | ||
- | == einfach Informationen über aktuelle tcp Verbindungen: | + | ==== ss und netstat ==== |
+ | |||
+ | einfach Informationen über aktuelle tcp Verbindungen: | ||
socklist - Listet die geöffneten sockets | socklist - Listet die geöffneten sockets | ||
- | ss - another utility to investigate sockets | + | ss - socket statistics |
- | '' | + | '' |
Oft wird '' | Oft wird '' | ||
Zeile 3022: | Zeile 3254: | ||
ss -tar | ss -tar | ||
+ | Möchte man alle Verbindungen zu einem bestimmten Rechner mit '' | ||
+ | **dst** oder **src** Option: | ||
+ | |||
+ | watch ss dst 11.14.98.43 | ||
+ | | ||
+ | ss src 192.168.100.2 | ||
+ | |||
+ | Die gleichen Optionen gehen auch für Port Nummern oder Port Namen z.B. ssh: | ||
+ | |||
+ | ss src :56750 | ||
+ | | ||
+ | Hier werden alle lauschenden https Ports aufgelistet: | ||
+ | |||
+ | ss -l src :https | ||
+ | |||
+ | Und sogar eine Kombination ist möglich: | ||
+ | |||
+ | ss -a dst :5228 or src :mysql | ||
+ | |||
+ | |||
+ | Weiter geht es mit '' | ||
+ | |||
+ | Anzeigen aller tcp-Verbindungen ohne lauschende TCP-Ports | ||
netstat -t | netstat -t | ||
Zeile 3031: | Zeile 3286: | ||
* -n Namensauflösung aktivieren | * -n Namensauflösung aktivieren | ||
* -l Empfangsbereite Serversockets auflisten | * -l Empfangsbereite Serversockets auflisten | ||
- | * | + | |
Sollte immer ausreichen: | Sollte immer ausreichen: | ||
+ | |||
netstat -tau | netstat -tau | ||
< | < | ||
- | thor:/home/neutron# arp -n | + | iglu:/home/harry# arp -n |
Address | Address | ||
192.168.2.1 | 192.168.2.1 | ||
- | thor:/home/neutron# route -n | + | |
+ | iglu:/home/harry# route -n | ||
Kernel-IP-Routentabelle | Kernel-IP-Routentabelle | ||
Ziel Router | Ziel Router | ||
Zeile 3048: | Zeile 3305: | ||
- | === Verbindungen auflisten mit lsof === | + | ==== Verbindungen auflisten mit lsof ==== |
Derzeit sehr übersichtlich :-) | Derzeit sehr übersichtlich :-) | ||
lsof -i -n | lsof -i -n | ||
- | |||
- | |||
==== tcpdump ==== | ==== tcpdump ==== | ||
Zeile 3178: | Zeile 3433: | ||
==== Netzwerkkarte einrichten: ==== | ==== Netzwerkkarte einrichten: ==== | ||
- | Ein Netzwerk kann mit den Kommando '' | + | Ein Netzwerk kann mit den Kommando '' |
+ | aus Arch Linux Wiki: | ||
+ | ip link set up dev eth0 | ||
+ | ip link set eth0 up <-- kürzer :) | ||
+ | ip addr add 139.96.30.100/ | ||
+ | |||
+ | aus eigener Erfahrung: | ||
ip addr add 172.19.0.52/ | ip addr add 172.19.0.52/ | ||
| | ||
Zeile 3195: | Zeile 3456: | ||
ifdown eth0 | ifdown eth0 | ||
ifup eth0 | ifup eth0 | ||
+ | | ||
+ | Netzwerkkarte deaktivieren auf DOWN setzen: | ||
+ | |||
+ | ip link set usb0 down | ||
Zeile 3257: | Zeile 3522: | ||
ifconfig wlan0 up | ifconfig wlan0 up | ||
- | Manchmal ist es nötig die Wlan Karte freizuschalten, | + | besser/ |
+ | |||
+ | ip link set wlan0 up | ||
+ | |||
+ | Manchmal ist es nötig die WLAN Karte freizuschalten, | ||
< | < | ||
Zeile 3489: | Zeile 3758: | ||
Wenn der passwortlose Login scheitert, sollte man zuerst überprüfen, | Wenn der passwortlose Login scheitert, sollte man zuerst überprüfen, | ||
+ | |||
+ | |||
+ | === Probleme bei Verlust des public Keys === | ||
+ | |||
+ | Falls der SSH public Key verloren geht, kann man sich diesen mit dem Kommando '' | ||
+ | |||
+ | ssh-keygen -y -f ~/ | ||
+ | | ||
+ | Es kann dann manchmal noch erforderlich sein, dass man den neu generierten id_rsa.pub Key noch erweitern muss. Den Public-Key mit einem Editor öffnen und bis an Ende der Zeile springen, nun ganz am Ende ein Leerzeichen und den nutzer@rechnername eintragen. | ||
Zeile 3623: | Zeile 3901: | ||
nfsservername:/ | nfsservername:/ | ||
- | | + | |
- | | + | |
+ | |||
+ | === Automount - autofs.service === | ||
+ | |||
+ | Die NFS Partition immer nur dann einhängen, wenn diese benötigt wird. Dies hat sich bisher super bewährt. Auch bei Problemen wenn das Netzwerk beim booten nicht zur Verfügung steht und sonst die NFS-Partition nicht eingebunden wird. Mit dem '' | ||
+ | |||
+ | Sicherstellen das der autofs.service läuft: | ||
+ | |||
+ | | ||
+ | |||
+ | Einträge in der ''/ | ||
+ | |||
+ | < | ||
+ | nfsserver:/ | ||
+ | </ | ||
| | ||
=== Fehler vermeiden === | === Fehler vermeiden === | ||
Zeile 3644: | Zeile 3937: | ||
Oftmals möchte der NFS Mount vor der Verfügbarkeit der Namensauflösung bzw. des Netzwerks starten. Hier hilft es beim Raspberry Pi OS mit '' | Oftmals möchte der NFS Mount vor der Verfügbarkeit der Namensauflösung bzw. des Netzwerks starten. Hier hilft es beim Raspberry Pi OS mit '' | ||
- | | ||
===== SAMBA ===== | ===== SAMBA ===== | ||
Zeile 4288: | Zeile 4580: | ||
tar xfvz archiv.tar.gz " | tar xfvz archiv.tar.gz " | ||
- | Komprimierte tar.gz und tar.bz2 Dateien kann man sich mit zless, zgrep bzw. bzless, bzgrep ansehen. | + | Komprimierte |
systemadmin.txt · Zuletzt geändert: 2024/05/21 15:23 von techguru