• c't specialc't special

An der VHS Braunschweig findet eine Schulung im Rahmen der Mitarbeiterfortbildungen der TU Braunschweig zum Thema "Linux - Grundlagen" statt.

Das alternative Betriebssystem Linux hat sich im professionellen als auch im privaten Umfeld etabliert. Hierfür stehen beispielhaft Linux-Distributionen wie Debian oder Ubuntu.

Wir wollen praxisorientiert Fertigkeiten zur Installation, Administration und Verwaltung kennenlernen.
Neben der grafischen Oberfläche (KDE, Gnome) wird die effektive Nutzung der Kommandozeile (Shell) dargestellt und intensiv praktisch eingeübt:

  • Linux-Distributionen, Systemarchitektur
  • Linux-Installation und –Paketverwaltungen
  • GNU und Unix Kommandos und Tools
  • Geräte, Linux-Dateisysteme
  • Filesystem Hierarchy Standard (FHS - Linux Ordner)
  • Bash Shell, Skripte und Datenverwaltung
  • Oberflächen und Desktops

Hier die Rahmendaten unseres Seminars:

Ort: VHS Braunschweig, Raum 2.11
Teilnehmerzahl: 14 TN (Mitarbeiter/Innen der TU Braunschweig)
Zeiten: Mo, 18.06. bis Mi, 20.06.2018; jeweils 09.00 - 16.00 Uhr

Anm.: Nach dem Seminar ist vor dem Seminar: wir bieten im Rahmen der Mitarbeiterfortbildungen der TU Braunschweig - in Kooperation mit der VHS Braunschweig - auch ein "Linux Aufbau"-Seminar (26.+27.09.18) an.

Ich werde unser Seminar in diesem Beitrag wieder ausführlich begleiten...
Ihr Trainer Joe Brandes

Mo., 18.06.18

