An der VHS Braunschweig findet eine Schulung im Rahmen der Mitarbeiterfortbildungen der TU Braunschweig zum Thema "Linux - Aufbauworkshop" 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.

Das Seminar wendet sich an alle Mitarbeiterinnen und Mitarbeiter, die ein Linux-Grundlagenseminar besucht haben oder über Grundkenntnisse in Linux verfügen und die Linux in der Praxis anwenden können. 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

Hier die Rahmendaten unseres Seminars:

Ort: VHS Braunschweig, Raum 2.11
Teilnehmerzahl: 10 TN (Mitarbeiter/Innen der TU Braunschweig)
Zeiten: Mi, 26.09. bis Do, 27.09.2018; jeweils 09.00 - 16.00 Uhr

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

 

Mi., 26.09.18

Mittwoch, 26.09.18, 09.00 - 16.00 Uhr

  • Orientierungsphase, TN-Themen (gesammelt und bei Tag 2 aufbereitet)
    Installationsmedium (Wechselplatte/SSD VHS BS und Debian Stretch 9.5 64-Bit DVD für die TN)
  • 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 Leap 42.1 hat Novell die Entwicklungspfade von SLES und openSUSE zusammengelegt (Versionen: 13.1 - 13.2 → Leap 42.1 - 42.2 - 42.3 - Leap 15.0)
    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 !

  • Debian Versionen
    9 - Stretch (aktuelle Testingversionen: Sid)
    8 - Jessie, 7 - Wheezy; 6 - Squeeze; 5 - Lenny; 4 - Etch (Charaktere aus Toy Story)
    Varianten: stable, testing, unstable (und oldstable)
    Versionen ab Wheezy (7.x) aktualisiert mit 7.1, 7.2, ... (statt früher 7.0.1, 7.0.2, ...)
    Unterschiedliche Quellen (Web/http, FTP-Server) und Download-Techniken (Bittorrent, jigdo)
    Download wöchentlicher Testing-Variante http://cdimage.debian.org/cdimage/weekly-builds/  
    Download aktuelle Stable Version Debian http://cdimage.debian.org/debian-cd/
  • Installation von Debian 9 Stretch / 64-Bit 
    Wechsel-SSD und Install-Medium DVD für TN (Anm.: können die TN behalten)
    Beispielhafte Trainerinstallation durch Trainer - wichtige Einstellungen bei Installation mit UEFI-Unterstützung ansprechen.

    Stichpunktartiger Ablauf: (vollständige Screenshotsammlung bei Trainer verfügbar)
    → Sprache
    → Netzwerk-HW erkennen
    → Rechnername
    → Root-Passwort
    → User / User-Passwort
    → Partitionierung (gesamte Platte verwenden und LVM einrichten)
    partman lvm automatic
    Dann bitte angebotene Mountpoints (mit LVM - Logical Volume Management) auswählen:
    → Separate /home, /var und /tmp-Partitionen:
    partman mounts
    → UEFI-Installation erzwingen? Ja
    Also bitte die UEFI-Installation bestätigen: (Anm.: die TN-PCs in Raum 2.11 sind auf UEFI vorkonfiguriert und sollen nicht per Legacy-Boot starten; man müsste UEFI/BIOS Boot-Konfiguration umstellen, was wir nicht wollen!)
    partman efi speichern
    → Andere CD oder DVD einlesen? Nein
    → Netzwerkspiegel verwenden? Ja
    Anm.: dann werden gleich Standard-Paketquellen (Apt-Repositories) eingebunden - könnte man später auch nachholen/konfigurieren (siehe: /etc/apt/sources.list )
    → Paketverwendungserfassung teilnehmen? Nein
    → Software (tasksel) - Standardauswahl: Debian Desktop, Druckserver, Standard-Systemwerkzeuge (1488 Pakete)
    → ..... Neustart .....

    Anmerkungen:
    Installation GRUB-EFI mit eigener "Efi System Partitione / ESP" in Gerät /dev/sda1 
    statt sonst klassisch in /dev/sda - also MBR - Master Boot Record der Platte
    LVM (Logical Volume Management); Grundinstallation aus Setup nutzen (s.o.)
  • Installations-Check
    Software-Version: cat /etc/os-release  bzw.  cat /etc/debian_version 
    Kernel: uname -a  bzw. uname -r 
    OS aktuell?: mit den Apt-Tools untersuchen und System aktualisieren
    Die "W-Fragen"?: whoami , who , w 
    Pfade checken: echo $PATH  (Nachfrage TN andere Umgebungsvariablen: siehe set  )
  • Netzwerk
    Erste Netzwerkanalyse mit Linux:
    IP-KonfigurationShellaufrufe
    IPv4-/IPv6-Adresse
    Subnetmask
    ip address show   (zeigt immer alle NICs)
    ip a s   (kurze Variante)
    Tool ifconfig oft nicht mehr standardmäßig installiert:
    /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 von den Netzwerkkonfigurations-Diensten
    Wicked (bzw. NetworkManager) manipuliert
    keine manuelle Änderung gewünscht!
    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
    mit ping -c 5 www.bahn.de  Funktionalität "online" gecheckt!
  • Softwareaktualisierung
    Anpassung und Check der Konfiguration der Debian-Apt-Quellen: /etc/apt/sources.list 
    Übung: Auskommentieren (#) der Install-DVD, Analyse der deb und deb-src  Repositories
    Aktualisieren der Apt-Quellen (und des Apt-Caches):  apt-get update   bzw.  apt update  (moderne Toolvariante)
    Software aktualisieren mit:  apt-get upgrade  bzw.  apt upgrade 
    alle installierten Pakete im System aulisten: dpkg -l  (dann ggf. mit grep filtern nach Pipe | )
    mehr Infos und Aufrufe zu Paketverwaltung siehe Beitrag "Paketmanagements RPM vs. DEB" auf diesem Portal
  • Terminals
    echte Konsolen mittels Strg + Alt + F3, ...  (zurück zum Debian Gnome Desktop mit Alt + F2; hier also tty2 mit Grafik)
    Standard-Konsole unter Gnome: gnome-terminal  (Tipp: Taste F10 für Menü deaktivieren)
  • 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
  • Tricks in Terminal/Konsole
    Befehle/Verzeichnisse/Dateien mittels Tabulator komplettieren (siehe: ls TabTab  zeigt alle Programme mit ls...,
    mit Cursor-Tasten Aufrufe wiederholen (durchblättern),
    überlange Anzeigen 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
  • Runlevel (klassischer Begriff - systemd arbeitet mit Targets - Grundlagenartikel systemd von Heise.de)
    0 - Stop/Halt
    1 / s / S - Single User (zu Wartungsarbeiten)
    2 - Multi-User (mit und ohne Netzwerk - je nach Distribution)
    3 - Multi-User und Netzwerk (klassische Serverumgebung LAMP und Co)
    4 - unbenutzt
    5 - Multi-User, Netzwerk, X-Server (heute mit Desktops wie KDE oder Gnome)
    6 - Reboot
  • systemd (Reference Manual Chapter: The systemd Daemon)
    init-Technik wird durch systemd-Technik ersetzt bei Beibehaltung der alten (abwärtskompatiblen) init-Skript-Techniken und Ordnerstrukturen nach SysVinit;
    dadurch werden die Start-/Stoppmechanismen durch teils gleichzeitiges Abarbeiten von Aufrufen beschleunigt - siehe S- und K-Links in Runlevel-Ordnern alle mit gleicher Nummerierung (hier 50 - S50... / K50...)
    Nur noch Skripte, die nicht sauber mit systemd arbeiten - oder noch nicht umgeschrieben worden sind -  konnte man noch in diesen Ordnern finden!
    Hinweis ab openSUSE 15.0: keine Skripte mehr in rcX-Ordnern!
    "Runlevel"-Tools: runlevel , init X (X = S, 0, 1, 3, 5, 6) , shutdown , halt , reboot  
    Hier mal eine ausführlichere Gegenüberstellung:
    SysVinitsystemdBemerkungen
    Runlevel Targets Bezeichungen für gewünschte Bootumgebung
    /etc/inittab keine /etc/inittab (!!)
    in Ordnern diverse Dateien: (z.B.)
    /usr/lib/systemd/system
    Konfigurationsdatei(en)
    runlevel
    init
    telinit
    sysctl
    chkkonfig
    runlevel (wegen Kompatibilität)
    init (w. K.)
    telinit (w. K.)
    systemctl
    journalctl
    systemd-*  (z.B. systemd-analyze blame | plot )
    Tools
    service sshd status systemctl status sshd.service Status openSSH Server
    service sshd start systemctl start sshd.service Starten openSSH Server
    service sshd stop systemctl stop sshd.service Stoppen openSSH Server
    service sshd restart systemctl restart sshd.service Restarten openSSH Server
    service sshd reload systemctl reload sshd.service Konfiguration openSSH Server neu laden
    chkconfig sshd on systemctl enable sshd.service openSSH im Runlevel/Target aktivieren
    chkconfig sshd off systemctl disable sshd.service openSSH im Runlevel/Target deaktivieren
    Man. Suche in Logdateien journalctl -u sshd.service Journal für openSSH
    (als root)
    chkconfig --list systemctl list-unit-files
    systemctl list-dependencies multi-user-target
    Übersicht Dienste in Runleveln/im Target
    init 3   (oder)
    telinit 3
    systemctl isolate runlevel3.target
    systemctl isolate multi-user.target
    in Runlevel 3 wechseln bzw.
    in multi-user.target
    init 5   (oder)
    telinit 5
    systemctl isolate runlevel5.target
    systemctl isolate graphical.target
    in Runlevel 5 wechseln bzw.
    in graphical.target
    ... systemctl isolate default.target in Standard-Runlevel wechseln bzw.
    in default.target
    init 0   (oder)
    telinit 0
    shutdown -h
    poweroff
    systemctl isolate runlevel0.target
    systemctl isolate poweroff.target
    shutdown -h
    poweroff
    Rechner ausschalten
    init 6   (oder)
    telinit 6
    shutdown -r
    reboot
    systemctl isolate runlevel6.target
    systemctl isolate reboot.target
    shutdown -r
    reboot
    Rechner rebooten
    Tabelle zu SysVinit vs. systemd (siehe auch Link Fedoraprojekt (Link)
    schönes Linux-Wiki mit Beispielaufrufen zur systemd-Technik:
    Wiki: Willkommen in Bluelupo's Wiki - Grundlegende Kommandos zu systemd 
    Übungen: systemctl start | stop | status  mit cupsd.service
  • Benutzer- und Gruppenverwaltung
    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 Standarduser:
    # useradd -m -c "Teilnehmer 01" tn01   (Schalter -m wichtig für Home-Dir-Erstellung)
    # passwd tn01  (Passwort setzen)
    Jeder Benutzer kann mit Tool passwd  sein eigenes Kennwort ändern. Hierfür ist das Tool /usr/sbin/passwd  mit dem Set-UID-Bit konfiguriert, welches bewirkt, dass passwd mit "root"-Rechten ausgeführt wird. Mehr dazu bei den Linux-Datei-/Ordner-Berechtigungen.
    Debian und verwandte Distributionen:
    # adduser newuser  (ein Perl-Skript, das alle gewünschten Konfigurationen vornimmt)
  • Übung zu SSH:
    1) ssh installiert? 2) Prozesse analysieren 3) Dienste-Verwaltung 4) ssh nutzen / Firewall?

    eine beispielhafte Vorgehensweise:
    1) Recherche zu ssh (Paket openssh bzw. openssh-server) - ist "ssh" installiert?
    dpkg -l | grep ssh   (Paketmanagement und Softwareverwaltung: hier mit Deb-Tool dpkg)
    apt search ssh  (Paketname entweder openssh oder bei Debian: openssh-server)
    Anm. zu openSUSE: Paket heißt hier openssh und beinhaltet sowohl ssh-Client also auch ssh-Server Software
    2) Läuft der ssh-Dienst (sshd)?
    ps ax | grep sshd  (zeigt uns: Nein - da läuft kein sshd!)
    systemctl status ssh.service   (oder sshd.service)
    3) Dienst sshd für unseren Standard-Runlevel 5 (genauer graphical.target für systemd) konfigurieren:
    systemctl enable sshd.service   (wieder: siehe auch Übungen der BU-Woche)
    Neuer Test, ob sshd läuft? Ja!
    4) Für Netzwerkzugriff (Client-Server Prinzip)
    von ssh-Client (z.B. r211pc17 - 10.100.211.117)
    auf ssh-Server (z.B. r211pc11 - 10.100.211.111)
    Anm.: was ist hier eigentlich mit der Firewall?
    Auf den ssh-Server dann mittels ssh Aufrufen verbinden:
    ssh username @ ip-adressse (bzw. @ machinename - Anm.: ohne Leerzeichen um das @-Symbol)
    (für namentliche Adressen linux11 benötigt man DNS oder /etc/hosts Einträge)
    Gerne per SSH auch Programmaufrufe inkl. Fenstermanagement (X-Server):
    ssh -X ...   (erstellt ssh-Verbindung mit Fernaufruf für X-Fenster-Programme)
    Anm.: bei Erstverbindung Signatur/Fingerabdruck bestätigen
    ssh-Client und ssh-Server konfigurieren:
    /etc/ssh/ssh_config  (Client)
    /etc/ssh/sshd_config  (Server)
    Anm.: angehängtes "d" für Daemon (Disk and Execution Monitor - gerne kurz mit dt. "Dienst / Service" merken)
    ssh-Client unter Windows:
    wir brauchen einen ssh-Client und am Besten gleich noch einen X-Server (für "Linux-X-Fenster")
    putty (Link) - der Klassiker (die ssh-Tools als Sammlung oder einzeln; ohne X-Server (siehe cygwin)
    MobaXterm (Link) - die geniale "all-in-one" Lösung als kostenlose Installation, Zip oder kostenpflichtige Enterprise-Version
    gezeigt mit Windows-PC: xeyes bzw. gedit auf Windows Desktop!

 

  • UEFI InstallerUEFI Installer
  • AnalyseAnalyse
  • Dienst cupsdDienst cupsd
  • openssh-serveropenssh-server
  • Benutzer anlegenBenutzer anlegen
  • Win SSH-ClientsWin SSH-Clients

 

Do., 27.09.18

Donnerstag, 27.09.18, 09.00 - 16.00 Uhr

  • Ausführliche Rekapitulation (inkl. kleinerer Übungen) zu Tag 1
    TN-Fragen zum Seminar:
  • Paketinfos...
    Herausfinden wie und wo ein bestimmtes Paket installiert ist (siehe Paketverwaltung mit dpkg bzw. apt )
    z.B.: dpkg -L mc  (zeigt Dateien für Midnight Commander)
    Anm.: Übung mit Installationen "Midnight Commander" (mc)
    und "Visual Studio Code" (Paketname: code; Link; hier: Modifikation /etc/apt/source...) {code lang:freebasic showtitle:false lines:true hidden:false}curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
    sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
    sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

    sudo apt-get install apt-transport-https
    sudo apt-get update
    sudo apt-get install code # or code-insiders{/code}Neue Apt-List /etc/apt/sources.list.d/vscode.list für Microsoft VSCode Software
    Code ist auch für rpm-basierte Distros, MacOS und Windows verfügbar
  • dump-Befehl vs. tar-Befehl
    dump arbeitet auf Blockebene - nicht Dateiebene - siehe auch dd - disk dump
    Anm.: Hinweis auf fstab; Empfehlung für Übung(en) mit tar (siehe unser Grundlagen Seminar),
  • xargs (Befehl erläutern)
    Stichwort: verbessertes Pipelining: siehe auch tee; Beispiel zu xargs:
    Übung: cut -d " " -f1 access_log | sort | uniq | xargs -n1 host  
    Dateidownload (nur temporär verfügbar) in Trainer-Onedrive (Link)
  • Fehleranalyse - sinnvolles Vorgehen bei der Fehlersuche (mit TN Meldungen "Greenbone Tool diskutiert"),
  • Netzwerkanalyse (siehe Ausführungen auf diesem Portal
    Übung "hosts":  /etc/hosts 
    Einträge erstellt:
    10.100.211.115   r211pc15             www.r211pc15
    127.0.0.1 schadsoftware.com www.schadsoftware.com
    Technik DNS kurz erläutert
    Zusammenfassung Netzwerktechnik - Technische Konfigurationen
    1) ifup/ifdown - die klassische Technik der Einbindung von NICs und Netzwerkumgebungen
    So findet man eine grafiklose Serverinstallation vor (siehe Hoster, Cloud-Services)
    Tools/Dateien: ifup , ifdown , ifconfig, /etc/network/interfaces , /etc/resolv.conf
    2) NetworkManager
    eine Red Hat Technik mit Applet (Miniprogramm für z.B. Windows Manager KDE kde5-nm-connection-editor , Gnome und Co)
    3) Wicked Service (z.B. seit openSUSE 13.2) ;wichtig: entweder / oder den NetworkManager nutzen
    Tools:
    siehe auch Netzwerkanalyse Tag 1: ip address show , ip route show  , /etc/resolv.conf  
    ping -c 10 www.bahn.de
    traceroute www.vhs-braunschweig.de  
    Analysewerkzeuge:
    ip, route, dig , host , nslookup , arp , ifconfig (auch Konfigurationen, aber veraltet), iwconfig (für WLAN)
    Konfiguration DNS-Namenserver: /etc/resolv.conf (natürlich auch per SW konfigurierbar: siehe NetworkManager)
    manuelle Namensauflösung für Seminarnetz mit /etc/hosts (Rechnernamen linux01, ..., linux17)
  • cron
    Taskscheduler, Anleitung/Beispiel ; Alternative Software: anacron)
    Übung: crontab -e  und allgemein an Bash-Shell-Skripte erinnert
    persönliche Cron-Jobs:  /var/spool/cron/crontabs/username  
    Systemweite Cron-Jobs:  /etc/crontab  

    Weitere Themen:

  • Übung Bash (root)
    Konfigurationsdatei  /root/.bashrc  bearbeitet für Syntax-Highlighting und Aliase
  • Netfilter / iptables (nur in Kürze behandelt und dargestellt)
    aktuelle Tabelle "filter" anzeigen mit:  sudo iptables -L  bzw.  sudo iptables -t filter -L   (sudo soll root Hinweis sein)
    Filterketten leeren: sudo iptables -F 
    Beispielhafte (sehr einfache und grundlegende) Firewall-Skripts verteilt und kurz diskutiert!{code lang:freebasic showtitle:false lines:true hidden:false}#!/bin/bash
    # Autor: Joe Brandes
    # NIC definieren
    INTDEV="eth0"
    # Befehle für Skript ermitteln mit which
    IPTABLES="$(which iptables)"
    # Alles wegwerfen (Policies setzen für Chains/Ketten der Tabelle filter)
    $IPTABLES -P INPUT DROP
    $IPTABLES -P OUTPUT DROP
    $IPTABLES -P FORWARD DROP
    # Ketten der Tabelle filter leeren
    $IPTABLES -F
    # ... Anweisungen / Regeln / ...
    # ssh zulassen (als Beispiel)
    $IPTABLES -A INPUT -i $INTDEV -p tcp --dport 22 -m state --state NEW -j ACCEPT
    $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT{/code}In aktueller netfilter Technik wird mit "-m conntrack --ctstate" statt mit "-m state --state" kodiert, was die neuere Conntrack Erweiterung nutzt. Wenn die "ältere" Kodierung genutzt wird, wird automatisch die "neuere" verdrahtet!
    Bereitstellung der Konfiguration für System mittels
    a) Firewall Skript (kann später automatisch beim Systemstart ausgeführt werden - chmod +x nicht vergessen!)
    oder aber mittels
    b) iptables-persistent (bzw. netfilter-persistent) Paket/Software für die iptables
    Die persistent-Lösung arbeitet mit Befehlen iptables-save und iptables-restore  und Dateien /etc/iptables/rules.v4.
    Beispiel:  Firewall-Regeln etablieren und dann
    iptables-save > /etc/iptables/rules.v4   in Konfiguration schreiben.

  • TN-Bescheinigungen, Feedback-Bögen, letzte TN-Fragen

 

  • wiki.ubuntuusers.dewiki.ubuntuusers.de
  • Apache Access LogApache Access Log
  • NetworkManagerNetworkManager
  • /etc/hosts/etc/hosts
  • crontab -ecrontab -e
  • .bashrc.bashrc

 

Vielen Dank für die sehr positiven Evaluationsbögen und Ihre persönlichen Feebacks - keep on Linuxing...
Ihr Trainer Joe Brandes