häufig gestellte (SuSE)LINUX-Fragen
(und mögliche Antworten)

  1. Wie kann von Linux aus eine DBOX2 gesteuert werden (+Aufnahme)
  2. Wie wird Software nachinstalliert
  3. Wie wird die SuSE-KDE-Live-CD auf einem USB-Stick bootfähig gemacht
  4. Welche Programme arbeiten mit openStreetMap Karten und GPS-Geräten
  5. Wie wird der Zugriff auf eine Bluetooth GPS-Maus realisiert (z.B. für eine Navigation mit navit)
  6. UMTS-Konfiguration für UMTS-Stick K3715 und Provider Vodafone
  7. UMTS-Konfiguration für UMTS-Stick K3765-Z und Provider Vodafone
  8. Wie können unlöschbare Dateien entfernt werden (oder Dateien vorm Löschen geschützt werden)
  9. Wie wird die Sprachausgabe aktiviert
  10. Javaplugin bei SUSE und Firefox-ESR wird nicht geladen
  11. Zeichensatzumschaltung für einzelne Applikation
  12. Nachträgliche Labelvergabe für Partitionen z.B. USB-Stick
  13. Schnelles umcodieren eines Transportstreams zu einem Programmstream
  14. Video-Thumbnails im Konqueror und Dolphin anzeigen (mit ffmpeg anstelle mplayer)
  15. Google-Chrome bzw. Picasa über Softwareverwaltung installieren/updaten
  16. Slim Mobile USB DVB-T Empfänger einrichten
  17. VirtualBox Laufwerke schrumpfen
  18. Zugriff auf Windows-Mobile Geräte (<Mobile7) über SynCE
  19. Wechsel des Root-Dateisystems (z.B. von Rescue-CD auf zu reparierendes Festplattensystem)
  20. SSH-Anmeldung ohne Passwort
  21. feh - Fast and Lightweight Image Viewer unter aktuellem SuSE installieren
  22. Opensuse-12.x mit SysV oder Systemd booten
  23. Init-Scripte in /etc/init.d/ mit insserv chkconfig oder systemd verwalten
  24. PKI-Login mit GEM-Plus Kartenleser
  25. Scriptgesteuertes anlegen von Useraccounts (mit Passwort)
  26. Exportieren und Importieren einer SQL-Datenbank (zur Bereinigung)
  27. Client/Mail-Zertifikate in einer LDAP-Datenbank ablegen
  28. Google-Chrome als root starten (was man niemals machen sollte; unter Windows surft ja auch Niemand als Admin)
  29. IPV6 Quick and Dirty
  30. Installation und Konfiguration eines WIKI-Servers
  31. Shell-Befehl auf Verzeichnislisting anwenden
  32. Android-SDK bzw. den AVD-Manager mit USB-Vendor-IDs versorgen (/etc/udev/rules.d/51-android.rules)
  33. den AVD-Manager mit Tastatur-Hotkeys verwenden (z.B. Strg+F12 zum Bildschirm drehen)
  34. Multipath-Anbindung fuer einen Squid-Proxy (3Mbit-DSL und 4Mbit-Standleitung)
  35. Passwortschutz für den GRUB2
  36. Einen Standard-Kernel von einer Installations-DVD booten (z.B. bei defekter /boot Konfiguration)
  37. Bildbetrachter Kuickshow installieren
  38. Filesystem Größenänderung (Resize)
  39. Spielereien mit dem find-Kommando
  40. Android Handy/Tablet MTP-Dateisysteme mounten
  41. HDD-Tools zum Datentransfer und Festplattenfehler anzeigen
  42. Zugriff auf Systemmeldungen der ehemaligen /var/log/messages auf systemd-Systemen
  43. Aktuelles PepperFlash-Plugin für Firefox installieren
  44. Grub/Rescue-Root-Login
  45. Public-Key-Authentifizierung konfigurieren
  46. Screencapturing mit interner Audioaufzeichnung
  47. Änderungen im Verzeichnisbaum erkennen
  48. Sperrbildschirm über Console entsperren
  49. grafische KDE-Anwendung unter anderer Kennung ausführen
  50. Filesystemcheck einer LUKS-verschlüsselten Partition
  51. Sprachausgabe mit speetch-dispatcher über jovie geht nicht
  52. Docker Proxy-Konfiguration
  53. MTS-Videos nach MP4 neucodieren
  54. Alte Befehle im Paket "net-tools-deprecated"
  55. VMDK-Datei mounten (Virtual-Box Image)
  56. Replace (Texte in Dateien suchen und ersetzen)


1.Wie kann von Linux aus eine DBOX2 gesteuert werden (+Aufnahme)
  • Benötigte Programme: mm4dbox
    HIER wird das Shellscript beschrieben um unter LINUX dbox2-Programme betrachten und aufnehmen zu können.
2.Wie wird Software nachinstalliert
  • Reichlich SuSE-Zusatzsoftware erhält man direkt über Yast installierbar (z.B. vom packman Installationsserver).
    yast2 -> Software, Software-Repositories, Hinzufügen, Community/Gemenischafts-Repositories, z.B. Packman
    Webseite: http://packman.links2linux.de/
    Liste der packman-Server: ftp://packman.links2linux.de/pub/packman/MIRRORS
  • Oder man nutzt unter http://software.opensuse.org/ die SuSE Paketesuche
  • Oder man stöbert unter http://download.opensuse.org/repositories/*/openSUSE_Leap_15.2/ nach dem passenden Repository
  • Sind die Repositories eingerichtet kann auch direkt über zypper in PAKETNAME installiert werden
    SuSE, RedHat CentOS Debian/Ubuntu OpenPacKaGe (opkg)
    Programm suchen zypper search
    rpm -qa
    cnf
    yum search aptitude search
    dpkg -l
    opkg list
    Programm-Infos zypper info
    rpm -ql
    yum info aptitude show
    dpkg -L
    Programm installieren zypper install yum install aptitude install opkg install
    Einzelpake installierent rpm -i Datei.rpm rpm -i Datei.rpmdpkg -i Datei.deb
    Programm löschen zypper remove
    rpm -e
    yum remove aptitude purge
    dpkg --purge
    dpkg --remove
    opkg remove
    Programme aktualisieren zypper up yum check-updateapt-get update
    apt-get upgrade
    opkg update
    geänderte Dateien rpm -V debsums
  • Softwareinstallation mit der BackTrack-DVD (und Aufbereitung zum RPM-File)
    - apt-get -d --reinstall -y install Paket-Name (läd *.dep Paket nach /var/cache/apt/archives/)
    - alien -r Paket-Name.deb (erzeugt daraus RPM-Files)
  • Nur Security-Upates installieren
    zypper patch -g security -l [-D] (nur anzeigen)
  • Installierbare Patches auflisten
    zypper pchk
  • Infos zu patch-Optionen
    zypper patch --help
  • Rpm versus dpkg Kommandos
    - https://www.thomas-krenn.com/de/wiki/Rpm_und_dpkg_Kommandos
