|
Technische Hinweise zur Installation nützlicher Tools
Technische Hilfe für die Installation gibt es grundsätzlich am besten auf den Webseiten der genannten Tools, denn nur dort werden die Hinweise auf dem aktuellen Stand gehalten.
Inhalt
EinleitungWir haben für einige Installationen, die wir auf Messen oder für den Eigenbedarf selbst ausprobiert haben, an dieser Stelle einige kurze Hinweise zusammengestellt. Aus Kapazitätsgründen können wir diese Seite bei Updates nicht aktuell halten und übernehmen deshalb keine Garantie für eine aktuelle Korrektheit. Ausführliche Hilfe bieten die Webseiten der verschiedenen Linux-Distributionen
und/oder allgemeine Hilfe-Seite für Linux
Tipps für den RaspberryPiZwei Anwendungen auf einem RaspberryPi auf dem Chemnitzer LinuxtagDer RaspberryPi ist ein sparsamer Ein-Platinen-PC, der nur ca. 3-5W verbraucht und für ca. 30€ verdammt günstig ist. Bei seiner Größe von 15x8cm nimmt er auch keinen Platz weg, besitzt einen eigenen Bildschirmanschluss (HDMI), kann aber auch per ssh (im Terminal) oder grafisch über VNC (Ports 5900, 5901, …) von Ferne bedient werden. Webseite mit weiteren Hinweisen zur Installation http://www.raspberrypi.org/
Tipp für VNC (s. http://elinux.org/RPi_VNC_Server ) VNC installieren: sudo apt-get install tightvncserver Aufruf von einem entfernten Arbeitsplatz: |
gpg --gen-key gpg --list-keys gpg --list-secret-keys gpg --gpg --export-secret-keys Schluessel-ID > mein-privater-key.asc gpg --import mein-privater-key.asc gpg --fingerprint Alice gpg --verify alice@... gpg --export -a alice@... > alice.asc gpg -s -u Bob text.txt gpg --clearsign -u Bob text.txt gpg -e -r Alice text.txt gpg -s -u Bob -e -r Alice text.txt gpg --import Alice.asc gpg --edit-key Alice gpg -c text.txt gpg -d text.txt.gpg | Schlüssel generieren
|
Falls es keine Anzeige des aktuellen Akku-Ladezustand in der Menuleiste ist oder man diese schon zu oft übersehen hat, ist es angenehm, wenn man regelmäßig darauf hingewiesen wird, dass sich der Akku in einem kritischen Zustand befindet. Das folgende Script wurde für Linux Mint 17/19 geschrieben, wird aber ähnlich auf allen Ubuntu Systen laufen.
#!/usr/bin/env bash
#
# Meldung über aktuelle Akkuladung ausgeben
# (über den cron ca. alle 10 Minuten aufrufen)#
# Voraussetzung:
# paplay Ein Programm zum Abspielen von Warntönen
# sound-warn.wav Ein Meldeton
# sound-crit.wav Ein Warnton
# akku-warn.gif Ein Bild für halbleeren Akku
# akku-crit.gif Ein Bild für fast leren Akku
# Grenzwerte je nach Alter und Beständigkeit des Akkus
# WARN_LEVEL 35% warnen
# CRIT_LEVEL 20% herunterfahren
#
# /home/user das eigene Heimatverzeichnis (user ersetzen)
export DISPLAY="$(w -h $USER | awk '$3 ~ /:[0-9.]*/{print $3}')"
#echo $DISPLAY
XAUTHORITY="$HOME/.Xauthority"
SOUND_COMMAND="${SOUND_COMMAND:-paplay}"
CRIT_LEVEL="${CRIT_LEVEL:-25}"
CRIT_ICON="${CRIT_ICON:-"/home/user/pict/akku-crit.gif"}"
CRIT_SOUND="${CRIT_SOUND:-"/home/user/sounds/sound-crit.wav"}"
WARN_LEVEL="${WARN_LEVEL:-35}"
WARN_ICON="${WARN_ICON:-"/home/user/pict/akku-warn.gif"}"
WARN_SOUND="${WARN_SOUND:-"/home/user/sounds/sound-warn.wav"}"
if [[ -r "$HOME/.dbus/Xdbus" ]]; then
source "$HOME/.dbus/Xdbus"
fi
akku_level="$(acpi -b | grep -P -o '([0-9]+(?=%))')"
# alternativ, falls obige Zeile nicht funktioniert
#akku_level="$(acpi -b | grep -v "Charging" | grep -P -o '([0-9]+(?=%))')"
echo $akku_level # optionale Meldung, kann auskommentiert werden
sudo -u user DISPLAY=$DISPLAY DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send -i "$LOW_LEVEL" -t 5000 -u normal "Battery level is ${akku-level}%"
if [[ -z "$akku_level" ]]; then
exit 0
fi
if [[ "$akku_level" -le "$CRIT-LEVEL" ]]; then
sudo -u rainer DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send -i "$CRIT_ICON" -t 10000 -u normal "Battery Critical" "Battery level is ${akku_level}%"
if [[ ! -z "$CRIT_SOUND" ]]; then
$SOUND_COMMAND "$CRIT_SOUND"
fi
exit 0
fi
if [[ "$akku_level" -le "$LOW_LEVEL" ]]; then
sudo -u user DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send -i "$WARN_ICON" -t 10000 -u normal "Battery Low" "Battery level is ${akku_level}%"
if [[ ! -z "$WARN_SOUND" ]]; then
$SOUND_COMMAND "$WARN_SOUND"
fi
exit 0
fi
Möchte man Zugriff auf einen zusätzlichen Speicherbreich haben, so bieten sich der meist ungenutzte Swap Bereich auf der Festplatte und als superschnelle Festplatte der Arbeitsspeicher (RAM) an. Letzterer ist für sehr häufige Lese- und Schreibaktionen ideal. Man sollte aber nicht vergessen, dass
Zur Einrichtung der Speicher gibt man an
sudo mkdir /media/ramdisk # erzeugt einen Mountpoint
sudo mount -t ramfs ramfs /media/ramdisk # erzeugt die RAM Disk
Will man diese nicht bei jedem Neustart neu anlegen, kann man diese in der Datei /etc/fstab fest eintragen. Dort sind auch die realen Festplatten registriert. Dort muss stehen
ramfs /media/ramdisk ramfs defaults 0 0 # für eine RAM Disk
tmpfs /media/tmpfs tmpfs defaults,size=50% 0 0 # für einen temporären Speicher im Swap Bereich
tmpfs /media/tmpfs ramfs defaults,size=1024M 0 0 # oder mit fester Größe
Vorsicht! Der RAM Bereich wird einfach voll geschrieben , wenn man nicht darauf achtet - und dann steht das System.
Bei sehr vielen Dateien in einem Verzeichnis gerät die Speicherverwaltung in der Shell manchmal an ihre Grenzen. Die Fehlermeldung auf einen Befehl wie ls oder rm lautet dann Too many arguments. Bevor man anfängt in der Speicherverwaltung der Shell Änderungen vorzunehmen, kann man auf folgende Befehle ausweichen.
find . -name "*" -delete # Der Befehl find umgeht das Sammeln der Argumente und geht inkrementell vor.
find . -name "*" -print0 | xargs -0 ls # Diese inkrementelle Liste kann man mit xargs auch an andere Befehle wie ls oder rm übergeben.
for i in *; do rm $i; done # Man kann auch selbst inkrementell vorgehen und sich eine Schleife über alle Argumente bauen.
Es gibt verschiedene Programme, um Text in Sprache umzuwandeln. In einigen Projekten wird eine synthetisch generierte Stimme verwendet, andere nutzen echte Phoneme, so dass man zwischen Sprechern und Sprecherinnen wählen kann. Wir wollen 2 Möglichkeiten vorstellen.
sudo apt-get install libttspico-utils sox
Das Programm pico2wave erzeugt dann eine .wav Datei, die man mit play abspielt. Im folgenden Beispiel wird diese temporäre .wav Datei gleich wieder gelöscht.
cat text.txt | pico2wave --lang de-DE --wave /tmp/Test.wav ; play /tmp/Test.wav; rm /tmp/Test.wav
Das Programm bekommt Schwierigkeiten, wenn fremdsprachliche Ausdrücke im Text vorkommen und kann diese nur unverständlich wiedergeben. Erlaubte Sprachen sind de-DE, en-US, en-GB, ...
Die aufgenommene Audiodatei lässt sich in ein anderes Format konvertieren
sox input.wav output.ogg
lässt sich in der Geschwindigkeit anpassen
sox input.wav output.wav tempo 1.3
sox input.wav output.wav tempo 0.9
oder in Tonhöhe und Geschwindigkeit verändern
sox input.wav output.wav speed 1.3
sox input.wav output.wav speed 0.9
Mehrere Audiodateien können zusammengefügt werden
sox short.wav long.wav longer.wav
Für einfaches Aufnehmen und Abspielen können auch die Synonyme play und rec verwendet werden
rec output.wav trim 0 0:10
nimmt 10 Sekunden Audio vom Standardeingabe Device auf. Die Aufnahme lässt sich auch jederzeit durch Ctrl-C beenden. Play spielt Audiodateien ab
play output.wav
Mit menschlichen Stimmen arbeitet der Gespeaker. Das Programm und die Stimmen müssen installiert werden
sudo apt-get install gespeaker
sudo apt-get install mbrola mbrola-de7 mbrola-de6 mbrola-de5 mbrola-de4 mbrola-de3 mbrola-de2 mbrola-de1 mbrola-en1
Gespeaker hat ein grafisches Frontend und kann Textdateien vorlesen oder als .wav speichern. Die menschlichen Stimmen klingen angenehmer, allerdings sind die Worte abgehackter als in pico2wave.
Oft besteht der Wunsch die eigenen Fotos umzubenennen oder die Daten in der Exif-Sektion der JPEG-Datei auszulesen oder zu verändern. In Linux kann man das mit derm Programm jhead machen.
Installation: sudo apt-get install jhead
Jhead bietet u.a. folgende Möglichkeiten (s. man jhead):
jhead bild.jpg # Ausgabe des Exif und der Dateidaten
jhead -ds2019:12:01 bild.jpg # Exif Datum ändern
jhead -cl "BlaBla" bild.jpg # Comment ändern/einfügen
jhead -nimg_%Y_%m_%d *.jpg # Datei nach Datum benamsen aus Exif oder Dateidaten
jhead -de bild.jpg # Exif Header löschen
jhead -dc bild.jpg # Comment löschen
jhead -mkexif bild.jpg # minimalen Exif Header erzeugen
jhead -ft bild.jpg # Dateidatum in Exif Datum schreiben
jhead -dsft bild.jpg # Exif Datum als Dateidatum schreiben, wenn vorhanden
Eingebaut in ein Skript lassen sich damit alle eigenen Fotos mit einem Copyright Vermerk ergänzen oder nach ihrem Erzeugungsdatum umbenennen u.ä.
Ärgerlicherweise trifft man im Web immer häufiger auf Bilder vom Typ .webp, dieses von Google gepushte Format kennen viele Bildverarbeitungsprogramme noch nicht. Zur Konvertierung in gängige Formate hilft die Installation des kleinen Tools gleichen Namens
sudo apt install webp
Mit dem Befehl
find . -name "*.webp" | xargs -I {} dwebp {} -o {}.png
lassen sich alle Bilder des Typs ".webp" im aktuellen Ordner in das Format .png umwandeln. Man kann mit einer Option auch in bmp, tiff umwandeln, leider nicht in jpg.
Oft nutzt man zusätzliche Domainnamen um den Einzugebereich seiner Webseite zu vergrößern. Dann muss man von diesen Domains auf die richtige Webseite weiterleiten. Dazu gibt mehrere Möglichkeiten.
Eine große Auswahl von Plug-Ins (Erweiterungen) für den Mozilla Firefox Browser gibt es hier https://addons.mozilla.org/de/firefox/
Wir wollen nur einige Empfehlungen für die persönliche Sicherheit geben:
NoScript | Das Plug-In verhindert die Ausführung von (Java-) Skripten auf aufgerufenen Webseiten. |
WoT | Sicher surfen - Das Plug-In setzt Ampeln, welche Webseiten "sicher sind". Intuitiv aber man muss dem Programm (blind) vertrauen. |
AdBlockPlus | Das Plug-In blockiert unerwünschte Werbung |
WebRTC Block | Das Plug-In (hier für den Chrome Browser) verhindert, dass jemand die ursprüngliche IP-Adresse des Benutzers in einem VPN erfahren kann. |
In Windows mit Browser Chrome:
Cookies in C:\Users\
Skript zum Löschen:
@echo off
set ChromeDir=C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data
del /q /s /f "%ChromeDir%"
rd /s /q "%ChromeDir%"
In Windows mit Browser Mozilla Firefox:
Cookies in C:\Users\
and in C:\Users\
Skript zum Löschen:
set DataDir=C:\Users\%USERNAME%\AppData\Local\Mozilla\Firefox\Profiles
del /q /s /f "%DataDir%"
rd /s /q "%DataDir%"
for /d %%x in (C:\Users\%USERNAME%\AppData\Roaming\Mozilla\Firefox\Profiles\*) do del /q /s /f %%x\*sqlite
In Windows mit Browser Opera:
Cookies in C:\Users\
and in C:\Users\
Skript zum Löschen:
@echo off
set DataDir=C:\Users\%USERNAME%\AppData\Local\Opera\Opera
set DataDir2=C:\Users\%USERNAME%\AppData\Roaming\Opera\Opera
del /q /s /f "%DataDir%"
rd /s /q "%DataDir%"
del /q /s /f "%DataDir2%"
rd /s /q "%DataDir2%"
In Windows mit Browser Safari:
Cookies in C:\Users\
and in C:\Users\
Skript zum Löschen:
@echo off
set DataDir=C:\Users\%USERNAME%\AppData\Local\Applec~1\Safari
set DataDir2=C:\Users\%USERNAME%\AppData\Roaming\Applec~1\Safari
del /q /s /f "%DataDir%\History"
rd /s /q "%DataDir%\History"
del /q /s /f "%DataDir%\Cache.db"
del /q /s /f "%DataDir%\WebpageIcons.db"
del /q /s /f "%DataDir2%"
rd /s /q "%DataDir2%"
In Windows mit Browser Internet Explorer:
Leider speichert der Internet Explorer den Verlauf, den Cache und Cookies an den verschiedensten Orten, sogar in der Registry.
Skript zum Löschen:
@echo off
set DataDir=C:\Users\%USERNAME%\AppData\Local\Microsoft\Intern~1
del /q /s /f "%DataDir%"
rd /s /q "%DataDir%"
set History=C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\History
del /q /s /f "%History%"
rd /s /q "%History%"
set IETemp=C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\Tempor~1
del /q /s /f "%IETemp%"
rd /s /q "%IETemp%"
set Cookies=C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Cookies
del /q /s /f "%Cookies%"
rd /s /q "%Cookies%"
Zusätzlich benötigt man ein Skript zum Löschen der Einträge in der Registry.
In Windows sind auch noch Flash Cookies zu löschen:
Flash Cookies in C:\Users\
Skript zum Löschen:
@echo off
set FlashCookies=C:\Users\%USERNAME%\AppData\Roaming\Macromedia\Flashp~1
del /q /s /f "%FlashCookies%"
rd /s /q "%FlashCookies%"
Zertifikate, insbesondere für Server, kosten normalerweise Geld und werden von Firmen wie VeriSign u.a. erzeugt. Man installiert sie auf seinem Rechner für Webserver, wie den Apache2, oder für Maildienste. Die von der Open Software Foundation geförderte Initiative Lets Encrypt bietet Zertifikate kostenlos an und garantiert auch, dass sie ständig auf einem aktuellen Stand bleiben. Andere Initiativen, wie CA-Cert sind daran gescheitert, dass ihre Zertifikate von den Herstellern der Browser nicht akzeptiert wurden und die Nutzer Fehlermeldungen erhielten.
Auch unser Server benötigt für die SSL Verschlüsselung Zertifikate, die die Echtheit unserer Domains bestätigen. So haben wir im letzten Jahr erfolgreich auf LetsEncrypt Zertifikate umgestellt. Wir wollen im folgenden erklären, was dabei zu tun ist.
Zertifikate für einen Apache2-Web-Server
Eine Beschreibung gibt es bei Lets Encrypt https://letsencrypt.org/getting-started/
Besitzt man auf dem Server die Möglichkeit Skripte auszuführen und hat Zugriff auf ein Terminalfenster, so sind folgende Befehle auszuführen:
uname -a # liefert die aktuelle Linux Kernel Version
cat /etc/issue # liefert die Linux version, z.B.: Ubuntu 14.04.5 LTS
sudo apt-get update # bringt das System auf den aktuellen Stand
sudo apt-get install software-properties-common # installiert ein notwendiges Paket
sudo add-apt-repository ppa:certbot/certbot # fügt das Repository von Lets Encrypt hinzu
sudo apt-get update # bringt das System auf den aktuellen Stand
sudo apt-get install python-certbot-apache # installiert das certbot Paket von lets Encrypt
sudo certbot --apache # startet den certbot
Man wird dann nach Zustimmung zu den AGBen von LetsEncrypt gefragt. Diese stehen unter https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf
Dann listet das Programm die in den Apache Konfigurationen gefundenen Domains auf und man muss diejenigen Domainnamen auswählen für die man Zertifkate erstellt haben möchte. Die Erstellung der Zertifikate wird mit "Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt" bestätigt.
Ein einzelnes Zertifikat erstellt man z.B. so sudo certbot --apache -d a-fsa.de -d www.a-fsa.de
für die Domain www.a-fsa.de und alle Subdomains davon.
Es ist sinnvoll nach der Erstellung der Zertifikate diese auch zu überprüfen, z.B. über die SSL Test-Seite: https://www.ssllabs.com
Dort erhält man detaillierte Info zu Fehlern.
Da Zertifikate von Lets Encrypt eine Lebensdauer von 90 Tagen haben, sollte man das Erneuern automatisieren. Dazu macht man zuerst einen Test ob die Erneuerung fehlerfrei laufen würde mit dem Kommando sudo certbot renew --dry-run
Dieser Befehl liest alle Konfigurationen ein und startet einen Trockenlauf, um die Funktion des Renew zu testen, ohne Änderungen durchzuführen.
Man erhält normalerweise die Meldung: Congratulations, all renewals succeeded.
Dann kann man das Erneuern über den Crontab automatisieren. Man fügt mit dem Kommando sudo crontab -e die folgende Zeile hinzu:
0 0 * * * /usr/bin/certbot renew -q --post-hook "/usr/sbin/service apache2 restart"
Das renew-Kommando merkt bei der täglichen Ausführung, wenn die Zertifikate noch aktuell sind und frischt erst 30 Tage vor ihrem Ende die Daten auf.
Abgemeldete Domain wieder aus Lets Encrypt löschen
rm -rf /etc/letsencrypt/live/${DOMAIN}
rm /etc/letsencrypt/renewal/${DOMAIN}.conf
Diese Anleitung gilt nur für einen Apache Webserver, für andere Webserver hilft die Lets Encrypt Webseite weiter.
Zertifikate für Mail-Server
Für Mailserver Zertifikate auf Servern, die unter der Admin-Oberfläche Plesk laufen hilft evtl. diese Anleitung https://www.hosteurope.de/faq/server/plesk/austausch-einrichtung-ssl-zertifikat-dienste/
weiter.
Wir wollen hier nicht über sicheres Mailen mit Verschlüsselung durch Enigmail reden (kommt vielleicht noch). Es geht um die etwas kompexeren Einstellungen, die man bei Thunderbird genau wie im Mozilla Firefox über about:config machen kann.
Sinnvoll sind z.B. folgende Einstellungen:
javascript.enabled = false
network.cookie.cookieBehavior = 2
dom.storage.enabled = false
geo.enabled = false
webgl.disabled = true
layout.css.visited_links_enabled = false
gfx.downloadable_fonts.enabled = false
network.http.sendRefererHeader = 0
security.enable_tls_session_tickets = false
network.http.use-cache = false
Möchte man das Laden von Videos und Audiodateien unterbinden, so sind folgenden Parametern wichtig:
media.webm.enabled = false
media.wave.enabled = false
media.ogg.enabled = false
Möchte man dem Add-on Enigmail für die Verschlüsselung die Geschwätzigkeit abgewöhnen, so sollte man einstellen:
extensions.enigmail.addHeaders = false
extensions.enigmail.useDefaultComment = true
extensions.enigmail.agentAdditionalParam = --no-emit-version
Dieses Verfahren funktioniert bei allen Linux-Systemen. Man benötigt ein Live-System auf CD oder USB-Stick, wie es die meisten Installationsmedien für Linux anbieten.
Wissen muss man natürlich vorher auf welcher Partition, etwa /dev/sda5, sich das Linux-System befindet und dann im 2. Befehl statt sdaX dafür dann sda5 schreiben. Ist dies nicht bekannt, so kann man in dem Live-System einfach über "Menu / Persönlicher Ordner" alle vorhandenen Partionen einhängen und ansehen. Im Terminal gibt der Befehl "df -k" eine Liste der Partitionen aus, um die richtige Bezeichnung zu finden.
"username" ist natürlich durch den eigenen Benutzernamen oder durch "root" zu ersetzen, wenn man ein Admin-Passwort anlegen/ändern möchte.
Zum Seitenanfang zurück
Wenn nicht vorher, etwa bei der Windows Installation eine Passwort-Rücksetzungs-Disk engelegt wurde, muss man sich mit einem Trick behelfen.
Man startet von der Windows-Installations-CD, wählt dann aber nicht die Installation sondern (links unten) die "Computerreparaturoptionen". Daraufhin wird der Ort der Windows Installation abgefragt (C: oder D:). Meist ist der ausgewählte Vorschlag richtig und kann bestätigt werden. Dann öffnet sich eine Liste zur Auswahl von Reparaturmöglichkeiten, dort wählt man den untersten, die "Befehlseingabe".
In dem sich öffnenden "DOS-Fenster" gibt man folgende Befehle ein (C: oder D: wie oben ausgewählt):
Den letzten Befehl bestätigt man mit "Ja". Dann startet man den Rechner normal ohne die Installions-CD. Auf dem Fenster zum Login klickt man nun mit der Maus auf ein kleines Symbol links unten am Bildschirmrand. Es öffnet sich ein Fenster für die "Befehlseingabe".
In dem sich öffnenden "DOS-Fenster" gibt man den folgenden Befehl ein:
"username" und "passwort" sind durch sinnvolle Eingaben zu ersetzen. Falls man den Benutzernamen nicht mehr kennt, so erhält man mit dem Befehl "net user" eine Liste aller Benutzer auf dem Rechner. Auch das Administrator-Passwort lässt sich so ändern.
Anschließend kann man sich sofort auf dem Login-Fenster mit den neu gesetzen Werten anmelden. Man sollte danach nicht vergessen die oben erzeugte Sicherheitslücke wieder zu schließen. Dazu startet man wieder von der Windows-Installations-CD, wählt die "Computerreparaturoptionen" aus und danach die "Befehlseingabe" und gibt dort den Befehl ein:
Ob dieser "Trick" oder ähnliches auch in anderen Windows Versionen neben Windows7 funktioniert, haben wir noch nicht ausprobiert.
Wir haben dies hier gelernt http://pcsupport.about.com/od/windows7-password-reset-walkthrough.htm
... wird fortgesetzt ...
Wir sind für Hinweise auf (Schreib-)Fehler sehr dankbar.
CC Lizenz Mitglied im European Civil Liberties Network Bundesfreiwilligendienst Wir speichern nicht World Beyond War Tor nutzen HTTPS nutzen Kein Java Transparenz in der Zivilgesellschaft |