Montag, 18.06.18, 09.00 - 16.00 Uhr

  • Orientierungsphase, TN-Themen, Installationsmedium (Wechselplatte/SSD und Ubuntu 18.04 LTS 64-Bit DVD)
  • Linux (oder eigentlich GNU/Linux)
    freier Betriebssystemkern (hier: monolithisch, wobei aktuelle Entwicklungen nicht mehr nur starr monolithisch vs. Microkernel lauten; siehe Wikipedia-Artikel Link)
    engl.: Kernel (siehe Website für den Kern auf kernel.org - Lizenz GNU Public License
    erste öffentliche Erwähnung durch Linus Torvalds in Newsgroup comp.os.minix am 26. August 1991 (Wiki-Link L. Torvalds)
  • Distributionen - Übersicht und Auswahl
    Debian - Nummer 1 bei den Server-OS für Web-Services und Co
    Ableger: Ubuntu, Ubuntu-Varianten (Derivate: Kubuntu, Edubuntu, Mythbuntu, ...)
    Red Hat - Firma mit Serverlizenzen Red Hat Enterprise Linux
    Ableger: Fedora mit den offenen/freien SW-Paketen, CentOS
    Novell - SLES Suse Linux Enterprise Server
    Ableger: openSUSE - freie Community-Variante (siehe de.opensuse.org) - mit Version 42.1 hat Novell die Entwicklungspfade von SLES und openSUSE zusammengelegt (s. Versionen: 13.1 - 13.2 → 42.1 - 42.2 - 42.3)
    DistroAbleger der DistroPaketmanagement
    Red Hat
    (Link)
    Fedora, CentOS
    Kaufversion: RHEL
    RPM (Red Hat Package Management)
    Standardtool: rpm (ohne Auflösung Abhängigkeiten),
    yum
    Novell (Suse)
    (Link)
    openSUSE (Link)
    Kaufversion: SLES
    RPM
    mit YaST2-SW-Verwaltung, zypper, yum
    Debian
    (Link)
    Ubuntu, Ubuntu Derivate,
    Linux Mint
    DEB (Debian Pakete)
    Standardtool: dpkg (ohne Auflösung Abhängigkeiten)
    APT-Tools: apt-get, apt-cache, ... , aptitude

    Liste ohne Anspruch auf Vollständigkeit - siehe z.B. Website Distrowatch !

  • Auswahl der Distribution: Ubuntu 18.04 LTS
    Für unser Seminar entscheiden wir uns für die aktuelle Langzeit-unterstützte Ubuntu 18.04 (LTS) Distribution.
    ubuntu versions 20180616 800px
    Ubuntu Portal: https://www.ubuntu.com/ (unterstützende Entwicklungsfirma: https://www.canonical.com/ )
    Deutsches Unterstützerportal: https://ubuntuusers.de/ (inkl. Downloads, Infos, Tutorials, Hilfen, Forum)
    Tipp: bei Online-Recherche zu Ubuntu-Themen ist das Ubuntuusers-Portal immer eine gute Quelle.
    Wikipedia: https://de.wikipedia.org/wiki/Ubuntu (da kann man auch die Ubuntu-Versionsnamen "bewundern"

  • Installation Ubuntu 18.04 LTS (Bionic Beaver - Bionischer Biber; beispielhafte Screenshots)
    Install-Medium: DVD (Download z.B. https://wiki.ubuntuusers.de/Downloads/ )
    Tipp: Installation mit Hilfe eines USB-Sticks: gut 4 mal so schnell - außerdem häufig keine Optischen Laufwerke mehr in aktueller Hardware!
    Zeit für DVD-Installation: ca. 10 Minuten; danach natürlich noch Aktualisierungen
    Setup-Routine ohne viele "Schalter / Konfigurationsdialoge" mit Konzentration auf das Wesentliche
    LTS - Long Term Support bei Ubuntu 5 Jahre (!)
  • System aktualisieren
    in Gnome integriertes Tool: Aktualisierungen
    inklusive Konfigurationsmöglichkeiten für Updates: Zeiten, Automatisch/manuell, Update-Versionen (LTS, STS)
    Empfehlung: bis auf weiteres auf dem LTS-"Kanal" bleiben
    Alternative Update-Techniken folgen (siehe Terminal: sudo apt-get update , sudo apt-get upgrade )
    Anm.: auf allen Systemen - egal wie diese heißen - ist eine stetige Aktualisierung der genutzten Software (hier: Kernel - Distributionssoftware - Anwendungssoftware) immer wichtig.
  • Gnome Desktop (kleine Übersicht)
    Über Gnome Titelleiste (oben rechts) die Einstellungen für das Ubuntu mittels des Gnome-Einstellungen-Tools erkundet (Ubuntu's "Systemsteuerung")
    Beispiele für Konfigurationen:
    Bildschirmauflösung für Trainer-Beamer-Bild angepasst,
    Energieeinstellungen (Bildschirm abdunkeln inkl. Wiederanmeldung deaktiviert),
    Tastatureinstellungen (z.B. Druck-Taste für Screenshots im Ordner ./Bilder ; Anm.: Super-Taste ist Windows-Taste), ...
    Gnome Dock - die Favoriten nach eigenenen Wünschen angepasst
    Tipp: aktuelle Programme einfach per Rechte Maustaste zu Favoriten hinzufügen - nicht gewünschte Favoriten entsprechend entfernen
    Tipp: Fenster mit gehaltener Alt-Taste komplett per Maus fassen und verschieben können (nicht nur über Titelleiste)
    Alternative Desktop- und Fenstermanager: KDE (siehe openSUSE), XFCE, LXDE, Cinnamon (siehe Linux Mint), FVWM, IceWM, ...
    Begriffliche Unterscheidung: Desktop-Manager bringen ausführliche eigene Programme mit (z.B. Office-Tools) während Fenster-Manager "nur" die Grundtechniken zur Fensterverwaltung liefern (siehe www.xwinman.org ).
    Anm.: in Seminaren keine Konzentration auf die "Desktops) - also auf spezielle Gnome-Fähigkeiten, Techniken und Konfigurationen - denn später können wir uns ja auch für Alternativen entscheiden!
  • Dateien - bzw. Dateimanager (Toolname: nautilus)
    einfacher Dateimanager mit Übersicht über die Datei- und Ordnerstrukturen des Systems (mehr hierzu später)
    kleine Übungen mit Zugriff auf Standard-Ordner, wie man sie auch aus anderen Betriebssystemen kennt: Bilder, Dokumente, Videos
    Wichtig - siehe Hover-Infos beim Schweben über Ordner "Downloads":
    Anzeige des Pfads /home/joeb/Downloads   (bei User joeb)
    Bitte auf die Groß-/Kleinschreibung der Ordner- und Dateinamen achten! (hier: Downloads mit großem D)
    Das System hat ein Wurzelverzeichnis "/" (Root-Directory) und kennt keinerlei Laufwerksbuchstaben.
    Tipp: Adresszeile öffnen für Anpassung/Eingabe von Pfaden Strg + L 
    Alternative Dateimanager wünschenswert (siehe später gnome-commander, Midnight Commander)
  • Konsolen / Terminals (tty - Teletyper)
    Anm.: hier zusammenstellt - wird in den Seminartagen komplett erarbeitet!
    Aufruf von Programmen im Desktop mit Alt + F2 → Programmname
    bei Ubuntu:
    Terminals 1+2 für Gnome-Desktop
    Terminals 3 bis 6 (ohne Desktop) mittels Strg + Alt + F1 ... F6 - zurück zu Desktop mittels (Strg +) Alt + F2
    Beenden eines Terminals mittels exit (Anm.: logout nur bei Login-Shells)
    erste Gehversuche in der Konsole (shell) mit:  ls -a, ls -al, cd, su, who, whoami, pingip, ifconfig   (Paket: net-tools)
    Aufrufe von Programmen nur möglich, wenn die Werkzeuge im "Pfad" ($PATH) des Benutzers liegen!
    Pfade anzeigen lassen mit echo $PATH  (Pfadvariable)
    Anm.: bei Ubuntu sind für den "ersten User" alle wichtigen Pfade für Programme enthalten.
  • Erste Hilfe in Terminal/Konsole
    Man-Pages (z.B. man rm) oder Befehl mit --help (z.B. rm --help),
    gerne auch Hilfe zur Hilfe mit man man  
    Alternative: info  Pages oder natürlich Internet-Recherche
  • Tricks in Terminal/Konsole
    Befehle/Verzeichnisse/Dateien mittels Tabulator komplettieren,
    mit Cursor-Tasten wiederholen (durchblättern),
    nach oben blättern mittels Shift + PgUp (Seite hoch) bzw. Shift PgDown;
    die Historie aller Shell-Aufrufe des Users in ~/.bash_history;
    Rekursive Suche in History mittels Strg + R  (vorwärts dann mit Strg + S )
    Löschen der Konsole mittels Strg + L 
    Anfang und Ende Kommandozeile mit Strg + A und Strg + E 
    Löschen der Kommandozeile von Cursor bis Anfang mit Strg + U 
    Kopieren und Einfügen (mittlere Maustaste) in der Konsole
    Terminalprogramm in Gnome:
    gnome-terminal , starten mit Tastenkombination Strg + Alt + T  (kann aber auch konfiguriert werden s.o.)

 

  • AktualisierungenAktualisierungen
  • Einstellungen - TastaturEinstellungen - Tastatur
  • Gnome - AktivitätenGnome - Aktivitäten
  • Manpages - Hilfe im TerminalManpages - Hilfe im Terminal
  • Groß-/Klein-SensibilitätGroß-/Klein-Sensibilität
  • Wiki - Ubuntuusers.deWiki - Ubuntuusers.de

 

Di., 19.06.18

Dienstag, 19.06.18, 09.00 - 16.00 Uhr

  • Rekapitulation, TN-Fragen
  • Verzeichnisstruktur
    (eine kurze Übersicht - siehe auch ausführlicher Beitrag zu FHS auf Wikipedia)
    /bin - Binaries, ausführbare Programme
    /boot - Kernel vmlinuz (komprimiert, mehrere Versionen mit Nummern), initrd (Ramdisk)
    /boot/grub2 - Bootmanger (hier nicht konfigurieren - siehe /etc/default/grub)
    /dev - Geräte (/dev/fd0, /dev/sr0, /dev/sda, /dev/sdb, /dev/null, /dev/urandom, ...)
    /etc - Konfigurationen (/etc/fstab, /etc/hosts, /etc/hostname, viele Konfigurations-Unterordner: /etc/skel, ...)
    /etc/X11 - der Ordner für den X-Server (Grundtechnik Grafikausgabe)
    /home - Benutzerprofile (/home/username)
    /lib - Programmbibliotheken (Libraries; siehe auch /lib64)
    /lost+found - bei journaling File Systems Daten für Fehlersuchen/Behebungen (siehe auch Toolreihe fsck)
    /media - klassischer Mountpoint für Wechselmedien (bei Ubuntu genutzt, bei openSUSE nicht mehr vorhanden)
    /run/media/username - neuer Mountpoint für Wechselmedien bei openSUSE und Co
    /mnt - Mountpoint (der alte Standardmount für manuelle Mounts)
    /opt - optionale Software (hier am Beispiel XAMPP Lamp Server - Link); auch: kommerzielle Software
    /proc - Prozesseverwaltung (siehe Ordner mit PID-Nummern)
    Übung: cat /proc/meminfo ; cat /proc/interrupts ; cat /proc/cpuinfo
    /root - Homedir für SuperUser root
    /sbin - Programme mit hohen Privilegien (SuperUser)
    /srv - Serverdienste (Verzeichnisse z.B. für Webserver - diese findet man gerne auch unter /var/www ;-)
    /tmp - Temporärer Ordner; gemeinschaftlich im System (später: besondere Zugriffsrechte)
    /usr - Großteil der installierten Software im System (Unix System Resources)
    /var - Variable Daten
    Unterscheidung/Gruppierung von Daten auf Unix/Linux Systemen gemäß
    File Hierarchy Standard (FHS):
    → veränderliche / dynamische vs. statische und
    → gemeinsam genutzte vs. nicht gemeinsam genutzte Verzeichnisse
      gemeinsam nutzbar nicht gemeinsam nutzbar
    statisch /usr
    /opt
    /etc
    /boot
    dynamisch /var/mail
    /var/spool/news
    /var/run
    /var/lock

    beispielhafte Darstellungen: Linux Community - Linux User Zeitschrift (Link - Linux User Ausgabe 11 / 2011)
  • Dateiberechtigungen
    in detaillierter Liste (ls -l  )die Berechtigungen r (read), w (write), x (eXecute)  für
    u - Benutzer/Besitzer (u - user),
    g - Gruppe (g - group) und
    o - "alle Anderen" (o - others) hergeleitet,
    Standard-Berechtigungen in der (oktalen) Form 755 oder 644 erläutert (technisch 3 mal 3 Bit = 9 Bit)
    Hinweis auf umask (hier: 0 022) mit
    Standardberechtigungen für Ordner (777 - 022 = 755) und Dateien (666 - 022 = 644)
    Befehl chown (bzw. chgrp) zum Ändern von Besitzer und/oder Gruppe
    chown -R www-data:www-data /var/www/html   (z.B. Web-Dok-Ordner html für Apache2 User:Gruppe konfigurieren)
    Anm.: chown kann auch einfach Gruppe setzen mit chown :groupname 
    Befehl chmod eingeführt und nachrecherchiert (für Gruppen chgrp);
    Beispiele:
    chmod -R 750 testordner  (Ordner testordner rekursiv auf 750)
    chmod u+x skript.sh  (Datei skript.sh für Benutzer/Besitzer ausführbar machen)
    Alternativ: Berechtigungen mittels Eigenschaften Dialogfenster mit Dateimanager angesehen (Rechte Maus - Eigenschaften)
    Übung mit "chmod" bzw. Dateiberechtigungen über Dolphin (Dateimanager) und Eigenschaften:
    Ordner /home/dienstag  mit Berechtigungen 750 (oder sogar 700) ausstatten, und Tests mit ls mit anderen Usern (joeb, mittwoch)
    Für chmod (Change Modus) an Unterordnern muss -R (Achtung: hier großes R für --recursive) gesetzt werden.
    Bei Dateimanager muss ggf. ein Haken für das Anwenden auf die Unterordner aktiviert werden.
    Sonder-Berechtigungen:
    zusätzliche 3 Bit Berechtigungen "links" von den 3*3 "rwx-Bits":
    chmod 4740 SetUID (Set UserID Bit)
    chmod 2644 SetGID (Set GroupID Bit)
    chmod 1777 Sticky-Bit
    Beispiel SetUserId-Bit - Passwortänderungstool passwd :
    - rwsr----- root shadow /usr/bin/passwd  (siehe Besitzer: root)
    Sinn: auch normale User müssen Passworte für sich wechseln können - dazu braucht man aber Schreibzugriffe root auf Passwort-Datei /etc/shadow !
    SetGroupId-Bit: dasselbe Verhalten bei Ausführung von Programmen mit Gruppen-Rechte-Übernahme
    Beispiel Sticky-Bit - Temporärordner /tmp :
    d rwxrwxrwt root root /tmp  
    der Temp-Ordner für Alle - im wahrsten Sinne, aber durch Sticky-Bit werden Dateien/Ordner-Berechtigungen und Besitz/Gruppe mit in den Ordner /tmp transportiert und sind so gegen die anderen Nutzer von /tmp schützbar
  • Benutzer- und Gruppenverwaltung (Teil I)
    mittels Terminal aktuelle Benutzer und Gruppe analysiert;
    Systembenutzer/Gruppen müssen erst extra ausgewählt (gefiltert) werden;
    Anzeige zu Benutzern mittels Befehlen whoami, who, id, groups
    Dateien der Benutzer/Gruppen: /etc/passwd, /etc/shadow, /etc/group
    Inhalte und Aufbau der Dateien erläutert und recherchiert;
    Rechte analysiert und Benutzer- und Gruppen-IDs kennen gelernt;
    weitere Benutzereigenschaften: Home-Dir-Pfad, Shell (Standard /bin/bash ; speziell: siehe www-data: /bin/false ), Sekundäre Gruppen
    Abschlussübung:
    neue Benutzer mit Ubuntu-Spezialscript sudo adduser benutzername angelegt und angemeldet und getestet
    Tests mit gegenseitigen Zugriffen der Benutzer - hier ist "Lesen/Stöbern" in anderen Home-Dirs möglich
    Wir werden erst mehr über die speziellen Berechtigungen lernen
    siehe cat /etc/shadow  mit normalem Benutzer → keine Anzeige mit Hinweis "Keine Berechtigung"
  • Benutzer-"Wechsel" (eine Zusammenfassung)
    su, su - Switch User (mit - geschieht Wechsel in das Home-Dir)
    sudo (quasi ein "Ausführen als") - ist in Ubuntu vorkonfiguriert (siehe Gruppe sudoers/bzw. sudo und Konfigurationen in /etc/sudo)
    Ubuntu: Benutzer werden durch Eingabe "ihres" Kennworts zu root!
  • Benutzer- und Gruppenverwaltung (Teil II)
    Tools für Benutzer- und Gruppenerstellungen / Anpassungen:
    useradd , usermod , userdel ,
    groupadd , groupmod , groupdel 
    Empfehlung: vorher useradd -D  - zeigt die Defaults/Vorgaben für User) mit Home-Dir und anderen Defaultkonfigurationen.
    Profitipp: die Konfiguration für Standarduserumgebung kann mit /etc/default/useradd  vom root angepasst werden!
    beispielhafter 2-Zeiler für Benutzererstellung (auf beliebigem Linux):
    # useradd -m -c "Teilnehmer 01" -s /bin/bash tn01   
    # Erläuterungen: -m erstellt Home-Dir; -c langer Benutzername; -s Shell für Benutzer
    # passwd tn01  (Passwort setzen)
  • Übungsphase / Rekapitulationen der Inhalte Tag 01 + Tag 02 für Teilnehmer
    inkl. Fragemöglichkeiten/Topics
  • tar (Nachfrage von TN - ohne Übungen)
    Archivieren, Packen (Tape Archiver; mit Packertechnik)
    tar cvzf Archiv.tar.gz ./Dokumente   (packen mit gzip)
    Tipp: tar cvzf Archiv-$(date -I).tar.gz ./Dokumente  (erstellt Archiv-2018-06-19.tar.gz)
    tar xvzf Archiv.tar.gz   (entpacken mit gzip)
    Wichtig: nach dem Parameter f muss ein/der Datei-/Archivname folgen - alle anderen hier gezeigten Parameter in Reihenfolge frei
    c - compress/create
    v - verbose (mitteilungsfreudig, "geschwätzig")
    z - Kompression Gzip (Alternative: j - bzip2)
    f - Dateiname
    x - Extrahieren
  • Paketmanagement: Software verwalten / aktualisieren
    Ubuntu verwendet DEB (Debian Packages) mit diversen Tools,
    einfache Softwareinstallationen bei Ubuntu mit dem Tool "Ubuntu Software", 
    Standard-Konsolentool dpkg   ;  (leider sehr einfach: kann nicht selbstständig Abhängigkeiten auflösen/installieren)
    in DEB-basierten Distros besser: apt-get, apt-cache, apt, aptitude, synaptic 
    Anm.: apt ist moderne Variante zu apt-get/apt-cache und Co; Tools aptitude, synaptic müssen teilweise nachinstalliert werden
    Vergleichsseite von RPM (Red Hat Package Management) vs. DEB Techniken und Aufrufen (Link)
    Beitrag: Übersicht "Paketmanagement RPM vs. DEB 
  • dpkg / apt-Tools - ein paar Aufrufe und Beispiele
    dpkg -l  (listet alle installierten Pakete auf; gerne dann greppen)
    System aktualisieren (in zwei Schritten):
    apt-get update   (aktualisiert Paketinfos)
    apt-get upgrade  (bietet Softwareaktualisierungen an - nicht verwechseln mit apt-get dist-upgrade)
    Pakete suchen und zeigen:
    apt-cache search <suchbegriff>   (Suchen im Apt-Cache)
    apt-cache show <paketname>   (Infos zu Paket anzeigen
    Mehr Aufrufe und Techniken in gesonderten Übersichten zur Pakettechnik mit Linux (s.o.)
  • Midnight Commander (installiert mit apt-get install mc oder apt install mc )
    aufrufen in Shell/Konsole mit mc  (Liste mit Funktionstasten / Aktionen in Statuszeile unten)
    F10 zum Beenden;
    Strg + O zum ein-/ausblenden des Commander-Fensters
    Tab  wechselt zwischen Teilfenstern
    Tipp Gnome: für das gnome-terminal in den Eigenschaften die Funktionstaste F10 deaktivieren, sonst schließt man mit F10 beim Midnight Commander nicht das Programm, sondern öffnet das Menü des Gnome Terminals.

 

  • Root-Directory /Root-Directory /
  • Hilfsskript adduserHilfsskript adduser
  • dpkg -ldpkg -l
  • Midnight Commander (mc)Midnight Commander (mc)
  • Ubuntu SoftwareUbuntu Software
  • aptitudeaptitude

 

Mi., 20.06.18

Mittwoch, 20.06.18, 09.00 - 16.00 Uhr

  • Rekapitulation, TN-Fragen und Themen
  • Rekap-Übungen zu Installationen
    cowsay, lolcat, cmatrix, fortune-mod, bisschen Spaß  ;-)
    xeyes (mit &) - über Paket x11-apps schon installiert
    Basisbefehle: (siehe eigenen Beitrag zur Paketverwaltung auf diesem Portal)
    apt search , apt show , apt install 
    TN-Thema: manuelle Installation einen DEB-Pakets "Matabolite Detector" der TU Braunschweig
    Installationspaket.deb von Website herunterladen
    Installation mittels dpkg -i paketname.deb zeigt Fehlermeldungen zu fehlenden Paketen (Qt: core, gui; Dummy-Pakete)
    Reparatur der Installation zeigt dann fehlerhafte Verlinkung zu einer Systembibliothek
    → Anleitung nötig für Vorgehensweise der manuellen Installation mit passendem Linux-OS und den einzelnen Schritten zur Installation/Inbetriebnahme
  • Wechselmedien: USB und DVD
    Mounten - Inbetriebnahme von Datenträgern

    Hinweis: heutzutage bei allen Wechselmedien (optische, USB) automatisches Mounten durch User (technisch: im Userspace → FUSE)
    Das Einbinden von Datenspeichern/Datenträgern und anderen Komponenten (siehe virtuelle Systeme) in das System:
    Befehle: (Geräte/Datenträger werden automatisch erkennt und per Klick gemountet)
    mount  (der eigentliche Hauptbefehl zum Einbinden von Laufwerken/Mounten)
    Beispiel: mount /dev/sr0 -t udf /mnt/dvd  (früher: Type -t iso9660)
    umount (Mounten beenden)
    Beispiel: umount /dev/sr0  
    Aktuellen Mount-Status anzeigen:
    mount  ohne Parameter (oder natürlich alternativ:
    cat /etc/mtab 
    cat /etc/mtab | grep ^/dev/    (nur die Einträge mit /dev am Anfang - also Geräte)
    Anweisungen für das System zum Mounten beim Systemstart:
    cat /etc/fstab  
    Darstellung der Techniken und Vorgehensweisen mit einem USB-Stick
    Tools:
    fdisk , mkfs.ext4 , mount 
    Alle Analysen mit Hilfe von: (Partitionstools fdisk bitte mit Vorsicht nutzen)
    lsblk , blkid , fdisk -l , cfdisk 
  • Partitionen: ein kurzer Einblick
    Festplatten (alt, EIDE): /dev/hda , /dev/hdb ; mit Partitionen /dev/hda1 , /dev/hda2 , ...
    Datenträger (HDD, SSD, USB-Medien): /dev/sda , /dev/sdb ; mit Partitionen /dev/sda1 , /dev/sda2 , ...
    Optische Laufwerke: /dev/sr0 , /dev/sr1 , ...
    Hinweis: aktueller Virenjäger aus dem Hause Zeitschrift c't "desinfect 2018" ist eine Linux-Live-DVD mit Anzeige der verbauten Datenträger in der Linux-Logik (also mit /dev/...)!
  • Terminalübungen: Dateien und Ordner
    Tools in Aktion:
    cd (Verzeichnis wechseln - change Directory) , touch (Datei erstellen) , mkdir (erstelle Verzeichnis - make Directory; s.a. mkdir -p ) , rm (löschen - remove; s.a. rm -R  Ordner löschen)
  • Skript "Hallo Welt"
    ein einfache Textdokument als Skript (in erster Zeile: Shebang - Link){code lang:bash showtitle:false lines:true hidden:false}#!/bin/bash
    # Kommentar
    datum=$(date -I)
    echo $datum{/code}Wichtig:
    das Skript liegt bei uns im Pfad /home/joeb/Dokumente/skript-hallo-welt.sh
    der Aufruf muss also
    relativ: ./skript-hallo-welt.sh   oder
    absolut: /home/joeb/Dokumente/skript-hallo-welt.sh  erfolgen,
    da das Skript nicht in unserer Pfadliste (siehe echo $PATH  ) liegt!
    Und selbstverständlich muss das Skript "ausführbar" gemacht werden:
    chmod u+x skript-hallo-welt.sh  (dann klappt auch endlich das Vervollständigen mit Tab ;-)
  • Prozesse in Linux
    Starten von Programmen in der Konsole im Hintergrund (Background - bg):
    gedit mittwoch.txt & 
    bzw. natürlich auch:
    sudo gedit /etc/hosts &  
    Konsole meldet Prozess-ID; Recherche im Verzeichnisbaum: /proc/... (Ordner mit PIDs)
    ps in Kombination mit grep zum Suchen bestimmter laufender Prozesse (z.B. sshd)
    Befehle: fg , bg , jobs , ps 
    ps ax | grep firefox (bitte wieder an ps --help und man ps denken)
    hier: grep für "Filtern" von Daten (Wikipedia Link - global regular expressions print)
    Tools:
    ps, pstree, pstree -p, top,
    kill
    (Signale beachten; "Overkill SIGKILL" mit -9 möglichst vermeiden, Standardsignal SIGTERM ist -15)
    killall  kann auch mit Prozessnamen agieren: killall xeyes 
    Prozesseigenschaften:
    PID, Status (running, sleeping, zombie)
    Tipp: Grafische Übersicht mit Tool "Systemüberwachung" (oder Aufruf/Suche/Aktivitäten mit System... oder direkt mit gnome-system-monitor )
  • Netzwerk: eine kleine Toolsammlung
    Befehle Netzwerktechnik:
    ping -c 10 www.bahn.de
    traceroute www.vhs-braunschweig.de  
    Analysewerkzeuge:
    ip, route, dig , host , nslookup , arp , ifconfig (auch Konfigurationen), iwconfig (für WLAN)
    Konfiguration DNS-Namenserver: /etc/resolv.conf (natürlich auch alles per NetworkManager einstellbar)
    manuelle Namensauflösung für Seminarnetz mit /etc/hosts (Rechnernamen linux01, ..., linux17)
    Zusammenfassung Netzwerkanalyse mit Linux:
    IP-KonfigurationShellaufrufe
    IPv4-/IPv6-Adresse
    Subnetmask
    ip address show   (zeigt immer alle NICs)
    ip a s   (kurze Variante)
    /sbin/ifconfig
    Standardgateway
    (bzw. Router)
    /sbin/route -n  
    hier: in Spalte Flags das G suchen - dann Spalte Router
    ip route show
    ip r s   (kurze Variante
    DNS-Server cat /etc/resolv.conf
    hier: Zeile mit "nameserver" analysieren
    aber: Datei wird bei modernen Linuxen automatisch von Network
    Techniken erzeugt und soll nicht mehr editiert werden (s. Zeile 1).
    Erklärung zu "nameserver 127.0.0.53":
    als Namesolver dient systemd-resolvd als Dienstpartner für DNS!
    Den nächsten genutzten DNS-Server ermittelt man mit:
    systemd-resolve --status 
    Natürlich gibt es auch diverse Tools/Skripte, die diese Aufgaben/Aufrufe zusammenlegen, aber wir wollen auch immer die Basics bemühen und "Linux" verstehen.
  • Screenshot-Sammlung Trainer Joe Brandes
    über Public-Freigabe (Samba-Server) für TN
    Netzwerkpfad:  smb://10.100.200.1/public  per Dateien (nautilus - Strg+L)
    in Schulungsnetz auf Samba-Server für TN bereitgestellt
  • Linux - Aufbauseminar, 2 Tage: 26.+27. September 2018; Ankündigung:
    Sie bauen Ihre Fertigkeiten im Umgang mit dem Betriebssystem Linux aus und lernen administrative Linux-Techniken kennen: Administrative Aufgaben (Bash Shell), Grundlegende Systemdienste, Netz-Grundlagen, Sicherheit, Ihre Themen und Fragen
    Thema aus TN-Kreis:
    Suchen und Filtern in Protokollen/Loggings mit Linux
  • Letzte Fragen, TN-Bescheinigungen, Feedback

 

  • fortune, cowsay, lolcatfortune, cowsay, lolcat
  • cmatrix, xeyescmatrix, xeyes
  • Skript Hallo WeltSkript Hallo Welt
  • pstree -ppstree -p
  • Tool systemd-analyzeTool systemd-analyze
  • NetzwerkanalyseNetzwerkanalyse

 

Terminal-Extra

Befehlssammlung zur Konsole/Terminal: (in lockerer "Schüttung" ;)

Konsolenfenster / Konsole / Terminal
Konsolenfenster / Konsole / Terminal (hier: openSUSE mit KDE Tool konsole)

 Eine Auflistung von Konsolenbefehlen gruppiert nach Themengebieten:

Dateien und Ordner  
touch Datei erstellen
touch datei.ext 
mkdir Ordner erstellen (make Directory)
mkdir Ordnername  
mkdir -p Ordner/Unterordner/Ordner  
(3 Ordner in einem Rutsch)
ls Ordner/Verzeichnis auflisten (list)
ls -al 
cd Verzeichnis wechsel (change directory)
cd ~   cd -    cd ordner-bzw-pfad  
mv Dateien/Ordner verschieben/umbenennen (move)
mv test01.txt test-old.txt 
rm Dateien/Ordner löschen (remove)
rm test.txt  
rm -R Ordnername   (rekursiv)
ln Links erstellen (Soft- / Hardlinks)
ln -s ../../ordner linkzuordner    (Softlink Ordner)
ln -s ../datei.ext dateisl    (Softlink Datei)
ln datei.ext dateihl   (Hardlink Datei)
pwd Aktuelles Verzeichnis anzeigen (print working directory)
pwd 
tar Archivieren, Packen (tape archiver; z gzip; j bz2)
tar cvzf Archiv.tar.gz Dokumente/   (packen - gzip)
tar cvzf Archiv-$(date -I).tar.gz Dokumente   (aktuelles Datum)
tar xvzf Archiv.tar.gz   (entpacken - gzip)
grep
egrep
Suche und Filterung von Zeichenketten/Dateien (s. regular expressions)
ps ax | grep sshd  
chmod Berechtigungen für Datei/Ordner festlegen
chmod 600 test.txt  
chown

Besitzer und Gruppe (s.a. chgrp) festlegen
chown -R www-data:www-data /var/www/html   

 

Benutzer und Gruppen  
whoami Aktuellen Benutzer anzeigen (dt. Wer bin ich?)
who, w Wer ist eingeloggt?
id Die IDs von Benutzern/Gruppen anzeigen
groups Gruppen eines Benutzers anzeigen
passwd Password anlegen/ändern
useradd, usermod, userdel Benutzer anlegen, ändern (modifizieren), löschen (delete)
groupadd, groupmod, groupdel Gruppe anlegen, ändern (modifizieren), löschen (delete)
chown Benutzer für Datei/Ordner ändern (change owner)
kann auch Gruppe ändern:
sudo chown root:admins adminprojekte/
chgrp Gruppe für Datei/Ordner ändern (change group)

 

Konsole, Pager (Anzeigen)  
cat einfache Textausgabe von Dateien in Standardausgabe
cat /etc/passwd  
more
less
Anzeigen von Dateien
lassen sich über Pipelining nutzen

tail
head

Ende einer Datei anzeigen
Anfang einer Datei anzeigen
tail -f  /var/log/zypper.log  

dmesg

Kernelmeldungen ausgeben
dmesg -T   (mit echtem Datum + Uhrzeit)
journalctl neues Tool für Systemmeldungen
Hinweis: wegen systemd sind viele /var/log/... weg

exit
logout

Konsole schließen
alternativ: logout (Abmelden aus Login-Shell)

clear screen

Konsole löschen (Strg + L)

find

einfache Suche im Verzeichnisbaum
find ./test -name "*.php"   
find . -type f -perm 0664  

locate

Dateien nach Name suchen (Datenbank-gestützt)
benötigt updatedb

 

System  
su Benutzerkontext ändern (switch user - auch als kdesu)
sudo ausführen als
ps Prozesse auflisten (processes)
ps ax
pstree Prozessbaum
top Prozessmanager (table of processes)
powertop Tool für Analyse von Energieverbrauchern
kill
killall
Prozesse beenden (Signale -1, -15, -9)
kill 1516   (kill mit PID)
killall mc   (killall mit Prozessname)
shutdown System herunterfahren bzw. neustarten (s.a. reboot)
runlevel Aktellen und vorigen Runlevel anzeigen
init Runlevel wechseln
insserv einen Dienst (bzw. sein init Skript) für einen Runlevel konfigurieren
lspci
lsusb
lsmod
lsblk
Geräte auflisten
USB-Technik/Peripherie auflisten
Moduel (Treiber) auflisten
Blockgeräte auflisten
hwinfo Hardware Informationen ausgeben
hwinfo --gfxcard 
hostname Systemname anzeigen
mount
umount
Dateisystem einbinden (mounten) und entfernen
siehe: /etc/fstab 
rpm Paketmanagement (Red Hat Package Management)
Achtung: keine automatischen Auflösungen von Paketabhängigkeiten
rpm -qa | grep Mozilla
zypper das bessere Paketmanagement in der Konsole von openSUSE
zypper lr 
zypper install findutils-locate  
dpkg Paketmanagement (Debian)
z.B. alle installierten Pakete mit dpkg -l

Auf diesem Portal für "die Profis" noch eine ausführlichere Zusammenstellung von Konsolenbefehlen: Befehlsreferenz.

 

Vielen Dank für die sehr erfreulichen Feedbacks und persönlichen Rückmeldungen.
Ich freue mich auf unser Aufbauseminar im September.
Ihr Trainer Joe Brandes

  Privates

... zu Joe Brandes

Sie finden auf dieser Seite - als auch auf meiner privaten Visitenkarte joe-brandes.de einige Hintergrundinformationen zu mir und meinem Background.
Natürlich stellt die IT einen Schwerpunkt in meinem Leben dar - aber eben nicht nur ...

joe brandes 600px

Private Visitenkarte / Technik: HTML & CSS /
  joe-brandes.de

  Jobs

... IT-Trainer & Dozent

Ich erarbeite und konzipiere seit über 25 Jahren IT-Seminare und -Konzepte. Hierfür stehen der "PC-Systembetreuer / FITSN" und der "CMS Online Designer / CMSOD". Ich stehe Ihnen gerne als Ansprechpartner für Ihre Fragen rund um diese und andere IT-Themen zur Verfügung!

becss 600px

BECSS Visitenkarte / Technik: HTML & CSS /
  becss.de

  Hobby

... Snooker & more

Wer einmal zum Snookerqueue gegriffen hat, der wird es wohl nicht wieder weglegen. Und ich spiele auch immer wieder gerne eine Partie Billard mit den Kumpels und Vereinskameraden. Der Verein freut sich über jeden, der einmal in unserem schicken Vereinsheim vorbeischauen möchte.

bsb 2011 600px

Billard Sport BS / Joomla 3.x /
  billard-bs.de

PC Systembetreuer ist J. Brandes - IT seit über 35 Jahren - Technik: Joomla 3.4+, Bootstrap 3.3.4 und "Knowledge"

© 2024 - Websitedesign und Layout seit 07/2015 - Impressum - Datenschutzerklärung
Nach oben