3.Wie wird die SuSE-KDE-Live-CD auf einem USB-Stick bootfähig gemacht
  • ls -l /dev/disk/by-id/*usb*
  • dd status=progress if=openSUSE-12.3-KDE4-LiveCD-i686.iso of=/dev/sd[Buchstabe des USB-Sticks von 1.] bs=4M;sync
  • fdisk /dev/sd[Buchstabe des USB-Sticks] n, p, 2, w, q
4.Welche Programme arbeiten mit openStreetMap Karten und GPS-Geräten
  • Repository -> http://download.opensuse .org/repositories/Application%3a/Geo/openSUSE_Leap_42.1/
  • Programm -> QLandkarteGT (für Karten im Geotiff und Garmins IMG-Verktorformat sowie Streckenauswertungen)
  • Programm -> Viking (für offline Kartenmaterial mit optionalen POI-Overlays und Routenaufzeichnung)
  • Programm -> Navit (Navigationsprogramm für offline Kartenmaterial, nicht nur OSM)
    - http://wiki.ubuntuusers.de/Navit (Hinweise)
    - http://maps4.navit-project.org/ (speichert selektierte Ausschnitte als BIN-Datei)
5.Wie wird der Zugriff auf eine Bluetooth GPS-Maus realisiert (z.B. für eine Navigation mit navit)
Allgememein
  • Paketeinstallation (zypper in bluez-libs bluez-utils gnome-bluetooth kde-bluetooth kde-bluetooth4 navit) einige sind optional
  • hcitool scan (zur Feststellung der MAC-Adresse)
    Die Geraeteadr. und "bind yes" in rfcomm.conf eintragen (vi /etc/bluetooth/rfcomm.conf)
    rfcomm0 {
            bind yes;
            device 00:02:C7:BD:5D:B2;
            channel 1;
            comment "Example Bluetooth device";
    }
  • "/usr/bin/rfcomm bind 00:02:C7:BD:5D:B2" (Adresse von hcitool scan)
    oder beim Systemstart über "/etc/init.d/boot.local" Eintrag
    Die Funktion ist mit "cat /dev/rfcomm0" oder "l2ping 00:02:C7:BD:5D:B2" testbar
  • Der Start des "navit" Programms (vor dem gpsd) ist sinnvoll
  • "gpsd /dev/rfcomm0" (-G erlaubt einen Remorezugriff auf den gpsd-Port 2947)
    - Der Eintrag "%users ALL = NOPASSWD: /usr/sbin/gpsd /dev/rfcomm0" in der /etc/sudoers und ein Aufruf "sudo /usr/sbin/gpsd /dev/rfcomm0" benötigt kein root- Passwort
    - Test des gpsd
      "telnet localhost 2947" (gpsd)
      r (r liefert GPS-Daten im NMEA-Format)
      Ein "killall -9 gpsd" bricht (optional) den gpsd-Dienst ab
  • Unter Verwendung der boot.local und sudoers kann ein User dann mit folgendem Script seine Navigation starten
    navit &
    sudo /usr/sbin/gpsd /dev/rfcomm0

  • weitere GPS-Testprogramme sind ...
    - xgpsspeed, xgps, gpxlogger, gpsdrive, qlandkarte, qlandkartegt, viking und natürlich navit

  • Falls Module fehlen sollten, das manuelle Laden der Module
    - modprobe hci bluez l2cap rfcomm und eventuell "rcbluetooth restart"
6.UMTS-Konfiguration für UMTS-Stick K3715 und Provider Vodafone
  • Paket umtsmon installieren (http://download.opensuse.org/repositories/KDE:/KDE3/openSUSE_Leap_42.1/)
  • umtsmon als root starten, 4stellige Pin eingeben
  • Profil anlegen mit: APN=web.vodafone.de, Benutzer=vodafone, Kennwort=internet
    für andere Anbieter siehe http://172931.homepagemodules.de/t42f20-UMTS-Einstellungen.html oder http://www.lug-wr.de/wiki/index.php/UMTS
  • Bei DNS-Problemen in der /etc/resolv.conf nameserver 139.7.30.125 eintragen
  • Für 1und1 Surfsticks wird als APN=mail.partner.de eingetragen, Benutzer und Kennwort bleibt leer (bei SuSE-11.0 wurde der Stick nicht erkannt, SuSE-11.2 benötigte usb_modswitch, SuSE-11.3 lief sofort)
7.UMTS-Konfiguration für UMTS-Stick K3765-Z und Provider Vodafone
  • Paket (zypper in ...) wvdial python-serial python-twisted python-twisted-conch python-tz python-crypto python-notify usb_modeswitch installieren
  • Von https://forge.betavine.net/projects/vodafonemobilec/ bzw. https://forge.betavine.net/frs/?group_id=12&release_id=272 das Paket vodafone-mobile-connect-2.20.01-4.noarch.rpm laden
  • Paket installieren (rpm -i vodafone-mobile-connect-2.20.01-4.noarch.rpm)
  • Stick einstecken
    vodafone-mobile-connect-card-driver-for-linux starten
    Profil anlegen mit: APN=web.vodafone.de, Benutzer=vodafone, Kennwort=internet
8.Wie können unlöschbare Dateien entfernt werden (oder Dateien vorm Löschen geschützt werden)
  • Eventuell ist das immutable Flag gesetzt (bzw. zu setzen)
  • Dieses kann mit "lsattr Dateiname" bzw. "lsattr -d /Pfad" kontrolliert werden
  • In der Ausgabe wird das Flag angezeigt "----i------------- Dateiname"
  • Der Befehl "sudo chattr -i extlinux.sys" entfernt das Flag einer Datei extlinux.sys
9.Wie wird die Sprachausgabe aktiviert
  • Link: http://docs.kde.org/stable/de/kdeaccessibility/kttsd/
  • Benötigte Pakete (des Pakman Repositories http://ftp.skynet.be/pub/packman/suse/12.3/) installieren: zypper in kde4-kttsd kttsd mbrola mbrola mbrola-de6
  • KDE Sprachausgabe aktivieren: Start, Persönliche Einstellungen, Zugangshilfen, Sprachausgabe, Audio, Alsa aktivieren
  • Unter dem Tab Sprecher: hinzufügen, Sprache=Deutsch und Synthesizer=Hadifix
  • Der kttsd Sprachausgabe-Dienst kann (manuell) über kttsd, kttsmgr (siehe Kontrolleiste) gestartet werden
  • Ein Test auf der Komandoebene: echo "Hallo Testtext 123" | say
10.Javaplugin bei SUSE und Firefox wird nicht geladen
  • JAVA-JRE von http://java.sun.com/javase/downloads/index.jsp installieren
  • Fehlenden Link Link (zur installierten Variante) erzeugen:
    ln -s /usr/java/jre-10.0.1/lib/libnpjp2.so         /usr/lib64/browser-plugins/libnpjp2.so
    ln -s /usr/lib64/jvm/jre-1.8.0/lib/amd64/libnpt.so /usr/lib64/browser-plugins/egal.so
    
    Eventuell die Sicherheitseinstellungen mit jcontrol anpassen
11.Zeichensatzumschaltung für einzelne Applikation (oder generell)
  • Folgenden Eintrag in die ersten Zeilen eines Shellscriptes oder beim Programmaufruf "export LANG=de_DE.ISO-8859-1;Programmname usw"
    export LANG=de_DE.UTF-8
    
  • Language-Variable generell für user (auch root) setzen (in der ~/.profile oder bei Problemen in der ~/.config/plasma-locale-settings.sh)
    export LANG=de_DE.UTF-8
    
12.Nachträgliche Labelvergabe für Partitionen z.B. USB-Stick
  • Bei NTFS-Dateisystemen
    - ntfslabel /dev/DEV-Name "YOUR-LABEL"
  • Bei ext2/ext3/ext4 Dateisystemen
    - e2label /dev/XXX
  • Bei btrfs
    - btrfs filesystem label /dev/XXX
  • Bei reiserfs
    - reiserfstune -l
  • Bei jfs
    - jfs_tune -L
  • Bei xfs
    - xfs_admin -L
  • Bei fat/vfat (mit dosfstools)
    - fatlabel /dev/XXX
  • Bei exfat
    - exfatlabel /dev/XXX
  • Bei ntfs
    - ntfslabel /dev/XXX
  • Bei swap Partitionen
    - swaplabel -L
13.Schnelles umcodieren eines Transportstreams zu einem Programmstream z.B. von einer DBOX/Dreambox mit VLC
($1 steht für den übergebenen TS-Dateinamen)
  • replex macht den Programmstream DVD-konform
    vlc --sout file/ps://${1}.mpg ${1} vlc://quit
    replex -t DVD "${1}.mpg" > "${1}.mpeg"
    
14.Video-Thumbnails im Konqueror und Dolphin anzeigen (mit ffmpeg anstelle kde-mplayer-thumbnailer)
  • 3 Pakete installieren (zypper in kffmpegthumbnailer ffmpegthumbnailer libffmpegthumbnailer4)
  • Im Konqueror (Einstellungen, Konqueror einrichten, Dateiverwaltung, Allgemein, Vorschauen-Reiter, Video) Files mit kffmpegthumbnailer ein und Videodateien MPlayerThumbs aus
15.Google-Chrome bzw. Picasa über Softwareverwaltung installieren/updaten
  • Über yast2, Software, Repositories, URL, http://dl.google.com/linux/chrome/rpm/stable/i386 angeben
  • Pakete wie google-chrome stehen dann in stable, beta und unstable zur Verfügung
16.Slim Mobile USB DVB-T Empfänger einrichten (von Afatech oder Digittrade/Delock als Digittrade USB DVB-T/Delock USB 2.0 DVB-T Empfänger 61545 vertrieben)
  • Die Datei dvb-usb-af9015.fw nach /lib/firmware/ kopieren
  • Kaffeine starten, Fernsehen, Fernsehen einrichten, Gerät1 Afatech auf Automatischer Suchlauf
  • Fernsehen, Kanäle, Suchlauf starten und hinzufügen
  • Kaffeine legt (bei Bedarf) im Homeordner einen MPEG2-Transportstrem als TimeShift-2010-usw.m2t Datei an
  • Quelle: http://de.opensuse.org/HKL/TV-Karten
17.VirtualBox Laufwerke schrumpfen
  • Im Gastsystem alle nicht benötigten Dateien löschen und danach leere Bereiche überschreiben
  • cipher /w:c überschreibt unter Windows (nach erstem Durchlauf abbrechen) zunächst mit Nullen
  • cat /dev/zero > /tmp/deletemy oder dd status=progress if=/dev/zero of=/tmp/deletemy und rm /tmp/deletemy unter linux
  • Danach vboxmanage modifyvdi DeineVDI-Datei.vdi --compact (siehe: http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvm)
18.Zugriff auf Windows-Mobile Geräte (<Mobile7) über SynCE
  • Zunächst alle SynCE-Pakete der SuSE-Distribution löschen
  • Nun das SynCE-Repository der verwendeten SuSE-Distribution mit zypper ar --repo http://download.opensuse.org/repositories/system://SynCE/openSUSE_Factory/system:SynCE.repo hinzufügen
    - Die Versions-Angabe _12.3 gegebenenfalls anpassen
  • Für WM2003 Geräte eventuell benötigte Pakete installieren
    - zypper install synce-hal rra-tools libopensync-plugin-synce-legacy kcemirror kde3-kio_rapip kde4-kcemirror kde4-kio_rapip synce-trayicon synce-gnomevfs synce-gvfs gcemirror
  • Für WM2005 und neuere Geräte
    - http://download.opensuse.org/repositories/system://SynCE/openSUSE_Factory/synce-kde.ymp aufrufen und installieren
    - Die Versions-Angabe openSUSE_Factory gegebenenfalls anpassen
  • Zum Test:
    - Device anschließen, tail -f /var/log/messages sollte Deviceerkennung zeigen, ifconfig sollte ppp0 Adressen zeigen, synce:/ (alt rapip:/) sollte im Dolphin oder Konqueror das Dateisystem des Gerätes zeigen
  • Weiterführende Informationen siehe: http://synce.org/moin/SynceInstallation/OpenSuse#Download
19.Wechsel des Root-Dateisystems (z.B. von einer Rescue-CD auf das zu reparierende Festplattensystem)
  • Als root anmelden:
    - mount /dev/sda1 /mnt (oder andere bisher als / gemountete Partition)
    - mount -t proc none /mnt/proc
    - mount -o bind /mnt/dev
    - chroot /mnt
  • Nun können die Programme des Festplatten-Betriebssystems (z.B. grub[2]-install /dev/sda) verwendet werden
  • Mit exit geht es wieder in das Rescue-System zurück
  • Idee aus der CT-07.2011 Seite 178 (Linux zieht um)
20.SSH-Anmeldung ohne Passwort
  • Schlüsselpaar (id_rsa und id_rsa.pub) auf dem vertrauenswürdigen Client erzeugen
    ssh-keygen
  • Schlüssel id_rsa.pub(Client) -> /user/.ssh/authorized_keys(Server) kopieren
    ssh-copy-id  -i id_rsa.pub user@server-ip
    oder:
    scp ~/.ssh/id_rsa.pub user@server:/home/user/.ssh/authorized_keys
  • Oder fuer lokales Vertrauen (ssh localhost ohne Passwort)
    cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
21.feh - Fast and Lightweight Image Viewer unter aktuellem SuSE installieren
  • Feh ist ein genial-einfaches Programm um z.B. mit einem Rechtsklick Grafiken verlustfrei zu drehen (Rechtsclick, File, Edit in Place, Rotate ...)
  • Installation über http://software.opensuse.org/package/feh, Distribution wählen, 1 click Install
  • Paket imlib2-loaders manuell (in der Softwareverwaltung) hinzufügen
  • Oder Zunächst das X11-Utilities-Repository mit ...
    zypper ar --repo http://download.opensuse.org/repositories/X11:/Utilities/openSUSE_Leap_42.3/X11:Utilities.repo hinzufügen
    - Die Versions-Angabe _42.3 gegebenenfalls anpassen
  • Nun mit zypper (oder in der Softwareverwaltung) Paket feh installieren
    - zypper install feh imlib2-loaders
22.Opensuse-12.x mit SysV oder Systemd booten
  • In folgendem Dokument wird der Systemd mit dem SysVinit verglichen
    - http://images.linoxide.com/systemd-vs-sysVinit-cheatsheet.pdf
  • In der /boot/grub/menu.lst den Default Boot-Eintrag kopieren und dann (die kernel-Zeilen) durch gewünschte Startform ergänzen.
    - init=/sbin/sysvinit (Paket sysvinit-init-*.i586.rpm inst.)
    - init=/bin/systemd (Paket systemd-sysvinit-*.i586.rpm inst.)
    Unterschiede: systemd/sysvinit (sbin-Ordner)
    /sbin/*systemdsysvinit
    halt
    init
    poweroff
    reboot
    runlevel
    shutdown
    telinit
    -> /bin/systemctl
    -> /bin/systemd
    -> /bin/systemctl
    -> /bin/systemctl
    -> /bin/systemctl
    -> /bin/systemctl
    -> /bin/systemctl
    (BINARY)
    -> /sbin/sysvinit
    -> halt
    -> halt
    (BINARY)
    (BINARY)
    -> /sbin/sysvinit
    systemctl kann auch die Aufgaben von service, insserv und chkconfig übernehmen (service ist ein Script, systemctl ein Binary-File)
  • Startvarianten für einen Standalone-Dienst am Beispiel apache2:
    - systemctl restart apache2.service (bei systemd-Systemen)
    - service apache2 restart (SystemV-Wrapper-Script auf systemctl)
    - /etc/init.d/apache2 restart (SystemV-Standard)
    - rcapache2 restart (SuSE Verweis auf /etc/init.d/apache2)
    - httpd2 (Binärstart ohne Start/Stop-Script)
    - apache2ctl (Start/Stop-Script nur für den Webserver)
  • systemd-* Befehle
    - systemd-cgls (zeigt eine Baum-Prozessübersicht)
    - systemd-analyze blame (zeigt die Start/Endzeit der Boot-Prozesse)
    - systemd-analyze plot > /tmp/plot.svg ; firefox /tmp/plot.svg (zeigt die Start/Endzeit der Boot-Prozesse als SV-Grafik)
    Aus Paket systemd-ui:
    - systemadm (grafisches Frontend für systemd system und service-Manager)
  • Startvarianten für einen "NICHT" Standalone-Dienst
    inetd
    - in der /etc/inetd.conf Raute vor dem benötigten Dienste entfernen und inetd starten
    xinetd
    - in der /etc/xinetd.d/dienstname das "disable=yes" deaktivieren und xinetd starten
23.Init-Scripte in /etc/init.d/ mit insserv, chkconfig oder systemd verwalten
  • Einsatz von insserv, chkconfig oder systemctl
    Distribution Insserv chkconfig systemctl
    SuSE ja wrapper-Script ja
    Debian
    Ubuntu
    nein ja ja (opt)
    Sidux/Aptosid ja nein
    Fedora
    Mandriva
    PCLinuxOS
    nein ja ja
  • Aufruf von insserv, chkconfig oder systemctl
    Insserv chkconfig systemctl
    Dienst aktivieren insserv apache2 chkconfig --add apache2 systemctl enable apache2.service
    Dienst deaktivieren insserv -r apache2 chkconfig --del apache2 systemctl disable apache2.service
    Übersicht chkconfig --list [apache2] (auch xinetd-Dienste)
  • Angaben im Start/Stop-Script für z.B. den apache-Webserver
    z.B. Start in Runlevel 3 und 5 (S13apache2 und KS01apache2-Link anlegen)
    Insservchkconfig
    ### BEGIN INIT INFO
    # Provides:      apache apache2 httpd
    # Required-Start:$local_fs $remote_fs $network
    # Required-Stop: $local_fs $remote_fs $network
    # Default-Start: 3 5
    # Default-Stop:  0 1 2 6
    # Description:   Start the Apache HTTP daemon
    ### END INIT INFO
    
    # chconfig: 35  13 01
    # Description:Start the Apache HTTP daemon
    
24.PKI-Login mit GEM-Plus Kartenleser
  • Folgende Pakete installieren: (zypper install pcsc-gempc coolkey libchipcard6 openct opensc scmon)
    pcsc-gempc	Treiber für Gemplus Leser
    coolkey		PKCS11-Modul für SmartCards
    libchipcard6	Library für SmardCards
    openct		Library für SmardCards
    opensc		Library für SmardCards
    scmon		
    Gtkard		GUI4 PKCS11 (optional)
    
    /etc/init.d/pcscd start tail -f /var/log/messages 1. wird der USB-Reader erkannt? 2. kommt die "Card insert" Meldung? CardATR: Zeile? 3. Listet "opensc-tool -f" alle Dateien auf der Karte # (im Paket opensc sind folgende Dateien) /usr/bin/cardos-info /usr/bin/cryptoflex-tool /usr/bin/eidenv /usr/bin/netkey-tool /usr/bin/opensc-explorer /usr/bin/opensc-tool /usr/bin/piv-tool /usr/bin/pkcs11-tool /usr/bin/pkcs15-crypt /usr/bin/pkcs15-init /usr/bin/pkcs15-tool
    #-- siehe ---> /usr/share/doc/packages/opensc/QuickStart.html #-- Lesegeraete auflisten (min. 1) opensc-tool --list-readers #-- Karte vorhanden ? opensc-tool --reader 0 --atr #-- Namen der Karte (wenn unterstuetzt sonst Unidentified card) opensc-tool --reader 0 --name #-- Karte einsehen usw. opensc-explorer ls, cd 3600, ls, help pkcs15-tool --list-keys pkcs15-init --create-pkcs15
    Im Firefox: -PKCS11-Modul /usr/local/lib/libsiecap11.so installieren (sollte klappen) -Firmen-CAs anerkennen -Unter Eigene Zertifikate die eingelegte Karte wählen /usr/local/lib/ um Kartentreiber ergänzen /etc/ld-so.conf um /usr/local/lib erweitern und dann ldconfig siecapin -v mit PKI-Card und /c zum Pin ändern

    Oder (folgend) mit Kartenleser von Chipdrive SCR3500

    #----------------------------Fehlerbeseitigung # 1. Fehlermöglichkeit: In /usr/lib/systemd/system/pcscd.service steht leider ein --foreground # 2. oder in /usr/lib/systemd/system/pcscd.service stört das "-" in EnvironmentFile=-/etc/sysconfig/pcscd #---------------------------- rcpcscd stop pcscd -f -d #foreground, debug Das Paket coolkey installieren Im Firefox/Thunderbird das foilgende PKCS11-Modul laden /usr/lib64/pkcs11/opensc-pkcs11.so Ohne Karte ist nun unter dem Kryptographie-Modul-Manager Neues PKCS#11 Modul Virtual hotplug slot SCM Microsystems Inc. SCR 355 [CCID Interface] 00 00 zu sehen Bei eingelegter Karte ist nun unter dem Kryptographie-Modul-Manager Neues PKCS#11 Modul Virtual hotplug slot Firmen Corporate ID Card (PIN) zu sehen und rechts (wenn Firmen Corporate ID Card (PIN) angeklickt wird) - Status nicht eingeloggt - Beschreibung SCM Microsystems Inc. SCR 355 [CCID Interface] 00 00 - Hersteller OpenSC (www.opensc-project.org) - Etikett Firmen Corporate ID Card (PIN) - Hersteller Siemens AG (C)
25.Scriptgesteuertes anlegen von Useraccounts (mit Passwort)
  • useradd -m -p `openssl passwd -1 "abc123"` musteruser
    oder:
    echo -e "abc123\nabc123\n" | passwd musteruser
26.Exportieren und Importieren einer SQL-Datenbank (zur Bereinigung)
  • mysqldump --all-databases --user=root --password=GEHEIM > DatenDatei
  • /var/lib/mysql/ zurücksetzen (z.B. durch Löschen und Neuinstallation von mysql)
  • mysql --user=root --password=GEHEIM < DatenDatei
27.Client/Mail-Zertifikate in einer LDAP-Datenbank ablegen
  • #---------------1. Das CA-Zertifikat erstellen
    openssl genrsa -des3 -out ca.key 4096
    openssl rsa -noout -text -in ca.key
    openssl req -new -key ca.key -out ca.csr
    vi .vi.ext
    openssl x509 -days 3650 -extfile .ca.ext -signkey ca.key -in ca.csr -req -out ca.crt
    openssl x509 -noout -text -in ca.crt
    #---------------2. Ein Client-Zertifikat (E-Mail) erstellen
    openssl genrsa -out client.key 2048
    openssl rsa -noout -text -in client.key
    vi .user.ext
    openssl req -new -key client.key -out client.csr
    openssl x509 -days 730 -extfile .user.ext -CA ca.crt -CAkey ca.key -in client.csr -req -out client.crt
    openssl x509 -noout -text -in client.crt
    openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12
    #---------------3. Client-Zertifikat nach DER konvertieren (zum anhängen an eine LDIF-Datei)
    openssl x509 -in client.crt -out /tmp/ca/client.der -outform DER
    #---------------4. LDIF-Datei ohne Zertifikat lesen und mit Client-Zertifikat schreiben
    #                  Hier wäre wohl der Einsatz von ldapmodify besser ;-)
    ldapsearch -x -h 127.0.0.1 -b "ou=azubis,dc=firma,dc=de" "(uid=${NUSER}-${GRUPPENNAME})" -LLL > /tmp/client.ldif
    ldapdelete -x -D 'cn=Manager,dc=firma,dc=de' -w "GEHEIM" "uid=${NUSER}-${GRUPPENNAME},ou=azubis,dc=firma,dc=de"
    mv /tmp/client.ldif /tmp/client.ldif-
    grep "." /tmp/client.ldif- | sed  '/userCertificate;binary/,$d' > /tmp/client.ldif
    echo 'userCertificate;binary:< file:///tmp/ca/client.der' >> /tmp/client.ldif
    ldapadd  -x -w "GEHEIM" -D "cn=Manager,dc=firma,dc=de" -f /tmp/client.ldif
    
28.Google-Chrome als root starten (was man niemals machen sollte; unter Windows surft ja auch Niemand als Admin)
  • xhost +; su normalousername -c /opt/google/chrome/google-chrome %U
  • oder über:
    google-chrome --user-data-dir=/tmp/
29.IPV6 Quick and Dirty
  1. Software installieren:
    - zypper in aiccu radvd
  2. https://www.tunnelbroker.net/ aufrufen
    - Account anlegen
    - User Functions, Create Regular Tunnel, Europe, Berlin
    - Tunnel [1/5] auswählen, Example Configurations
    - Script für verwendetes BS ausführen:
    Linux-route2 (Beispiel)Linux-net-tools (Beispiel)
    modprobe ipv6
    ip tunnel add he-ipv6 mode sit remote 216.66.86.114 local 213.146.104.193 ttl 255
    ip link set he-ipv6 up
    ip addr add 2001:470:6c:7::2/64 dev he-ipv6
    ip route add ::/0 dev he-ipv6
    ip -f inet6 addr
    ifconfig sit0 up
    ifconfig sit0 inet6 tunnel ::216.66.86.114
    ifconfig sit1 up
    ifconfig sit1 inet6 add 2001:470:6c:7::2/64
    route -A inet6 add ::/0 dev sit1
    Test:
    - User Functions, IPv6 Portscan, 2001:470:6c:7::2 bei "Enter the IPv6 address to check" einfügen (skip internal ping) Submit
    - http://www.sixxs.net/tools/ipv6calc/
  3. Interner Test
    ping6 2001:470:6c:7::2
    
       Google-Test
        dig -t  aaaa [+short] ipv6.google.com	(2a00:1450:400c:c01::67)
        host  ipv6.google.com			(ipv6.l.google.com has IPv6 address 2a00:1450:400c:c01::67)
        [2a00:1450:400c:c01::67] im Browser testen
        traceroute6 2a00:1450:400c:c01::67
        tracepath6 2a00:1450:400c:c01::67
    
       Heise-Test
        dig -t  aaaa [+short] heise.de		(2a02:2e0:3fe:100::8)
        host heise.de				(heise.de has IPv6 address 2a02:2e0:3fe:100::8)
        [2a02:2e0:3fe:100::8] im Browser testen
        traceroute6 2a02:2e0:3fe:100::8
        tracepath6 2a02:2e0:3fe:100::8
  4. Externer Test (IP Info, Portscan, Traceroute, Ping, DNS Lookup, DNS Trace, Whois, Antivirus)
    - http://ipv6.wcclan.net/, http://www.subnetonline.com
30.Installation und Konfiguration eines WIKI-Servers
  • Installation eines WIKI-Servers
    - Eine Installationsanleitung findet man unter http://www.mediawiki.org/wiki/Download
    - Die PHP-Programme können von http://www.mediawiki.org/wiki/MediaWiki herunterladen werden
      z.B. Die Datei http://download.wikimedia.org/mediawiki/1.18/mediawiki-1.18.1.tar.gz
    - Die gz-Datei im (gewünschten) Webspace-Ordner auspacken z.B. /srv/www/htdocs/wiki/
    - Die Grundkunfiguration erfolgt nun im Browser über http://localhost/wiki/
      Als Datenbanktyp kann MySQL oder (ohne Datenbankserver) SQLite ausgewählt werden
      Als SQLite-Datenverzeichnis wird dann /srv/www/data vorgeschlagen und als Datenbankname:my_wiki vorgeschlagen.
      Nun den Namen des Wikis:MeMue-Wiki festlegen
      Das Administratorkonto festlegen (Name:wikiadmin, Passwort:wikipasswort, E-Mail-Adresse:root@localhost)
      und das Profil der Benutzerberechtigungen auswählen (offen, Konto erforderlich, nur berechtigte Bearbeiter, geschlossenes Wiki)
      Noch die E-Mail-Adresse für Antworten (webmaster@localhost) und die URL des Logos (/wiki/skins/common/images/wiki.png) festlegen
    - Zum Schluß wird die angebotene LocalSettings.php im Webordner abgelegt (z.B. nach /srv/www/htdocs/wiki/)
    - Siehe auch: http://www.mediawiki.org/wiki/Manual:FAQ
  • Laden der Datenbank-Daten
    - Aktuellen XML-Dump der Wikipedia Artikel http://download.wikimedia.org/dewiki/latest/dewiki-latest-pages-articles.xml.bz2 laden
      wget -c http://download.wikimedia.org/dewiki/latest/dewiki-latest-pages-articles.xml.bz2
  • Füllen der Datenbank (über /srv/www/htdocs/wiki/maintenance/importDump.php Script)
    - Infos siehe: http://meta.wikimedia.org/wiki/Data_dumps#importDump.php
      bunzip2 -c dewiki-latest-pages-articles.xml.bz2 | php /srv/www/htdocs/wiki/maintenance/maintenance/importDump.php
      oder: bzcat dewiki-latest-pages-articles.xml.bz2 | php importDump.php
    - oder im Hintergrund mit:
      ( nohup /usr/bin/bunzip2 -c dewiki-latest-pages-articles.xml.bz2 | php /srv/www/htdocs/w/maintenance/importDump.php ) 2> /dev/null &
    - HINWEIS: Das Importieren (größerer Datenmengen) kann Monate dauern .... ;-)
  • Bei Verwendung einer MySQL Datenbank
    - "mysqladmin -u root password geheim" zur Passwortvergabe
    - In der Datei LocalSettings.php stehen dann die DB-Informationen
      $wgDBadminpassword = $wgDBpassword;
      $wgDBadminuser = $wgDBuser;
    - "java -jar mwdumper.jar --format=sql:1.5 dewiki-latest-pages-articles.xml.bz2 | mysql -u <user> -p wikidb" zum Füllen der DB
  • Optional konnte die Datenbank noch mit mehreren GByte Bildern (dumps.wikimedia.org) gefüllt werden.
    Dazu mßten diverse php-Pakete installiert werden (z.B. php*-gettext)
    - Die Bilder aus /srv/www/htdocs/wiki/images/ konnten über php maintenance/rebuildImages.php --missing in die DB eingetragen werden
31.Shell-Befehl auf Verzeichnislisting anwenden
ls            "*.ext" | xargs -n1         Befehl Optionen
find ./ -name "*.ext" | xargs -n1 -i      Befehl Optionen {} \;
find /home/Musik/ -name "*.mp3" -exec lame  {} \;
# Folgende Zeilen werden automatisch "quotiert"
find ./ -name *.ext -exec               Befehl Optionen {} \;
find ./ -name *.ext -exec               cp {} /media/usbstick/ \;
find ./ -name *.ext -exec [-maxdepth 1] Befehl Optionen {} \;
siehe auch http://mywiki.wooledge.org/BashPitfalls#pf1
for file in ./*.ext; do
    Befehl Optionen "$file"
done
32.Android-SDK bzw. den AVD-Manager mit USB-Vendor-IDs für zahlreiche Handy-Hersteller versorgen
(/etc/udev/rules.d/51-android.rules)
  • Folgende /etc/udev/rules.d/51-android.rules deckt zahlreiche Gerätehersteller ab
    SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev"
33.den AVD-Manager mit Tastatur-Hotkeys verwenden (z.B. Strg+F12 zum Bildschirm drehen)
  • verfügbare Tastenkombinationen planet.ubuntuusers.de, developer.android.com
  • Im AVD-Manager Tastaturunterstützung einschalten
    - AVD-Manager starten (/opt/android-sdk-linux/tools/android)
    - Tools, Manage AVDs...
    - New, Name=Android-4.1, Target=Android 4.1...
      New, Property:keyboard support=yes
  • Hotkey der KDE-Oberfläche ändern
    - Start, Systemeinstellungen, Kurzbefehle und Gestensteuerung
    - Globale Kurzbefehle, KDE-Komponente: Plasma-Desktop-Umgebung
      Dashbord anzeigen von Strg+F12 auf Strg+Umschalt+F12 ändern, Anwenden
34.Multipath-Anbindung fuer einen Squid-Proxy (3Mbit-DSL und 4Mbit-Standleitung)
  • Folgendes Start-Script "/etc/init.d/mm-multipath" führt ein Loadbalancing durch
    - Das Device dsl0 mit der IP=213.146.104.193/32 ist der DSL-Router (DSL-Modem ist direkt an eth1 angeschlossen)
    - eth0 mit der IP=172.16.1.3 ist der interne Netzanschluß im 172.16.1.0/24 Netz (hier läuft der SQUID-Proxy)
    - eth2 mit der IP=10.0.1.200 ist der interne Netzanschluß im 10.0.1.0/24 Netz (hier ist die Standleitung hinter dem GW=10.0.1.100)
      Basiert auf dem Artikel "DSL-Load-Balancing" aus der CT-18/2007 Seite 134;136
    #!/bin/bash
    #
    # /etc/init.d/mm-multipath
    #
    # Copyright (c) 2012 MeMue, Germany.  All rights reserved.
    ### BEGIN INIT INFO
    # Provides: mm-multipath
    # Required-Start: $local_fs $remote_fs $network
    # X-UnitedLinux-Should-Start: $network
    # Required-Stop:
    # X-UnitedLinux-Should-Stop: $network
    # Default-Start:  3 5
    # Default-Stop: 0 1 2 6  
    # Description: Multipath-Anbindung fuer einen Squid-Proxy
    ### END INIT INFO
    
    echo "1" > /proc/sys/net/ipv4/ip_forward
    ip route del default
    
    #Folgezeilen bitte einmalig in /etc/iproute2/rt_tables eintragen
    #100 T1
    #101 T2
    
    #For the T1 table:
    ip route add 213.146.104.193/32 dev dsl0 src 213.146.104.193 table T1
    ip route add default via 213.146.104.193 table T1
    
    #For the T2 table:
    ip route add 10.0.1.0/24 dev eth2 src 10.0.1.200 table T2
    ip route add default via 10.0.1.100 table T2
    
    #Routen zu den beiden DSL-Routern
    ip route add 213.146.104.193/32 dev dsl0 src 213.146.104.193
    ip route add 10.0.1.0/24 dev eth2 src 10.0.1.200
    
    #lokale Routen
    ip route add 172.16.1.0/24 dev eth0 table T1
    ip route add 10.0.1.0/24 dev eth2 table T1
    ip route add 127.0.0.0/8 dev lo table T1
    ip route add 172.16.1.0/24 dev eth0 table T2
    ip route add 213.146.104.193/32 dev dsl0 table T2
    ip route add 127.0.0.0/8 dev lo table T2
    
    #beide Router an Tabelle binden
    ip rule add from 213.146.104.193 table T1
    ip rule add from 10.0.1.200 table T2
    
    #Gewichtung (bei Änderungen zuvor --> ip route del default)
    ip route add default scope global nexthop via 213.146.104.193 dev dsl0 weight 2 nexthop via 10.0.1.100 dev eth2 weight 2
35. Passwortschutz für den GRUB2
  • Am Ende der Datei /etc/grub.d/40_custom einen Grubsuperuser (und optional einen normalen Grubuser) einrichten
    set superusers="supermann"
    password supermann geheim
    #---------stäter machen wir folgendes daraus
    password_pbkdf2 supermann grub.pbkdf2.sha512.10000.9CA4611006FE96BC77A...
    ODER: in der /etc/grub.d/00_header
    cat <<EOF
    # superusers dürfen editieren und die Kommandozeile verwenden
    set superusers="superman"
    # Passwort des Benutzers superman (zunächst in Klartext)
    password superman geheim
    # Einrichten eines normalen Benutzers
    password bill bills-passwort
    #---------stäter machen wir folgendes daraus
    password_pbkdf2 supermann grub.pbkdf2.sha512.10000.9CA4611006FE96BC77A...
    EOF
  • In der Datei /etc/grub.d/40_custom kann (optional) ein Bootmenüentrag hinzugefügt werden
    Der Eintrag kann mit --unrestricted ohne PW gebootet und mit PW editiert werden
    Eintrag unbedingt in 'single Quote'
    (hd0,1) ist die 1. Festplatte (0, ) und die 1. Partition ( ,1)
    Yust4Info: Mit exec tail -n +3 $0 können 3 Kommentarzeilen übersprungen werden
    #!/bin/sh
    menuentry 'Mein optionales Linuxboot' --unrestricted {
    set root='(hd0,1)'
    linux /boot/vmlinuz root=/dev/sda1 ro
    initrd /boot/initrd
    }
    menuentry 'Windows' {
    set root='(hd0,2)'
    chainloader (hd0,2)+1
  • Nun die Passwort Prüfsumme erzeugen (als Ersatz für das Klartextpasswort)
    grub2-mkpasswd-pbkdf2
    Die Prüfsumme inklusive grub.pbkdf2.sha512. in die Zwischenablage kopieren
    Mit der Passwort Prüfsumme das Klartext Passwort in 40_custom bzw. der 00_header überschreiben
    Achtung: Die Zeile beginnt nun mit password_pbkdf2 (nicht mit password)
  • Nun noch die Datei /boot/grub2/grub.cfg erzeugen lassen
    grub2-mkconfig -o /boot/grub2/grub.cfg
  • Vorhandene menuentry-Zeilen (/boot/grub2/grub.cfg) ohne PW-Abrage um --unrestricted "erweitern"
    Shellscript /etc/grub.d/10_linux bearbeiten:
    echo "menuentry '$(echo "$title" | grub_quote)' --unrestricted ${CLASS} ......
    ODER:
    CLASS="--class gnu-linux --class gnu --class os --unrestricted"
    Führt beides (nach grub2-mkconfig -o /boot/grub2/grub.cfg) zu folgender /boot/grub2/grub.cfg Datei:
    menuentry 'openSUSE' --class opensuse --class gnu-linux --class gnu --class os ........ --unrestricted { ...
    menuentry 'openSUSE, mit Linux 3.4.11-2.16-desktop (Wiederherstellungsmodus)' ......... --unrestricted { ...
  • Verweise:
    - http://www.redmonds.cc/23060_probe.pdf
    - https://help.ubuntu.com/community/Grub2/Passwords
    - http://ubuntuforums.org/showthread.php?t=1369019
36.Einen Standard-Kernel von einer Installations-DVD booten (z.B. bei defekter /boot Konfiguration)
  • SuSE-Installations-DVD booten (und optionale Einstellungen vornehmen)
    - F2 Language = Deutsch
    - F5 Kernel = Standard
    - F7 Architektur = x86 oder 64Bit
  • Die Installation (zunächst) starten
  • Im nächsten Menü (nach Laden des Standard-Kernels) "abbrechen" wählen
    - Die Meldung "Während der Installation ist ein Fehler aufgetreten" mit "ok" bestätigen
  • Im folgenden Textmenü (erneut) "Installation starten" auswählen
    Wonach endlich der ersehnte Menüpunkt "Installatiertes System starten" auftaucht
  • Nun kann die Root-Partition ausgewählt werden
    Optional kann nach textuellem Login mit startx in den Grafikmodus gewechselt werden
  • Das System kann nun mit "yast2 sw_single" auf den default-Kernel geändert und dieser mit grub-install aktiviert werden

    Alternativ

  • Irgendein Live-System booten
  • Die gewünschte ROOT-Partition mounten
    z.B. mount /dev/sda2 /mnt
  • Root-Ordner-Struktur wechseln
    chroot /mnt
  • Proc Struktur aktualisieren
    mount -t proc /proc proc
  • Das System kann nun mit yast, grub-install usw. repariert werden
  • Ab SUSE-42.2 kann einfach(er) der Kernel von der DVD gestartet werden und weiter vom inst. System
37.Bildbetrachter Kuickshow installieren
  • Repository hinzufügen:
    - zypper ar --repo http://download.opensuse.org/repositories/home:/mad_soft/openSUSE_Leap_42.2/home:mad_soft.repo
  • Paket installieren:
    - zypper in kuickshow
  • Oder man nutzt unter http://software.opensuse.org/package/kuickshow die SuSE Paketesuche mit "1 Click Install"
  • Bleibt das Bild schwarz, sollte kuickshow mit "XLIB_SKIP_ARGB_VISUALS=1 kuickshow Bilddatei.ext" gestartet werden
  • Eine Alternative kann auch das programm "showimage --fullscreen" sein (software.opensuse.org)
38.Filesystem Größenänderung (Resize)
  • fdisk /dev/sdc (Achtung: Beispiel nur mit 2 Partitionen 1=Daten,2=Swap verwenden oder anpassen)
    zweite Partition löschen (d; 2)
    erste Partition löschen (d)
    erste Partition (erneut) in gewünschter Größe anlegen z.B. HD-Size - Swap (n; p; RET; RET; +450G)
    erste Partition (erneut) aktiv-bootbar schalten (a; 1)
    zweite Partition (erneut) als Swap anlegen (n; RET; RET; RET; RET)
    zweite Partition (erneut) auf Typ z.B. 82=Swap ändern (t; 2; 82)
    mit (p) noch mal anzeigen lassen und mit (w) schreiben
    partprobe läd die Partitiontable neu
    e2fsck -f /dev/sdc1 (Filesystemcheck)
    resize2fs /dev/sdc1 (Größenänderung)
    siehe: http://wiki.ubuntuusers.de/Dateisystemgr%C3%B6%C3%9Fe_%C3%A4ndern
  • Eine gemountete BTRFS-Partition (z.B. /dev/sda1) kann (im Betrieb) um eine leere Partition (z.B /dev/sda3) erweitert werden.
    - btrfs device add /dev/sda3 /
    - btrfs device add /dev/sda3 /mnt (wenn /dev/sda1 nach /mnt gemountet ist)
    Dieses Dateisystem lief (bei mir) sehr unzuverlässig und deshalb meide ich diese Variante (auf Produktivsystemen)
  • Eine nicht gemounte BTRFS-Partition /dev/sda1 kann (z.B. auf 500GB) vergrößert werden.
    - ACHTUNG: Das Folgebeispiel darf nur auf Festplatten mit einer Datenpartition (/dev/sda1) gefolgt von einer (20GB) Swap-Partition (/dev/sda2) verwendet werden
    parted /dev/sda rm 2                                  #ACHTUNG: war /dev/sda2 doch eine Datenpartition, ist diese nun zerstört!
    parted /dev/sda resize 1 500GB                        #die 1. Partition wird nun auf 500GB vergrößert
    parted /dev/sda mkpart primary linux-swap 500GB 520GB #nun wird die Swap-Partition erneut (hinter sda1) angelegt
    mkswap /dev/sda2                                      #in der Partition sda2 wird erneut ein Swap-Bereich erzeugt
    mount /dev/sda1 /mnt                                  #zunächst sda1 in alter Größe mounten
    btrfs filesystem resize max /mnt                      #sda1 auf die Partitionsgröße 500GB ausdehnen
39.Spielereien mit dem find-Kommando
    #--------------------------------------------Dateinamen
    #------in beiden Verz.Bäumen alle PDFs suchen
    find /srv/www/ /srv/ftp/ -name "*.pdf"
    find /srv/www/ /srv/ftp/ -iname "*.PdF"
    
    #------"nur" in beiden Verz. alle PDFs
    find /srv/www/ /srv/ftp/ -maxdepth 1 -name "*.pdf"
    find /srv/www/ -name "*.pdf" -exec okular {} \;
    find /srv/www/ -name "*.pdf" -ok   okular {} \;
    
    #------im "eigenem" Dateisystem Suchpfad (ohne proc und sys) alle PDFs suchen
    find / -xdef -name "*.pdf"
    find / -mount -name "*.pdf"				# mount ODER xdef
    
    find ~ -name '*jpg' -or -name '*jpeg'			# ODER Verknüpfung
    find ~ -name 'index*' -and -name '*html' -and -type f	# Files
    find ~ -name '.mozill*' -and -type d			# Directory
    find ~ -type l						# Linkdatei
    
    #--------------------------------------------Modifikation-Minutenangaben
    #------alle in nen letzten 60Min veränderten
    find ~ -mmin -60
    
    #------alle vor genau 60Min veränderten
    find ~ mmin 60
    
    #------alle vor 60Min veränderten
    find ~ -mmin +60
    
    #------alle im Bereich 1-24h veränderten
    find ~ -mmin +60 -mmin -1440
    
    #--------------------------------------------Modifikation-Tageangaben
    #------alle im Bereich 7 Tage zurück veränderten
    find ~ -mtime +6 -mtime -8
    find ~ -mtime 7
    find ~ -daystart -mtime 7			#Tagesgrenze 24:00-0:00 verwenden
    
    #--------------------------------------------Größenangaben
    find ~ -size -5M				#kleiner 5M
    find ~ -size  5M				#im Bereich von 5M
    find ~ -size +5M				#größer 5M
    
    #--------------------------------------------Zusatzangaben
    ... -ls                 			#listet
    ... -ls | sort -n -k 7  			#listet sortiert nach Größe
    ... -print              			#druckt
    ... -fprint datei       			#druckt in Datei (z.B. für tar oder rsync --files-from=datei)
    ... -delete             			#löscht
    
    #--------------------------------------------Befehlsausführung
    ... -print0 2>/dev/null | xargs -0 ls -l	#mit xargs
    ... -exec ls -l  {} \;				#ohne xargs
    
    ... -exec okular {} \;				#ohne Abfrage okular starten
    ... -ok   okular {} \;  			#wie exec, aber mit Einzel-Abfrage
    ... -ok   okular {} \+  			#wie exec, aber mit einer Abfrage
    
    ... -exec ls -l  {} \+
    ... -print0 2>/dev/null | xargs -0 ls -l
    
    #--------------------------------------------Dateirechte z.B. User-SBit
    find / -perm  u=s -exec ls -l  {} \;		#exakt
    find / -perm -u=s -exec ls -l  {} \;		#alle Rechtebits
    find / -perm /u=s -exec ls -l  {} \;		#einige Rechtebits
    find / -perm 2755 -exec ls -l  {} \;
    
    #--------------------------------------------Alternativen
    fdupes --r[ecurse] /srv/			#sucht Dateien mit identischem Inhalt (Prüfsumme)
    fdupes --r[ecurse] --d[elete]			#sucht fragt und löscht (ACHTUNG: preserve==erhalten)
    
    #---------------------------------------------Suche im /tmp/ Ordner nach Dateien im Okt. 2023 und listen mit "ls".
    find /tmp/ -name *.webp -type f -newermt 2023-10-01 ! -newermt 2023-10-31 -exec ls {} \;
    
    #Wenn Sie den Befehl "ls" durch "rm" austauschen, werden die Dateien (ohne Nachfrage) gelöscht.
    find /tmp/ -name *.webp -type f -newermt 2023-10-01 ! -newermt 2023-10-31 -exec rm {} \;
    
    #vor dem Löschen, würde folgende Zeile (zunächst nur) die rm-Befehle "nur"anzeigen
    find /tmp/ -name *.webp -type f -newermt 2023-10-01 ! -newermt 2023-10-31 -exec "rm $1" {} \;
    
40.Android Handy/Tablet MTP-Dateisysteme mounten
  • jmtpfs/go-mtpfs ermöglichen einen Zugriff auf MTP (Media Transfer Protocol) Geräte. Sie wurden entwickelt um von Linux Systemen aus auf neuere Android Geräte mit MTP-Unterstützung ohne Massenspeicher-Modus zugreifen zu können. Für einen alternativen Zugriff über WLAN kann das Programm AirdDroid verwendet werden.
  • Unter der Adresse http://software.opensuse.org/package/jmtpfs?search_term=jmtpfs die SuSE-Distribution wählen und mit "1 Click Install" das Paket "jmtpfs" installieren.
    Oder unter der Adresse http://software.opensuse.org/package/go-mtpfs?search_term=go-mtpfs das Paket "go-mtpfs" installieren.
    Der mount-Befehl lautet einfach "jmtpfs /mnt/" bzw. "go-mtpfs /mnt/"
    Mit "fusermount -u /mnt/" sollte das Dateisystem nach dem letzten Schreibvorgang ausgehängt werden.
41.HDD-Tools zum Datentransfer und Festplattenfehler anzeigen
  • Datentransfer anzeigen:
    iostat -d  Intervall  Count (z.B. iostat -d  1  100)
    SMART-Fehler anzeigen:
    smartctl -a /dev/sda
    
42.Zugriff auf Systemmeldungen der ehemaligen /var/log/messages auf systemd-Systemen
    #---- Anzeige aller Logdaten (wie ehemals über "vi /var/log/messages")
    journalctl
    journalctl --since=2020-12-01

    #---- Anzeige aktueller Meldungen (wie ehemals über "tail -f /var/log/messages")
    journalctl -f

    #---- Konfiguration
    vi /etc/systemd/journald.conf
    siehe: http://www.freedesktop.org/software/systemd/man/journald.conf.html
    Zur Größen/Zeit-Beschränkung kann in der Datei /etc/systemd/journald.conf der Wert
    "SystemMaxUse" resp. "RuntimeMaxUse", "MaxFileSec=1day" auf den gewünschten Wert gesetzt werden.

    #---- Anzeigen/Ändern des durch systemd-journalct belegten Plattenspeichers
    journalctl --disk-usage
    oder
    du -h /var/log/journal/
    #---- Logs (älter als 1Tag) löschen
    journalctl  --vacuum-time=1day

    #---- Anzeige aller kernel logs seit dem letzten Bootvorgang
    journalctl -k -b -1
43.Aktuelles PepperFlash-Plugin für Firefox installieren
    Zunächst über das Packman Repository (http://ftp.gwdg.de/pub/linux/packman/suse/openSUSE_Leap_15.0/) folgende Pakete installieren
    1. freshplayerplugin - PPAPI-host NPAPI-plugin adapter
      Über die Datei /usr/lib64/browser-plugins/libfreshwrapper-pepperflash.so läd der Firefox das PepperFlash-Plugin.
      Die Date /etc/freshwrapper.conf verweist auf /usr/lib64/browser-plugins/libfreshwrapper-pepperflash.so aus folgendem Paket ...
      PS: Flash-Probleme durch VDPAU-Hardware-Video-Beschleunigung, können in der Datei /etc/freshwrapper.conf mit "enable_vdpau = 0" beseitigt werden.
    2. chromium-pepper-flash - Chromium Flash player plugin
      Mit der Flash-Player Datei /usr/lib64/chromium/PepperFlash/libpepflashplayer.so
    3. Optional:
      Über das google-chrome Repository (http://dl.google.com/linux/chrome/rpm/stable/x86_64) eines der 3 Pakete google-chrome-stable|beta|unstable installieren.

      Ehemals konnte über einen Link der Firefox an das Flash im Ordner /opt/google/chrome-beta/PepperFlash/ gebunden werden
      rm -r /usr/lib64/chromium/PepperFlash
      #-------und je nach installierter chrome-Version (nur) einer der folgenden Links
      ln -s /opt/google/chrome/pf/ /usr/lib64/chromium/PepperFlash
      ln -s /opt/google/chrome-beta/PepperFlash/ /usr/lib64/chromium/PepperFlash
      ln -s /opt/google/chrome-unstable/PepperFlash/ /usr/lib64/chromium/PepperFlash
      
      Damit ein Update vom Paket chromium-pepper-flash das Plugin nicht durcheinander brachte, wurde das Update (für dieses eine Paket) abgeschaltet.

      Das Flash-Plugin wird nun nur noch "bei Bedarf" installiert.
      - In der Adr.Leiste chrome://components eintippen und Flash aktualisieren/einschalten
      - Site mit Flash-Inhalt aufrufen http://www.adobe.com/software/flash/about/ und Flash wird installiert
      - Der Google-Chrome speichert das Fash (libpepflashplayer.so) nun im User-Verzeichnis ~/.config/google-chrome/PepperFlash/*/ (*=Versionsnummer).
      - Eine Verlinkung ist aufgrund der Versionsnummer im Pfad nicht mehr möglich, so dass ein Kopieren der Dateien aus ~/.config/google-chrome/PepperFlash/*/ nach /usr/lib64/chromium/PepperFlash/ erforderlich ist.
    Das Testen der Version ist über die Adobe-Website http://www.adobe.com/software/flash/about/ möglich
    Unter "Version Information" sollte nun die gleiche Versionsnummer wie in der Zeile "Linux Chrome (embedded), Chromium-based browsers - PPAPI" stehen.
44.Grub/Rescue-Root-Login
  • GRUB
    GRUB-Boot-Vorgang mit Any-Key anhalten
    Taste "e" für Editieren eines Booteintrags anwählen
    Die Zeile "linux /boot/vmlinuz....." um "init=/bin/bash" ergänzen
    Strg+X setzt den Bootvorgang weiter fort
    Falls erforderlich, bindet "mount -o remount,rw /" das Dateisystem schreibbar ein
    Mit "passwd USERNAME" können nun Passwörter (Achtung engl. Tastaturbelegung) geändert werden
  • RESCUE
    Rescue System booten
    mount /dev/sda1 /mnt (wenn sda1=Root-Filesystem)
    chroot /mnt
    passwd
    reboot
45.Public-Key-Authentifizierung konfigurieren
  • Auf dem Server überträgt folgender Befehl den Public-Key (~/.ssh/id_rsa.pub) zum Client (~/.ssh/authorized_keys)
    ssh-copy-id -i ~/.ssh/id_rsa.pub CLIENT_IP_ADRESS
    In der /etc/ssh/sshd_config kann dann mit "UsePAM no" und "PasswordAuthentication no" eine Passwortanmeldung unterbunden werden.
46.Screencapturing mit interner Audioaufzeichnung (anstelle Mikroeingang)
    siehe auch: https://itsfoss.com/best-linux-screen-recorders/

  1. Kazam
  2. OBS Studio (Open Broadcaster Software Studio)
  3. Der SimpleScreenRecorder https://software.opensuse.org/package/simplescreenrecorder
    - Ein "exemplarischer" Ablauf (nach Programmstart)
    - weiter
    - VideoEingang=Ein festes Rechteck aufnehmen, Fenster wählen
    - Audio aufnehmen=PulseAudio, Monitur of HW121N-USB
    - weiter
    - speichern als (Zieldatei auswählen)
    - weiter
    - Aufnahme starten
    - Aufnahme speichern
  4. recordMyDesktop
  5. VokoScreen
  6. ScreenStudio
  7. Green Recorder
  8. Peek
  9. Gifine
  10. XVidCap
    Für XVidCap benötigte Programme installieren:
    - XVidCap ist ein Programm, um von Bildschirmbereichen einen Film anzulegen
    - pulseaudio-utils mit dem Programm padsp erlaubt einen Zugriff auf das Device /dev/dsp
    - pavucontrol PulseAudio-Volume-Control erlaubt die Audioausgabe intern an den Aufnahmekanal weiterzugeben
    - xdotool (optional) Emuliert Maus/Tastaturaktivität z.B. um einen Bildschirmschoner zu deaktivieren

    Vorgehensweise:
      padsp xvidcap # started das Capturing-Programm mit Zugriff auf /dev/dsp (zur Audioaufzeichnung)
      pavucontrol   # erlaubt (nach Aufnahmestart) unter dem Reiter Aufnahme die APP
                    # OSS-Emulator[xvidcap] auf Monitor_of_intern_Audio_Analog_Stereo zu schalten
                    # Die Aufnahmedatei ist ~/test-0000.mpeg
      xdotool       # Bewegt (mit folgendem Script) alle 10s die Maus um einen Pixel
    #!/bin/bash
    
    for (( ; ; ))
    do
        sleep 10
        xdotool mousemove_relative -- 1 1
        sleep 10
        xdotool mousemove_relative -- -1 -1
    done
47.Änderungen im Verzeichnisbaum erkennen
  • Dateieigenschaften (vor eine Aktion) in der Datei 1 abspeichern
    find /verzeichnis -ls > 1
    Zu beobachtende Programmaktivität durchführen
    Dateieigenschaften (nach einer Aktion) in die Datei 2 abspeichern
    find /verzeichnis -ls > 2
    Unterschiede mit dem Programm meld (oder vergleichbares) anzeigen
    meld 1 2
48.Sperrbildschirm über Konsole entsperren
  • Vom gesperrten Bilschirm mit Strg+Alt+F1 auf eine Konsole wechseln und als root anmelden
    loginctl unlock-session
    Mit exit Konsole verlassen und mit Strg+Alt+F7 wieder zurück zum entsperrten Bildschirm
49.grafische KDE-Anwendung unter anderer Kennung ausführen
  • z.B. Das Programm thunderbird soll unter den Userrechten von willi gestartet werden
    kdesu -c thunderbird -u willi
50.Filesystemcheck einer LUKS-verschlüsselten Partition
  • Filesystemcheck bei einer nicht gemounteten LUKS Partition (z.B. sdb3)
    # optional kann eine Datensicherung nach /tmp/backup_sdb3.img geschrieben werden
    dd status=progress if=/dev/sdb3 of=/tmp/backup_sdb3.img bs=4096 conv=notrunc,noerror
    
    # Nun das LUKS-Device (mit Passwort) öffnen und temporär (/dev/mapper/egal) zuordnen
    cryptsetup luksOpen /dev/sdb3 egal
    
    # fdisk -l zeigt nun ... Festplatte /dev/mapper/egal: X GiB, Y Bytes, Z Sektoren
    fdisk -l
    
    # Nun kann repariert werden
    e2fsck -v /dev/mapper/egal
    # oder (bei bekanntem Dateisystem)
    fsck.DATEISYSTEM /dev/mapper/egal
    
    # Schliessen der Partition über ...
    cryptsetup luksClose egal
    
    LUKS Passphrase verwalten: https://blog.doenselmann.com/luks-passphrase-aendern/
51.Sprachausgabe mit speetch-dispatcher über jovie geht nicht
  • speech-dispatcher-configure (zus. zu jovie, espeak, speech-dispatcher) installieren
    /usr/bin/spd-conf aufrufen
    - Die ersten Vorgaben zunächst bestätigen (Landeskürzel opt. von en auf de ändern)
    - Bei der Frage "Default audio output method [pulse]" die Vorgabe auf alsa ändern
    - In der Folge sollte der speech-dispatcher erfolgreich starten
    
    Ein manueller Startversuch des "speech-dispatcher" sollte folgende Meldung zeigen
    "Speech Dispatcher already running"
    und in der jovie-Konfiguration ist nun eine Sprecherkonfiguration möglich
52.Docker Proxy-Konfiguration
  • In der /etc/sysconfig/docker die Proxy-Variablen angeben:
     HTTP_PROXY=http://:
     http_proxy=http://:
     HTTPS_PROXY=http://:
     https_proxy=http://:
     export HTTP_PROXY HTTPS_PROXY http_proxy https_proxy
    
    Den Docker-Dienst neu starten:
     systemctl daemon-reload
     systemctl restart docker.service
    
    Test:
    docker search coreos
    
53.MTS-Videos nach MP4 neucodieren
  • MTS-Videos nach MP4 neucodieren:
    ffmpeg -i VideoDateiName.MTS -c:v libx264 -crf 23 -maxrate 1M -bufsize 2M AusgabeDatei.mp4
    
54.Alte Befehle im Paket "net-tools-deprecated"
  • In dem Paket "net-tools-deprecated" stehen die "alten" Befehle arp, ifconfig, netstat, ipmaddr, iptunnel und route zur Verfügung.
    bisher					NEU
    -------------------------------------------------------------------------
    arp					ip [-r] neigh 				# ARP-Tabelle (auch IP-V6)
    		fping -g NetzIP/MASK				# IP-V4 Broadcast-Ping (mit fping)
    		ping6 -c 5 -I eth0 ff02::1			# IP-V6 Multicast-Ping
    
    ifconfig [-a]				ip a[ddress] / ip l[ink]		# Übersicht
    fconfig eth0 IP netmask MASK [up]	ip addr set IP/MASK dev eth0		# manuelle IP-Adresse einstellen
    		    ip link set ethx up			# aktivieren
    ifconfig eth0 hw [class] MAC ip		link set dev eth0 addr[ess] MAC		# ändert die Hardware (MAC) Adresse
    ifconfig -s 				ip [-o[nline]] -s[statistik l[ink]	# zeigt eine Interface Statistik
    ifconfig eth0 up			ip l[ink] set eth0 up			# oder aus mit down
    ifconfig eth0:1 IP/MASK			ip addr add IP/MASK eth0 label eth0:1	# 2. IP-Adresse zuordnen (Alias)
    		    ip addr add IP/MASK broadcast IP.255 dev eth0 # oder hinzufügen
    		    ip addr del IP dev eth0			# oder löschen (auch change u. replace)
    
    ipmaddr					ip maddr
    iptunnel				ip tunnel
    
    netstat -a[n]tup			ss -a[n]tup				# all, [namen], tcp, udp, prozess
    netstat -tulpan				ss -tulpan				# allen laufenden Sockets
    netstat -r				ss / ip r[oute]
    netstat -l				ss -l
    netstat -i				ip -s link
    netstat -g				ip maddr
    
    route					ip [-6] r[oute]				# zeigt das aktuelle [-6 ipv6] Routing
    route add				ip r[oute] add
    route add [default] gw [gw]		ip r[oute] add default via [gw]
    route del				ip r[oute] del
    route del [default] gw [gw]		ip r[oute] del default via [gw]
    route -n				ip route show
    
    vconfig					ip link
    nameif					ifrename
    mii-tool				ethtool
Siehe auch: https://dougvitale.wordpress.com/2011/12/21/deprecated-linux-networking-commands-and-their-replacements/
55.VMDK-Datei mounten
  • zypper in qemu-tools #---------einmalig
    modprobe nbd max-part=4
    qemu-nbd -c /dev/nbd0 Meine.vmdk (oder Meine.vdi)
    mount /dev/nbd0p2 /mnt2/ (z.B. für 2. Partition)
    
56.Replace (Texte in Dateien suchen und ersetzen)
  • sed -i 's/AltText/NeuText/g' *.html
    

Meinolf Mühlenjost 2022