Nach der Sommerpause und zum Start des Semesters an der VHS Braunschweig findet aus dem "Fachkraft IT-Systeme und -Netzwerke (FITSN)"-Zertifikat ein Seminar für das Modul "Linux" statt.
In unserem praxisorientierten Seminar werden wir die Techniken des alternativen Betriebssystems von der Installation bis zur Administration über die grafischen Frontends und auch über die Befehlszeile (Shell) erlernen.
Hier die Rahmendaten unseres Seminars:
Ort: VHS Braunschweig, Raum 2.11
Zeiten: Mo, 14.09. bis Fr, 18.09.2015; jeweils 08.30 - 16.00 Uhr
Prüfung: Mi., 23.09.2015, 17.00 Uhr Raum 2.11 (aktuell 3 TN)
Status Erstkorrektur: erledigt - Do., 24.09.2015 - alle Teilnehmer an der Prüfung haben bestanden - ich gratuliere!
Anm.: Nach dem Seminar ist vor dem Seminar: wir bieten an der VHS Braunschweig auch einen "Linux Aufbauworkshop" an. Ich freue mich auf Ihre Nachfragen und Ihr Interesse an useren Seminaren!
Ich werde unser Seminar in diesem Beitrag wieder ausführlich begleiten...
Ihr Trainer Joe Brandes
Mo., 14.09.15
Montag, 14.09.15, 08.30 - 16.00 Uhr
- Orientierungsphase, TN-Themen, freiwillige Prüfung, TN-Material,
Installationsmedium (Wechselplatte und openSUSE 13.2 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
Debian - Nummer 1 bei den Server-OS für Web-Services und Co
Ableger: Ubuntu, Ubuntu-Varianten (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 wird Novell die Entwicklungspfade von SLES und openSUSE zusammenlegen (s.a.u. Versionen: 13.1 - 13.2 - 42.1)
weitere Distributionen: ArchLInux, Linux Mint, Gentoo, Mandriva, ... - the list goes on and on (s. a. www.distrowatch.com - Installation von openSUSE 13.2 / 64-Bit (Achtung: nächste Version dann 42.1 - Codename Leap / "Sprung")
Install-Medien: CD (Netzwerk-Install; ca. 200-250 MB; bei Installation werden alle Pakete aktuell nachgeladen: ca. 3-4 GB),
DVD (auch als Live-DVD), Netzwerk-Quellen (FTP, HTTP, NFS, SMB/CIFS); immer auch Quellen in 32- und 64-Bit
Spezialität von openSUSE: YaST - Yet another Setup Tool (Installations- und Setup/Konfigurationswerkzeug) - Partitionen
klassische Gerätenamen/dev/sda(für den ersten Datenträger - dann/dev/sdb, ...)
eingerichtete Partitionen mit Nummern:/dev/sda1, /dev/sda2, ...
früher bei EIDE-Geräten:/dev/hda; die sda-Bezeichner dann für SCSI, SATA und heute auch USB-Medien
Alternativ: Verwendung von Geräten-ID-Bezeichnern (siehe später GRUB oder auch /etc/fstab )
Hier: UUID zum eindeutigen Bezeichnen der Partitionen/Datenträgerbereiche
Vorteil: dann werden die Datenträgerbereich auch sauber gemountet, wenn diese mal statt auf /dev/sda2 auf /dev/sdb1 liegen sollten!
heutige Installation mit folgenden Partitionen angelegt: (ein Screenshot für eine beispielhafte Installation ist unten angefügt)
grobe Einteilung/Partitionierung (bei MBR gibt es 4 Partitionen):
1 prim. Partition/dev/sda1und 1 Erweiterte Partition/dev/sda2
Root-Partition (Mountpoint: / ;Größe: 100 GiB; Dateisystem: ext4; Gerät:/dev/sda1- prim. Part.)
Home-Partition (Mountpoint: /home; Größe: 50 GiB; Dateisystem: ext4; Gerät:/dev/sda5- logische Part. in Erw. Part.)
Swap-Partition (2 GiB;/dev/sda6- logische Part. in Erw. Part.)
Anm.: openSUSE würde gerne BtrFs als Dateisystem für das System und xfs für die Daten (siehe /home) vorschlagen, aber wir wollen hier die "klassischen" Dateisysteme nutzen!
Dateisysteme: ext2, ext3 (ist ext2 mit journaling FS), ext4, xfs, BtrFS, ReiserFS, Fat16, Fat32 (VFat), NTFS - System aktualisiert (DVD von Okt 2014 -> fast 700 Pakete zu aktualisieren)
grundsätzliche System-Aktualisierung mit dem Tool "apper" (in zwei Durchläufen);
Anm.: oft ist das "Aktualisierungs-Gadget" (Package-Kit) aus der Kontrollleiste schneller und aktualisiert parallel
Vorgriff auf Befehlszeile: Aktualisierung mit Toolzypper(siehe erster Aktualisierungsdurchlauf: dort wurde diese Toolserie aktualisiert) - Desktops
KDE: erste Gehversuche mit Desktop, Einstellung Doppelklick mit Systemeinstellungen-Werkzeug (systemsettings / KDE-Infozentrum)
Alternativen: Gnome (Standard-Desktop bei Debian), LXDE, XFCE, TWM, IceWM, Unity (Ubuntu)...
Übung: Aufrufe für verschiedene KDE-Standardtools (Dolphin, Kwrite, Konsole, Standard-Browser: Mozilla Firefox, Bürosuite LibreOffice, ...)
Übersichtsseite mit Window-Managern und kompletten Desktops: http://xwinman.org/ - Dateimanager
Dolphin vs. Konqueror, Zwei-Fensteransichten (F3), Favoriten-Leisten
Anm.: Konquerer auch Browser und früher der Standard-Dateimanager von KDE - heute ist es Dolphin
Übung: Einblenden der "versteckten" Dateien/Ordner mit Tastenkombination Alt + . (beginnen ja auch mit .); 2-Fensteransicht mit Funktionstaste F3 - Konsolen / Terminals (tty - Teletyper)
Aufruf von Programmen im Desktop mit Alt + F2 - Programmname
Terminals 1 bis 6 (ohne Desktop) mittels Strg + Alt + F1 ... F6 - zurück zu Desktop mittels Alt + F7
Beenden eines Terminals mittelsexit(Anm.:logoutnutzen bei Login-Shells)
erste Gehversuche in der Konsole (shell) mit:ls -a,ls -al,cd,su,who,whoami,ping,ifconfig
wichtig:ifconfignur mit Root-Rechten (also nach su - substitute/switch user) - Erste Hilfe in Terminal/Konsole
Man-Pages (z.B.man rm) oder Befehl mit --help (z.B.rm --help), gerne auch Hilfe zur Hilfe mitman man - 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); die Historie aller Shell-Aufrufe des Users in~/.bash_history; Rekursive Suche in History mittels Strg + R; Löschen der Konsole mittels Strg + L; Kopieren und Einfügen (mittlere Maustaste) in der Konsole - Konsole: (Hinweis auf Extra-Beitrag mit Befehlsreferenz)
cd -(wechselt zwischen den letzten Dirs hin und her)cd ~(wechselt in das Home-Dir)
relative Pfadecd ../Dokumentevs. absolute Pfadecd /home/joeb/Dokumente - Koordination von Wechselplatten für die Woche - aktuell keine Wechsel bis Freitag nötig
Partitionen
Abschluss Installation
Erster KDE Desktop
Apper - Aktualisierung
activedoc.opensuse.org
KDE-Infocenter
Di., 15.09.15
Dienstag, 15.09.15, 08.30 - 16.00 Uhr
- Rekapitulation, TN-Fragen
- TN-Interesse an freiwilliger Prüfung klären
- Bootvorgang (inkl. exemplarisches Szenarion für Parallelinstallation mit Windows - Linktipp MS)
0) Einschalten (Reset, POST - Power On Self Test)
1) BIOS/UEFI mit Bootsequenz (Startreihenfolge / Startmedien)
Übersicht Bootmedien: USB (Sticks/HD), Netzwerk (PXE), Festplatten/SSDs, Optische Medien (CD/DVD)
MBR (Masterbootrecord mit Partitionstabelle (maximal 4 Partitionen: 4 Primäre oder 3 Primäre und 1 Erweiterte)
Hinweis. für das Booten von HDs > 2,2 TB wird UEFI inklusive GPT benötigt
Erinnerung: Win-Systeme benötigen als Bootstandard eine Aktive primäre Partition inkl. eines "sauberen" MBR (Generischer MBR);
Reparatur-Tipp zum MBR: mit Win-DVD:bootrec /fixmbr(bzw.bootrec /fixbootfür Bootsektor) in Reparaturkonsole
2) Linux-Bootmanager: GRUB2 (Übersicht Bootmanager und Technik Bootmanager folgt)
3) Kernel und initramfs (klassisch: init Ramdisk - initrd laden; Anm.: die Ramdisk ist optional)
4) "init" (Erster Prozess mit ID "1") (klassisch SysVInit - heute: systemd)
Anm.: openSUSE (und fast alle anderen Linuxe benutzen systemd ("abwärtskompatibel" zu init), Ubuntu hatte upstart als init-Lösung
Gründe für Abkehr von init: Effizienter, Parallel arbeitend, Abhängigkeiten von Prozessen cleverer lösend
Tipp zur Startanalyse:systemd-analyze blame(erzählt in ms - Millisekunden - die Geschichte der "Starts")
Technisch: systemd arbeitet eigentlich mit Targets (z.B. default.target) statt den klassischen Runleveln
Befehle:init,telinit,runlevel,systemctl(stattsysctlbei init-Technik) - Bootmanager Linux
Lilo (sehr alt und unflexibel), GRUB (oder auch GRUB Legacy - Erläuterungen auf openSUSE Portal)
aktuell: GRUB2 (technisch extrem zu GRUB abweichend und mächtiger!)
GRUB-Ordner:/boot/grub2
GRUB konfigurieren mit/etc/default/grubund den/etc/grub.d/Dateien
GRUB aktualisieren mit Befehlengrub2-mkconfigundgrub2-installnach genauem Studium der Grub2-Technik
Hinweis zum Bootloader mittels YaST - System - Bootloader
mögliche Speicherorte für GRUB: MBR, Bootsektor einer Partition
Erläuterungen zu GRUB2: Link Ubuntuusers-Wiki (Achtung "Ubuntu-Brille"), Linupedia-Artikel - Runlevel (klassischer Begriff - systemd arbeitet mit Targets - Grundlagenartikel systemd von Heise.de)
Ordner für Skripte/etc/init.d(Beispiel: sshd); diese Skripte arbeiten dann mit Parametern start | stop | restart | reload
Anm.: Red Hat (und Co) arbeiten mit/etc/rc.dals Skriptordner - siehe auch Link rc.d auf init.d bei openSUSE
Unterordner für die RunlevelrcX.d(X für die Level - also z.B. /etc/init.d/rc3.d oder rc5.d)
hier liegen Verlinkungen (symbolische Links) zu den Start- (beginnen mit S..) und Stop/Kill-Skripten (beginnen mit K..)
In openSUSE: init-Technik wird durch systemd-Technik unterstützt; 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 kann man noch in diesen Ordnern finden!
Tools:runlevel,init X(X = S, 0, 1, 3, 5, 6) ,shutdown,halt,reboot
Vergleich von klassischen und modernen Runlevel-Wechseln: (ohne weitere Erläuterungen)init 3wird zusystemctl isolate multi-user.targetinit 5wird zusystemctl isolate graphical.target - Verzeichnisstruktur (eine kurze Übersicht - siehe auch Wikipedia)
/bin- Binaries, ausführbare Programme/boot- Kernel vmlinuz (komprimiert, mehrere Versionen mit Nummern), initrd (Ramdisk)/boot/grub2- Bootmanger (hier nicht konfigurieren - siehe /etc)/dev- Geräte (/dev/fd0, /dev/sr0, /dev/sda, /dev/sdb, /dev/null, /dev/urandom, ...)/etc- Konfigurationen (/etc/fstab, /etc/hosts, 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 openSUSE nicht mehr vorhanden)/run/media/username- neuer Mountpoint für Wechselmedien/mnt- Mountpoint/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 - Forts. Partitionen / Dateisysteme
Werkzeuge zum Einbinden / Lösen von Datenträger:mount/umount
führt über die man-Pages zu den beiden Dateien/etc/fstab- Konfiguration der Datenträgereinbindungen (für Systemstart oder mount -a)
Aufbau der fstab in 6 Spalten:
1) Gerät / UUID 2) Mountpoint 3) Dateisystem 4) Optionen 5) dump ? 6) Filesystemcheck? (fsck)/etc/mtab- aktuelle Mount-Situation; Anm.: sehr unübersichtlich, da alle möglichen virtuellen Dateisysteme aufgelistet werden
Tipp:cat /etc/mtab | grep ^/(damit werden nur noch die Zeilen ausgegeben, die mit einem / beginnen!)
Hinweis:mount(ohne Parameter) gibt ebenfalls "mtab" aus
Überblick über die beteiligten Techniken:lsblk- zeigt uns die "Blockgeräte", also alle erkannten Devicesblkid- zeigt uns die zugeordneten eindeutigen UUIDsfdisk -l /dev/sda- zeigt mit Partitionstool fdisk eine Liste (-l) der vorhandenen Partitionen und Eigenschaften von Gerät /dev/sda;
ohne Parameter -l rufen wir das Tool für die Arbeit an dem Datenträger auf
Hinweis: Tools für GPT-Datenträger heißtgdisk
Partitionstypen: Linux (83), Swap (82), Linux LVM (8E), Erweiterte Partitionen (f)
Übung: einlegen einer DVD und Analyse der Mount-Situation
Mi., 16.09.15
Mittwoch, 16.09.15, 08.30 - 16.00 Uhr
- Rekapitulation, TN-Fragen, TN-Interesse an freiwilliger Prüfung klären
- Fortsetzung Konsolen-Übungen:
Idee: ls mal mit Tab-Tab zeigt noch mehr interessante Listenaufrufe:lsusb- USB Geräte auflistenlspci- PCI Geräte auflistenlsblk- Blockgeräte auflistenlsmod- Module ("Treiber") auflisten; weiterführende Tools dann mit dem mod-Teil: z.B.insmod,modprobe
Tipp: diese "Ideen" und Zusammenhänge für die Toolbezeichner verinnerlichenpwd- aktuelles Verzeichnis anzeigen lassenmkdir- Ordner anlegencd- Change Directorytouch- Neue Datei erstellencp- Copy / Kopieren von Dateien und ganzen Ordnern (Schalter -R für Rekursiv)mv- Move / Verschieben / Umbenennenrmdir- Remove Dir / Entfernen eines leeren Ordnersrm- Remove einer Datei oder Rekursiv (also wieder -R) für ganze Ordner
Relative Pfade (../../ordner/datei.extoder auch./configure)
Absolute Pfade (/home/joeb/Dokumente/mittwoch/test.txt)
Hinweis auf Cheat Sheets ("Schummelzettel") für die Linuxbefehle (Beispielhafter Link "Linux auf einem Blatt")
Gerne auch meine Befehlssammlung auf diesem Infoportal nutzen (Stichwort: "Roter Faden" - prüfungsrelevanz)
weitere Diagnosetools:hdparm(für Datenträger Parameter),smartctl(für S.M.A.R.T. bei Festplatten) - Systemeinstellungen und YaST (bzw. YaST2)
Systemeinstellung (systemsettings) sind für den Benutzer
Beispielhafte Einstellungen:
Anzeige und Monitor - Bildschirmauflösungen
Eingabegeräte - Maus (siehe Doppelklick)
Energieverwaltung - Bildschirmschoner und Co konfigurieren
Mittels der Rubrik "Systemverwaltung" kommt man dann auch zu weitergehenden Einstellungen und YaST
Rundgang durch YaST: Techniken in den Kategorien angesprochen und Fachbegriffe erläutert
Software - hier dann die Verwaltung der Softwarepakete (Aktualisierungen, Installationen / Deinstallationen)
Hardware - Hardware-Informationen, Drucker (wird extra aufgeführt s.u.)
System - Bootloader (GRUB2 konfigurieren), Datum und Zeit, Partitionierer (Datenträger verwalten), Dienste-Verwaltung (systemd - Runlevel verwalten)
Netzwerkgeräte - Netzwerkeinstellungen (Konfiguration von Netzwerkadaptern - siehe Übung: Hostname konfigurieren und Übernahme Hostname per DHCP deaktivieren)
Netzwerkdienste - Rechnernamen (bearbeitet /etc/hosts)
Sicherheit und Benutzer - Firewall (hier später sshd freigeben), Benutzer- und Gruppenverwaltung
Virtualisierung, Unterstützung, Verschiedenes
Anm.: es gibt natürlich auch eine textbasierte Oberfläche in der Konsole oder auch als Terminal-Aufruf mit Parametern
Erkenntnis: letztendlich bietet YaST nur Grafische Oberflächen für die tatsächlichen Einstellungen im System (den Konfigurationsdateien)
Beispiel: YaST-Werkzeug "Rechnernamen" ist einfach nur ein Dialog für die Bearbeitung von/etc/hostsDatei! - ssh - Secure Shell (Darstellungen im Vorfeld der Übungen zu systemd / Diensten / Firewall)
sichere Verbindung mit Hilfe von Client-/Servertechnik zwischen Linux-Systemen
Server: sshd (meist openssh); Client: ssh
Aufruf von ssh in Konsole:ssh -X Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!(hier inklusive X-Server-Programmaufrufmöglichkeit)
Wndows-ssh-Client: putty (Link), WinSCP (Link - komfortabler Dateimanager mit ssh)
Profitipp auf Win-Systemen: Installation Cygwin (Linuxumgebung auf Windows laufend; mit Paketen xinit, xterm und openssh Grundausstattung - dann klappt es auch vom Windows-System beim Zugreifen auf ein Linux-System inkl. X-Server also Fenstern), Alternative MobaXterm (Link) - Netzwerk mit openSUSE 13.2
1) ifup - die klassische Technik der Einbindung von NICs und Netzwerkumgebungen (Tools:ifup,ifdown,ifconfig)
2) NetworkManager - eine Red Hat Technik mit Applet (Miniprogramm für Windows Manager KDE, Gnome und Co)
Wichtig: entweder / oder nutzen - Konfiguration mittels YaST - Netzwerkeinstellungen - Global Options
3) NEU seit openSUSE 13.2: Wicked Service als Standardinstallation auf Desktop-Systemen (Anm.: bei Notebooks weiterhin NetworkManager als Standard)
Befehle:ping -c 10 www.bahn.de,traceroute www.vhs-braunschweig.de
Analysewerkzeuge:dig,host,nslookup,arp,ifconfig(auch Konfigurationen),iwconfig(für WLAN)
Konfiguration DNS-Namenserver:/etc/resolv.conf(natürlich auch alles per YaST einstellbar)
Übung: manuelle Namensauflösung für Seminarnetz mit/etc/hosts(Rechnernamen linux01, ..., linux17) - Mounten - Inbetriebnahme von Datenträgern
das Einbinden von Datenspeichern/Datenträgern und anderen Komponenten (siehe virtuelle Systeme) in das System
Befehle:mount(der eigentliche Hauptbefehl zum Einbinden von Laufwerken/Mounten)umount(Mounten beenden)
Hinweis: heutzutage bei allen Wechselmedien (optische, USB) automatisches Mounten durch User (technisch: im Userspace)
Aktuellen Mount-Status anzeigen:mountohne Parameter (oder natürlich alternativ:cat /etc/mtab)
Anweisungen für das System zum Mounten beim Systemstart: cat /etc/fstab
Darstellung der Techniken und Vorgehensweisen mit einem USB-Stick (16 GB):fdisk,mkfs.ext3,mount
Alle Analysen wieder mit Hilfe von lsblk , blkid , fdisk -l (s.o) - Übung für Donnerstag vorbereitet:
Freien Speicher auf Harddisk /dev/sda (genauer in der Erweiterten Partition sda2) für einen Mount in unser System nutzen.
Idee: neues Homeverzeichnis /homespezial für ganz spezielle User (z.B. Gäste, Praktikanten, Geschäftsführung, Arbeitnehmervertreter)
1) neue logische Partition mitfdisk /dev/sda7anlegen (und ggf. neu booten)
2) mit Dateisystem ext4 formatieren:mkfs.ext4 /dev/sda7
3) Erstellen eines Hauptordners als Mountpoint:mkdir /homespezial
Anm.: das muss als Root geschehen, da nur Root (User-ID 0) im Root-Dir Objekte anlegen darf!
4) Wir wollen "fest" verbinden und nutzen daher die/etc/fstab
nach einemkdesu -kwrite /etc/fstabmit kwrite bearbeiten!
Anm.: wir wollen uns hier (noch) nicht mit den Konsolen-Editoren "nano, vi und Co" belasten
Neuer Eintrag in die /etc/fstab :/dev/sda7 /homespezial ext4 acl,user_xattr 1 1
5) Mounten ohne Neustart mit Befehlmount -a
Testen der Einbindung mitmountoder übersichtlicher mitcat /etc/mtab | grep ^/
6) Anm.: aufgrund der eingeschränkten Rechte (hierzu dann am Do mehr) kann ein normaler User nicht in/homespezialschreiben
aber: wir legen einen neuen User joebspezial (einfach mal mit YaST2) an
und setzen dessen Homedir auf/homespezial/joebspezialund schon läuft alles wie geschmiert!
Ebenfalls diskutiert: /home schnell mit mehr Speicher ausstatten funktioniert am Besten mit LVM-Technik (Logical Volume Management)!
Do., 17.09.15
Donnerstag, 17.09.15, 08.30 - 16.00 Uhr
- Rekapitulation, TN-Fragen,
Übung zum Partitionieren und Mounten per /etc/fstab vorstellen und mit TN durchgeführt; Anleitungen siehe Ende von Mittwoch - Benutzer- und Gruppenverwaltung
mittels YaST2 - Benutzer-/Gruppenverwaltung aktuelle Benutzer und Gruppe analysiert; Systembenutzer/Gruppen müssen erst extra ausgwählt (gefiltert) werden; Anzeige zu Benutzern mittels Befehlenwhoami, 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 wwwrun: /bin/false), Sekundäre Gruppen
Abschlussübung: neue Benutzer angelegt und angemeldet und getestet
Tests mit gegenseitigen Zugriffen der Benutzer - hier ist "Lesen/Stöbern" in anderen Home-Dirs möglich
Verhindern mit Berechtigung 700 beim Erstellen eines neuen Users (Anm.: root schließt man nie aus)
Tools für Benutzer- und Gruppenerstellungen / Anpassungen:useradd,usermod,userdel,groupadd,groupmod,groupdel
beispielhafter 2-Zeiler für Standarduser (sieheuseradd -D- zeigt die Defaults/Vorgaben für User) mit Home-Dir und Passwort:
#useradd -m -c "Teilnehmer 01" tn01
#passwd tn01 - Benutzer-"Wechsel" (eine Zusammenfassung)
Switch User (su, su - mit Wechsel in das Home-Dir)
kdesu - der su für den KDE-Desktop (siehe Aufruf YaST oder manuell kwrite für Übung oben)
sudo (quasi ein "Ausführen als") - muss extra konfiguriert werden (siehe Gruppe sudoers und Konfigurationen in /etc/sudo) - Dateiberechtigungen
in detaillierter Liste (ls -l)die Berechtigungen r (read), w (write), x (eXecute) für
Benuzter/Besitzer (u - user), Gruppe (g - group) und "alle Anderen" (o - others) hergeleitet,
Berechtigungen in der (oktalen) Form 755 oder 644 erläutert, Befehlchmodeingeführt und im Skript nachrecherchiert
Alt.: Berechtigungen mittels Eigenschaften Dialogfenster mit Dateimanager Dolphin angesehen
Übung mit "chmod" bzw. Dateiberechtigungen über Dolphin (Dateimanager) und Eigenschaften:
Ordner/home/mittwoch/Dokumentemit Berechtigung 775 ausstatten, sodass auch Benutzer aus Gruppe "users" die Schreibmöglichkeiten für den Ordner "Dokumente" bekommen
Befehl:chmod 775 Dokumente(als User mittwoch im Homedir von mittwoch)
Für chmod (Change Modus) an Unterordnern muss -R (Achtung: hier großes R für --recursive) gesetzt werden. Beim Dolphin muss ein Haken für das Anwenden auf die Unterordner aktiviert werden. - Prozesse
Starten von Programmen in der Konsole im Hintegrund (Background - bg):kwrite mittwoch.txt &
Konsole meldet Prozess-ID; Recherche im Verzeichnisbaum: /proc/... (Ordner mit PIDs)psin Kombination mitgrepzum Suchen bestimmter laufender Prozesse (z.B. sshd)
Befehle:ps ax | grep firefox(bitte wieder anps --helpundman psdenken)
hier: grep für "Filtern" von Daten (Wikipedia Link - global regular expressions print)
Prozesse in Ordnerstruktur /proc; Tools:ps, pstree, pstree -p, top,(Signale beachten; "Overkill SIGKILL" mit -9, Standardsignal SIGTERM ist -15)
kill
Prozesseigenschaften: PID, Status (running, sleeping, zombie)
Tipp: Grafische Übersicht mit Strg + Esc (oder Aufruf/Suche mit System...) - Übung zu SSH:
1) ssh installiert? 2) Prozesse analysieren 3) Dienste-Verwaltung 4) Firewall
eine beispielhafte Vorgehensweise mit Techniken aus der bisherigen Woche:
1) Recherche zu ssh (Paket openssh) - ist "ssh" installiert?rpm -qa | grep ssh(Vorgriff auf morgige Darstellungen zu Paketmanagement und Softwareverwaltung)
2) Läuft der ssh-Dienst (sshd)?ps ax | grep sshd(zeigt uns: Nein - da läuft kein sshd!)
3) Dienst sshd für unseren Standard-Runlevel 5 (genauer graphical.target für systemd) konfigurieren:
YaST2 - System - Dienste-Verwaltung - sshd (enable und starten) - Einstellungen sichern
Neuer Test, ob sshd läuft? Ja!
4) Für Netzwerkzugriff von ssh-Client (z.B. linux17 - 192.168.11.117) auf ssh-Server (z.B. linux11 - 192.168.11.111)
jetzt noch die Firewall mittels YaST - Sicherheit und Benutzer - Firewall - Allowed Services konfigurieren und
den Dienst "Secure Shell Server" hinzufügen und Firewall-Konfiguration sichern
Auf den ssh-Server dann mittels ssh Aufrufen (siehe Mi) verbinden;
Anm.: bei Erstverbindung Signatur/md5-Fingerabdruck bestätigen
Übung mit /etc/fstab
Benutzer mit YaST
Benutzer anlegen
Systemüberwachung
Dienste Verwaltung
ssh Client nutzen
Fr., 15.09.15
Freitag, 18.09.15, 08.30 - 16.00 Uhr
- Rekapitulation, TN-Fragen, To-Do-List:
Paketmanagement (SW-Installationen: Vorschläge mc, vlc, Window Manager / Aktualisierungen), Standardeditor VI, Rekapitulation Konsolenbefehle (ln mit Soft- und Hardlinks), Drucken, TAR (Backup - wenn Zeit ist ;-) - Paketmanagement - Software verwalten / aktualisieren
openSUSE verwendet RPM (Red Hat Packages) mit diversen Tools, am einfachsten natürlich YaST2 mit dem Softwareverwalten betreuen, hier werden auch gleich alle Paketabhängigkeiten analysiert und aufgelöst, Standard-Konsolentoolrpm; besser:yum(nicht bei openSUSE installiert)
openSUSE: bessereres Toolzypper(dann klappt es auch in der Konsole mit der automatischen Auflösung von Paket-Abhängigkeiten);
Anleitung zur Benutzung von zypper auf einem openSUSE-Info-Portal (Link)
bei Debian/Ubuntu Paketmanagement (DEB, Standard-Konsolentooldpkg) heißt die entsprechende Toolreihe apt (bzw.apt-get)
Vergleichsseite von RPM vs. DEB Techniken und Aufrufen (Link) - RPM - Red Hat Package Mangement (in openSUSE Distribution)
Haupttool:rpmfür die Konsole; Beispiele:rpm -i <paket>(installiert Paket)rpm -e <paket>(löscht Paket)
Wichtig: rpm kann die Abhängigkeiten der Pakete nicht automatisch auflösen, daher sehr "unhandlich"
Tipps zu rpm: (Infos und Analysen zu Paketen und Installationen mittelsrpm -q; q für Query/Abfrage)rpm -qa | grep Firefox(findet die installierten MozillaFirefox Pakete)rpm -qa | grep ^mc(findet Pakete die mit mc beginnen)
besseres Konsolenwerkzeug openSUSE:zypper(hier klappen die automatischen Auflösungen der Paketabhängikeiten)zypper refresh(aktualisiert die Quellen)zypper update(aktualisiert die Pakete/Installationen)zypper in <paket>(installiert ein Paket)
Quellen für Pakete: Repositories (CD, DVD, FTP, HTTP, Lokal)
Übersicht über Repositories über YaST-Softwareverwaltung (oderzypper lrbzw.zypper repos)
Hinweis auf Paketgruppen, Suchen/finden/installieren/deinstallieren von Paketen, Schemata
Community Repos erweitern die Quellen für Pakete:
Beispiel: Build Service LibreOffice ermöglicht Zugriff auf aktuelleres "LibreOffice" in Version 4.4.5 statt sonst nur in Version 4.3.7; neue Repos mit eigener Signatur (Key)
Beeitstellung von Installationsmedien und Software für openSUSE über Webportal erlaubt Recherche und Quellsuche für Pakete
Weitere Spezialität openSUSE: automatische Installation mit Hilfe von YaST Meta Packages (*.ymp) in Form von 1-Click-Installs bei openSUSE
Alternative Softwareinstallationen:
Software mit eigenem Setup/Installer oder
Source-Tarballs: Quellcodearchiv (Sources); nach Auspacken müssen die Quelldateien (Sources) dann mit dem passenden Compiler (GCC - GNU C Compiler) übersetzt werden - Rekapitulation Befehlssammlung
auf diesem Portal als Beitrag "Befehlsreferenz" zu finden - Befehlssammlung für unser Modul und als Kontrollübersicht zum Lernzielkatalag ("Roter Faden") unseres Seminars; so kamen wir auch zu locate... - locate (ein Datenbank-gestütztes Such-/Indexsystem)
auf openSUSE führt Aufruf vonlocatezu Hinweis in Konsolecnf locate(Tipps mit Could not find bei openSUSE)
daraufhin einfach mitzypper install mlocatedas nötige Paket installiert und mittelsupdatedbdie nötige Datenbank für dieses indizierte Suchsystem aktualisiert; Tests mitlocate grep - Link Tool:
ln
Symbolische Links mitln -s ../donnerstag/datei.ext symlinkname(hier Link auf Datei)
Symlink auf Ordner mitln -s ../donnerstag symlinknameordner(hier Link auf Ordner)
Harte Links nur auf Dateien (im selbem Datenträgersystem): hier werden die Hardlinks zu "Zeigern" auf dieselbe "Originaldatei"
Tipp: Anzeigen der sogenannten Inodes ("Zeiger/Speicherstellen im Datenträgersystem") mit Schalter -i bei Listbefehlls -li(oder natürlich gerne auchls -ali) - tar (Tape Archiver)
Sammlung von Backup- und Archivierungstools, beispielhafte Nutzungen:tar cvzf Dokumente.tar.gz Dokumente
(packt und zipped Ordner Dokumente in Archiv Dokumente.tar.gz)tar xvzf Dokumente.tar.gz
(entpackt Archiv Dokumente im aktuellen Verzeichnis)
Hinweise: z nutzt gzip (GNU Zip und Unzip - Packen und Entpacken), j würde bz2 als Komprimierungstechnik nutzen (Anm.: effizienter als zip aber auf Nicht-Linux-Systemen ohne geeignete Software nicht nutzbar), f (Angabe für File/Datei) muss immer am Ende stehen
in Grafischer Oberfläche (über Dolphin): Ark
Erstellen von Prüfsummen ("Fingerabdruck") mittelsmd5sum(odersha256sum)
komplette Partitionen oder Festplatten lassen sich mitddsichern (Live-Medien nutzen - z.B. Anleitung)
Grafisches Tool mit Bootmedium: Clonezilla (Link) - VI (bzw. VIM - der VI improved) - im Seminar nur kurz erwähnt - bitte Herdt Skript nachrecherchieren
unterschiedliche Modi: Einfügenmodus (z.B. mit Taste i), Kommandomodus (ESC)
Kommando: :w (schreiben), ZZ (Schreiben und beenden; :q (Quit - mit :q! Beenden erzwingen)
Tipp:vi test.txt(gleich Datei laden/erstellen);view test.txt(nur Lesen-Modus - view halt)
Anmerkung: auch als Fensterprogramm verfügbargvim(also eigentlich aus der Gnome-Ecke) - Drucken - ist im aktuellen Seminar wegen Zeit komplett weggefallen! (Prüfungsinteressierte bitte Herdt Skript beachten)
verschiedene Nutzungen und Installationen unter Linux
1) lpd - Line Printer Daemon, der klassische Dienst zum Verwalten von Druckern, Druckjobs, Printqueues
2) YaST2 Modul Drucker - zum Installieren oder Verwalten
3) Desktopmanager Druckerkonfiguration (KDE, Gnome); Tipp: sind möglichst zu vermeiden und statt dessen:
4) CUPS - Common Unix Printing Service (Apple) - der aktuelle Standard und Distro-unabhängig und per Weboberfläche verwaltbar: Webadresse (Browser)localhost:631(also Port 631)
für Seminar geplant:
Beispielinstallation eines "HP Color 500 Laserjet (m551)" mit Hilfe der HP Linux Imaging and Printing Toolserie auf hplip.net Website; damit werden alle nötigen Dateien (Druckertreiber ppd) und Konfigurationen erstellt
Empfohlene Verwaltung dann mittels CUPS - Nachfrage von Teilnehmer zu "
xterm"und eine kurze "hierarchische" Erläuterung:
"Kernel" - technisch ist Linux erst einmal nur der Kernel (Wiki-Link) und darauf kann man dann direkt auch eine Shell (z.B. die Bash) nutzen (siehe Runlevel 3 ohne Grafikdesktop / init 3)
"X-Server" - Zusätzlich kann man eine Grafikausgabe mit Hilfe des (klassischen) X-Servers (Wiki-Link) nutzen (X Windows System, X Server 11 - kurz X11, neu: x.org Server) mit deren Hilfe einfache Grafikfensteranwendungen (siehexterm) genutzt werden können.
"Window Manager bzw. Desktop" - Oder man baut noch gleich einen kompletten Desktop inklusive Management und Zusatztools (siehekonsole) oben drauf! - TN-Bescheinigungen, Feedback-Bögen, letzte TN-Fragen
Vielen herzlichen Dank für Ihre überaus positiven Feedbackbögen und auch persönlichen Worte während der Seminarwoche und zum Seminarende.
Ihr Trainer Joe Brandes