Bei NTFS-Dateisystemen - ntfslabel /dev/DEV-Name "YOUR-LABEL"
Bei ext2/ext3/ext4 Dateisystemen - e2label /dev/XXX
Bei verschlüsselten EXT2bis4-Dateisystemen (nach dem mounten) - e2label /dev/mapper/luks_crypto_5c5usw LUKS-NAME
Bei btrfs - btrfs filesystem label /dev/XXX
Bei reiserfs - reiserfstune -l /dev/XXX
Bei jfs - jfs_tune -L /dev/XXX
Bei xfs - xfs_admin -L /dev/XXX
Bei fat/vfat (mit dosfstools) - fatlabel /dev/XXX
Oder (mit mtools) - mlabel -i /dev/XXX ::
Bei exfat - exfatlabel /dev/XXX
Bei ntfs - ntfslabel /dev/XXX
Bei swap Partitionen - swaplabel -L /dev/XXX
13.Schnelles umcodieren eines Transportstreams zu einem Programmstream z.B. von einer DBOX/Dreambox mit VLC ($1 steht für den übergebenen TS-Dateinamen)
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)
20.SSH-Anmeldung ohne Passwort
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
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 (S13 apache2 und KS01 apache2-Link anlegen)
Insserv chkconfig
### 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)
26.Exportieren und Importieren einer SQL-Datenbank (zur Bereinigung)
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)
29.IPV6 Quick and Dirty
Software installieren:- zypper in aiccu radvd
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/
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
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 (siehe: CT-12-2013 Dateiradar Seite 172-175)
#--------------------------------------------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)
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
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
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.
chromium-pepper-flash - Chromium Flash player plugin
Mit der Flash-Player Datei /usr/lib64/chromium/PepperFlash/libpepflashplayer.so
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
46.Screencapturing mit interner Audioaufzeichnung (anstelle Mikroeingang)
siehe auch: https://itsfoss.com/best-linux-screen-recorders/
Kazam
OBS Studio (Open Broadcaster Software Studio)
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
recordMyDesktop
VokoScreen
ScreenStudio
Green Recorder
Peek
Gifine
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
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
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
53.MTS-Videos nach MP4 neucodieren
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
56.Replace (Texte in Dateien suchen und ersetzen)