32Bit-Programme unter Debian 64bit"
categories:
- “debian”
Damit auch 32Bit-Anwenungen unter einer 64Bit-umgebung ausgeführt werden müssen die ia32-libs installiert werden: sudo apt-get install ia32-libs lib32gomp1
Die zusätzliche Architektur kann auch wie folgt zum System hinzugefügt werden:
sudo dpkg --add-architecture i386
sudo apt-get update
a2pdf"
categories:
- “postscript-pdf”
Umwandeln von Text in PostScript
acpi"
categories:
- “systeminformationen”
Zeigt hardwareinformationen des /proc Dateisystems an wie z. B. Batteriestatus und Temperaturen. acpi -bi
gibt ausführliche Informationen über die Laptopbatterie aus.
add-apt-repository"
categories:
- “kompilieren-installieren”
Ein neues ppa-Repository von ppa.launchpad.net lässt sich einfach mit dem Befehl sudo add-apt-repository ppa:user/ppa-name
installieren.
addgroup"
categories:
- “benutzer-gruppen”
addgroup benutzer gruppe
fügt einen Benutzer einer Gruppe zu
adduser"
categories:
- “benutzer-gruppen”
adduser
legt einen Benutzer inklusive kompletter Verzeichnisstruktur an
Adobe Reader Fehler"
categories:
- “postscript-pdf”
Das Programm erkundigt sich beim Start nach der Datei: “libgzkembedmoz” Abhilfe: In den Einstellungen von acroread den Ordner /usr/lib/firefox
angeben.
Adressverwaltung"
categories:
- “buroprogramme”
kaddressbook
alias"
categories:
- “konfigurationsdateien”
- “konsole”
- “shell”
alias test=<Befehle>
muss in ~/.bashrc eingetragen werden alias -p
zeigt alle Aliase an
alien"
categories:
- “kompilieren-installieren”
Fremdpakete werden mit alien umgewandelt: alien -d paket.rpm paket.deb
oder alien -r paket.deb paket.rpm
alle alten Kernel löschen"
categories:
- “system” tags:
- “kernel”
Alle alten, nicht mehr benötigten Kernel und zugehörigen HEader-Dateien löscht man mit:
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
Als sudo/root grafische Oberfläche auf anderen Benutzerkonten"
categories:
- “benutzer-gruppen”
- “netzwerk”
- “x-server” tags:
- “cannot-open-your-terminal-devpts0”
Wechselt man mit “sudo -s -u klaus” in den Benutzeraccount “klaus”, bekommt man beim Aufruf des Befehls “screen” die Fehlermeldung “Cannot open your terminal ‘/dev/pts/0’ - please check” zu sehen.
Ein einfacher Workaround besteht darin, vor “screen” das Programm “script” aufzurufen, dass die Pseudoterminals mit passenden rechten neu einrichtet. “script” zeichnet normalerweise die aktuelle Sitzung auf, aber da dies nicht nötig ist, genügt es das Programm mit dem Argument “/dev/null” aufzurufen: “script /dev/null”. Nun funktioniert auch “screen”.
Amarok"
categories:
- “audio”
- “multimedia”
Video-Podcasts mit Amarok:
- Download des Scriptes unter: http://kde-apps.org/content/show.php?content=41435
- Ausführen
- Zu jedem Track in der Playlist kommt nun im Kontextmenü (Rechtsklick) der Punkt PlayVideos -> Play.
- In der Datei
/.kde/share/apps/amarok/scripts/videos/videos.rb
kann der kmplayer durch einen eigenen Player (mplayer/kaffeine) ersetzt werden.
Radio-Streams
- SWR1: http://213.200.97.110:80/swr1bwlive/livestream.mp3
- SWR2: http://213.200.97.110:80/swr2live/livestream.mp3
- SWR3: http://213.200.97.110:80/swr3live/livestream.mp3
- Klassik-Radio: http://str31.creacast.com:80/klassik1
- Bayern 4 Klassik: mms://gffstream-w8b.wm.llnwd.net/gffstream_w8b
- DLF: http://dradio-mp3.t-bn.de/dlf _live
Die Streams können mit folgenden Skripten gespeichert werden: Als mp3:
mplayer -cache 1024 -dumpstream http://213.200.97.110:80/swr3live/livestream.mp3 -dumpfile swr3_vom_`date +%d_%m_%Y`_um_`date +%T`.mp3
Als wma:
mkfifo aufnahme.fifo
timeout 3480 lame -m s aufnahme.fifo swr3_vom_`date +%d_%m_%Y`_um_`date +%T`.mp3 &
/usr/bin/mplayer -ao pcm:file=aufnahme.fifo 'mms://62.26.161.89/swr3live$livestream.wma'
rm aufnahme.fifo
exit
Amazon Video mit Kodi auf dem Raspberry Pi2/Pi3"
categories:
- “multimedia”
- “projekte”
- “raspberry-pi” tags:
- “amazon”
- “amazon-prime”
- “kodi”
- “raspberry”
- “video-2”
Amazon Prime Video läuft nicht ganz so einfach auf dem Raspberry Pi mit Kodi. Im Folgenden wird gezeigt, wie man trotzdem auf seinem Raspberry mit Kodi auf sein Amazon Video Angebot zugreifen kann.
Als System benutzten wir LibreELEC. Man kann die aktuelle Version von LibreELEC unter
https://libreelec.tv/download-temp/
herunterladen. Wir öffnen ein Terminal und wechseln in das Download-Verzeichnis: cd Downloads
Danach entpacken wir das heruntergeladene Paket: gzip -d LibreELEC-RPi2.arm-VERSION.img.gz
Nun wird das Image auf die Micro-SD-Karte kopiert. Mit sudo fdisk -l
findet man raus, wo die SD-Karte eingebunden wurde. Wenn man herausgefunden hat, wo die SD-Karte eingebunden ist, dann kann man mit folgendem Befehl das Image überspielen: sudo dd bs=4M if=LibreELEC-RPi2.arm-VERSION.img of=MOUNT-PUNKT
Nun brauchen wir noch das
Update-Paket von Milhouse
(ich habe #0605 und #0902 getestet). Der erste Beitrag listet immer die „Recent builds“ auf, sodass wir eigentlich recht schnell zum richtigen Download finden. Für die Installation öffnet ihr die Netzwerkfreigabe smb://libreelec
in einem netzwerkfähigen Dateimanager und schiebt die komplett TAR-Datei in das Verzeichnis “update” auf dem LibreELEC-RasPi. Danach müsst ihr einfach den Raspberry neustarten.
Wenn der Raspberry neu gestartet ist, dann loggen wir uns per SSH auf dem Raspberry ein: ssh root@libreelec
(Passwort: libreelec). Nun müssen wir noch chromium-widevine installieren: curl -Ls http://nmacleod.com/public/libreelec/getwidevine.sh -o /tmp/getwidevine.sh && sh /tmp/getwidevine.sh
Als nächstes laden wir das notwendige Repository herunter: https://github.com/Sandmann79/xbmc/releases/download/v1.0.1/repository.sandmann79.plugins.zip
Auf unser Raspberry gehen wir nun in “Addons” und dann links unten auf das “Download-Symbol”. Dort wählen wir “Aus ZIP-Datei installieren” -> “Home-Ordner” und wählen das “repository.sandman79.plugins.zip” aus. Danach wählen wir im Menü “Addons” -> “Aus Repository installieren” -> “Sandmann79s Repository” -> “Video-Addons” -> “Amazon VOD” installieren. Wir müssen in den Konfigurationenen von “Amazon VOD” noch eine Änderung vornehmen. Unter “Allgemein” die Wiedergabemethoe auf “Input Stream” setzten.
Danach sollte alles laufen.
Um Kodi von einem Android-Smartphone zu steuern empfiehlt sich Yatse .
amazonmp3"
categories:
- “audio”
- “multimedia”
Damit das Programm amazonmp3 läuft muss folgendes ausgeführt werden (alles in einer Zeile!):
mkdir amazonmp3 && cd amazonmp3 && wget http://de.archive.ubuntu.com/ubuntu/pool/universe/b/boost/libboost-filesystem1.34.1_1.34.1-16ubuntu1_i386.deb http://de.archive.ubuntu.com/ubuntu/pool/universe/b/boost/libboost-regex1.34.1_1.34.1-16ubuntu1_i386.deb http://de.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu40_4.0.1-2ubuntu2_i386.deb http://de.archive.ubuntu.com/ubuntu/pool/universe/b/boost/libboost-thread1.34.1_1.34.1-16ubuntu1_i386.deb http://de.archive.ubuntu.com/ubuntu/pool/universe/b/boost/libboost-iostreams1.34.1_1.34.1-16ubuntu1_i386.deb http://de.archive.ubuntu.com/ubuntu/pool/universe/b/boost/libboost-signals1.34.1_1.34.1-16ubuntu1_i386.deb http://de.archive.ubuntu.com/ubuntu/pool/universe/b/boost/libboost-date-time1.34.1_1.34.1-16ubuntu1_i386.deb && sudo dpkg -i *.deb && sudo apt-get install libglademm-2.4-1c2a && rm * && cd .. && rmdir amazonmp3
anacron"
categories:
- “zeitsteuerung”
Wie cron, aber es werden Prozesse nachgeholt, falls der Rechner aus war.
Aneinanderhängen von avi-Files"
categories:
- “multimedia”
Möchte man mehrere avi-Files mit gleicher Codierung zu einem ganzem File verschmelzen, hilft unter Umständen mencoder: mencoder -forceidx -ovc copy -oac copy Input1.avi Input2.avi -o Output-Gesamt.avi
Animationen"
categories:
- “bildbearbeitung”
convert -delay 20 *.jpg out.gif
erstellt ein animiertes GIF-Bild aus allen JPG-Bildern im Verzeichnis. mencoder 'mf://*.jpg' -mf type=jpg:fps=4 -ovc copy -oac copy -o output.avi
oder mencoder "mf://*.jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4
erstellt einen AVI-Film bzw. einen mpeg-Film. convert -delay 20 *.jpg out.gif
erzeugt eine GIF-Animation
Anmelden reparieren (ICEauthority-Fehler beim Login)"
categories:
- “system” tags:
- “iceauthority”
Gibt es beim login einen ICEauthority-Fehler muss einfach die Datei .ICEauthority
gelöscht werden.
rm /home/user/.ICEauthority
Anzahl der Artikel im Suchfenster anzeigen"
categories:
- “wordpress”
Die Datei searchform.php im entsprechenden Theme-Ordner anlegen: wp-content/themes/twentytwelve
Folgenden Inhalt in die Datei kopieren:
iwlist"
categories:
- “netzwerk”
- “wlan” tags:
- “iwlist”
Anzeige erreichbarer WLAN-Netze: iwlist scan
APPs für Android"
categories:
- “android-distributionen” tags:
- “android”
- “app”
- “apps”
Fotos und Bilder
- A Better Camera (kostenpflichtig für einige Funktionen)
- Barcode Scanner (mit Historie)
- Foto-Editor (einfacher Foto-Editor)
- Open Camera (Foto einstellen)
- cewe Smartphoto
Büro
- aCalendar (leise bei Terminen siehe “Audio Mode Switcher”)
- Note Everything Pro (kostenpflichtig)
- Stundenplan Deluxe
- AndrOpen Office
- Polaris Office
Gesundheit
- Apotheke
- BlutdruckDaten
Internet und Kommunikation
- Aqua Mail (Sichern und Wiederherstellen der Konten zum einfachen übertragen auf andere Geräte)
- Firefox (Erweiterungen: Adblock Edge, Delete Cookies on Exit)
- Threema (sichere, verschlüsselte Alternative zu WhatsApp)
Multimedia
- Audials
- Rocket Player
- VLC
- YouTube
TV
- Das Erste
- ARD Mediathek
- Eurosport Player
- Tagesschau
- ZDF
- ZDF heute
System
- Audio Mode Switcher (Handy leise oder auf Vibration zu bestimmten Terminen oder auf Grund von Schlüsselwörtern im Google-Kalender)
- Avast! Mobile Security
- Avast! Anti-Theft
- Dropsync
- Boxcryptor Classic
- EasyBackup
- ES Datei Explorer
- ES Task-Manager
- KeyPassDroid
- Fon (Fritz!)
- Wi-Fi Finder
- Let’s print Droid / Let’s print PDF / Let’s print Framework
- Startup Manager
Karten und GPS
- Navigator
- Earth
- Maps
- OsmAnd (OpenStreet Navigation mit Offline Funktion)
- Google Sky Map
Sonstiges und Infos
- mini Light MAXI Bright
- smartChord
- TankenApp
- WetterApp
Nachschlagewerke, Wörterbücher, Übersetzer
- Wikipedia
- Gelbe Seiten
- Offline Wörterbücher
- Googles (übersetzt fotografierte Texte)
Bücher
- WebOpac (Bücher suchen, vorbestellen und verlängern)
- Aldiko (eBook-Reader mit Adobe DRM)
Bibel
- Bibel
- Taizé Readings
Reise
- ADAC Pannenhilfe
- ADAC Auslandshelfer
- BW-Mobile
- EFA-Fahrplan
apropos"
categories:
- “hilfe”
Hilfe zu einem Schlüsselwort suchen, das selbst kein Befehl ist. apropos Schlüsselwort
apt-file"
categories:
- “kompilieren-installieren”
Sucht, in welchen (auch noch nicht installierten) Paketen die angegebene Datei vorhanden ist.
apt-file update
Liest die neuesten Paketinformationen einapt-file search file
Sucht, in welchen Paketen die Datei File sich befindet
apt-get"
categories:
-
“kompilieren-installieren”
-
apt-get install
installiert das -
apt-get --reinstall install
installiert das neu -
apt-get update
holt Datei-Infos von den Servern -
apt-get -u upgrade
aktualisiert alle Pakete -
apt-get -u dist-upgrade
komplettes Update -
apt-get remove --purge
wird inklusive aller Einstellungen gelöscht -
apt-get clean
löscht heruntergeladene Installationspakete -
apt-get autoclean
- löscht Installationspakete die nicht mehr geladen werden können -
apt-get alien -d
Fremdpakete (rpm) installieren -
apt-cache search
sucht installierbare Programme -
apt-get source
- Download source archives -
apt-get build-dep
- Configure build-dependencies for source packages -
apt-get check
- Verify that there are no broken dependencies -
apt-get install --no-install-recommends
Installiert Programme ohne Abhängigkeiten zu beachten -
apt-get moo
- Easteregg in apt-get
Die heruntergeladenen Archive befinden sich in /var/cache/apt/archives.
Die History der apt-get-Aktionen lässt sich mit less /var/log/apt/term.log
einsehen.
apt-key"
categories:
- “kompilieren-installieren”
Verwaltung von gpg-Schlüsseln für apt. Schlüssel hinzufügen: apt-key add key.gpg
apt-spy"
categories:
- “kompilieren-installieren”
apt-spy ermöglicht es eine sources.list für Debian zu generieren. Dazu wird die Bandbreite der zu Verfügung stehenden Mirror Server analysiert um daraus den schnellsten Server zu emitteln.
Hinweis: Folgende Kommandos müssen mit superuser Rechten ausgeführt werden.
Mit Hilfe des Befehls apt-spy update wird zunächst die Mirrorliste aktualisiert.
Die eigentliche Geschwindigkeitsanalyse erfolgt z.B. mit dem Befehl apt-spy -d stable -s de. Hier wird der schnellste in Deutschland verfügbare Server ermittelt.
Wem das zulange dauert, der hat die Möglichkeit mit der Option -e X die Suche auf X Server einzugrenzen (wobei X durch die Anzahl der Server zu ersetzen ist).
apt"
categories:
- “kompilieren-installieren”
keyfile für apt-get aus dem Internet herunterladen
# Open a terminal, and type the following, replacing KEYSTRING with one of the long sets of letters and numbers returned by Synaptic/Apt:
gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys KEYSTRING
# This should give you another code, something like 1F41B907. Enter this command, replacing KEYSTRING2 with the new one.
gpg --armor --export KEYSTRING2 > keyName.gpg
aptitude"
categories:
- “kompilieren-installieren”
aptitude moo
- Easteregg in aptitude (kann mit -v fortgesetzt werden)
ardesia"
categories:
- “bildbearbeitung”
- “grafik”
Für Präsentationen ist es sehr hilfreich auf den Desktop “malen” zu können. Unter Windows erledigt dies
arp"
categories:
- “netzwerk”
- “analysieren-und-informationen” tags:
- “mac”
- “mac-adresse”
MAC-Adressen ermitteln Mit arp
lassen sich Rechnernamen und MAC-Adressen ermitteln.
ip li | grep ether | awk '{print $2}'
ermittelt die MAC-Adresse
Von einem entfernten Rechner lässt sich die MAC-Adresse so ermitteln:
ping 192.168.178.1
arp -a
at"
categories:
- “zeitsteuerung”
at 15:14
öffnet den Editor um den Befehl einzugeben, der um 15:14 Uhr ausgeführt wird. Der Editor wird mit Strg+d beendet.
echo "play /pfad/zu/musik.mp3" | at 7:00 24.12.2004
spielt Musik um 7.00 Uhr ab.
echo "halt" | at 17:00
(als root) fährt den Rechner um 17.00 Uhr herunter.
Mit atq
werden alle anstehenden at-Kommandos aufgerufen.
Audio - realtime-Kernel"
categories:
- “audio”
- “multimedia” tags:
- “realtime-kernel”
Für Audioanwendungen ist es sinnvol einen Realtime-Kernel zu installieren, um die Latenzzeit möglichst gering zu halten. Vorgehensweise:
Installieren von linux-rt , linux-restricted-modules-rt (optional) , linux-backports-modules-rt (optional)
Danach die Datei /etc/security/limits.conf
editieren:
@audio - rtprio 90
@audio - nice -10
@audio - memlock 4000000
Audio/Video-Dateien konvertieren"
categories:
- “audio”
- “multimedia”
- “video”
mpg -> flv ffmpeg -i input.mpg -s 150x120 -padleft 100 -padright 100 -ar 44100 -r 25 -b 200k output.flv
avi -> flv ffmpeg -i original.avi -f flv -b 300k -deinterlace -ar 22050 -ab 64k -s 328x248 ausgabe.flv
für die Veröffentlichung im Internet bietet sich folgende Option an: ffmpeg -i input.avi -ar 11025 -ab 32 -b 500k -f flv -s 426x320 output.flv
wma -> wave Konvertieren einer WMA-Datei in WAVE: mplayer datei.wma -ao pcm output.wav
ogg -> wave oggdec datei.ogg datei.wav
konvertiert datei.ogg nach datei.wav.
oggdec /Pfad/Audiofiles/*.ogg
konvertiert alle Ogg-Files im Verzeichniss /Pfad/Audiofiles/ in Wav-Files.
wave -> ogg oggenc datei.wav datei.ogg
konvertiert datei.wav nach datei.ogg.
oggenc /Pfad/Audiofiles/*.wav
konvertiert alle Wav-Files im Verzeichniss /Pfad/Audiofiles/ in Ogg-Files.
wave -> mp3 lame -h Song.wav Lied.mp3
konvertiert Song.wav nach Lied.mp3 mit einer Bitrate von 128 Kbits/s.
Skriptbeispiel, das alle wav-Dateien eines Verzeichnisses in mp3-Dateien mit einer Bitrate von 128 Kbits/s konvertiert:
#!/bin/bash
for i in *.wav; do
lame -h -k "$i" "$(basename "$i" .wav)".mp3;
done
mp3 komprimieren werden mp3 Dateien in stark komprimierter Version benötigt (z. B. um diese per Mail zu versenden) können mit folgenden Skript alle mp3-Dateien eines Ordners komprimiert werden:
#! /bin/bash
SUBDIR="komprimiert"
for i in *.mp3; do
DIR=${i%/*}; [ "$DIR" == "$i" ] && DIR=.
FILE=${i##*/}
[ -d "$DIR/$SUBDIR" ] || mkdir "$DIR/$SUBDIR"
lame --mp3input --vbr-new -V 8 -m s -a "$i" "$DIR/$SUBDIR/$FILE"
done
rm -> avi mencoder -ovc lavc input.rm -oac mp3lame -o output.avi
konvertiert Real Media-Dateien ins DivX-Format.
dv -> mpeg ffmpeg -i DV-Video.avi -vcodec mpeg2video -t pal-dvd
recordmydesktop format konvertieren mencoder -of lavf -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=250:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=640:480-o DeinVideo.flv DeinVideo.ogv
Bitrate von MP3s ändern mit dem Tool lame können mp3s convertiert etc. werden. Mit dem Kommando lame --mp3input -b 128 InputName.mp3 OutputName.mp3
Aufnahme / Sequenzer"
categories:
- “multimedia-programme”
ardour / rosegarden / lmms
Aufnahme"
categories:
- “audio”
- “multimedia” tags:
- “sox”
sox -t ossdsp -w -s -r 44100 -c 2 /dev/dsp -t raw - | lame -x -m s - ZIELDATEI.mp3
nimmt das Eingangssignal als mp3 auf. mplayer -ao pcm -aofile datei
speicher Livestream in einer Datei
Ausgabeumlenkung"
categories:
- “ein-ausgabeumlenkung”
- “shell” tags:
- “309”
- “310”
- “311”
- “2”
- Umlenkung der Standardausgabe in eine (neue) Datei:
>
ls > inhalt.txt
- Umlenkung der Standardausgabe von zwei Befehlen in eine (neue) Datei:
() >
(date;ls) > inhalt.txt
- Umlenkung der Standardausgabe in eine bestehende Datei (anhängen):
>>
ls >> inhalt.txt
- Umlenkung der Fehlermeldungen in eine Datei: 2
>
ls 2> fehler.txt
- Umlenkung der Standardausgabe und der Fehlermeldungen in eine Datei:
>&
ls >& ausgaben.txt
Umlenkung mit Hilfe von Datei-Deskriptoren:
Befehl >&n | Standard-Ausgabe von Befehl an den Datei-Deskriptor n übergeben. |
Befehl m>&n | Der gleiche Vorgang, nur wird die Ausgabe, die normalerweise an den Datei- Deskriptor m geht, an den Datei-Deskriptor n übergeben. |
Befehl >&- | Schließt die Standard-Ausgabe. |
Mehrfach-Umlenkung:
Befehl 2> Datei | Fehler-Ausgabe von Befehl in Datei schreiben. Die Standard-Ausgabe bleibt unverändert (z. B. auf dem Terminal). |
Befehl > Datei 2>&1 | Fehler-Ausgabe und Standard-Ausgabe von Befehl werden in die Datei geschrieben. |
(Befehl > D1) 2>D2 | Standard-Ausgabe erfolgt in die Datei D1; Fehler-Ausgabe in die Datei D2. |
automatisches Abmelden"
categories:
- “konfigurationsdateien”
- “shell”
Das Eintragen von TMOUT=180
in der Datei .bashrc führt zum automatischen Logout nach 3 Minuten
automount funktioniert nicht"
categories:
- “debian”
- “einhangen” tags:
- “automount”
Unter Debian testing kann der automount von CDs und DVDs mitunter nicht funktionieren.
Mittels udisks --mount /dev/sr0
lässt sich des Laufwerk händisch einbinden.
Abhilfe schafft ansonsten die Installation von udisks-glue
. Dann sollten die Datenträger wieder automatisch eingebunden werden.
Evtl. muss der Deamon einmal händisch gestartet werden: udisks --mount /dev/sr0
Autostart beim Raspberry Pi"
categories:
- “raspberry-pi”
Wenn man möchte, dass beim Start der LXDE Oberfläche beim Raspberry Pi ein Programm oder ein Befehl ausgeführt wird, dann muss man dies in folgender Datei eintragen:
/etc/xdg/lxsession/LXDE-pi/autostart
Beispieleintrag zum starten von midori im Fullscreenmodus:
@midori -e Fullscreen -a www.google.de
Autovervollständigung auch als sudo"
categories:
- “shell”
In der Datei /etc/bash.bashrc die Kommentierung entfernen und schon kann man auch als sudo die Autovervollständigung nutzen.
# enable bash completion in interactive shells
#if ! shopt -oq posix; then
# if [ -f /usr/share/bash-completion/bash_completion ]; then
# . /usr/share/bash-completion/bash_completion
# elif [ -f /etc/bash_completion ]; then
# . /etc/bash_completion
# fi
#fi
awk"
categories:
- “auflisten-analysieren”
- “shell”
- “skripte”
- “sonstiges-shell”
- “stringbearbeitung” tags:
- “spalte”
. Bawk Ausdruck { Anweisungen } Datei
Ausdruck
Der erste Parameter ist ein regulärer Ausdruck.
Anweisungen
Den zweiten Parameter stellen die awk-Anweisungen (anzugeben in geschweiften Klammern) dar. Diese Anweisungen legen fest, welche Manipulationen am Input-Stream durchgeführt werden sollen.
Datei
Der Parameter Datei legt die Datei fest, aus der der Input-Stream gelesen werden soll. Ohne Angabe liest awk von der Standardeingabe oder aus einer Pipe.
Beispiele
Beispiel 1: 2. Spalte ausgeben (z. B. Prozess-ID bei grep)
ps aux | grep suchstring | awk '{print $2}'
Beispiel 2: alle Zeilen einer Datei mit dem Buchstaben “n” ausgeben:
awk '/n/' /etc/group
Backup"
categories:
- “archive”
- “programme”
Mit dem Programm BackInTime lassen sich sehr komfortabel Datenbackups machen. Um dies jedoch zeitgesteuert zu machen ist folgendes notwendig:
Mit dem Programm Anacron lassen sich Aktionen ausführen, auch wenn der rechner zum Ausführungszeitpunkt ausgeschaltet war. Dann holt Anacron dies nach dem nächsten Start nach. Da Anacron das Programm als Root ausführt,[1] muss BiT im folgenden Beispiel über “Systemwerkzeuge -> Back in Time (root)” aufgerufen und konfiguriert werden. Ohne Root-Rechte gemachte Einstellungen werden von Anacron nicht umgesetzt! Um Anacron auch ohne Root-Rechte zu nutzen, siehe die Links unter: Cron. Zunächst wird über “Systemwerkzeuge -> Back in Time (root)” die gewünschte Sicherung eingestellt, “Zeitplan” bleibt deaktiviert. Anschließend muss ein Startskript für Anacron in einem der Verzeichnisse /etc/cron.daily/ (für tägliche Sicherung), /etc/cron.weekly/ (wöchentliche Sicherung) oder /etc/cron.monthly/ (monatliche Sicherung) angelegt werden. Es wird also beispielsweise die Datei /etc/cron.daily/1backintime in einem Editor mit Root-Rechten erstellt und mit folgendem Inhalt gefüllt:
#!/bin/bash
export HOME=/root
backintime -b > /dev/null 2>&1
Die im Namen vorangestellte Ziffer “1” ist fakultativ: Sie rückt das Skript an die Spitze der von Anacron sequenziell abzuarbeitenden Aufgaben, so dass das Backup nicht durch langwierige Prozesse verzögert werden kann. Die Datei wird gespeichert und schließlich mit folgendem Befehl ausführbar gemacht:
sudo chmod +x /etc/cron.daily/1backintime
Im Beispiel sollte Back in Time nun täglich mit Anacron ausgeführt werden. Ein Eintrag in der Crontab oder eine Einstellung bei “Zeitplan” ist nicht mehr nötig.
badblocks"
categories:
- “prufen-reparieren”
Physikalische Überprüfung des Datenträgers
badblocks -vsn /dev/sda1
Optionen:
-n nicht-destruktiver Lesemodus -s Fortschritt wird angezeigt -v Verbose-Modus -w Test mit Schreibzugriff
Baloo"
categories:
- “auflisten-analysieren”
- “dateien-verzeichnisse”
- “suchen” tags:
- “baloo”
- “dateiindizierung”
- “dolphin”
- “index”
- “indizierung”
- “suche”
Dienst zur Dateiindizierung (wird z. B. von Dolphin verwendet).
Verwendung
In der Datenbank gespeicherte Informationen zu einer Datei:
balooshow [OPTIONEN] Datei
Suchen auf der Kommandozeile:
baloosearch //?query=EIGENSCHAFT:SUCHBEGRIFF
Beispiele:
#Suche nach einem STICHWORT, das z. B. in Dolphin der Datei hinzugefügt wurde:
baloosearch //?query=tag:STICHWORT
#Suche nach STICHWORT und Breite
baloosearch //?query=tag:STICHWORT AND width:100
#Suche nach mehreren Stichworten
baloosearch //?query=tag:STICHWORT1 AND tag:STICHWORT2
#Suche nach Künstler (mit Wildcard "*") UND STICHWORT
baloosearch //?query=artist:John* AND tag:STICHWORT
#Suche nach Künstler und Genre
baloosearch //?query=artist:A* AND genre:Hörbuch
Konfiguration
Die Konfiguration erfolgt über balooctl
balooctl [Optionen] ARGUMENTE
ARGUMENTE | Beschreibung |
status | Status der Indizierung |
enable | Datei-Indizierung aktivieren |
disable | Datei-Indizierung deaktivieren |
purge | Datenbank löschen |
suspend | Datei-Indizierung pausieren |
resume | Datei-Indizierung wieder starten |
check | Nach nicht indizierten Dateien suchen und indizieren |
index | Angegebene Dateien indizieren |
clear | Angegebene Dateien nicht mehr indizieren |
config | Baloo-Einstellungen bearbeiten (siehe unten) |
monitor | Echtzeitüberwachung starten |
indexSize | Verwendeten Speicherplatz anzeigen |
failed | Dateien mit fehlgeschlagener Indizierung auflisten |
balooctl config
Befehl | Beschreibung | Beispiel |
add | Fügt den Wert eines Einrichtungs-Parameters hinzu. Im Beispiel wird der Pfad /var/log indiziert. | balooctl config add includeFolders /var/log/ |
rm | remove | Entfernt den Wert eines Einrichtungs-Parameters. Im Beispiel wird der obige Eintrag wieder entfernt. | balooctl config remove includeFolders /var/log |
list | ls | show | Zeigt den Wert eines Einrichtungs-Parameters | balooctl config ls includeFolders |
set | Setzt den Wert eines Einrichtungs-Parameters. Im Beispiel wird die Indizierung versteckter Orte erlaubt. | balooctl config set hidden true |
Banking"
categories:
- “buroprogramme”
moneyplex gnucash hibiscus
Banshee"
categories:
- “audio”
- “multimedia” tags:
- “brennen”
Damit Banshee Audio-CDs brennen kann, muss das Programm banshee-cdrkit installiert werden.
basename"
categories:
- “verzeichnisse”
basename dateiname
liefert den Dateinamen ohne Pfad
Siehe auch: Dateinamen bearbeiten
Bash-Konfigurationsdateien"
categories:
- “konfigurationsdateien”
- “shell”
Es gibt für die Bash zwei Konfigurationsdateien:
.bashrc
(Terminal unter X) .bash_profile
(Konsole / Login-Shell)
Für die Konsolen wird die .bash_profile benutzt. Für ein Terminal unter X wird die .bashrc benutzt. Daher setzt man normalerweise seine Einstellungen in der .bashrc und sourced diese in der .bash_profile, in der dann meist nur folgende Zeile steht:
[ -f ~/.bashrc ] && . ~/.bashrc
bb"
categories:
- “multimedia”
- “shell” tags:
- “ascii”
- “ascii-art”
bb ist ein tolles ASCII-Art-Demo, das die Möglichkeiten von ASCII-Art beindruckend darstellt.
Wenn kein Sound zu hören ist, muss die Datei also-oss installiert werden und das Programm über aoss bb
gestartet werden.
bc"
categories:
- “shell”
- “skripte”
- “sonstiges-shell”
- “variablen”
Führt mathematische Berechnungen in der Konsole aus. Der zu berechnende Ausdruck wird über die Standardeingabe eingelesen und das Ergebnis über die Standardausgabe ausgegeben.
Über die Option -l wird die Mathematik-Library geladen. Diese ermöglicht Berechnungen mit Winkelfunktionen.
+, -, *, /, ^ | entsprechend der Mathematischen Bedeutung |
- wert | liefert den negativen Wert von "wert" |
++ var, -- var | die Variable wird um 1 erhöht/erniedrigt und dann das Ergebnis ausgegeben |
var ++, var -- | die Variable wird als Ergebnis ausgegeben und dann um 1 erhöht/erniedrigt |
<, <=, >, >=, ==, != | Vergleiche (liefert 1 oder 0) |
!wert | liefert 1, wenn "wert=0" ist |
&& | liefert 1, wenn zwei Ausdrücke nicht 0 sind |
|| | liefert 1, wenn keiner der Ausdrücke 0 ist |
Für folgende Berechnungen muss die Mathematik-Library mit der Option -l geladen werden:
s (x) | sin (x) in rad |
c (x) | cos (x) in rad |
a (x) | arctan(x) in rad |
l (x) | ln (x) |
e (x) | e-Funktion |
j (x) | Bessel-Funktion |
Beispiele: echo "(5+3)/2 | bc echo "s (64.4)" | bc -l
mit scale
abgetrennt durch ein Semikolon kann die Anzahl der Nachkommastellen, auf die gerundet wird, angegeben werden: echo "scale=1; s (64.4)" | bc -l
Beep beim Login abschalten"
categories:
- “debian”
Wenn der Lautsprecher-Beep beim Login stört, so lässt sich dieser folgendermaßen abschalten: echo "options snd_hda_intel beep_mode=0" >> /etc/modprobe.d/alsa-base.conf
echo "blacklist pcspkr" >> /etc/modprobe.d/blacklist.conf
Beep in der Kommandozeile abschalten"
categories:
- “konfigurationsdateien”
- “shell”
Den Beep in der Kommandozeile abschalten:
In der Datei /etc/inputrc
die Zeile set bell-style none
aktivieren
Befehle in Abhängigkeit ausführen"
categories:
- “shell”
- “sonstiges-shell”
- “sonstiges” tags:
- “302”
- “303”
Ein zweiter Befehl wird in Abhängigkeit eines ersten Befehls ausgeführt:
- Zweiter Befehl nach Beendigung des ersten Befehls ausführten:
date; ls
- Zweiter Befehl ausführen, wenn der erste erfolgreich war:
make && make install
- Zweiter Befehle ausführen, wenn der erste nicht erfolgreich war:
ls datei || touch datei
- Kombination aus 2 und 3:
ls datei && echo "Datei vorhanden" || touch datei
Beiträge alphabetisch darstellen"
categories:
- “wordpress”
in die Datei category.php und in search.php wird in die Zeile
<?php if ( have_posts() ) : ?>
folgender Code eingefügt:
$posts = query_posts($query_string . '&order=asc&orderby=title');
Das Ergebnis sieht dann so aus:
<?php $posts = query_posts($query_string . '&order=asc&orderby=title'); if ( have_posts() ) : ?>
Benutzer auflisten"
categories:
- “benutzer-gruppen” tags:
- “passwd”
cat /etc/passwd
listet alle Benutzer eines Systems auf.
Benutzer root anlegen"
categories:
- “ubuntu” tags:
- “root”
sudo passwd root
, Passwort eingeben und fertig.
Bilder drehen"
categories:
- “bildbearbeitung”
Bild nach EXIF-Informationen drehen:
exifautotran *.jpg
`` `find . -name "*.JPG" -exec jhead -autorot "{}" ";"` ``
renrot Mit dem Befehl renrot lassen sich Bilder drehen und nach ihrem Aufnahmedatum umbenennen. renrot --mtime --name-template="%Y-%m-%d_%Hh%M-%S" --extension JPG
BigMap (OSM-Landkarten in hoher Auflösung runterladen)"
categories:
- “allgemein”
In Programmen wie z. B. QLandkarte können immer nur die aktuell dargestellten Kartenausschnitte mit der aktuellen auflösung als Bild abgespeichert werden. Abhilfe schafft hier die internetseite Bigmap, die ein Perl-Script zum Download der Karte mit dem gewünschen Ausschnitt in der gewünschten Auflösung (bzw. Zoomstufe) erstellt.
Script erstellen
- Auf BigMap den Ausschnitt wählen und mit “Submit” bestätigen.
- Im eingeblendeten Fenster Auflösung anpassen (z. B. mit “in/double size”)
- Script mit Klick auf “Perl” herunterladen.
Script unter Linux ausführen
Zunächst muss die GD Bibliothek für Perl installiert werden:
sudo apt-get install libgd-gd2-perl
Dann kann das heruntergeladene Perl-Script ausgeführt werden:
mkmap.pl > Landkarte.png
Bild in Postscript"
categories:
- “bildbearbeitung”
Bild in Postscript umwandeln convert
convert -page A4+0+0 -monochrome
-page A4 ist die Seitengröße +0+0 gibt die Position auf dem Blatt an. -monochrome wandelt in ein schwarz-weiß-Bild um.
Bildbearbeitung"
categories:
- “grafik”
showFoto / gwenview / xnview / gimp / gthumb
Bilder drehen"
categories:
- “bildbearbeitung”
find . -name "*.JPG" -exec jhead -autorot "{}" ";"
Bilder verkleinern"
categories:
- “bildbearbeitung” tags:
- “convert”
Ein Bild wird hiermit proportional auf eine Breite von 100 verkleinert: convert -scale 100x grossesbild.jpg kleinesbild.jpg
Statt 100x kann man auch eine Prozentzahl angeben: convert -scale 20% grossesbild.jpg kleinesbild.jpg
Beispiele um alle Bilder in einem Verzeichnis zu verkleinern: for file in *; do convert -scale 100x $file klein_$file; done for file in *.jpg; do convert -resize 20% $file `basename $file .jpg`_thumb.jpg; done for i in `ls *.jpg` ; do convert -geometry 1024x1024 -quality 90 $i xga_$i ; done
Hier noch ein Skript, um Bilder recht komfortabel zu verkleinern:
#! /bin/bash
subdir=scaled
function err_text {
while [ $# -gt 0 ] ; do
echo "$1" 1>&2 # Ausgabe auf stderr
shift
done
echo "`basename $0` [-ab -c Wert -d Wert] file" 1>&2 # Ausgabe auf stderr
exit 1
}
set -- `getopt "r:" "$@"` || err_text
res=0
dir=~
while : ; do
case "$1" in
-r) shift; res=$1;;
--) break;;
esac
shift
[ $# -eq 0 ] && break # Fehler in den angegebenen Parametern
done
shift
#Gültigen Pfad ermitteln bzw. abfragen
if [ "$1" == "" ] ; then
dir=`kdialog --getexistingdirectory "$dir" --caption "ScaleImage"`
[ $? -eq 1 ] && exit
else
dir="$1"
[ -d "$dir" ] || dir="${1%/*}" # Dateinamen vom Pfad abtrennen
[ -d "$dir" ] || exit # kein gültiger Pfad
fi
# ggf. Auflösung setzen
if [ $res -eq 0 ]; then
res=`kdialog --title "ScaleImage" --inputbox "Maximale Bildabmessung in Pixel" "500"`
[ $? -eq 1 ] && res=500
fi
if [ -f "$1" ] ; then
echo "Scaliere $1 auf eine maximale Größe von $res Pixeln"
convert -scale "$res"x"$res" "$1" "$dir/scaled/${1##*/}"
else
echo "Scaliere alle JPG-Bilder in $dir auf eine maximale Größe von $res Pixeln"
cd "$dir"
[ -d scaled ] || mkdir scaled
for i in * ; do
ext=`echo ${i##*.} | tr [:lower:] [:upper:]`
if [ "$ext" == "JPG" ]; then
echo "$i"
convert -scale "$res"x"$res" "$i" scaled/"$i"
fi
done
fi
Bilder zuschneiden"
categories:
- “bildbearbeitung”
convert Original.jpg -trim Zugeschnitten.jpg
entfernt den weißen Rand um Bilder.
Bilder nach Aufnahmedatum benennen"
categories:
- “bildbearbeitung”
Man kann Bilder mit dem Programm jhead nach ihrem Aufnahmedatum umbennenen. Ein einzelnes Bild nach seinem Aufnahmedatum benennen: jhead -nf%Y-%m-%d_%H-%M-%S DSC00523.JPG
Alle Bilder in einem Ordner nach ihrem Aufnahmedatum benennen: jhead -nf%Y-%m-%d_%H-%M-%S *.[jJ][pP][gG]
Alle möglichen Namensteile:
- %H 24 Stunden Format
- %j Tag des Jahres
- %m Monat des Jahres
- %M Minute
- %S Sekunde
- %w Wochentag in Zahlenform (0 ist Sonntag)
- %y letzte zwei Ziffern der Jahreszahl
- %Y Komplette Jahreszahl
Bildschirmauflösung"
categories:
- “xfce”
Sollte die Bildschirmauflösung nicht passen so lässt sie sich folgendermaßen anpassen (hier für die Auflösung 1280x1024): cvt 1280 1024
ermittelt die Werte für xrandr Datei /etc/X11/Xsession.d/45custom_xrandr-settings wird mit folgenden Einstellungen erstellt:
xrandr --newmode "1280x1024_75.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
xrandr --verbose --addmode VGA-1 "1280x1024_75.00"
xrandr --output VGA-1 --mode "1280x1024_75.00"
Bildschirmeinstellungen"
categories:
- “raspberry-pi”
In der Datei /boot/config.txt stehen alle wichtigen Einstellungen für die Bildschirmansteuerung.
Die Ränder werden über die Einträge
#overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 disable_overscan=1
eingestellt.
Bildschirmfotos"
categories:
- “grafik”
ksnapshot / xfce4-screenshooter / import (komsole)
Bildschirmnotizen"
categories:
- “dienstprogramme”
knotes / tomboy / xfce4-notes
Bildschirmsperre reparieren"
categories:
- “xfce”
Prinzipiell muss der xscreensaver aktiviert sein, sonst geht auch die Bildschirmsperre nicht. Sollte unter XFCE die Bildschirmsperre dennoch nicht mehr funktionieren, so kann diese wie folgt wieder aktiviert werden:
- Den laufenden xscreensaver-daemon beenden
sudo chmod a+s /usr/bin/xscreensaver
sudo chmod 755 /usr/bin/xlock
- xscreensaver-daemon neu starten
Bildschirmsperre"
categories:
- “desktop”
- “gnome”
- “xfce” tags:
- “xcreensaver”
Die normale Bildschirmsperre des Paketes xscreensaver ist leider nicht schön anzusehen. Abhilfe schafft hier der gnome-screensaver. Also xscreensaver deinstallieren und gnome-screensaver installieren.
Danach muss man evtl. noch in der Datei /usr/bin/xflock4
die Reihenfolge der Bildschirmsperren ändern zu:
# Lock by xscreensaver or gnome-screensaver, if a respective daemon is running
for lock_cmd in \
"gnome-screensaver-command --lock" \
"xscreensaver-command -lock" \
"light-locker-command --lock"
Bildübersicht"
categories:
- “bildbearbeitung”
convert vid:*.jpg directory.jpg
erstellt eine Übersicht aller jpg-Dateien im Verzeichnis in der Datei directory.jpg montage *.jpg panorama.jpg
erstellt eine Übersicht
Bootlogo ändern"
categories:
- “ubuntu”
sudo update-alternatives --config default.plymouth
sudo update-initramfs -u -k all
brasero"
categories:
- “audio”
- “multimedia” tags:
- “brennen”
Damit Brasero Audio-Dateien brennen kann, muss das Paket brasero-cdrkit
installiert werden.
break"
categories:
- “schleifen”
- “shell”
- “skripte”
Unterbricht eine Schleife (while, until, for):
while : ; do
read a
[ $a == "x" ] && break
done
Brennen"
categories:
- “multimedia-programme”
k3b / brasero
Fehlende Rechte in k3b:
sudo chmod 4711 /usr/bin/wodim; sudo chmod 4711 /usr/bin/cdrdao
Brother Drucker am Raspberry Pi"
categories:
- “drucken”
- “netzwerk”
- “raspberry-pi”
Raspberry Pi konfigurieren
Cups installieren
Als erstes muss cups installiert werden:
Cups konfigurieren
sudo apt-get install cups
Danach muss cups konfiguriert werden.
sudo vim /etc/cups/cupsd.conf
Die Zeile Listen localhost 631 müsst ihr auskommentieren #Listen localhost 631.
# Only listen for connections from the local machine
# Listen localhost:631
Port 631
Darunter müsst ihr folgende Zeile einfügen: Port 631
Ebenso muss der Zugriff auf cups von anderen Geräten erlaubt werden. Dies geschieht durch Abändern des folgenden Abschnittes:
<Location />
# Allow remote access...
Order allow,deny
Allow all
</Location>
Anschließend muss cups neu gestartet werden:
sudo /etc/init.d/cups restart
Drucker hinzufügen
Danach kann der Drucker hinzugefügt werden. Hierfür muss der Drucker mit dem Raspberry Pi per USB verbunden werden.
- Anschließend wird das Cups-Admin-Panel geöffnet ip-des-raspi:631/admin
- Unter Printer > auf Add Printer
- Unter local printers sollte der angeschlossene Drucker erscheinen. Diesen wählen wir aus und klicken auf continue
- Der Name und die Beschreibung kann angepasst werden. Den Namen bitte merken, da er später noch benötigt wird. Anschließend auf continue klicken.
- Danach wählen wir den Treibertyp: Select Another Make/Manufacturer. Und wählen dann Raw aus und klicken auf continue.
- Danach wieder Raw Queue (en) auswählen und auf Add Printer klicken
xinetd installieren
Danach müssen wir nur noch xinetd installieren.
sudo apt-get install xinetd
xinetd konfigurieren
In der Datei /etc/service fügen wir folgende Zeile ganz unten ein:
jetdirect 9100/tcp
Danach erstellen wir noch die Datei /etc/xinetd.d/jetdirect mit folgendem Inhalt und ersetzen den Namen des Druckers NAME_DES_DRUCKERS_VON_OBEN :
service jetdirect
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/lp
server_args = -d NAME_DES_DRUCKERS_VON_OBEN -o raw
groups = yes
disable = no
}
Zum Schluss müssen wir nur noch xinetd einmal neustarten:
sudo /etc/init.d/xinetd restart
Drucker am Computer/Laptop einrichten
-
Öffnen sie die Drucker-Einstellungen ihres Computers
-
Danach auf [+] Add klicken
-
Network Printer > Find Network Printer und die IP-Adresse des Raspberry Pi eingeben > Find klicken
-
Protocol: HP JetDirect
-
Anschließend noch den richtigen Treiber auswählen.
-
Falls der Treiber nicht in der Liste erscheint kann aus der deb-Datei(CUPSwrapper printer driver (deb package))von Brother die ppd-Datei extrahiert werden. Hierfür muss das deb-Paket entpackt werden. In folgendem Order (Druckername kann anders sein) dcpl2500dcupswrapper-3.2.0-1.i386/opt/brother/Printers/DCPL2500D/cupswrapper lässt sich die ppd-Datei finden.
Brother MFC-7320 unter Linuxmint 64Bit"
categories:
- “drucken”
- “linux-mint” tags:
- “64bit”
- “brother-mfc-7320”
- “brother-mfc-7320-linuxmint-64bit”
- “drucker”
- “linuxmint”
- “multifunktionsgeraet”
- “scanner”
- “treiber”
Drucker installieren: sudo apt-get install brother-cups-wrapper-laser lpadmin -p Brother-MFC-7320 -E -v usb://Brother/MFC-7320 -P /usr/share/ppd/Brother/MFC7220.ppd -o PageSize=A4
Scanner installieren: Scanner Treiber hier herunterladen und installieren.
Browser"
categories:
- “internet”
konquerer / firefox / opera / chromium / midori / w3m
bzip"
categories:
- “archive”
tar -xjvf Datei.tar.bz2
entpackt die Datei
cabextract"
categories:
- “archive”
cabextract datei.exe
entpackt Windowsprogramme
CAD"
categories:
- “grafik”
freecad / qcad / librecad
cal"
categories:
- “verschiedendes”
Kalender
CAPS-Lock"
categories:
- “hardware” tags:
- “tastatur”
Mit dem Befehl xmodmap -e "clear Lock"
lässt sich die CAPS-Lock-Taste abschalten (verübergehend) alternativ geht dies mit setxkbmap -layout de -option ctrl:nocaps
case"
categories:
- “abfragen”
- “shell”
- “skripte” tags:
- “esac”
case Wert in
Muster1) Befehle;;
Muster2) Befehle;;
...
*) Befehle;;
esac
Die Befehle hinter *) werden ausgeführt, wenn keines der aufgeführten Muster passt. Muster können über ein ODER (|) verknüpft werden: Muster1|Muster2.
cat"
categories:
- “ausgabe”
Dateianzeige ohne Unterbrechungen cat datei*.txt > datei.txt
cat kopiert eine Reihe von als Parameter übergegebenen Dateien in die Standard-Ausgabe. Mit Hilfe einer Umleitung »>« können Sie so mehrere Dateien zusammenkopieren: Beispiel: cat Teil1 Teil2 Teil3 > Gesamt
Werden gar keine Dateinamen angegeben, so wird die Standard-Eingabe verwendet. Es folgen einige nützliche Optionen:
- -b In ASCII-Dateien wird jede (nicht-leere) Zeile mit einer Zeilennummer versehen.
- -n In ASCII-Dateien wird jede Zeile mit einer Zeilennummer versehen.
- -E Zeige in ASCII-Dateien ein »$«-Zeichen am Ende jeder Zeile an (so können Sie Leerzeichen am Ende einer Zeile erkennen).
CD-Cover"
categories:
- “multimedia-programme”
koverartist / kover / brasero / diskwrapper / xcfa / disc-cover
CD-Laufwerk wird nicht gefunden"
categories:
- “cds-dvds”
Wenn ein Programm das CD-Laufwerk nicht findet, hilft es oft den Pfad statt mit /media/cdrom
oder etwas ähnlichem mit /dev/hdc
bzw. der jeweiligen Zuordnung für das entsprechende Laufwerk einzugeben.
CD-Schublade"
categories:
- “cds-dvds”
eject /dev/cdrom
wirft die CD aus eject -t /dev/cdrom
schließt die Schublade eject -T /dev/cdrom
öffnet, bzw. schließt die Schublade
CD-Spieler/-Ripper"
categories:
- “multimedia-programme”
xcfa / kscd / Grip / sound-juicer
cd"
categories:
- “dateien-verzeichnisse”
- “verzeichnisse”
cd
wechselt ins Home-Verzeichnis cd ~User
wechselt ins Home-Verzeichnis von User cd ..
wechselt ins übergeordnete Verzeichnis cd -
wechselt ins letzte Verzeichnis
CDDB"
categories:
- “multimedia-programme”
Nachfolger von freedb:
gnudb.gnudb.org
cdinfo"
categories:
- “cds-dvds”
cdinfo /dev/hdc
gibt Informationen über die eingelegte CD aus.
cdparanoia"
categories:
- “cds-dvds”
Auslesen einer Audio-CD. Die Tracks werden als fortlaufende wav-files im aktuellen Verzeichnis gespeichert. cdparanoia -d /dev/cdrom -B
Soll nur ein einzelner Track gelesen werden, bspw. Nummer 5 dann folgendes eingeben: cdparanoia -d /dev/cdrom "5"
cdrdao"
categories:
- “cds-dvds”
sudo cdrdao scanbus
zeigt alle Laufwerke und deren Adressen an cdrdao write --device /dev/hdc film.cue
brennt ein Image mit dem Namen film.cue + film.bin
cdrecord"
categories:
- “cds-dvds”
Standardtool um CDs zu brennen Mittlerweile wird cdrecord oft durch wodim ersetzt. Die Syntax sollte analog funktionieren. cdrecord -dev=/dev/cdwriter datei.iso
brennt das ISO-Image auf CD cdrecord -v speed=8 dev=/dev/hdd -data ~/daten.iso
brennt das Abbild daten.iso auf eine CD cdrecord dev=/dev/cdrom blank=fast -force
löscht eine wiederbeschreibbare CD cdrecord -atip dev=/dev/cdrom
zeigt Informationen über den Rohling an cdrecord -v speed=2 dev=/dev/cdrom -pad *.wav
brennt wav-Dateien auf CD cdrecord -v -fix dev=/dev/hdd
finalisiert eine CD
CDs kopieren"
categories:
- “cds-dvds”
Script um CDs zu kopieren:
#!//bin/bash
mount /dev/dvd
mkisofs -r -J -o ~/daten.iso -RJ /media/dvd
umount /dev/dvd
eject /dev/dvd
cdrecord -v speed=6 dev=/dev/dvdram -data ~/daten.iso
eject /dev/dvdram
rm daten.iso
chage"
categories:
- “benutzer-gruppen”
chage user
Haltbarkeit des Passworts des Users “user”
Chat"
categories:
- “internet”
pidgin / kopete
chattr"
categories:
- “dateirechte”
ändert Dateiattribute
chgrp"
categories:
- “dateirechte”
chgrp -hR gruppeneu /gruppe
ändert die Gruppe gruppe in gruppeneu
chmod"
categories:
- “dateirechte”
Zugriffsrechte ändern
chmod +x Datei
macht eine Datei ausführbar
chmod u=rwx, g=rx, o=r Datei
macht die Datei für den Besitzer schreib-, les- und ausführbar, für die Gruppe les- und ausführbar und für alle anderen lesbar
chmod g=rwx tausch/
macht das Verzeichnis tausch für die Gruppe les-, schreib- und ausführbar
chmod 0754 filename
gibt dem Eigentümer alle Rechte, die Gruppe darf lesen und ausführen, alle anderen nur lesen (r = 4, w = 2, x = 1).
Durch die Angabe von “=” werden die Rechte hart gesetzt: chmod u=rx
setzt für den Besitzer “r” und “x” und löscht “w”. Die Angabe von “+” und “-” hingegen setzt oder löscht einzelne Rechte ohne die anderen zu verändern: chmod u+x
setzt für den Benutzer zusätzlich die Berechtigung auszuführen.
find pfad -type f -exec chmod a-x "{}" ";"
ändert nur Dateien, keine Ordner.
Die Werte können auch mit Oktalzahlen angegeben werden.
ChordPro"
categories:
- “multimedia”
ChordPro-Dateien können mit chordpack einfach konvertiert werden:
./chordpack html Super\ Trouper.chopro > ST.html
./chordpack tex Super\ Trouper.chopro > ST.tex
Eine gute GUI für ChordPro gibt es hier: http://www.skeed.it/songpress.html
chown"
categories:
- “dateirechte”
Besitzer ändern chown user:gruppe Datei
chown -R user /pfad/
ändert rekursiv die Besitzrechte im Pfad /pfad/
chsh"
categories:
- “konsole”
- “shell”
Ändert die Login-Shell
chtntpw"
categories:
- “benutzer-gruppen” tags:
- “passwort”
Ein Windows-Passwort löschen/ändern.
- Die Windows-Partition mounten (in der Regel über ntfs-3g) und ins Verzeichnis
/WINDOWS/system32/config
wechseln. - Mit
chntpw -l SAM
die Benutzerkonten anzeigen lassen. - Mit
chntpw -u Benutzername SAM
das Programm zur Passwortverwaltung starten und den Anweisungen folgen.
Cinnamon"
categories:
- “cinnamon”
http://cinnamon.linuxmint.com/
Der Cinnamon-Desktop ist ein Gnome3-Fork.
clear"
categories:
- “konsole”
- “shell”
löscht den Inhalt der Konsole
cmp"
categories:
- “vergleichen-sortieren”
cmp datei1 datei2
Vergleichen von zwei Dateien
com"
categories:
- “vergleichen-sortieren”
comm datei1 datei2
Vergleichen sortierter Textdateien
configure, make, makeinstall"
categories:
- “kompilieren-installieren”
./configure
make
make install
Das Programm wird direkt installiert.
./configure
make
checkinstall
erzeugt ein fertiges Paket (rpm bzw. deb) Will man ein bestimmtes Paket erzeugen so übergibt man dies checkinstall mit dem Parameter -D: checkinstall -D make datainstall
Der dritte Schritt muss jeweils als root ausgeführt werden. Mit ./configure --help
kann man die Installationsvoraussetzungen prüfen.
convert"
categories:
- “bildbearbeitung”
Bildtyp umwandeln:
convert Infile.jpg Outfile.png
oder als Schleife für viele Bilder:
for picture in *.gif ; do
convert $picture "${picture/.gif}.png"
done
Bild in Postscript umwandeln
convert <bild.jpg> <bild.ps>
zusätzliche Parameter: convert -page A4+0+0 -monochrome <bild.jpg> <bild.ps>
A4 ist die Seitengröße +0+0 gibt die Position auf dem Blatt an -monochrome wandelt in ein schwarz-weiß-Bild um.
Bilder zuschneiden
convert Original.jpg -trim Zugeschnitten.jpg
entfernt den weißen Rand um Bilder.
Bilder verkleinern
convert -scale 100x grossesbild.jpg kleinesbild.jpg
Ein Bild wird hiermit proportional auf eine Breite von 100 verkleinert. Statt 100x kann man auch eine Prozentzahl angeben:convert -scale 20% grossesbild.jpg kleinesbild.jpg
- Script um alle Bilder in einem Verzeichnis zu verkleinern:
for file in * ; do convert -scale 100x $file klein_$file; done for i in *.jpg; do convert -resize 20% $i ‘basename $i .jpg‘ thumb.jpg; done
convert -geometry 1024x1024
for i in ‘ls *.jpg‘ ; do convert -geometry 1024x1024 -quality 90 $i xga $i ; done
Animationen
convert -delay 20 *.jpg out.gif
erstellt ein animiertes GIF-Bild aus allen JPG-Bildern im Verzeichnis.
mencoder ’mf://*.jpg’ -mf type=jpg:fps=4 -ovc copy -oac copy -o output.avi
oder mencoder "mf://*.jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4
erstellt einen AVI-Film bzw. einen mpeg-Film.
Bildübersicht
convert vid:*.jpg directory.jpg
erstellt eine Übrsicht aller jpg-Dateien im Verzeichnis in der Datei directory.jpg
montage *.jpg panorama.jpg
erstellt eine Übersicht.
Wasserzeichen in Bilder schreiben
convert -font /usr/X11R6/lib/X11/fonts/truetype/arial.ttf -pointsize 20 -fill gray -draw "text 30,30 ’Copyright by Linux’" <bild.jpg> <bildmitwasserzeichen.jpg>
schreibt den Text ”Copyright by Linux” in das Bild ”bildmitwasserzeichen.jpg”
DPI ändern und auf Monochrome setzen convert -monochrome -units PixelsPerInch input -resample 300 output
Werte auslesen
identify bild.png
liest Inforamtionen aus der Datei bild.png aus
Breite und Höhe werden so ermittelt:
height=$(identify bild.png | cut -d\ -f3 | cut -dx -f1)
width=$(identify bild.png | cut -d\ -f3 | cut -dx -f2)
DPI-Werte setzen
convert input.png -density 300 output.png
convmv"
categories:
- “kopieren-umbenennen-loschen”
convmv --upper --notest -r .
konvertiert rekursiv alle Dateinamen in Großschreibung convmv --lower --notest -r .
konvertiert rekursiv alle Dateinamen in Kleinschreibung convmv -f iso-8859-15 -t utf-8 -r .
konvertiert rekursiv alle Dateinamen in von iso-8859-15 nach utf-8
cp"
categories:
- “kopieren-umbenennen-loschen”
cp Quelle Ziel
kopiert Dateien Schalter:
- -d Links bleiben als Links erhalten
- -f existierende Zieldateien werden überschrieben
- -i Nachfrage vor Überschreiben
- -r Dateien werden rekursiv kopiert
- -R Ordner werden rekursiv kopiert
- -u existierende Zieldateien werden überschrieben, wenn Quelldatei neuer ist
- -p erhält die Dateiattribute
cpu-Geschwindigkeit"
categories:
- “systeminformationen” tags:
- “bogomips”
Die CPU-Geschwindigkeit kann anhand der Bogomips bestimmt werden. Diesen Wert liest man aus der Datei /proc/cpuinfo aus: cat /proc/cpuinfo | grep bogo
cpuinfo"
categories:
- “systeminformationen”
cat /proc/cpuinfo
sudo dmidecode | sed -n '/^Processor Information/,/^$/p'
cron"
categories:
- “zeitsteuerung”
Zeitsteuerung (Einträge in /etc/crontab)
crontab -l
zeigt alle Jobscrontab -r
löscht alle Crontabscrontab -e
öffnet einen Editor- Format: Minuten Stunden Tage Monate Wochentage Befehl (ein * gilt für jeweils alle)
- Beispiele:
- Kommando jede Minute ausführen:
* * * * * Befehl
- Jeden Tag um 22.00 h ausführen:
0 22 * * * Befehl
- Jeden Sa. um 22:00 h ausführen:
0 22 * * 6 Befehl
- Befehl alle 5 min ausführen:
*/5 * * * * Befehl
- Befehl alle 2 Stunden ausführen:
00 */2 * * * Befehle
- Kommando jede Minute ausführen:
- Man kann auch einen Alias eintragen:
@reboot
einmalig nach dem booten@yearly
einmal im Jahr - “0 0 1 1 *”@monthly
einmal im Monat - “0 0 1 * *”@weekly
einmal in der Woche - “0 0 * * 0”@daily
einmal am Tag - “0 0 * * *”@hourly
einmal in der Stunde - “0 * * * *”- Diese Aliase ersetzen die Zeitangaben in den ersten 5 Feldern!
- kcron bietet eine gute grafische Oberfläche
Mit service cron restart
wird der Dienst neu gestartet.
Befehle im Cron werden nicht in der bash, sondern mittels /bin/sh ausgeführt. Daher muss der aufzurufende Befehl mit /bin/sh funktionieren oder es wird ein Script aufgerufen, das mit #!/bin/bash
beginnt.
Zeit stellen
Um die Zeit per cronjob zu stellen, muss man ntp deinstallieren und folgenden cronjob ertsellen: 0 1 * * * /usr/sbin/ntpdate ptbtime1.ptb.de >/dev/null
Nun wird immer um 1 Uhr die Uhrzeit gestellt.
CUPS"
categories:
- “drucken”
Einstellungen
Alle Cups-Einstellungen lassen sich im Browser über die Adresse http://localhost:631
aufrufen.
CUPS-PDF
Einstellungen ändern: Die Datei /etc/cups/cups-pdf.conf
enhält alle Einstellungen, die für den PDF-Druck verantwortlich sind. Unter LinuxMint befindet sich diese Datei unter /usr/share/linuxmint/adjustments/cups-pdf
CUPS-Server einrichten
CUPS kann sehr komfortabel über die HTML-Schnittstelle http://localhost:631/admin
konfiguriert werden. Alle Einstellungen werden in der Konfiguratinsdatei /etc/cups/cupsd.conf
gespeichert.
Damit der CUPS-Server auf Anfragen reagiert, müssen die entsprechenden Schnittstellen (normalerweise auf Port 631) freigeschalten werden. Standardmäßig wird nur auf lokale Anfragen reagiert:
Listen localhost:631
Sollen auch andere Rechner aus dem Netzwerk zugriff haben, so muss unter Listen die IP-Adresse der entsprechenden Netzwerkkarte eingetragen werden. Wenn die entsprechende IP-Adresse des Servers 192.168.1.50
lautet, so muss folgender Eintrag ergänzt werden:
Listen 192.168.1.50:631
Jetzt müssen noch die einzelnen Clients freigeschaltet werden. Dies geschieht unter <Location />
# Restrict access to the server...
<Location />
Order allow,deny
Allow localhost
Allow @LOCAL
Allow 192.168.1.*
</Location>
In diesem Beispiel wurden zusätzlich alle Rechner im Netzwerk 192.168.1.*
freigeschaltet.
CUPS-Client einrichten
Ein CUPS-Client kann auf zwei unterschiedliche Arten konfiguriert werden.
1. Cups-Server des eingenen Rechners wird verwendet und Netzwerkdrucker werden eingebunden.
In diesem Fall wird der gewünschte Netzwerkdrucker in der Druckerkonfiguration über Hinzufügen -> Drucker/Klasse hinzufügen -> CUPS-Server (IPP/HTTP) auf Fremdrechner -> hinzugefügt. Hierzu muss der entsprechnede Treiber (PPD-Datei) auf dem Client installiert sein.
2. Direkter Zugriff auf den CUPS-Server
In der Datei /etc/cups/client.conf
kann ein Serfer angegeben werden, an den alle lokalen Anfragen weitergeleitet werden. Der Eintrag ServerName 192.168.1.50
leitet alle Anfragen auf den Rechner 192.168.1.50 weiter. Wird dieser Rechner nicht gefunden, so folgt (nach dem Timeout und einer Fehlermeldung) die Weiterleitung an den lokalen CUPS-Server des Client-Rechners. Bei dieser Konfiguration müssen die Drucker des Servers lokal nicht erneut installiert werden, da die Anfragen ja direkt auf den entsprechenden Server weitergeleitet werden, sondern erscheinen direkt auf dem Client-Rechner.
curl"
categories:
- “netzwerk”
- “analysieren-und-informationen”
Mit curl
kann die eigene IP-Adresse im Internet ermittelt werden. Dazu ist die Abfrage eines Servers notwendig. Nicht immer ist jeder Server erreichbar. Daher hier ein paar Beispiele:
curl ifconfig.me
curl icanhazip.com
curl ip.appspot.com
curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]\+"
cut"
categories:
- “kopieren-umbenennen-loschen”
- “vergleichen-sortieren”
Herausschneiden von Spalten oder Feldern aus einer Datei.
Extrahiert die fünfte Spalte aus der Datei datei.csv
cut -d " " -f5 datei.csv
Cyberjack"
categories:
- “hardware”
Damit ein User auf das Cyberjack Pinpad von http://www.reiner-sct.com zugreifen kann wird vom Installationspaket eine UDV-Regel angelegt. Dem Lesegerät wird jedoch die Gruppe “pcscd” zugeordnet und nicht wie in der Anleitung steht “cyberjack”. Daher muss der User der Gruppe “pcscd” zugeordnet werden!
Installation unter Debian 32bit (siehe auch Anleitung von Matrica ):
- Benötigte Pakete installieren: libccid, libpcsclite1, pcscd, GScriptor
- Pinpad an der USB-Schnittstelle anschließen und System neu starten.
- Aktuellen Treiber unter www.reiner-sct.de herunterladen und installieren (der von Debian macht evtl. Probleme)
Darstellung qt"
categories:
- “xfce” tags:
- “gtk”
- “qt”
Wenn die Darstellung von QT-Programmen unter xfce nicht mehr stimmt hilft es das Programm qt4-qtconfig zu installieren und zu starten. Dann bei GUI-Style GTK+ auswählen, File/save und fertig.
date"
categories:
- “verschiedendes”
Datumsanzeige
Datei-Deskriptoren (stdin, stdout, stderr)"
categories:
- “ein-ausgabeumlenkung”
- “shell” tags:
- “datei-deskriptoren”
- “deskriptoren”
- “stderr”
- “stdin”
- “stdout”
Datei-Deskriptor | Name | Gebräuchliche Abkürzung | Typischer Standard |
0 | Standardeingabe | stdin | Tastatur |
1 | Standardausgabe | stdout | Terminal |
2 | Fehlerausgabe | stderr | Terminal |
Datei zeilenweise einlesen"
categories:
- “dateibearbeitung”
- “shell”
- “skripte”
Mit while:
while read LINE; do
echo ${LINE[1]}
done < infile.txt
Aufruf über File-Descriptor (ermöglicht direkten Zugriff auf die Datei “datendatei”):
exec 3<Datendatei
while read -u 3; do
echo ${REPLY}
done
exec 3<&-
IP-Adressen aus einer Datei auslesen (Durch setzen des Punktes in der Trennzeichenvariablen IFS werden die durch “read” eingelesenen IP-Adressen aufgeteilt und in die Array-Variable “IP” geschrieben):
exec 3<iplist
IFS=".${IFS}"
while read -u 3 -a IP; do
echo ${IP[0]}.${IP[1]}.${IP[2]}.${IP[3]}
done
exec 3<&-
Dateimanager"
categories:
- “dienstprogramme”
thunar / gnome-commander / Konqueror / krusader / mc (Midnight Commander) / nautilus / dolphin
Dateinamen, Dateiendung und Pfad trennen"
categories:
-
“shell”
-
“skripte”
-
“stringbearbeitung”
-
Pfad ohne letzten Slash:
DIR="${i%/*}"
alternativ:DIR=`dirname "$i"`
-
Pfad mit Dateinamen ohne Endung:
xBASE="`${i%.*}"`
alternativ:xBASE=`` `echo "$i" | sed 's/\(.*\)\..*/\1/'` ``
-
Aktuellen Pfad durch . ersetzen:
[ "$DIR" == "$i" ] && DIR=.
-
Dateiname mit Endung:
FILE="${i##*/}"
alternativ:FILE=`basename "$i"`
-
Dateiendung:
FILEEXT=${i##*.}
alternativ:FILEEXT=`echo "$i" | sed 's/.*\.\(.*\)/\1/'`
Dateiendung in Großbuchstaben:FILEEXT=`echo ${i##*.} | tr '[:lower:]' '[:upper:]'
-
Dateiname ohne Endung:
FILEBASE=${FILE%.*}
Dateizuordnungen"
categories:
- “xfce”
~/.local/share/applications
Dort gibt es *.desktop-Dateien, die vom Dateimanager angelegt werden, wenn du selbst eine Zuordnung eines Programms zu einem Dateityp vornimmst. In der Datei mimeapps.list steht dann, auf welchen Dateityp sich diese Zuordnungen beziehen.
Die systemweiten *.desktop-Dateien sind in /usr/share/applications
oder in /usr/local/share/applications
Datenbank"
categories:
- “buroprogramme”
tellico / knowit / LibreOffice / kexi
Zeitzone einstellen"
categories:
- “allgemein”
dpkg-reconfigure tzdata
dd_rescue"
categories:
- “partitionieren-formatieren-kopieren”
- “prufen-reparieren”
dd_rescue dient zur Datenrettung. Es bricht nicht ab wie dd.
- Daten auslesen:
ddrescue -n /dev/sda1 /mnt/backup/image.iso logdatei.log
- Defekte Blöcke werden nochmals getestet:
ddrescue -RT /dev/sda1 /mnt/backup/image.iso logdatei.log
dd"
categories:
- “kopieren-umbenennen-loschen”
- “partitionieren-formatieren-kopieren” tags:
- “bootsektor-sichern”
- “pigz”
Komplette Festplatte von /dev/sda nach /dev/sdc klonen:
dd bs=1M status=progress if=/dev/sda of=/dev/sdc
Gesamte Platte (/dev/sda) komprimiert sichern
mit Hilfe von pigz
Liest die gesamte Platte /dev/sda ein und speichert diese komprimiert in backup01.gz. Das Programm pigz, dass alle Prozessorkerne durch Parallelisierung verwendet, muss in der Regel noch installiert werden.
dd bs=1M if=/dev/sda status=progress | pigz -c0 > backup01.gz
Zurückschreiben geht mit: pigz -dc backup01.gz | dd bs=1M of=/dev/sda
mit Hilfe von gzip
liest die ganze Platte (/dev/sda) ein, komprimiert und teilt in Dateien zu 2GB auf: dd bs=1M status=progress if=/dev/sda | gzip -c | split -b 2G - backup.gz
Zurückschreiben geht mit: cat backup.gz* | gzip -d | dd of=/dev/hda
Fortschrittsanzeige
Beim Aufruf von dd direkt durch den Parameter status=progress
aktivieren oder nachträglich über folgenden Befehl in einem zweiten Terminal eingeben:
sudo watch --interval=10 pkill -USR1 dd
Jetzt wird im Terminal, in dem dd gestartet wurde, alle 10 Sekunden einen Zwischenstand ausgegeben
Bootsektor (MBR) von /dev/sda sichern
dd if=/dev/sda of=sda.mbr bs=512 count=1
dd if=sda.mbr of=/dev/sda count=1
Achtung: ein falscher Syntax beim Wiederherstellen kann den Inhalt der gesamten Festplatte löschen!
CD sichern
dd bs=1M status=progress if=/dev/cdrom of=cd.iso
Festplatte sicher löschen
Folgendes Skript löscht die Daten auf einer Festplatte unwiederruflich. Achtung: Es gibt keine Möglichkeit so gelöschte Daten wieder herzustellen!
device=/dev/sda
dd if=/dev/zero of=$device bs=1M conv=noerror status=progress
dd if=/dev/urandom of=$device bs=1M conv=noerror status=progress
dd if=/dev/zero of=$device bs=1M0 conv=noerror status=progress
cat $device | strings
Im ersten Schritt wird das zu löschende Device angegeben (z.B. /dev/sda). In den nächsten drei Schritten wird das gesamte Device zunächst mit Nullen, dann mit Zufallszahlen und anschließend wieder mit Nullen beschrieben. Im letzten Schritt wird das gesamte Device nach einer Zeichenkette durchsucht. Wenn alles funktioniert hat darf dieser Aufruf keinerlei Ausgaben produzieren.
Ein einfaches Löschen der gesamten Platte geht auch mit: dd if=/dev/zero of=/dev/sda bs=1M conv=noerror status=progress
Einzelne Partition aus einem dd-Image mounten
Zunächst muss im Image der Startsektor der gewünschten Partition und die Sektorgröße ermittelt werden:
fdisk -lu backup01.img
Dann kann die gewünschte Partition mit Angabe des Startsektors und der Sektorgröße gemountet werden:
mount -o loop,offset=$**(**(137216 * 512)**)** backup01.img /media/mountpoint/
deb-Pakete erstellen"
categories:
- “kompilieren-installieren”
-
Ordnerstruktur erstellen:
- usr * bin * share - DEBIAN
In den Ordner DEBIAN kommt eine Datei mit Namen control, die folgende Angaben enthält:
Package: Programmname Version: 1.0 Section: admin Priority: optional Architecture: all Essential: no Depends: Installed-Size: 400 Maintainer: Name des Paketerstellers <name@adresse.com> Description: Dies ist die Beschreibung des Paketes
-
In den Ordner /usr/bin/ wird das zu installierende Programm koppiert, evtl weitere benötigte Dateien müssen in die Verzeichnisstruktur eingeordnet werden.
-
Soll das Programm im Anwendungen-Menü angezeigt werden, muss die Datei programmname.desktop im Verzeichnis /usr/share/applications befinden. Die Datei programmname.desktop het folgenden Inhalt.
[Desktop Entry] Encoding=UTF-8 Name=namedesprogrammes Comment=Dies ist ein Kommentar welcher beim Ueberfahren mit der Maus angezeigt wird Exec=namedesprogrammes Terminal=false Type=Application Categories=GNOME;GTK;System;
-
Ein Symbol für das Programm muss ins Verzeichnis usr/share/pixmaps. In der programmname.desktop-Datei muss folgende Zeile hinzugefügt werden. Icon=namedesprogrammes.png
-
Nun kann das Paket erstellt werden:
dpkg -b ordnername programmname-1.0.deb
Debian-testing Installation"
categories:
- “debian”
- “xfce”
Meine bevorzugte Distribution ist Debian in der testing-Variante. Da die Installation der testing-Variante nicht immer flüssig durchläuft, hier eine kurze Installationsbeschreibung:
-
Zunächst einmal debian stable installieren.
-
Die sources.list auf testing umstellen (“wheezy” durch “testing” ersetzen)
-
apt-get update / apt-get dist-upgrade
-
Es werden nun viele Programme als nicht mehr benötigt ausgewiesen. Das ist nicht korrekt. Einfach die angezeigten Programme via apt-get install nochmals zur Installation aufrufen.
-
Die Darstellung von KDE-Programmen ist nicht schön: qt4-qtconfig installieren als gui gtk+ auswählen
-
Die Schriftdarstellung von Debian ist nicht so schön wie unter ubuntu. Abhilfe: infinality ( https://www.freetype.org ) installieren. Dies liegt leider nicht in den Quellen, daher hier die Downloads:
-
Dann mittels
sudo bash /etc/fonts/infinality/infctl.sh setstyle
den Style “linux” auswählen. Weiter Infos hierzu: http://www.webupd8.org/2013/06/better-font-rendering-in-linux-with.html -
Style wählen (ca. Zeile 710):
sudo vi /etc/profile.d/infinality-settings.sh
-
.Xresources setzen:
echo "Xft.lcdfilter: lcddefault" >> ~/.Xresources
-
Erscheinungsbild/Schriften:
- Kantenglättung verwenden aktivieren
- Hinting: gering
- Farbreihenfolge: RGB
-
Nur wenn notwendig: Bessere Darstellung der Microsoft-Schriftarten:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="font" > <edit name="embeddedbitmap" mode="assign"> <bool>false</bool> </edit> </match> </fontconfig>
-
Nur wenn notwendig: Für eine bessere Darstellung des monospace-Fonts legt man die Datei .fonts.conf im Userverzeichnis an mit folgendem Inhalt:
<?xml version='1.0'?> <fontconfig> <alias> <family>monospace</family> <prefer> <family>DejaVu Sans Mono</family> <family>Inconsolata</family> <family>Andale Mono</family> <family>Courier New</family> <family>Microsoft JhengHei</family> <family>Microsoft YaHei</family> <family>MPH 2B Damase</family> </prefer> </alias> </fontconfig>
-
Debian kennt kein sudo:
apt-get install sudo
undadduser <benutzername> sudo
-
Dropbox muss direkt von dropbox.com heruntergeladen und installiert werden
-
encfs installieren
-
gnome-font-viewer installieren
-
apt-xapian-index installieren, damit synaptic die Schnellsuche einbindet
-
firmware-linux-nonfree installieren, damit bessere Bildschirmtreiber geladen werden
-
Wenn Debian vom USB-Stick installiert wurde, werden USB-Medien nur noch les- und nicht schreibbar nach /media/usb0 gemountet. Diesen Fehler beseitigt man, indem man die Zeile:
/dev/sdb1 /media/usb0 auto rw,user,noauto 0 0
in der Datei /etc/fstab löscht.
Debian"
categories:
- “debian” tags:
- “debian-2”
Webseite: http://www.debian.org
Download: http://www.debian.org/CD/http-ftp/
Die Installation erfolgt am einfachsten über einen USB-Stick. Der Debian-Installer sollte wie folgt auf den Stick kopiert werden:
cp debianimage.iso /dev/sdX
sync
ACHTUNG: Alle Daten auf sdX werden überschrieben! Daher muss unbedingt das richtige Device angegeben werden! Informationen über alle verfügbaren Devices bekommt man z. B. über fdisk -l
oder fsarchiver probe
.
Debian aktualisiert sich über ein sogenanntes Rolling-Release. Das bedeutet, dass sich das System kontinuierlich selbst auf dem neuesten Stand hält. Im Idealfall installiert man einmal sein System und muss dann jahrelang nichts mehr tun.
Ein tolles Nachschlagewerk zu Debian findet sich unter: http://debiananwenderhandbuch.de
Meine sources.list:
deb http://ftp.de.debian.org/debian/ jessie main contrib non-free
# deb-src http://ftp.de.debian.org/debian/ jessie non-free contrib main
deb http://security.debian.org/ jessie/updates main contrib non-free
# deb-src http://security.debian.org/ jessie/updates non-free contrib main
deb http://ftp.debian.org/debian/ jessie-proposed-updates main contrib non-free
# deb-src http://ftp.debian.org/debian/ jessie-proposed-updates main contrib non-free
#Third Parties Repos
#Debian Multimedia
deb http://ftp.uni-kl.de/debian-multimedia/ testing main non-free
# deb-src http://ftp.uni-kl.de/debian-multimedia/ testing main non-free
#Opera
## wget -O - http://deb.opera.com/archive.key | apt-key add -
deb http://deb.opera.com/opera/ stable non-free
#Mozilla
## wget -q http://mozilla.debian.net/archive.asc -O- | apt-key add -
deb http://mozilla.debian.net/ wheezy-backports iceweasel-beta
deb http://security.debian.org/ wheezy/updates main
#Multisystem
## wget -q http://liveusb.info/multisystem/depot/multisystem.asc -O- | sudo apt-key add -
deb http://liveusb.info/multisystem/depot all main
#Oracle VM VirtualBox
## wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | apt-key add -
deb http://download.virtualbox.org/virtualbox/debian/ wheezy contrib non-free
evtl. sind folgende Zeilen auch noch notwendig
apt-get install debian-keyring
gpg --keyring /usr/share/keyrings/debian-keyring.gpg -a --export 07DC563D1F41B907 |apt-key add -
wget -q http://mozilla.debian.net/pkg-mozilla-archive-keyring_1.1_all.deb -O- | apt-key add -
Der Desktopmanager LightDM ist unter Debian so eingestellt, dass Benutzernamen nicht angezeigt werden. Möchte man Dateinamen anzeigen so muss in der Datei /etc/lightdm/lightdm.conf statt greeter-hide-users=true
der Wert greeter-hide-users=false
eingetragen werden.
Debian kennt zunächst den sudo-Befehl nicht. Abhilfe: apt-get install sudo
addgroup user sudo
Unter Debian heißt Firefox “Iceweasel” und Thunderbird wird zu “Icedove”.
Defektes Image mounten"
categories:
- “einhangen”
sudo losetup /dev/loop1 image.img -o $((8192*512))
sudo mount /dev/loop1 /mountpunkt/
deluser"
categories:
- “benutzer-gruppen”
deluser user
löscht einen Benutzer deluser --remove-home user
mit seinem Home-Verzeichnis deluser mike sudo
löscht den Benutzer mike aus der Gruppe sudo
Der Debian-Bootvorgang"
categories:
- “debian”
Das init-Programm Wie alle Unices, wird Debian durch das Programm init gestartet. Die Konfigurationsdatei für init (dies ist /etc/inittab) gibt an, dass das erste zu startende Skript /etc/init.d/rcS ist. Dieses Skript startet alle anderen Skripte in /etc/rcS.d/, entweder indem diese eingebunden oder explizit als Unterprozess aufgerufen werden, je nach Dateierweiterung. Diese Skripte initialisieren das System indem sie z.B. Dateisysteme überprüfen und einbinden, Module laden, Netzwerk-Dienste starten, die Uhrzeit setzen, u.a. Danach werden zwecks Kompatibilität die Dateien (mit Ausnahme der mit einem “.” im Dateinamen) in /etc/rc.boot/ ausgeführt. Jedes Skript in diesem Verzeichnis ist normalerweise dem Systemadministrator vorbehalten, die Verwendung dieser in Paketen wird missbilligt.
Runlevel Nach dem Bootprozess führt init alle Startskripte in einem durch das Standard-Runlevel festgelegten Verzeichnis aus. (Dieses Runlevel wird durch den Eintrag id in /etc/inittab festgelegt). Wie viele System-V-kompatible Unixe hat Linux 7 Runlevel:
- 0 (Anhalten des Systems),
- 1 (Einzelnutzer Modus),
- 2 bis 5 (verschiedene Mehrbenutzer-Modi) und
- 6 (Neustart des Systems).
Für Debian-Systeme gilt id=2, was bedeutet, dass das Standard-Runlevel 2 sein wird, wenn der Mehrbenutzer-Modus aktiv ist und die Skripte in /etc/rc2.d/ werden ausgeführt.
In Wirklichkeit sind die Skripte in den Verzeichnissen /etc/rcN.d/ nur symbolische Links zu Skripten in /etc/init.d/. Dennoch werden die Namen der Dateien in jedem der /etc/rcN.d/-Verzeichnisse individuell gewählt, um anzugeben wie die Skripte in /etc/init.d/ gestartet werden. Speziell werden bevor ein Runlevel aktiv wird, alle Skripte die mit `K’ beginnen ausgeführt; diese Skripte beenden Dienste. Danach werden alle Skripte die mit `S’ beginnen gestartet; diese Skripte starten Dienste. Die zweistellige dem `K’ oder `S’ folgende Nummer bestimmt die Reihenfolge der Ausführung. Skripte mit kleinerer Nummer werden zuerst ausgeführt.
Dieses Vorgehen funktioniert, da die Skripte in /etc/init.d/ alle ein Argument akzeptieren, das entweder “start”, “stop”, “reload”, “restart” oder “force-reload” sein kann und eine dem Argument entsprechende Aktion ausführen (starten, stoppen, neuladen, neustarten, erzwinge Neuladen). Diese Skripte können auch ausgeführt werden, nachdem das System gebootet wurde, um verschiedene Prozesse zu kontrollieren.
Zum Beispiel führt das Argument “reload” im Kommando /etc/init.d/exim4 reload
dazu, dass der exim4-Daemon ein Signal zum erneuten Einlesen der Konfigurationsdatei erhält.
Anpassen des Bootvorgangs
Debian verwendet kein BSD typisches rc.local Verzeichnis, um den Bootvorgang anzupassen; stattdessen wird folgender Mechanismus angeboten.
Angenommen foo sei ein Skript, das während des Startvorgangs oder beim Übergang in ein bestimmtes (System V) Runlevel aufgerufen werden soll. Dann sollte der Systemadministrator:
Das Skript foo in das Verzeichnis /etc/init.d/ verschieben.
Das Debian-Kommando update-rc.d mit entsprechenden Argumenten starten, um Links zwischen den (Kommandozeilen spezifischen) Verzeichnissen rc?.d und /etc/init.d/foo anzulegen. Dabei bezeichnet ? eine Nummer von 0 bis 6, die einem der System V Runlevel entspricht.
Das System neu booten
Das Kommando update-rc.d setzt Links zwischen Dateien im Verzeichnis rc?.d und dem Skript in /etc/init.d/. Jeder Link beginnt mit einem `S’ oder `K’, gefolgt von einer Nummer, gefolgt vom Namen des Skripts. Beim Wechsel in das Runlevel N, werden Skripte in /etc/rcN.d/ die mit `K’ beginnen mit stop als Argument ausgeführt, gefolgt von den mit `S’ beginnenden Skripten in /etc/rcN.d/ mit start als Argument.
Man kann z.B. das Skript foo beim Booten ausführen lassen, indem man es nach /etc/init.d/ verschiebt und die Links mit update-rc.d foo defaults 19 erstellt. Das Argument defaults bezieht sich auf das Standard-Runlevel, welches zwischen 2 und 5 liegt. Das Argument 19 sichert, dass foo vor allen Skripten, welche die Nummern 20 oder größer enthalten, gestartet wird.
Desktop-Symbole fixieren"
categories:
- “xfce”
Damit die Desktop-Symbole in der XFCE-Umgabung nicht “verrutschen” können:
sudo chattr +i /home/<USER>/.config/xfce4/desktop/icons*
Geht nur mit Root-Rechten.
Desktop"
categories:
- “desktop”
Unter Linux hat man die Wahl zwischen verschiedenen Desktops (grafische Oberfläche). Die bekanntesten sind KDE, gnome, XFCE und LXDE.
/dev/null reparieren"
categories:
-
“prufen-reparieren”
-
System von Linux-Boot-CD booten
-
entsprechnede Festplatte mounten (z.B. nach /mnt/hda1)
-
rm /mnt/hda1/dev/null
-
mknod /mnt/hda1/dev/null c 1 3
-
Rechner neu starten
df"
categories:
- “auflisten-analysieren”
- “dateisysteme”
zeigt die Belegung aller gemounteten Medien an df -h .; echo; du -m --max-depth=1 . 2>/dev/null | sort -nr | head -10
zeigt den freien Platz auf der aktuellen Partition plus die zehn vollsten Unterverzeichnisse des aktuellen Verzeichnisses
dialog / kdialog"
categories:
- “abfragen”
- “shell”
- “skripte” tags:
- “dialog”
- “kdialog”
Mit dem dialog-Befehl (bzw. kdialog-Befehl) könne in Scripten Abfragedialoge verwendet werden.
Mögliche Arten von Dialogen: --yesno | Rückfrage mit Knöpfen für Ja/Nein |
--yesnocancel | Rückfrage mit Knöpfen für Ja/Nein/Abbrechen |
--warningyesno | Warnung mit Knöpfen für Ja/Nein |
--warningcontinuecancel | Warnung mit Knöpfen für Fortfahren/Abbrechen |
--warningyesnocancel | Warnung mit Knöpfen für Ja/Nein/Abbrechen |
--sorry | „Bedaure“-Nachricht |
--error | Fehlermeldung |
--msgbox | Benachrichtigung |
--inputbox | Eingabefeld |
--password | Passwort-Dialog |
--textbox | Textfeld-Dialog |
--textinputbox | Eingabefeld-Dialog |
--combobox | Kombinationsfeld-Dialog |
--menu | Menü-Dialog |
--checklist | Ankreuzliste |
--radiolist | Auswahldialog |
--passivepopup | Passives Aufklappfenster (Popup) |
--getopenfilename | Dialog zum Öffnen einer Datei |
--getsavefilename | Dialog zum Speichern einer Datei |
--getexistingdirectory | Dialog zur Auswahl eines Ordners |
--getopenurl | Dialog zum Öffnen einer Adresse (URL) |
--getsaveurl | Dialog zum Speichern einer Adresse (URL) |
--geticon | Dialog für die Symbolauswahl |
--progressbar | Dialog für Fortschrittsanzeige. Gibt für die Kommunikation eine D-Bus-Referenz aus. |
--getcolor | Dialog zur Auswahl einer Farbe |
--dontagain | Einrichtungsdatei und Optionsname zum Speichern des Status „nicht noch einmal anzeigen/fragen“ |
--slider | Schieberegler-Dialog, gibt den ausgewählten Wert zurück |
--calendar | Kalender-Dialog, gibt ein Datum zurück |
Optionen zur Konfiguration:
--yes-label | Text als Beschriftung des „Ja“-Knopfes verwenden |
--no-label | Text als Beschriftung des „Nein“-Knopfes verwenden |
--cancel-label | Text als Beschriftung des „Abbrechen“-Knopfes verwenden |
--continue-label | Text als Beschriftung des „Weiter“-Knopfes verwenden |
--title | Dialog-Titel |
--default | Voreingestellter Eintrag für Kombinationsfeld, Menü und Farbe |
--multiple | Ermöglicht die Rückgabe mehrere Dateien bei Anwendung der Parameter --getopenurl und --getopenfilename |
--separate-output | Listenelemente in separaten Zeilen ausgeben (für die Optionen checklist und Dateien öffnen mit --multiple) |
--print-winid | Gibt die winId (Fenster-Kennung) für jeden Dialog aus |
--attach | Macht den Dialog transient für X-Programme, die von winId vorgegeben werden |
Beispiele:
path=/home/user/folder/
ans=`kdialog --caption "Ordner wählen" --getexistingdirectory $path` 2> /dev/null > /dev/null
[ $? = 0 ] && path=$ans
path=/home/user/folder/
outfile=`kdialog --caption "Titel" --getopenfilename $path *.txt`
[ $? = 0 ] && file=$outfile
kdialog --caption "Titel" --yesno "Text"
[ $? = 0 ] && echo "Ja wurde gewählt"
anzahl=`kdialog --caption "Titel" --inputbox "Anzahl eingeben?" 2`
[ $? = 1 ] && anzahl=1
kdialog --caption "Titel" --msgbox "Infotext"
SRC=/home/user/.crypt
DST=/home/user/crypt
kdialog --title "encFS: Enter passphase..." --password "Enter passphrase for [$DST]" | encfs $SRC $DST
#!/bin/bash
ans=`kdialog --caption "Titel" --geometry 250x250 --menu "Text" \
a "Auswahl 1" \
b "Auswahl 2" \
c "Auswahl 3" \
d "Auswahl 4"`
if [ $? = 0 ]; then
case $ans in
a) echo "Auswahl 1";;
b) echo "Auswahl 2";;
c) echo "Auswahl 3";;
d) echo "Auswahl 4";;
esac
fi
#!/bin/bash
qdbusRef=$(kdialog --progressbar 'Text')
qdbus $qdbusRef Set "" maximum 100 > /dev/null
qdbus $qdbusRef Set "" autoClose true > /dev/null
qdbus $qdbusRef showCancelButton true > /dev/null
qdbus $qdbusRef setLabelText "Text für Dialog" > /dev/null
sleep 2
for ((i=1; i<=100; i++)); do
cancelled=$(qdbus $qdbusRef org.kde.kdialog.ProgressDialog.wasCancelled)
if [ "$cancelled" == "true" ]; then
echo "cancelled"
qdbus $qdbusRef org.kde.kdialog.ProgressDialog.close > /dev/null
exit 1
fi
sleep 0.01
qdbus $qdbusRef Set "" value $i > /dev/null
qdbus $qdbusRef setLabelText "Schritt $i" > /dev/null
done
Dienste starten"
categories:
- “prozessverwaltung”
/etc/init.d/samba start | stop | restart
cups, network, nfs, squid…
diff"
categories:
- “vergleichen-sortieren”
diff datei1 datei2
Vergleichen von zwei Textdateien sdiff datei1 datei2
Vergleichen von zwei Textdateien nebeneinander diff -r /verzeichnis1/ /verzeichnis2/
vergleicht zwei Verzeichnisse rekursiv diff -rq /verzeichnis1/ /verzeichnis2/
vergleicht zwei Verzeichnisse rekursiv und gibt nur die Verzeichnisnamen aus
dig"
categories:
- “netzwerk”
- “analysieren-und-informationen”
IP bzw. Name suchen: dig host.name.com any
digikam"
categories:
- “bildbearbeitung”
- “programme”
Datumsformat zum Sortieren %Y-%m-%d-%H-%M-%S
Digitalkamera"
categories:
- “grafik”
digikam / gthumb / shotwell
dircmp"
categories:
- “verzeichnisse”
Vergleichen zweier Verzeichnisse
dirname"
categories:
- “verzeichnisse”
liefert den Pfad bis zum letzten Ordner des angegebenen Pfades
Diskette einbinden"
categories:
- “disketten”
- “einhangen”
Floppy mounten udisks --mount /dev/fd0
Disketten kopieren"
categories:
- “disketten”
Diskette in Image-Dateien kopieren: dd if=/dev/fd0 of=floppyimage.img
Eine exakte Kopie der Diskette wird unter floppyimage.img abgelegt. und wieder zurück: dd if=floppyimage.img of=/dev/fd0
Distributionen"
categories:
- “distributionen”
Übersicht und Download unter: http://distrowatch.com
dmesg"
categories:
- “systeminformationen”
Ausgabe der Systemmeldungen dmesg | less
Meldungen zur Netzwerkkarte: dmesg | grep eth
dmidecode"
categories:
- “hardware”
- “system”
- “systeminformationen” tags:
- “dmi”
- “dmi-tabelle”
- “mainboard”
- “motherboard”
Über dmidecode
können die Informationen der DMI-Tabelle ausgelesen werden. Diese enthält Informationen über das BIOS und das Motherborad. sudo dmidecode
sudo dmidecode --type 17
bekommt man genaue Informationen über den eingesetzten Speicher. Motherboard-Name: sudo dmidecode | grep -i product
Folgende Informationen werden ausgelesen:
1 System 2 Base Board 3 Chassis 4 Processor 5 Memory Controller 6 Memory Module 7 Cache 8 Port Connector 9 System Slots 10 On Board Devices 11 OEM Strings 12 System Configuration Options 13 BIOS Language 14 Group Associations 15 System Event Log 16 Physical Memory Array 17 Memory Device 18 32-bit Memory Error 19 Memory Array Mapped Address 20 Memory Device Mapped Address 21 Built-in Pointing Device 22 Portable Battery 23 System Reset 24 Hardware Security 25 System Power Controls 26 Voltage Probe 27 Cooling Device 28 Temperature Probe 29 Electrical Current Probe 30 Out-of-band Remote Access 31 Boot Integrity Services 32 System Boot 33 64-bit Memory Error 34 Management Device 35 Management Device Component 36 Management Device Threshold Data 37 Memory Channel 38 IPMI Device 39 Power Supply
dolphin"
categories:
- “kde”
Deutsche Oberfläche wiederherstellen: Herunterladen der Datei
sudo cp d3lphin.mo /usr/share/locale-langpack/de/LC_MESSAGES
Download-Ordner in Firefox (Android)"
categories:
- “android-distributionen” tags:
- “downloadordner”
- “firefox”
Unter Android kann im Forefox der Download-Ordner wie folgt geändert werden:
- In einem neuen Tab about:config aufrufen
- In der Seiten-Suche down eingeben
- Den Eintrag browser.download.folderList suchen und den Wert von 1 auf 2 setzen
- Neuer Eintrag vom Typ String mit der Bezeichnung browser.download.dir erstellen und den gewünschen Zielpfad angeben z. B. /storage/extSdCard/Download
dpkg-reconfigure"
categories:
- “kompilieren-installieren”
- “x-server”
dpkg-reconfigure
rekonfiguriert ein bereits installiertes Paket
- X-Server neu konfigurieren:
dpkg-reconfigure xserver-xorg
- NIS neu konfigurieren:
dpkg-reconfigure nis
Dropbox Icon und Menü fehlen"
categories:
- “linux-mint”
- “xfce” tags:
- “dropbox”
- “dropbox-menueleiste”
- “icon-fehlt”
- “kein-icon”
- “kein-menue”
- “xfce”
Bei XFCE fehlt bei dem Dropbox eintrag in der Menüleiste das Icon und das Menü. Dies ist ein Dropboxbug. Mit folgendem Workaround umgeht man das Problem und man sieht das Icon und das Menü: Einfach im Autostart dropbox start
mit dbus-launch dropbox start
ersetzten und schon ist wieder alles wie gewohnt.
Dropbox"
categories:
- “kopieren”
- “netzwerk”
- “online-speicher” tags:
- “cloud”
Dropbox bietet einen kostenlosen Cloud-Speicher von 2 GB an http://www.dropbox.com Damit die dort gespeicherten Daten auch wirklich sicher sind, gibt es unter Linux die einfache Möglichkeit die Dateien über encfs zu verschlüsseln:
-
Im Dropbox-Ordner mit encfs einen verschlüsselten Ordner anlegen:
- Ordner für verschlüsselte Daten im Dropbox-Verzeichnis anlegen:
mkdir /home/user/Dokumente/Dropbox/privat_enc
- Ordner für unverschlüsselte Daten außerhalb von Dropboc anlegen:
mkdir /home/user/Dokumente/privat_dec
- Verschlüsseltes Verzeichnis erstmals verschlüsseln:
encfs /home/user/Dokumente/Dropbox/privat_enc /home/user/Dokumente/privat_dec
Enter drücken (Standard) Kennwort eingeben, bestätigen
- Ordner für verschlüsselte Daten im Dropbox-Verzeichnis anlegen:
-
Dieser Ordner kann nun beim Start der grafischen Oberfläche über ein Skript automatisch gemountet werden:Entweder mit folgendem Einzeiler:
echo "Passwort" | encfs -S /home/user/Dokumente/Dropbox/privat_enc /home/user/Dokumente/privat_dec
oder mit diesem Script:#! /bin/bash src=~/Oeffentlich/Dropbox/.Dokumente_encfs dest=~/.crypt/Dropbox_Dokumente [ -d "$dest" ] || mkdir "$dest" encfs --extpass='cat ~/.crypt/encfspasswd' "$src" "$dest"
Hierbei muss beachtet werden, dass der Zielordner
dest
(also der Ordner mit den entschlüsselten Daten) auf keinen Fall im Dropbox-Ordner liegen darf, da sonst die Daten unverschlüsselt an Dropbox übertragen werden!Nachteil des automatischen Einbindens ist, dass das Passwort für den Dropbox-Zugang unverschlüsselt in der Datei
encfspasswd
vorliegen muss. Daher sollte sich diese Datei wiederum auf einem verschlüsselten Laufwerk liegen. -
Weitere Möglichkeiten der Einbindung mit Passworteingabe:- Skript mit einer Passwortabfrage z. B. über kdialog eingesetzen.- Der Einsatz des Programms
cryptkeeper
(Auch hierbei aufpassen, dass der Ordner mit den entschlüsselten Daten auf keinen Fall im Dropbox-Ordner liegen darf!
Druck umleiten"
categories:
- “drucken”
Wenn man einen Druckauftrag in eine PDF-Datei an einen bestimmten Ort oder auf einen FTP-Server umleiten will, bietet sich folgendes Script an, das in kprinter mit /usr/bin/printtotausch.sh %psl %in
aufgerufen wird:
#! /bin/bash
outfile=/tmp/Druck_`users`_`date +%d_%m_%Y`_um_`date +%H_%M_%S`.pdf
ps2pdf -sPAPERSIZE=$1 $2 "$outfile"
ncftpput 192.168.178.1 Pfad_auf_dem_FTP-Server "$outfile"
Drumcomputer"
categories:
- “multimedia-programme”
hydrogen
DTP"
categories:
- “buroprogramme”
- “grafik”
scribus
du"
categories:
- “auflisten-analysieren”
schätzt Platzverbrauch von Dateien
du -h
Anzeige “human-readable” in Kilo, Mega, Gigabytedu -s
ohne Unterverzeichnissedu -c
bildet am Ende eine Gesamtsummedu -L
folgt symolischen Linksdu --max-depth=1 -h . | sort -rn | less
Verzeichnisse mit Platzverbrauch geordnet anzeigendu -Lhd0 <Ordner>
gibt die Gesamtgröße des Ordners aus, auch wenn dieser ein symbolischer Link ist
DVB MPEG-TS nach AVI konvertieren"
categories:
- “multimedia”
- “video” tags:
- “mplex”
- “project-x”
- “projectx”
- “transportstream”
- “ts”
Beim konvertieren von Transportstreams (z. B. aus einer DVB-Aufnahme) besteht zumeist das Problem, dass danach die Bild- und Tonspur nicht synchron sind. DVB-Transpotstreams können unter Linux eigentlich nur wie folgt vernünftig in ein mpeg-Video umgewandelt werden:
projectx video.ts
mplex -f 8 -o output.mpg video.{ac3,m2v,mp2}
Der erste Befgehl trennt den Transportstream in Video- und Tonspuren auf wie folgt:
- *.m2v: Die Videodatei ohne Ton
- *.mp2: Die Stereo Tonspur
- *.ac3: Die Surround Tonspur, so eine vorhanden.
Danach wird über mplex eine mpg-Datei mit synchronen Spuren erstellt, die dann z. B. mit AviDemux bearbeitet werden können.
Weitere Tutorials im Netz: Tutorial 1 Tutorial 2 (ubuntuusers)
DVD-Editoren"
categories:
- “multimedia-programme”
qdvdauthor / mandvd / kmediafactory / k9copy / dvd::rip / Bombono / DeVeDe
dvdbackup"
categories:
- “cds-dvds”
dvdbackup -i /dev/dvd -M -o ./dvd/
kopiert die ganze DVD auf die Festplatte.
Es wird dabei ein Ordner VIDEO_TS erstellt, der dann mit K3B gebrannt werden kann.
dvdrip"
categories:
- “cds-dvds”
Installation: sudo apt-get install dvdrip vcdimager cdrdao subtitleripper xcdroast ogmtools xvid4conf
Problem mit rar lösen:
wget http://www.exit1.org/dvdrip/contrib/rarlnx271.sfx.bin
chmod u+x rarlnx271.sfx.bin
./rarlnx271.sfx.bin
sudo mv rar /usr/local/bin/rar-2.71
sudo mv unrar /usr/local/bin/unrar-2.71
rm -rf rar
Edit - Edit Preferences - Commands - rar: /usr/local/bin/rar-2.71
dvips"
categories:
- “postscript-pdf”
DVI-Dateien in PostScript umwandeln
dyndns"
categories:
- “netzwerk”
- “serversoftware” tags:
- “ddclient”
Zuordnung eines Domainnamens an eine dynamische IP-Adresse. Anmeldung bei:
http://www.dyndns.com
/etc/init.d/ddclient
startet den Dyndns-Client
E-Mail"
categories:
- “internet”
thunderbird / evolution / kmail / opera
e-tobi Pakete (VDR) selbst kompilieren"
categories:
- “kompilieren-installieren”
- “multimedia”
- Füge folgende Zeile in die Datei
/etc/apt/sources.list
ein:deb-src http://e-tobi.net/vdr-experimental sid base vdr-multipatch addons
- Die bearbeitete sources.list einlesen.
apt-get update
- Zum Compilen benötigtes Zeug installieren.
apt-get build-dep vdr
- Sourcecode von vdr und dem streamdev-plugin installieren.
cd /usr/src; apt-get source vdr vdr-plugin-streamdev
- Verzeichniswechsel in das vdr-source-Verzeichnis.
cd /usr/src/vdr-VERSIONNUMBER
- vdr Debian-Paket erstellen.
dpkg-buildpackage
- vdr-dev installieren, da es zum Plugin bauen benötigt wird.
dpkg -i vdr-dev*.deb
- Verzeichnis wechseln.
cd /usr/src/vdr-plugin-streamdev-VERSIONNUMBER
- vdr-plugin-streamdev Debian-Paket bauen.
dpkg-buildpackage
- Nun liegendie Debianpakete in
/usr/src/
und können installiert werden. dpkg -i vdr_VERSIONNUMBER_amd64.deb
dpkg -i vdr-plugin-streamdev-server_VERSIONNUMBER_amd64.deb
e2fsck"
categories:
- “dateisysteme”
- “prufen-reparieren” tags:
- “superblock”
ext2/ext3-Dateisysteme überprüfen
e2fsck -f /dev/xxx
erzwingt einen Dateisystemtest auf dem Dateisystem /dev/xxx-
e2fsck -b Blocknummer
Falls der Superblock defekt ist, kann der Ersatz-Superblock im Block “Blocknummer” verwendet werden. Diese Blocknummer kann mitmke2fs -n /dev/xxx
ermittelt werden. e2fsck -fD /dev/xxx
stellt bereits existierende Dateien aufdir_index
um. Zuvor muss diese Option mittune2fs
aktiviert werden. Weiterhin werden beim Aufruf dieser Option ungültige Einträge aus den Verzeichnisdateien gelöscht (die Namen gelöschter Dateien bleiben dort nämlich gespeichert) und die Baumstruktur der Dateinamen wird neu aufgebaut. Dies bringt deutliche Geschwindigkeitsvorteile bei Verzeichnisoperationen.
echo"
categories:
- “shell”
- “skripte”
- “sonstiges-shell”
- “sonstiges”
Textausgabe mit Zeilenumbruch: echo Text
Textausgabe ohne Zeilenumbruch: echo -n Text
Echtzeitrechte für die Benutzergruppe "Audio""
categories:
- “audio”
- “multimedia”
Der Soundserver Jackd benötigt zum zuverlässigen Betrieb besondere Rechte. Diese Rechte kann man der Gruppe “Audio” zuweisen, indem man mit einem Editor mit Rootrechten die Datei /etc/security/limits.conf bearbeitet. Vor Schluss sind drei Zeilen einzufügen, das sieht dann so aus:
@audio - rtprio 90
@audio - nice -10
@audio - memlock 4000000
Die Rechte stehen erst nach einer Neuanmeldung am System zur Verfügung.
Editoren"
categories:
- “entwicklung”
geany / kate / vi / pico / joe
eigenes Icon beim Login"
categories:
- “xfce”
Bilddatei (nicht größer als 200x200) im home-Verzeichnis als .face
abspeichern.
Eingabe-History aktivieren"
categories:
- “konfigurationsdateien”
- “konsole”
- “shell”
in der Datei /etc/inputrc
oder ~/.inputrc
folgende Einträge freischalten:
"\e[5~": history-search-backward
"\e[6~": history-search-forward
oder
"\e[A": history-search-backward
"\e[B": history-search-forward
Eingabeumlenkung"
categories:
- “ein-ausgabeumlenkung”
- “shell” tags:
- “305”
Datei als Standardeingabe verwenden: <
echo < datei.txt
Umlenkung mit Hilfe von Datei-Deskriptoren:
Befehl <&n | Standard-Eingabe für Befehl wird vom Datei-Deskriptor n übernommen. |
Befehl m<&n | Der gleiche Vorgang, nur wird die Eingabe, die normalerweise vom Datei- Deskriptor m stammt, aus dem Datei- Deskriptor n übernommen. |
Befehl <&- | Schließt die Standard-Eingabe. |
Einstellungen für ViaChrome Grafikchips"
categories:
- “system”
- “x-server”
Die ViaChrome Grafikchips werden nur sehr schlecht unterstützt. Mit nachfolgender xorg.conf bekommt man unter ubuntu ein sinnvolles Bild zustande:
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "de"
Option "XkbVariant" "nodeadkeys"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizEdgeScroll" "0"
EndSection
Section "Device"
Identifier "Via Chrome9 HC IGP"
Driver "vesa"
BusID "PCI:1:0:0"
VideoRam 128
Option "UseFBDev" "true"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
HorizSync 28-64
VertRefresh 43-60
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Via Chrome9 HC IGP"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Synaptics Touchpad"
EndSection
Section "DRI"
Mode 0666
EndSection
emacs"
categories:
- “editoren”
sehr großer und mächtiger Editor
emovix"
categories:
- “multimedia”
- “video”
Beheben des Fehlers in k3b:
-
Download unter: http://sourceforge.net/project/showfiles.php?group_id=61561&package_id=67132&release_id=338401
-
Umbenennen des Normalize-Programms
sudo mv /usr/bin/normalize-audio /usr/bin/normalize
-
Datei anlegen
sudo nano /usr/bin/normalize-audio
mit folgendem Inhalt:#/bin/bash case "$1" in --version) normalize --version | sed -e 's/normalize /normalize-audio /g' ;; *) normalize $* ;; esac
-
Die angelegte Datei als ausführbar markieren:
sudo chmod +x /usr/bin/normalize-audio
env"
categories:
- “konsole”
- “shell”
gibt die Umgebungsvariablen (Environment) aus
Environmentvariablen setzen"
categories:
- “konsole”
- “shell”
PATH=$PATH:/home/bin
fügt den Ordner /home/bin
der Variable PATH
hinzu.
In der Datei .profile sollte folgendes eingetragen sein:
# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
fi
Ethernet-Schnittstelle deaktiviert"
categories:
- “hardware”
- “netzwerk”
- “analysieren-und-informationen”
- “system”
- “wlan” tags:
- “deaktiviert”
- “ethernet”
- “lan”
- “network-manager”
- “netzwerk”
- “wlan”
Nach einem Update des Netzwerk-Managers (network-manager) kann es vorkommen, dass die einzelne Netzwerkschnittstellen (z. B. die Ethernet-Schnittstelle) deaktiviert wurde. Dies kann mit folgendem Befehl kontrolliert werden:
lshw -class network
Oder etwas komfortabler über lshw-gtk.
Schuld daran kann ein Bug sein, bei dem die Konfigurationsdatei 10-globally-managed-devices.conf nicht kompatibel zur neuen Version des network-manager ist. In diesem Fall muss einfach die vorhandene Date durch eine leere Datei ersetzt und der Netzwerkmanager neu gestartet werden:
sudo mv /etc/NetworkManager/conf.d/10-globally-managed-devices.conf /etc/NetworkManager/conf.d/10-globally-managed-devices.conf.backup
sudo touch /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
sudo service network-manager restart
Dann sollte die LAN-Schnittstelle wieder aktiv und im Netzwerkmanager verfügbar sein.
Diesen Fehler gab es bereits beim Update des network-manager auf Version 1.2.4 und bei mir nun beim Update auf Version 1.22.10.
Evolution"
categories:
- “programme”
- “verschiedendes”
Evolution reagiert nicht mehr Wenn Evolution bei der Anzeige der E-Mails hängt, hat es geholfen, einfach mal die Datei ~/.evolution/mail/local/folders.db umzubenennen. Wenn man Evolution danach öffnet, werden die E-Mails in den Ordnern neu eigelesen, was eine Weile dauern kann. Mit evolution --force-shutdown
lässt sich Evolution beenden.
Feiertage und Ferien Auf http://www.sunbird-kalender.de/extension/kalender/ gibt es die deutschen Daten im .ics-Format. Diese kann man dann einfach in den Kalender von Evolution einbinden: Es ist empfehlenswert, einen separaten Kalender anzulegen und die Daten dort zu speichern, ist dann farblich übersichtlicher:
"Datei -> Neu -> Kalender -> Typ: "Auf diesem Computer" -> Name: z.B. "Feiertage" -> andere Farbe auswählen als der normale Kalender"
importieren: "Datei -> importieren -> vor -> einzelne Datei -> vor -> Dateiname: runtergeladene Datei auswählen -> Dateityp: "iCalendar-Dateien (.ics)" -> passenden Kalender auswählen (z.B. "Feiertage") -> vor -> importieren".
Synchronisation Evolution lässt sich sehr einfach mit dem Kalender von Google synchronisieren. Dazu muss man einfach einen neuen Kalender anlegen, als Art >Google< auswählen und den Google-Benutzernamen angeben. über “Liste abrufen” lassen sich dann, nach Angabe des Passwortes, alle eigenen Googlekalender einbinden. Diese werden dann automatisch synchronisiert.
exit"
categories:
- “konsole”
- “shell”
- “skripte”
- “sonstiges”
Konsole beenden (auch Strg+D
oder logout)
expand"
categories:
- “vergleichen-sortieren”
expand datei
Tabulatoren in Leerzeichen verwandeln
export"
categories:
- “konsole”
- “shell”
export PATH="/home/ich/meineProgramme:"$PATH":/home/ich/proggis"
Umgebungsvariable global exportieren:
source export variable="inhalt"
Externe Monitore richtig anordnen & Audioausgabe umschalten"
categories:
- “desktop”
- “hardware”
Wenn man einen externen Monitor an einem Laptop anschließt, kann es sein, dass man ihn lieber an einer anderen Stelle positioniert haben möchte und dass über diesen Anschluss(HDMI) der Ton nun ausgegeben werden soll. Hier wird erklärt, wie man eine udev Regel erstellt, welche danach das Skript aufruft, welches die Monitorposition und den Audioausgang bestimmt.
udev-Regel erstellen: Wir erstellen die Regeldatei sudo nano /etc/udev/rules.d/monitor.rules
mit folgendem Inhalt SUBSYSTEM=="drm", ACTION=="change", RUN+="/usr/local/bin/monitor_toggle"
Danach erstellen wir das Skript, welches die Anpassungen vornimmt: sudo nano /usr/local/bin/monitor_toggle
Wir müssen die Datei noch ausführbar machen: sudo chmod +x /usr/local/bin/monitor_toggle
Danach müssen wir die Datei nur noch mit ihrem Inhalt befüllen. Mit diesem Skript können Monitore an HDMI(HDMI1) und VGA(DP1) angeschlossen und angepasst werden. Mit dem Befehl xrandr
kann man feststellen, wie die angeschlossenen Bildschirme heißen. Beide Monitore werden jeweils links des Laptopmonitors(eDP1) stehen und die Auflösung 1920x1080 fahren. Der Laptopmonitor wird der Hauptmonitor sein. Wenn HDMI angeschlossen wird, wird die Tonausgabe noch auf den Monitor gestellt, sonst wird der Ton über den Analogen Ausgang und die Laptoplautsprecher ausgegeben.
#!/usr/bin/env bash
xrandr_command="/usr/bin/xrandr"
sed_command="/bin/sed"
is_hdmi_connected=`DISPLAY=:0 $xrandr_command | $sed_command -n '/HDMI1 connected/p'`
is_dp1_connected=`DISPLAY=:0 $xrandr_command | $sed_command -n '/DP1 connected/p'`
if [ -n "$is_hdmi_connected" ]; then
xrandr --auto
xrandr --output HDMI1 --left-of eDP1
xrandr --output eDP1 --primary
xrandr --output eDP1 --mode 1920x1080
pacmd set-card-profile 0 "output:hdmi-stereo"
elif [ -n "$is_dp1_connected" ]; then
xrandr --auto
xrandr --output DP1 --left-of eDP1
xrandr --output eDP1 --primary
xrandr --output eDP1 --mode 1920x1080
pacmd set-card-profile 0 "output:analog-stereo+input:analog-stereo"
else
xrandr --auto
pacmd set-card-profile 0 "output:analog-stereo+input:analog-stereo"
fi
F3 (Fight Fake Flash)"
categories:
- “dateisysteme”
- “prufen-reparieren” tags:
- “f3”
- “f3fix”
- “f3probe”
- “f3read”
- “f3write”
- “flash”
- “sd-karte”
Tools zum Testen von Flash-Speichern (USB-Sticks, SD-Karten etc.)
f3write, f3read
Ausführlicher Test des Speichers. Zunächst werden Daten mit f3write geschrieben und anschließend mit f3read verifiziert:
f3write /media/user/device/
f3read /media/user/device/
- Den Pfad entsprechend dem Mountpunkt anpassen.
Hierbei wird das selbe Dateiformat verwendet, dass auch das Windows-Tool h2testw.exe ( link ) der c’t verwendet.
f3probe
Schneller Test der real vorhandenen Größe.
Dabei werden sowohl alle Daten auf dem Speicher als auch die Formatierung überschrieben!
Alle Partitionen des Datenträgers zuvor ausbinden:
sudo umount /dev/sdxn
Das Device “/dev/sdxn” entsprechend aller eingebundenen Partitionen anpassen.
sudo f3probe --destructive --time-ops /dev/sdx
- Das Device “/dev/sdx” entsprechend anpassen.
Achtung, das angegebene Device wird unwiderruflich gelöscht!
f3fix
Erzeugt eine (unformatierte) Partition, die der tatsächlichen Speichergröße entspricht. Hierfür können die Ergebnisse von f3probe verwendet werden. (Alle Partitionen des Datenträgers müssen zuvor ausgebunden werden - siehe f3probe).
sudo f3fix --last-sec=16477878 /dev/sdx
- Der “Letzte Sektor” (–last-sec) des tatsächlich zur Verfügung stehenden Speichers wird von f3probe ausgegeben (Zeile “Usable size:”, dort die Zahl direkt vor “blocks”).
- Das Device “/dev/sdx” entsprechend anpassen.
Anmerkung: Sofern f3fix meldet, dass die Anpassungen nicht an den Kernel gemeldet werden konnten, muss der Speicher einmal ausgesteckt und wieder eingesteckt werden, bevor er formatiert werden kann.
Anschließend kann die Partition formatiert werden:
sudo mkfs.fat /dev/sdx1
- Das Device “/dev/sdx1” entsprechend anpassen.
fail2ban"
categories:
- “allgemein”
Status abfragen
Jail-Liste anzeigen:
fail2ban-client status
Status eines einzelnen Jails anzeigen:
fail2ban-client status nextcloud
Logfile:
tail -n 1000 /var/log/fail2ban.log | grep "an "
Entbannen
Das Entbannen funktioniert über das Programm fail2ban-client:
fail2ban-client set <JAIL> unbanip <IP>
Beispiel für sshd:
fail2ban-client set sshd unbanip 192.168.16.33
Favicon"
categories:
- “wordpress”
In die Datei header.php innerhalb von head /head einfügen: link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"
fdformat"
categories:
- “disketten”
fdformat /dev/fd0
formatiert die Diskette
fdisk"
categories:
- “partitionieren-formatieren-kopieren”
Plattengröße anzeigen fdisk -l /dev/hda
Fehlende DLLs"
categories:
- “wine”
gibt es unter: http://www.tatanka.com.br und http://www.dll-files.com oder bei http://www.wintotal.de oder http://www.winfuture.de
Fehlermeldung: Uhr falsch"
categories:
- “dateisysteme”
- “debian”
- “system”
Wenn beim booten die Fehlermeldung:
systemd-fsck[272]: Der Zeitpunkt des letzten Schreibens des Superblocks liegt in der Zukunft.
systemd-fsck[272]: (weniger als ein Tag, wahrscheinlich aufgrund falsch gesetzter Hardware-Uhr) REPARIERT.
erscheint, bringt folgender Befehl Anhilfe:
timedatectl set-local-rtc 0
Fehlschlag beim Holen von … Hash-Summe stimmt nicht überein"
categories:
- “kompilieren-installieren”
Die Fehlermeldung: Fehlschlag beim Holen von http://de.archive.ubuntu.com/ubuntu/dists/precise/main/source/Sources Hash-Summe stimmt nicht überein
lässt sich folgendermaßen beheben:
sudo rm -rf /var/lib/apt/lists
sudo apt-get clean
sudo apt-get update
Fenster: Bedienelemente verschwinden"
categories:
- “xfce”
Mit xfwm4 --replace
wird der Fenstermanager repariert.
Fenster-Buttons wieder rechts"
categories:
- “gnome”
gconftool-2 --type string --set /apps/metacity/general/button_layout "menu:minimize,maximize,close"
Fernwartung"
categories:
- “fernzugriff”
- “netzwerk”
Um auf einen entfernten PC zuzugreifen, der hinter einer Firewall (Router) sitzt, verwendet man am besten “Reverse-VNC”. Das bedeutet, dass der Hilfesuchende einen VNC-Server startet und man selbst per Client und Portforwarding im eigenen Router auf den Rechner zugreift. Das ganze geht so:
Der Hilfesuchende muss einen VNC-Server starten. Dies geht unter Windows/Mac am besten mit einem kleinen Programm, das man sich unter
http://www.heise.de/netze/tools/fernwartung
erzeugen lassen kann. Es ist dazu notwendig am eigenen Router eine dyndns-Adresse zu haben. Als Port gibt man am besten 55000 an. Unter Linux genügt es, wenn der Hilfesuchende mit sudo apt-get install x11vnc
den VNC-Server installiert und dann mit x11vnc -connect dyndns.example.com:55000
startet. Selbst startet man den Viewer mit vncviewer -listen 49500
(Die Zahl 49500 ergibt sich aus der Differenz von 55000 und 5500, was die Voreinstellung ist.) in der Konsole. Will man auf einen Windows/Mac-Rechner zugreifen, muss man unter
http://www.realvnc.com/cgi-bin/download.cgi
RealVNC herunterladen, ausführbar machen und dann mit ./vnc-E4_5-x86_linux_viewer -listen 55000 -Protocol3.3
starten. Es ist wichtig, dass man zuerst bei sich im Router Portforwarding für Port 55000 anschaltet und dann erst der Server beim Hilfesuchenden gestartet wird. Außerdem sollte man für Windows/Mac das Serverprogramm von heise.de nicht per E-Mail verschicken, sondern zum Download anbieten, da es meist als Virus erkannt und vom E-Mail-Provider gelöscht wird.
Hier nun das Ganze noch einmal schrittweise:
- Zugriff auf Windows/Mac
- Der Helfer muss eine feste IP oder einen dyndns-Adresse und diese im Router eingetragen haben.
- Der Helfer startet in seinem Router Portforwarding für Port 55000.
- Der Helfer startet den VNC-Viewer mit
./vnc-E4_5-x86_linux_viewer -listen 55000 -Protocol3.3
Das Programm kann heruntergeladen werden. - Dem Hilfesuchenden lässt man das Programm zur Fernwartung, das man sich unter
http://www.heise.de/netze/tools/fernwartung
erzeugen lassen kann, zukommen und der Hilfesuchende startet das Programm. Schon hat man Zugriff auf den PC.
- Zugriff auf Linux
- Der Helfer muss eine feste IP oder einen dyndns-Adresse und diese im Router eingetragen haben.
- Der Helfer startet in seinem Router Portforwarding für Port 55000.
- Der Helfer startet den VNC-Viewer mit
vncviewer -listen 49500
(evtl. muss hierzu das Paket xtightvncviewer installiert werden) - Der Hilfesuchende startet in der Konsole das Fernwartungsprogramm mit
x11vnc -connect adresse.dyndns.org:55000
. Evtl. muss das Paket x11vnc installiert werden.
Netzwerkeinstellungen beim Raspberry PI"
categories:
- “netzwerk”
- “raspberry-pi” tags:
- “netzwerk”
- “proxy”
Ab Raspian Jessie sind die notwendigen Netzwerkeinstellungen beim Raspberry nicht mehr in /etc/network/interfaces sondern in /etc/dhcpcd.conf.
An diese Datei hängt man folgendes an:
interface eth0
static ip_address=192.168.178.10/24static routers=192.168.178.1
static domain_name_servers=192.168.178.1
Neustart dann mit sudo reboot
oder nur sudo service networking restart
Proxy-Konfiguration
Einstellungen in: /etc/environment
#HTTP:
http_proxy=http://<Benutzername>:<Passwort>@<Proxy>:<Port>
#HTTPS:
https_proxy=https://<Benutzername>:<Passwort>@<Proxy>:<Port>
#FTP:
ftp_proxy=ftp://<Benutzername>:<Passwort>@<Proxy>:<Port>
no_proxy=localhost,<auszuschließende Domains>
soap_use_proxy=on
Die Eingabe von Benutzername und Passwort ist optional. Danach aus- und einloggen.
Durch Eingabe von env
kann die Einstellung geprüft werden.
Für apt-get muss der Proxy /etc/apt/apt.conf.d/70debconf
(oder ähnlich) eingetragen werden:
Acquire::http
{
Proxy "http://<Benutzername>:<Passwort>@<Proxy>:<Port>";
}
Je nach System kann für eine Proxykonfiguration für alle Benutzer das Vorgehen aus dem Kapitel Proxyserver notwendig sein.
Festplatten mit LVM reparieren"
categories:
- “dateisysteme”
- “prufen-reparieren”
Festplatten, die mit dem Logical Volume Manager formatiert sind lassen sich mit einer Live-CD nicht so leicht einbinden. So löst man das Problem:
Mit lvm vgscan -v
die Volumes anzeigen.
Dann mit lvm vgchange -a y
aktivieren.
Nun kann man die logischen Laufwerke sehen: lvm lvs --all
.
Dann kan man sie mounten: mount /dev/vg_centhost/LogVol00 /mnt/
Festplattenbelegung"
categories:
- “system-programme”
baobab / kdf
ffmpeg"
categories:
- “audio”
- “multimedia”
- “video” tags:
- “libavtools”
- “winff”
ffmpeg wird in neueren Distributionen ersetzt durch libav-tools
.
Der Aufruf erfolgt nun durch avconv
Das Programm winff bietet eine komfortable grafische Oberfläche für ffmpeg.
Informationen über Files und Codecs
ffmpeg -i input-file
zeigt Informationen über das File an. Besser jedoch ist mediainfo (die Installation und Verwendung gibts in einem extra-Kapitel).ffmpeg -formats
zeigt alle für die Kodierung möglichen Audio- und Videoformate an.- Um eine simple Liste von Video-Files in einem Verzeichnis zu erstellen, die neben dem Dateinamen Informationen über die Auflösung und den verwendeten Video-Codec beinhaltet, hilft folgende Pipe:
# for i in *.flv; do ffmpeg -i "$i" 2> Tempfile; egrep -i "flv|video" < Tempfile >> Liste.txt; echo "--" >> Liste.txt; done
durch die for-Schleife wird eine Liste sämtlicher Files mit der Endung .flv (Flash-Files) im momentanen Verzeichnis erstellt und die einzelnen Dateinamen an ffmpeg weitergereicht. ffmpeg öffnet die Video-Files und gibt so auf dem Standard-Fehlerkanal Informationen über die Auflösung und den verwendeten Codec wieder, welche in der Datei Tempfile gespeichert werden. Da die Ausgabe von ffmpeg noch viel mehr beinhaltet, wird im nächsten Schritt mittels egrep die relevanten Informationen wie der Dateiname (durch den Suchbegriff flv) und die Eckdaten des Videos (durch den Suchbegriff video) herausgefiltert und in die Datei Liste.txt geschrieben. Dabei wird nach jedem File zur besseren Übersicht mittels echo eine Trennlinie in die Datei geschrieben. Alternativ könnte man auch mittles echo $’\n’ einen Zeilenvorschub auslösen.
Umwandlungsbeispiele
-
webm-Film in mp4 umrechnen (dauert lange):
ffmpeg -i film.webm -c:v libx264 -c:a aac -f mp4 film.mp4
-
ffmpeg -i testfile.flv -vcodec mjpeg -b 7000k -acodec copy testfile.avi
kodiert ein Flash-File in ein MJPEG-File mit 7000 Kbit/sec und kopiert das Audio lediglich, also ohne Konvertierung.-i = Input-File -vcodec = Wahl des zu verwendenden Video-Codecs -b = Video-Bitrate (hier 7000 Kbit/sec) -acodec = Wahl des Audio-Codecs (hier copy, also unverändert kopieren)
-
ffmpeg -i testfile.flv -an -vcodec bmp testfile.avi
wandelt ein Flash-File in unkomprimierte BMP-Bilder, ohne Audio.-an = Kein Audio verwenden.
Leider führt der Vorgang ein AVI-File mit unkomprimierten BMP-Bildern zu erzeugen dazu, daß sich das Bild verschiebt. Den Grund dafür habe ich leider nicht herausgefunden. Möchte man in ein verlustfreies Format wie eben Vollbilder konvertieren, ist folgender Codec daher besser:ffmpeg -i testfile.flv -vcodec huffyuv -acodec pcm_s16le testfile.avi
Konvertiert ein Flash-File in das verlustfreie huffyuv-Format (der Huffman-Codec) mit unkomprimiertem Audio (wav).pcm_s16le = signed 16-bit little-endian PCM.
Audio aus Video extrahieren: ffmpeg -i testfile.flv -vn testfile.wav
-vn = Disable video recording, also kein Bild nur der Ton.
DVD-Konvertierung ffmpeg enthält vorgefertigte Templates für die gängigen Formate, wie z.B. vcd (Video-CD), svcd (Super-Video-CD), dvd, dv, dv50, pal-vcd, ntsc-svcd, usw. Man muß also nicht sämtliche Einstellungen für eine DVD wie Auflösung, Bitrate, Video-Codec, Audio-Codec, usw. von Hand einstellen, sondern es genügt die Angabe eines Templates und alle weiteren erforderlichen Einstellungen werden vollautomatisch vorgenommen, z.B.:
ffmpeg -i Input.flv -target dvd Output.mpg
- In manchen Fällen ist es sicherer oder sinnvoller die Art des DVD-Formats (ob PAL oder NTSC) mitanzugeben:
ffmpeg -i Input.flv -target pal-dvd Output.mpg
wandelt ein Flash-File in das DVD-Format, wobei das Audio sogar in AC3 konvertiert wird. Leider habe ich hier einen kleinen Fehler festgestellt, da ohne Angabe der aspect ratio einfach keine vernünftige Ratio gespeichert wird. In manchen Anzeigeprogrammen steht da was von “Standard” und in wieder Anderen was von “5/4”. Daher ist es sinnvoller die korrekte Ratio (ob 4:3 oder 16:9) mitanzugeben:ffmpeg -i Input.flv -target pal-dvd -aspect 4:3 Output.mpg
möchte man die Bitrate auch noch verändern:ffmpeg -i Input.flv -target pal-dvd -aspect 4:3 -b 3000k Output.mpg
Hat man die aspect ratio vergessen, so kann man nachträglich ohne Neukodierung die ratio verändern mittels mpgtx.# mpgtx -j -A2 Input.mpg -o Output.mpg
Dabei steht A2 für die Ratio 4:3. Gültige Werte Ax sind 1,2,3,4 für die Proportionen 1:1, 4:3, 16:9 oder 2,2:1.Etwas kniffliger wird es, wenn das Ursprungs-File nicht die korrekte Auflösung hat und man die Größe verändern muss.Hier ein Beispiel mit einem Ursprungs-File das eine Auflösung von 1280x720 (HD) hat und in die DVD-Auflösung von 720x576 konvertiert werden soll und als besondere Schwierigkeit, nicht anamorph! Da das HD-File in der Ratio 16:9 vorliegt müssen wir für die korrekte 4:3 Bildgröße oben und unten schwarze Balken anfügen, man nennt das auch Letterboxed. Würden wir keine Resize-Optionen angeben, würde zwar das File auch in die DVD-Auflösung resized werden, das Bild würde aber verzerrt werden - in dem Fall anamorph gespeichert. Hier nun mit den schwarzen Balken:ffmpeg -i Input.flv -target dvd -padtop 72 -padbottom 72 -s 720x432 Output.mpg
Wie man erkennen kann, resizen wir auf die Größe 720x432 und fügen dann jeweils oben und unten 72 Pixel hinzu, was zur finalen Auflösung von 720x576 Bildpunkten führt. Zu beachten ist hier die Reihenfolge der Optionen, denn kommt die Resize-Funktion (-s) vor der “target dvd”-Funktion, hat der Resize-Faktor mit der Höhe 432 keine Wirkung und das Bild wird auf eine Größe von 720x720 (DVD-Höhe 576+72+72=720) skaliert! Anders wenn wir kein Template verwenden, dann gibt es keine einzuhaltende Reihenfolge:ffmpeg -i Input.flv -padtop 72 -padbottom 72 -s 720x432 -vcodec huffyuv -acodec pcm_s16le Output.avi
das könnte auch genauso heißenffmpeg -i Input.flv -s 720x432 -padtop 72 -padbottom 72 -vcodec huffyuv -acodec pcm_s16le Output.avi
und macht keinen Unterschied. - Ganze Ordner mit Hilfe einer for-Schleife umwandeln Möchte man einen ganzen Ordner auf einmal umwandeln, hilft folgende for-Schleife:
for i in *.avi; do ffmpeg -i "$i" -target pal-dvd -aspect 4:3 "`basename "$i" .avi`".mpg; done
oder um bei einen ganzen Ordner voller mpg-Files die aspect ratio zu ändern:for i in *.mpg; do mpgtx -j -A2 "$i" -o /anderes/Verzeichnis/"$i"; done
file"
categories:
- “auflisten-analysieren”
file Datei
gibt den Dateityp an
Filme konvertieren"
categories:
- “multimedia”
- “video” tags:
- “demultiplexen”
- “demuxen”
- “multiplexen”
- “muxen”
- “tcextract”
- “tcprobe”
- “tcrequant”
- “transcode”
Mit transcode
lassen sich Filme und Videos sehr einfach konvertieren:
- VCD:
transcode -i "Filme/Ein Film.XviD.avi" \ -o "Ein Film.VCD.avi" \ --export_prof vcd
- SVCD:
transcode -i "Filme/Ein Film.XviD.avi" \ -o "Ein Film.SVCD.avi" \ --export_prof svcd
- DVD:
transcode -i "Ein Film.XviD.avi" \ -o "Ein Film.vob" \ --export_prof vcd
Quelle: http://tobias.schroepf.de/doku/doku.php?id=linux:videos _bearbeiten
Info über Video-Datei herausfinden:
tcprobe -i Datei
Zeigt Auflösung, aspect ratio und framerate an.
Video demultiplexen (demuxen)
MPEG Video extrahieren: tcextract -i InFile.mpg -x mpeg2 > OutFile.m2v
MP3 Sound extrahieren tcextract -i InFile.mpg -x mp3 > OutFile.mp3
MPEG Video multiplexen (muxen) tcmplex -o meinfilm.vob -i meinfilm.m2v -p meinfilm.mpa -m d
Video requantisieren:
Ein MPEG2 kodiertes Video kann man requanitisieren, dadurch verringert sich der Speicherbedarf, die Qualität leidet etwas. Großer Vorteil: Es geht viel schneller als das Video umzukodieren. Nachteil: Video muss vorher demuxt werden tcrequant -i InFile.m2v -o OutFile.m2v -f 2.0
-f 2.0 gibt das Verhältnis an. 2.0 bedeutet, dass die entstehende Datei halb so groß ist wie vorher, -f 1.5 erzeugt eine Datei, die 2/3 so gross ist wie vorher usw. Dauert bei einer 2,7GB Bildspur ca. 15 min auf der Xbox (64MB RAM, Celeron 733MHz). Links: http://www.linuxquestions.org/linux/answers/Applications _GUI_Multimedia/DVD9_to_DVD5_guide
Video umwandeln (z.b. in xvid4): transcode -i infile -Z 320x240 -y xvid4 -o outfile
-i: Eingabedatei
-o: Ausgabedatei
-g: Auflösung des Eingabestroms (herausfinden mit tcprobe)
-Z: Ausgabe-Auflösung
-x: Eingabemodul festlegen (für Video und Audio stream)
-y: Ausgabemodul festlegen (für Video und Audio stream)
In ein Windows-Media-Player taugliches Format:
transcode -i InFile -Z 320x240 -y ffmpeg -F wmv2 -o OutFile.avi
In ein komprimiertes WMV-Format:
ffmpeg -i InFile -r 25 -s 320x240 -vcodec wmv2 OutFile.wmv
find"
categories:
- “suchen”
find -name Datei
sucht nach der Datei
find . -name bild.jpg
sucht nach bild.jpg. Der Punkt weist find an, alle Ordner ab dem aktuellen Verzeichnis zu durchsuchen.
find /mnt/cdrom/bilder -name bild.jpg
Dieser Befehl durchsucht das Verzeichnis bilder einer nach /mnt/cdrom gemounteten CD.
Weiß man nicht mehr, ob die Datei groß oder kleingeschrieben war hilft iname: find . -iname holmes.jpg
Mit Wildcards: find . -name "blo*"
Große Dateien: find . -size +1000k
zeigt alles an, was größer als 1000 KB ist. Lässt man das Pluszeichen weg, sucht find nach Dateien mit genau der angegebenen Größe, mit einem Minuszeichen (zum Beispiel -50k) setzt man einen Maximalwert.
Zeit: -mtime (“modification time”=Änderungszeit). find . -mtime 0
präsentiert alles, was sich in den letzten 24 Stunden geändert hat, -mtime 2
die geänderten Dateien der letzten zwei Tage. find . -mmin -5
findet alle Dateien, die in den letzten 5 Minuten geändert wurden.
Nur Verzeichnisse oder nur Dateien anzeigen? Mit -type beschränkt man die Suche auf bestimmte Typen: find . -type d
für Verzeichnisse (“directory”), f für Dateien (“file”) oder l für symbolische Links.
find . -name "*.txt" -exec less "{}" ";"
über gibt alle gefundenen Dateien an less zur Anzeige
find -name "*.jpeg" -print0 -exec cp \{\} /home/user/temp/ \;
sucht alle Dateien mit der Endung jpeg und kopiert diese in das Verzeichnis temp
find -name ".*" -exec rm -rf "{}" \;
löscht rekursiv alle versteckten Dateien - Achtung: Dieser Befehl ist sehr gefährlich, die Dateien können nicht wiedergeholt werden!
find . -size +100M -exec ls -lh '{}' \;
sucht Dateien größer 100MB
tree -ifs --noreport .|sort -n -k2
alle Dateien der Größe nach aufsteigend Will man sehr viele Dateien zu verarbeiten, verwendet man eine For-Schleife:
for file in $(find "*.bak"); do
rm $file
done
In Dateien suchen, wenn man “grep” mit dem Schalter “-H” aufruft: find . -name "*.txt" -exec grep -H "suchbegriff" {} \;
finger"
categories:
- “benutzer-gruppen”
finger -l
Infos über eingeloggte User
Firefox"
categories:
- “internet”
nützliche Addons für Firefox sind:
-
Adblock Plus: Reklameblocker
-
NoScript: verhindert Scripte auf jeder Seite, am Anfang muss einiges erlaubt werden, dann aber sehr gut
-
BetterPrivacy: löscht alle Super-Cookies (Flash…) beim Beenden, andere Cookies löscht man über: Einstellungen - Datenschutz - eine Chronik nach benutzdefinierten Einstellungen anlegen - Cookies akzeptieren - behalten bis Firefox geschlossen wird
-
Add to Search Bar: lässt jedes Suchfeld zur Suche hinzufügen
-
All-in-one Gestures: Mausgestures (wie in Opera)
-
Web Developer: für Webentwickler unentbehrlich
fixparts"
categories:
- “prufen-reparieren”
Mit fixparts /dev/sda
lassen sich Partitionen reparieren, die sich überlappen, bzw. nicht mehr korrekt dargestellt werden.
Flash"
categories:
- “entwicklung”
Flash4Linux / drawSWF
flashplayer"
categories:
- “multimedia”
Auf PCs mit einer alten CPU ohne SSE2 arbeiten mit dem aktuellen Flashplayer nicht mehr zusammen. Abhilfe schafft hier die letzte 10er Version des Flashplayers zu installieren (Version: 10.3.183.86)
fold"
categories:
- “vergleichen-sortieren”
fold --width=72 -s Datei
bricht alle Zeilen der Datei nach spätestens 72 Zeichen an einem Leerzeichen um. Ohne -s wird immer bei genau 72 Zeichen umbrochen.
Fonts"
categories:
- “linux-mint”
- “postscript-pdf”
- “xfce” tags:
- “schrift”
- “schriftart”
- “schriften”
- “true-type”
- “ttf”
Fonts liegen in /usr/share/fonts
eigene Fonts liegen in
.fonts
oder .local/share/fonts
Microsoft-Fonts
Will man die True Type Mircosoft Schriftarten Arial, Times, Comic Sans… installieren, so muss man das Paket ttf-mscorefonts-installer
installieren.
Fonts nachinstallieren
Eine Auswahl schöner Fonts:
sudo apt-get install fonts-dkg-handwriting fonts-dosis fonts-femkeklaver fonts-humor-sans fonts-isabella fonts-kristi fonts-leckerli-one fonts-lindenhill fonts-okolaks fonts-pecita fonts-quattrocento fonts-radisnoir fonts-rufscript fonts-tomsontalks fonts-vollkorn fonts-yanone-kaffeesatz
Unnötige Fonts deinstallieren
sudo dpkg -P fonts-gargi fonts-kacst fonts-kacst-one fonts-lklug-sinhala fonts-lohit-beng-assamese fonts-lohit-beng-bengali fonts-lohit-deva fonts-lohit-gujr fonts-lohit-guru fonts-lohit-knda fonts-lohit-mlym fonts-lohit-orya fonts-lohit-taml fonts-lohit-taml-classical fonts-lohit-telu fonts-noto fonts-noto-cjk fonts-noto-hinted fonts-noto-mono fonts-noto-unhinted fonts-tlwg-garuda fonts-beng fonts-deva fonts-deva-extra fonts-gujr fonts-guru fonts-indic fonts-knda fonts-mlym fonts-orya fonts-taml fonts-telu fonts-thai-tlwg fonts-beng-extra fonts-guru-extra fonts-kalapi fonts-khmeros-core fonts-lao fonts-nakula fonts-nanum fonts-navilu fonts-pagul fonts-sahadeva fonts-samyak-deva fonts-samyak-gujr fonts-samyak-mlym fonts-samyak-taml fonts-sarai fonts-sil-abyssinica fonts-sil-padauk fonts-smc fonts-takao-pgothic fonts-telu-extra fonts-tibetan-machine fonts-tlwg-garuda-ttf fonts-tlwg-kinnari fonts-tlwg-kinnari-ttf fonts-tlwg-laksaman fonts-tlwg-laksaman-ttf fonts-tlwg-loma fonts-tlwg-loma-ttf fonts-tlwg-mono fonts-tlwg-mono-ttf fonts-tlwg-norasi fonts-tlwg-norasi-ttf fonts-tlwg-purisa fonts-tlwg-purisa-ttf fonts-tlwg-sawasdee fonts-tlwg-sawasdee-ttf fonts-tlwg-typewriter fonts-tlwg-typewriter-ttf fonts-tlwg-typist fonts-tlwg-typist-ttf fonts-tlwg-typo fonts-tlwg-typo-ttf fonts-tlwg-umpush fonts-tlwg-umpush-ttf fonts-tlwg-waree fonts-tlwg-waree-ttf fonts-gubbi fonts-gujr-extra fonts-orya-extra fonts-stix fonts-wqy-microhei
for-Schleife"
categories:
- “schleifen”
- “shell”
- “skripte” tags:
- “for”
for x [ in Liste ] ; do
# Befehle
done
continue [n]: springt zum Schleifenanfang und übergeht dabei n Duchläufe break [n]: verlässt n Schleifenebenen
Beispiele:
Script um alle Bilder in einem Verzeichnis zu verkleinern:
for file in * ; do
convert -scale 100x $file klein_$file
done
Dieses Script wandelt alle PDF-Dateien im Verzeichnis in Postscript-Dateien um:
for i in *.pdf; do
pdf2ps $i
done
Zählerschleife:
for ((i=1; i<=100; i++)) {
echo $i
}
For-Schleife mit find (schnell):
for f in $(find /home -type f); do
echo ${f}
done
Alle *.jpg finden und bearbeiten (funktioniert nur in der Bash):
shopt -s globstar nocaseglob
for i in /home/user/unterordner/**/*.jpg; do
echo $i
done
blkid"
categories:
- “partitionieren-formatieren-kopieren”
- “prufen-reparieren” tags:
- “auslesen”
- “festplatte”
- “festplattenformatierungstyp”
- “formatierungsart”
- “formatierungstyp”
- “label”
- “laufwerktyp”
- “partuuid”
- “type”
- “uuid”
Der Formatierungstyp, Label sowie die UIDs von Festplatten und Laufwerken lassen sich mit folgendem Befehl auslesen: sudo blkid
Folgende Infos werden für jedes Laufwerk ausgegeben: LABEL TYPE UUID PARTUUID
Fotodatum (Dateidatum=Exif-Datum)"
categories:
- “bildbearbeitung”
Mit folgendem Skript kann das Dateidatum eines Fotos auf das EXIF-Aufnahmedatum gesetzt werden:
#!/bin/bash
DATE="`exif -m -t 0x9003 "$1" |sed -e 's/:/-/' -e 's/:/-/' `"
echo -n "$1 "
echo $DATE
touch --date="$DATE" "$1"
oder einfach nur mit folgendem Einzeiler: exiftool -v "-FileName<CreateDate" -d "%Y-%m-%d_%H-%M-%S-%.c.%%e" Ordner
In Ordner liegen die Bilder.
free"
categories:
- “systeminformationen”
Wie viel RAM ist frei? free -s1 -m
-s1 aktualisiert pro Sekunde; -m gibt Megabyte an
fsck"
categories:
- “prufen-reparieren”
überprüft und repariert das Filesystem
fstab"
categories:
- “dateisysteme”
In der Datei /etc/fstab stehen die Zuordnungen zwischen Dateisystemen und deren Mountpunkten. Diese Dateisysteme können beim Systemstart automatisch gemountet werden. Die Spalten enthalten folgende Meldungen: Gerätedatei - Mountpoint - Dateisystemtyp - Mount-Optionen - dump-Infos - fsck-Infos
Mount-Optionen:
async | asynchroner Dateizugriff |
atime | ändern des Datums beim letzten Zugriff |
auto | automatisches Mounten mit -a möglich |
defaults | Standardeinstellungen (rw, suid, dev, exec, auto, nouser, async) |
dev | zeichen- und blockorientierte Geräte |
exec | ermöglicht Ausführung von Dateien |
noatime | keine Datumsaktualisierung |
noauto | kein automatisches Mounten mit -a möglich |
nosuid | s-Bit hat keine Wirkung |
nouser | normale User dürfen nicht mounten |
remount | erneutes Einhängen möglich |
ro | read-only |
rw | read-write |
suid | s-Bit kann verwendet werden |
sync | synchroner Zugriff |
users | jeder darf dieses System mounten |
user | der am Desktop angemeldete user darf mounten |
dump/pass: “Dump” legt fest, ob die Partition von dem Backupprogramm Dump gesichert werden soll. “Pass” legt fest, ob und in welcher Reihenfolge die Partitionen auf Fehler überprüft werden sollen. Bei der Root-Partition sollte 1 stehen, bei allen anderen zu überprüfenden Partitionen eine 2. Wenn hier eine 0 eingetragen wird, wird die Platte nicht geprüft. Diese werden dann gleichzeitig getestet (evtl. hier nach physikalischen Festplatten trennen).
Beispiel einer fstab:
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
## Festplatte 1 /dev/hda
/dev/hda1 none swap sw 0 0
/dev/hda2 / ext3 defaults 0 1
/dev/hda3 /mnt/hda3 ext3 defaults 0 2
## Festplatte 2 /dev/hdb
/dev/hdb1 /mnt/hdb1 ext3 defaults 0 2
/dev/hdb2 /mnt/hdb2 ext3 defaults 0 2
/dev/hdb3 /mnt/hdb3 ext3 defaults 0 2
## CD-Laufwerke
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/hdd /media/cdrom1 udf,iso9660 user,noauto 0 0
## Diskette
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
## USB-Einbindung mit DevMode 0666
none /proc/bus/usb usbfs auto,devmode=0666 0 0
Mit mount -a wird die fstab wieder neu eingelesen.
Beim Einbinden von Laufwerken unter /media werden diese auf der Arbeitsfläche angezeigt. Beim Einbinden in anderen Pfaden ist das Laufwerk für den Anwender nicht auf den ersten Blick sichtbar.
Netzwerklaufwerke einbinden
Netzwerklaufwerke können wie folgt eingebunden werden:
192.168.1.9:/pfad_auf_dem_Server/ /pfad_auf_lokalem_Rechner/ nfs _netdev,noauto,user 0 0
Durch noauto wird das Laufwerk nicht automatisch gemountet, und kann später durch jeden User (wegen Angabe von “user”) eingebunden werden.
Auf einigen neuen Systemen wird der Systemstart vom systemd verwaltet. In diesem Fall müssen die Netzlaufwerke in der fstab wie folgt eingebunden werden:
192.168.1.9:/pfad_auf_dem_Server/ /pfad_auf_lokalem_Rechner/ nfs nofail,x-systemd.automount,x-systemd.requires=network-online.target,x-system.device-timeout=20,user 0 0
Spezifische Parameter für den systemd:
nofail | Fehler beim Einbinden werden ignoriert und der Bootvorgang weitergeführt. |
x-systemd.automount | Das Laufwerk wird automatisch eingebunden |
x-systemd.requires=network-online.target | Vor dem Einhängen wird auf aktive Netzwerkverbindung gewartet. |
x-system.device-timeout=20 | Timeout für die Verbindung von 20 Sekunden |
FTP-Zugriffe"
categories:
- “kopieren”
- “netzwerk” tags:
- “ftp”
- “ncftp”
- “ncftpput”
ftp Zugriff auf einen ftp-Server
ncftp Hochladen von Dateien: ncftpput -u server -p passwort anmeldename Zielverzeichnis Quelldatei
fuser"
categories:
- “auflisten-beenden”
zeigt alle Prozesse an, die auf den unter mountpunkt eingehängen Datenträger zugreifen fuser -v mountpunkt
Garmin-GPS-Gerät"
categories:
- “gps-karten”
- “hardware” tags:
- “garmin”
Das Kernel-Modul garmin_gps ist oftmals fehlerhaft und sollte deaktiviert werden. Hierzu die Datei /etc/modprobe.d/blacklist
öffnen und folgende Zeiten einfügen:
# stop garmin_gps serial from loading for USB garmin devices
blacklist garmin_gps
Damit auch normale User auf das Garmin-Gerät über USB zugreifen dürfen, muss die udev-Regel /etc/udev/rules.d/51-garmin.rules
mit folgendem Inhalt erstellt werden:
# allow Garmin USB devices read and written by a non-privileged users
SUBSYSTEM!="usb", GOTO="garmin_rules_end"
ACTION!="add", GOTO="garmin_rules_end"
ATTRS{idVendor}=="091e", ATTRS{idProduct}=="0003", MODE="0660", GROUP="plugdev"
LABEL="garmin_rules_end"
Alle Benutzer, die auf das Gerät zugreifen wollen, müssen der Gruppe plugdev
zugeordnet werden.
GCC-Version definieren"
categories:
- “kompilieren-installieren”
Kernelmodule müssen mit der selben Kompiler-Version wie der Kernel selbst übersetzt werden. Hierzu muss die richtige Version als umgebungsvariable definiert werden (ansonsten wird die neueste Version verwendet).
# Setzt die Umgebungsvariable CC auf den Compiler mit der Version 4.1
export CC=gcc-4.1
gedit"
categories:
- “gnome”
Die Plugins installiert man unter: .gnome2/gedit/plugins
Geladene Kernelmodule"
categories:
- “systeminformationen”
lsmod
Geokoordinaten aus Adressen ermitteln"
categories:
- “gps-karten” tags:
- “gps”
- “gps-koordinaten”
- “gpx”
Hier ein Skript, das mit Hilfe von GoogleMaps Geokoordinaten zu Adressen sucht, die in einer Textdatei stehen.
Die Geokoordinaten werden in die Datei adressliste.gpx geschrieben. Die zu suchenden Adressen stehen in einer txt-Datei (adressen.txt). Die einzelnen Felder sind durch ein “,” getrennt: Vorname,Nachname,Straße,Hausnummer,PLZ,Ort,Icon-Nr
#! /bin/bash
outfile="adressliste.gpx"
echo "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>" > "$outfile"
echo "<gpx xmlns:xsi=\"\" version=\"1.1\" xmlns:gpxtpx=\"\" xmlns=\"\" xmlns:rmc=\"\" creator=\"\" xsi:schemaLocation=\"\" xmlns:gpxx=\"\" xmlns:ql=\"\">" >> "$outfile"
for j in $(cat adressen.txt); do
name1=`echo $j | cut -d, -f1`
name2=`echo $j | cut -d, -f2`
name="$name1 $name2"
addr1=`echo $j | cut -d, -f3`
addr2=`echo $j | cut -d, -f4`
addr3=`echo $j | cut -d, -f5`
addr4=`echo $j | cut -d, -f6`
addr="$addr1+$addr2+$addr3+$addr4"
icon=`echo $j | cut -d, -f7`
case "$icon" in
"1") icon="Pin, Blue";;
"2") icon="Pin, Red";;
esac
wget -O ~tmp.csv "http://maps.google.com/maps/geo?q=$addr&output=csv&sensor=false&key=abcdefg" 2> /dev/null
quality=`cat ~tmp.csv | cut -d, -f2`
coordinatesL=`cat ~tmp.csv | cut -d, -f3`
coordinatesB=`cat ~tmp.csv | cut -d, -f4`
echo $quality - $name - $addr1 $addr2, $addr3 $addr4 - $coordinatesL $coordinatesB
echo "<wpt lon=\""$coordinatesB"\" lat=\""$coordinatesL"\">" >> "$outfile"
echo "<name>$name</name>" >> "$outfile"
echo "<desc>$addr1 $addr2" >> "$outfile"
echo "$addr3 $addr4</desc>" >> "$outfile"
echo "<sym>$icon</sym>" >> "$outfile"
echo "</wpt>" >> "$outfile"
done
echo "<extensions/>" >> "$outfile"
echo "</gpx>" >> "$outfile"
exit
geschützte PDF"
categories:
- “postscript-pdf”
In der Datei /usr/share/ghostscript/*/lib/gs_pdfwr.ps
oder auch /usr/share/gs-esp/8.15/lib/gs_pdfwr.ps
steht gegen Ende folgender Eintrag:
% Patch 'where' so that the distiller operators are only visible
% if the pdfwrite device is the current one.
{ currentdevice .devicename /pdfwrite eq {
.where
Dieser muss in { currentdevice .devicename /pdfwritexyz eq {
abgeändert werden. Danach ist es möglich mit ps2pdf geschützte Dateien umzuwandeln.
GhostScript-Devices"
categories:
- “postscript-pdf”
MS-DOS displays (note: not usable with Desqview/X):
MS-DOS EGA and VGA:
ega EGA (640x350, 16-color)
vga VGA (640x480, 16-color)
MS-DOS SuperVGA:
* ali SuperVGA using Avance Logic Inc. chipset, 256-color modes
* atiw ATI Wonder SuperVGA, 256-color modes
* cirr SuperVGA using Cirrus Logic CL-GD54XX chips, 256-color modes
* s3vga SuperVGA using S3 86C911 chip (e.g., Diamond Stealth board)
svga16 Generic SuperVGA in 800x600, 16-color mode
* tseng SuperVGA using Tseng Labs ET3000/4000 chips, 256-color modes
* tvga SuperVGA using Trident chipset, 256-color modes
****** NOTE: The vesa device does not work with the Watcom (32-bit MS-DOS)
****** compiler or executable.
vesa SuperVGA with VESA standard API driver
Other displays:
MS Windows:
mswindll Microsoft Windows 3.1 DLL [MS Windows only]
mswinprn Microsoft Windows 3.0, 3.1 DDB printer [MS Windows only]
mswinpr2 Microsoft Windows 3.0, 3.1 DIB printer [MS Windows only]
OS/2:
* os2pm OS/2 Presentation Manager [OS/2 only]
* os2dll OS/2 DLL bitmap [OS/2 only]
* os2prn OS/2 printer [OS/2 only]
Unix and VMS:
****** NOTE: For direct frame buffer addressing under SCO Unix or Xenix,
****** edit the definition of EGAVGA below.
* lvga256 Linux vgalib, 256-color VGA modes [Linux only]
+ vgalib Linux vgalib, 16-color VGA modes [Linux only]
x11 X Windows version 11, release >=4 [Unix and VMS only]
x11alpha X Windows masquerading as a device with alpha capability
x11cmyk X Windows masquerading as a 1-bit-per-plane CMYK device
x11cmyk2 X Windows as a 2-bit-per-plane CMYK device
x11cmyk4 X Windows as a 4-bit-per-plane CMYK device
x11cmyk8 X Windows as an 8-bit-per-plane CMYK device
x11gray2 X Windows as a 2-bit gray-scale device
x11gray4 X Windows as a 4-bit gray-scale device
x11mono X Windows masquerading as a black-and-white device
x11rg16x X Windows with G5/B5/R6 pixel layout for testing.
x11rg32x X Windows with G11/B10/R11 pixel layout for testing.
Printers:
+ atx23 Practical Automation ATX-23 label printer
+ atx24 Practical Automation ATX-24 label printer
+ atx38 Practical Automation ATX-38 label printer
+ deskjet H-P DeskJet and DeskJet Plus
djet500 H-P DeskJet 500; use -r600 for DJ 600 series
+ fs600 Kyocera FS-600 (600 dpi)
+ laserjet H-P LaserJet
+ ljet2p H-P LaserJet IId/IIp/III* with TIFF compression
+ ljet3 H-P LaserJet III* with Delta Row compression
+ ljet3d H-P LaserJet IIID with duplex capability
+ ljet4 H-P LaserJet 4 (defaults to 600 dpi)
+ ljet4d H-P LaserJet 4 (defaults to 600 dpi) with duplex
+ ljetplus H-P LaserJet Plus
lj5mono H-P LaserJet 5 & 6 family (PCL XL), bitmap:
see below for restrictions & advice
lj5gray H-P LaserJet 5 & 6 family, gray-scale bitmap;
see below for restrictions & advice
* lp2563 H-P 2563B line printer
* oce9050 OCE 9050 printe
(pxlmono) H-P black-and-white PCL XL printers (LaserJet 5 and 6 family)
(pxlcolor) H-P color PCL XL printers (e.g. Color LaserJet 4500)
Fax file format:
****** NOTE: all of these drivers normally adjust the page size to match
****** one of the three CCITT standard sizes (U.S. letter with A4 width,
****** A4, or B4). To suppress this, use -dAdjustWidth=0.
faxg3 Group 3 fax, with EOLs but no header or EOD
faxg32d Group 3 2-D fax, with EOLs but no header or EOD
faxg4 Group 4 fax, with EOLs but no header or EOD
tiffcrle TIFF "CCITT RLE 1-dim" (= Group 3 fax with no EOLs)
tiffg3 TIFF Group 3 fax (with EOLs)
tiffg32d TIFF Group 3 2-D fax
tiffg4 TIFF Group 4 fax
High-level (vector) file formats
epswrite EPS output (like PostScript Distillery)
pdfwrite PDF output (like Adobe Acrobat Distiller)
pswrite PostScript output (like PostScript Distillery)
pxlmono Black-and-white PCL XL
pxlcolor Color PCL XL
Other raster file formats and devices
bit Plain bits, monochrome
bitrgb Plain bits, RGB
bitcmyk Plain bits, CMYK
bmpmono Monochrome MS Windows .BMP file format
bmpgray 8-bit gray .BMP file format
bmpsep1 Separated 1-bit CMYK .BMP file format, primarily for testing
bmpsep8 Separated 8-bit CMYK .BMP file format, primarily for testing
bmp16 4-bit (EGA/VGA) .BMP file format
bmp256 8-bit (256-color) .BMP file format
bmp16m 24-bit .BMP file format
bmp32b 32-bit pseudo-.BMP file format
cgmmono Monochrome (black-and-white) CGM -- LOW LEVEL OUTPUT ONLY
cgm8 8-bit (256-color) CGM--DITTO
cgm24 24-bit color CGM--DITTO
jpeg JPEG format, RGB output
jpeggray JPEG format, gray output
miff24 ImageMagick MIFF format, 24-bit direct color, RLE compressed
pcxmono PCX file format, monochrome (1-bit black and white)
pcxgray PCX file format, 8-bit gray scale
pcx16 PCX file format, 4-bit planar (EGA/VGA) color
pcx256 PCX file format, 8-bit chunky color
pcx24b PCX file format, 24-bit color (3 8-bit planes)
pcxcmyk PCX file format, 4-bit chunky CMYK color
pbm Portable Bitmap (plain format)
pbmraw Portable Bitmap (raw format)
pgm Portable Graymap (plain format)
pgmraw Portable Graymap (raw format)
pgnm Portable Graymap (plain format), optimizing to PBM if possible
pgnmraw Portable Graymap (raw format), optimizing to PBM if possible
pnm Portable Pixmap (plain format) (RGB), optimizing to PGM or PBM
if possible
pnmraw Portable Pixmap (raw format) (RGB), optimizing to PGM or PBM
if possible
ppm Portable Pixmap (plain format) (RGB)
ppmraw Portable Pixmap (raw format) (RGB)
pkm Portable inKmap (plain format) (4-bit CMYK => RGB)
pkmraw Portable inKmap (raw format) (4-bit CMYK => RGB)
pksm Portable Separated map (plain format) (4-bit CMYK => 4 pages)
pksmraw Portable Separated map (raw format) (4-bit CMYK => 4 pages)
* plan9bm Plan 9 bitmap format
pngmono Monochrome Portable Network Graphics (PNG)
pnggray 8-bit gray Portable Network Graphics (PNG)
png16 4-bit color Portable Network Graphics (PNG)
png256 8-bit color Portable Network Graphics (PNG)
png16m 24-bit color Portable Network Graphics (PNG)
psmono PostScript (Level 1) monochrome image
psgray PostScript (Level 1) 8-bit gray image
psrgb PostScript (Level 2) 24-bit color image
tiff12nc TIFF 12-bit RGB, no compression
tiff24nc TIFF 24-bit RGB, no compression (NeXT standard format)
tifflzw TIFF LZW (tag = 5) (monochrome)
tiffpack TIFF PackBits (tag = 32773) (monochrome)
Ghostscript"
categories:
- “dateibearbeitung”
- “drucken”
- “grafik”
- “postscript-pdf”
- “programme”
- “skripte”
- “system-programme” tags:
- “gs”
- “pdf”
- “pdfwrite”
Auflösung von PDF-Dateien verändern (z. B. um ein PDF-Dokument mit sehr hochauflösenden Bildern für den E-Mail-Versand zu komprimieren):
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
Für PDFSETTINGS sind folgende Optionen möglich:
- /screen (nur für Bildschirmanzeige - 72 dpi)
- /ebook (geringe Qualität - 150 dpi)
- /printer (hohe Qualität - 300 dpi)
- /prepress: (hohe Qualität mit hoher Farbtreue - 300 dpi)
Ein fertiges Skript für Nautilus gibt es unter http://launchpad.net/compress-pdf . Hier noch eine Kurzanleitung zur Installation des Skripts:
$ sudo apt-get install zenity ghostscript libnotify-bin
$ cd ~/.gnome2/nautilus-scripts
$ wget http://launchpad.net/compress-pdf/1.x/1.4/+download/Compress-PDF-1.4.tar.gz
$ tar -xzf Compress-PDF*.tar.gz && rm Compress-PDF*.tar.gz
Beispiele, wie PDF-Dateien in Bilder umgewandelt werden können zeigen die Artikel pdf2bmp und pdf2jpg
Gimp"
categories:
- “bildbearbeitung”
- “programme”
Transparenz Um den Hintergrund eines Bildes transparent zu machen erstellt man eine zweite Ebene, die transparent sein muss. Mit dem “Zauberstab” (“Zusammenhängenden Bereich” anwählen) auf den Hintergrund klicken ctrl-x drücken ctrl-m als *.png oder *.gif speichern.
Animationen
- Alle Bilder müssen dieselbe Größe haben
- Bild2 anwählen (Strg+A) (Strg+C) Bild1 anwählen (Strg+V) es erscheint im Fenster Ebenen, Kanäle,….. eine “schwebende Ebene”. Mit der rechten Maustaste auf die Ebene klicken und Neue Ebene wählen.
- Speichern als gif
gksu"
categories:
- “benutzer-gruppen”
gksu Programm
startet ein Programm z.B. in der Eingabemaske (Alt-F2) mit Superuserrechten
gmrun"
categories:
- “xfce” tags:
- “xf4run”
gmrun ist ein guter Ersatz für xf4run von xfce. Nach der Installation durch apt-get install gmrun
muss das Programm noch der Tastenkombination Alt-F2 zugeordnet werden. Das geschieht über Das Menü Einstellungen/Tastatur/Tastaturkürzel für Anwendungen.
Konfiguration
Alle Einstellungen werden in der Datei ~/.gmrunrc vorgenommen.
Mit diesen Parametern wird der Terminal-Emulator festgelegt, den man benutzt und die Anwendungen definiert, die unbedingt im Terminal laufen sollen. So wird hier beim Aufruf von nano eben dieser Befehl in einem neuen Terminal ausgeführt. Mit STRG+ENTER wird jeder Befehl im Terminal ausgeführt.
Terminal = xterm
TermExec = ${Terminal}
AlwaysInTerm = nano ssh telnet ftp lynx mc vi vim pine centericq perldoc man
Hiermit wird die Geometrie festgelegt. Die Höhe des Dialogs läßt sich aber nicht bestimmen. Bei den letzten beiden Angaben bezieht sich die Datei auf die linke obere Ecke des Dialogs.
Width = 200
Top = 377
Left = 540
Anzahl der im Verlauf behaltenen Einträge.
History = 256
Soll der zuletzt genutzte Befehl beim nächsten Öffnen von gmrun wieder eingefügt und selektiert werden (1) oder nicht (0). Bei 0 hat man immer eine leere Zeile.
ShowLast = 1
Sollen Dateien, die mit einem Punkt beginnen (Dotfiles, versteckte Dateien) in der Komplettierung angezeigt werden, ist eine 1 einzutragen, anderenfalls eine 0:
ShowDotFiles = 0
Anzahl der Milisekunden, bis automatisch das Komplettierungsmenu erscheint, gmrun simuliert also einen Druck auf die TAB-Taste. Bei 0 ist das Feature ausgeschaltet:
TabTimeout = 0
URL-Handler
gmrun kann bei Eingabe von ${something}:${irgendwas} ein Programm mit dem Eingegebenen starten, statt command not found zurückzugeben. Dazu muss man URL-Handler konfigurieren.
Die Syntax dabei ist URL_, dann ohne Leerstelle das gewünschte Protokoll (also das, was vor dem Doppelpunkt steht, dann das übliche Gleichheitszeichen und das Programm, mit dem die Eingabe geöffnet werden soll. Dabei wird von gmrun %u mit der kompletten Eingabe und %s mit dem Teil nach dem Doppelpunkt ersetzt:
URL_http = opera %u
URL_mailto = claws-mail --compose %s
Ersteres würde beispielsweise bei Eingabe von http://google.com die Komplette Zeichenkette http://google.com an Opera weitergeben. Im zweiten Beispiel wird bei der Eingabe von mailto:123@abc.de nur die Mail-Adresse 123@abc.de an Claws-Mail weitergegeben.
Extension-Handler
gmrun kann bei Eingabe eines Dateinamens anhand der Dateinamenserweiterung automatisch ein Programm mit ebendieser Datei starten. Beispielsweise können so automatisch alle Dateien, die auf .pdf enden, mit Okular gestartet werden. Die Syntax ist erneut einfach: EXT:, die Erweiterung (ohne Leerstelle, bei Bedarf auch mehrere kommaseparierte Erweiterungen), das Gleichheitszeichen und das Programm. Auch hier wird %s durch den Dateinamen ersetzt, %u wird nicht verwendet:
EXT:cc,cpp,h = ${TermExec} 'vim %s'
EXT:doc,rtf = soffice %s
EXT:pdf = okular %s
Quelle: https://wiki.archlinux.de/title/Gmrun
gnome"
categories:
- “gnome”
Google Drive"
categories:
- “kopieren”
- “netzwerk”
Google-Drive lässt sich auch über Linux synchronisieren. Dazu installiert man das Programm grive .
Beim ersten Start ruft man grive -a
auf und folgt den Instruktionen, um ein Authentifizierungs-Token zu bekommen. Danach genügt es grive im zu synchronisierenden Verzeichnis zu starten.
2. Möglichkeit
sudo add-apt-repository ppa:alessandro-strada/ppa
sudo apt update
sudo apt install google-drive-ocamlfuse
Bei Google anmelden:
google-drive-ocamlfuse
Ordner ~/GoogleDrive erstellen
Einbinden:
google-drive-ocamlfuse ~/GoogleDrive
In automatisch gestartete Startanwendungen folgendes eintragen:
sh -c "google-drive-ocamlfuse ~/GoogleDrive"
Googleearth"
categories:
- “programme”
- “verschiedendes”
GoogleEarth 7 installieren:
32bit: wget http://dl.google.com/dl/earth/client/current/google-earth-stable_current_i386.deb
64bit: wget http://dl.google.com/dl/earth/client/current/google-earth-stable_current_amd64.deb
Startscript, falls Orte falsch angeflogen werden:
#!/bin/bash
export LD_LIBRARY_PATH=/opt/google/earth/free/
export LC_ALL=de_DE.ISO-8859-15
cd /opt/google/earth/free/
exec /opt/google/earth/free/googleearth
Googleearth zeigt in der Version 4.3 eine sehr kleine Menüschrift an. Die Lösung: In der Datei ~/.config/Google/GoogleEarthPlus.conf
folgenden Eintrag ändern:
[Render]
GuiFontSize=12
In den Google-Earth Versionen 7.x werden die Orte nicht richtig angeflogen (sondern werden immer am obersten Bildschirmrand ohne zoom positioniert). In diesem Fall Goolge-Earth einfach über dieses Startscript starten:
#!/bin/bash
export LD_LIBRARY_PATH=/opt/google/earth/free/:"${LD_LIBRARY_PATH}"
export LC_ALL=de_DE.ISO-8859-15
cd /opt/google/earth/free/
exec /opt/google/earth/free/googleearth-bin "$@"
Dateien löschen: In /opt/google/earth/free
- libcurl.so.4
- libGLU.so.1
- libnss_mdns4_minimal.so.2
- libQtCore.so.4
- libQtGui.so.4
- libQtNetwork.so.4
- libQtWebKit.so.4
Im Starter googleearth Folgende Zeile hinzufügen: export LD_PRELOAD=libfreeimage.so.3
gparted"
categories:
- “allgemein”
Festplatte klonen mit gparted
-
Partitionsgrößen auf Quell-Festplatte:
Die Größe der einzlenen Partitionen auf der Quell-Festplatte notieren (sofern benötigt Partitionen so erkleinern, dass diese auf die zweite Festplatte passen) -
Ziel-Festplatte vorbereiten:
Auf der Ziel-Festplatte eine Partitionstabelle vom Typ “bsd” erstellen (wird für UEFI-Boot benötigt). Dann Partitionen mit gleicher Größe wie auf der Quell-Festplatte erstellen (gewähltes Dateisystem der Partitionen egal) -
Kopieren:
Einzelne Partitionen über “Kopieren” (Quell-Festplatte) und “Einfügen” (Ziel-Festplate) einzeln auf die Zielfestpaltte kopieren. -
Flags der Partitionen (Markierungen) wie auf der Quell-Festplatte setzen, z. B.:
- Grub-Partition: bios_grub
- UEFI-Partition: boot und esp
Grafiktreiber"
categories:
- “suse”
Alle Einträge zur Grafik finden sich in /etc/X11/xorg.conf
Mit sax2 -p
erfährt man nähere Informationen zu der Grafikkarte
Wenn die Installation eines Grafiktreibers fehlgeschlagen hat, kann man mit init 3
herunterfahren in den Runlevel 3
sax2 -nv
bzw. switch2nv
Standard-Einstellung wiederherstellen (für nvidia) sax2 -m 0=nvidia
stellt den Nvidia-Treiber ein
sax2 -m 0=vesa
stellt den Standard-Treiber ein
Grafiktreiber"
categories:
- “debian”
ATI-Grafiktreiber
sudo apt-get install --yes fglrx-control fglrx-glx fglrx-modules-dkms
Nvidia-Grafiktreiber
Benötigten Treiber ermitteln
sudo apt-get install nvidia-detect
sudo nvidia-detect
Aktuellen Grafiktreiber installieren
sudo apt-get install nvidia-driver nvidia-settings nvidia-xconfig
sudo nvidia-xconfig
Legacy-Grafiktreiber installieren
sudo apt-get install --yes nvidia-legacy-340xx-driver
oder
sudo apt-get install --yes nvidia-legacy-304xx-driver
Treiber wählen
Sind mehrere NVIDIA-Treiber installiert, so kann der passende Treiber mit update-alternatives gewählt werden:
sudo apt-get install nvidia-alternative
sudo update-glx --config nvidia
Beschleunigung für HD-Videos
Für die Hardware-Beschleunigung von HD-Videos über VDPAU wird das Paket libvdpau1 benötigt. sudo apt-get install --yes libvdpau1
Sollte danach die CPU-Belastung beim Abspielen von HD-Videos noch immer sehr hoch sein oder unschönes Tearing auftreten, sorgt der Befehl: sudo nvidia-xconfig --no-composite
und ein anschließender Neustart für Abhilfe.
grep"
categories:
- “suchen”
grep -r haus documents/texte/
sucht rekursiv in texte nach dem Wort haus grep -l -r suchwort /home/stefan/bin/*
durchsucht ab dem Verzeichnis /bin/ alle Dateien rekursiv (-r) nach dem Inhalt “Suchwort” und gibt nur die Dateinamen aus (-l) grep -i ROot /etc/passwd
sucht nach “root” ohne Beachtung der Groß- und Kleinschreibung
Suchmuster | Passt auf |
Tiger | Die Zeichenkette Tiger |
^Tiger | Tiger am Zeilenanfang. |
Tiger | Tiger am Zeilenende. |
^Tiger$ | Tiger ist das einzige Wort auf der Zeile. |
[tT]iger | tiger oder Tiger. |
T[aeiou]ger | 5 Zeichen, davon 4 wie angegeben. Das zweite Zeichen ist ein beliebiger Vokal. |
T[^aeiou]ger | 5 Zeichen, davon 4 wie angegeben. Das zweite Zeichen ist jedes Zeichen außer einem Vokal. |
^...$ | Jede Zeile, die genau drei Zeichen enthält. |
^\. | Jede Zeile, die mit einem Punkt beginnt. Der \ maskiert wie gewohnt. |
^[^.] | Jede Zeile, die nicht mit einem Punkt beginnt. |
Tiger.* | Tiger, gefolgt von einer auch leeren beliebigen Zeichenfolge: Tiger, Tigerin, Tigerhöhle... |
[A-Z][A-Z]* | Ein oder mehrere Großbuchstaben |
[A-Z].* | Ein Großbuchstabe, gefolgt von einer auch leeren, beliebigen Zeichenfolge. |
[A-Z]* | Eine auch leere Folge von Großbuchstaben. |
Weitere Beispiele von http://www.admin-magazin.de/News/Tipps/ADMIN-Tipp-Grep-mit-Grips?utm _source=ADMIN+Newsletter&utm_campaign=ADMIN-Newsletter-2013-17&utm_medium=email :
Wie man mit grep wirklich nur das ausfiltert, was man haben will. Gesetzt den Fall man grept nach einem Prozess, etwa:
jcb@hercules:~$ ps aux | grep firefox
jcb 2665 13.7 4.9 973172 194812 ? Sl 16:12 0:15 /usr/lib/firefox/firefox
jcb 2752 0.0 0.0 15092 924 pts/2 R+ 16:14 0:00 grep --color=auto firefox
Ohne spezielle Vorkehrungen filtert man immer die das grep-Kommando als zusätzliche Zeile mit aus, weil es ebenfalls den Suchbegriff (hier: firefox) enthält.
Nun kann man sich bekanntlich dagegen wehren, indem man in einem zweiten Schritt die Ergebniszeilen wieder ausschließt, die das Wort grep enthalten:
jcb@hercules:~$ ps aux | grep firefox | grep -v grep
jcb 2665 11.4 4.9 965040 195316 ? Sl 16:12 0:18 /usr/lib/firefox/firefox
Es geht aber auch noch einen Tick eleganter: Nämlich, indem man im Suchbegriff einen beliebigen Buchstaben als einelementige Zeichenklasse eines regulären Ausdrucks definiert. An der Suche ändert das nichts. Weil nun aber der wirksame Suchbegriff und seine grep-relevante, schriftliche Darstellung zwei verschiedene Dinge sind, erhält man nur noch eine Ergebniszeile. Das geht so
jcb@hercules:~$ ps aux | grep firef[o]x
jcb 2665 10.8 4.9 965040 195004 ? Sl 16:12 0:20 /usr/lib/firefox/firefox
Grip"
categories:
-
“audio”
-
“multimedia”
-
Umlaute in Dateinamen: /Konfiguration/sonstige/
- wandle Dateinamennicht in Kleinbuchstaben um
- erlaube hohe Bits in Dateinamen
- ändere Leerzeichen nicht in Unterstriche
-
Variablen für Dateinamen
- %t Nummer des Tracks auf der CD
- %n Titel des Stückes
- %a Künstler des Stückes (ideal für Sampler)
- %A Künstler der CD
- %d Titel der CD
- %y Jahr
- %G Genre als Text
groupadd"
categories:
- “benutzer-gruppen”
legt ein neue Gruppe an
groupdel"
categories:
- “benutzer-gruppen”
Löscht eine Gruppe
groupmod"
categories:
- “benutzer-gruppen”
Gruppenname oder ID ändern
groups"
categories:
- “benutzer-gruppen”
groups benutzer
Ausgeben der Gruppenzugehörigkeit eines Benutzers.
growisofs"
categories:
- “cds-dvds”
Standardtool um DVDs zu brennen Brennt ein Video-DVD-Image: growisofs -Z /dev/hdd=dvd.iso
oder auch growisofs -Z /dev/hdd /path/
, wenn in /path/ die Verzeichnisse AUDIO_TS und VIDEO_TS liegen growisofs -dvd-compat -Z /dev/dvd=image.iso
brennt eine Daten-DVD growisofs -dvd-compat -Z /dev/dvd -J -r -V "Meine Sicherung" /pfad/zu/den/daten/
Erklärung der einzelnen Schalter:
- -dvd-compat: garantiert größtmögliche Kompatibilität (closed, fixed,… - wie man es auch nennen mag)
- -Z /dev/dvd: die Gerätedatei des Brenners
- -J: Joliet Erweiterung (um sie auch in Windows lesen zu können)
- -r: Rockrigde Erweiterung (für Unix/Linux)
- -V: gibt der DVD (und auch CD) einen Namen. Die Anführungszeichen sind wichtig, wenn ein Leerzeichen dabei ist.
- /pfad/zu/den/daten/: die Daten in diesem Ordner werden gebrannt
Grub direkt durchstarten ohne 10 Sekunden warten"
categories:
- “grub”
Damit der Grub beim starten des Computers nicht 10 Sekunden wartet oder das gewünschte System ausgewählt werden muss, muss man die “/etc/default/grub” Datei mit folgendem Inhalt anpassen:
GRUB_DEFAULT=“0” GRUB_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT=0.0 GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`" GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash profile” GRUB_CMDLINE_LINUX=""
grub"
categories:
- “grub” tags:
- “acpi”
- “bootprobleme”
- “pnpbios”
Standardeintrag beim Systemstart festlegen
in der Datei /etc/default/grub
den gewünschten Eintrag unter GRUB_DEFAULT=x
eintragen. Grub beginnt beim Zählen mit 0. Der fünfte Eintrag lautet also: GRUB_DEFAULT=4
.
Anschließend die grub-Konfiguration neu erstellen lassen:
sudo update-grub
grub installieren
mount /dev/hdxx /mnt/hdxx
rm /mnt/hdxx/etc/mtab (falls diese noch Einträge enthält)
chroot /mnt/hdxx
mount -a (mtab neu generieren s.o.)
grub-install
update-grub
vim /boot/grub/menu.lst (evtl. editieren -> /dev/hdxx und (hdx,x)-Einträge)
Bootimages befinden sich in /boot/grub/splashimages
und werden mit dem Eintrag splashimage=(hd0,0)/boot/grub/splashimages/kubuntucrystal.xpm.gz
in der Datei /boot/grub/menu.lst
eingebunden.
Grub-Passwort setzen Grub-Passwort verhindert den Login in eine root-Shell (siehe “root-passwort neu setzen”).
Passwort-Hash mit grub-md5-crypt erzeugen und in grub.conf oder menu.lst (je nach Distribution) eintragen: password --md5 Passwort-Hash
Eine Eingabe von lock in die jew. Titel-Direktive der Grub-Einträge verhindert das Booten des jew. Systems ohne Passworteingabe.
Bootparameter für Problemhardware Besonders bei Laptops kann es vorkommen, dass Teile der Hardware nicht richtig erkannt werden und das System nicht richtig startet. Es gibt einige Bootparameter, mit denen es möglich ist, die Hardwareerkennung zu steuern:
acpi=off
kein ‘Advanced Configuration and Power Interface’ verwendenacpi=force
ACPI erzwingennoapic
den ‘Advanced Programmable Interrupt Controller’ komplett umgehennolapic
nur den APIC-Teil der CPU umgehennoagp
Deaktiviert die (AGP) Grafiknoapm
Deaktiviert die Energieverwaltungpnpbios=off
kein Plug&Play-Bios verwendenpci=bios
Workaround für falsch erkannte Interrupspci=noacpi
Schaltet ACPI-Erkennung während der PCI-Konfiguration aus (ist insbesondere bei manchen VIA-Chipsätzen notwendig)pci=routeirq
IRQ-Autorouting, hilfreich für einige Mainboards (zum Beispiel Asus A7N8X)irqpoll
kompatibles Verfahren zur Interruptabfragehpet=disable
den ‘High Precision Event Timer’ nicht verwendennodma
kein ‘Direct Memory Access’ verwendennousb
USB-Controller abschaltennousb2
USB2 abschaltennofirewire
FireWire-Controller abschaltennohwsetup
hwsetup-Autokonfiguration überspringennoudev
udev-Autokonfiguration überspringennopcmcia
PCMCIA-Funktion abschaltennoideraid
IDE-Soft-RAID als Einzelplatten ansprechen -- gefährlich –pci=irqmask=0x0e98
Workaround für nicht funktionierende PS2-Mäuseide2=0x180 nopcmcia
Booten von PCMCIA-CD-ROMvga=normal
bzw.nofb
erzwingt VGA-Modusvga=ask
frägt beim jedem Systemstart nach der Einstellung (gut für Tests) (siehe auch VGA-Modus)fb=false
Deaktiviert den Framebufferscreen=1280 x 1024
Auflösung 1280x1024 für Grafikmodus erzwingenvsync=60
60Hz-Bildwiederholrate im Grafikmodushsync=80
80Hz Horizontalfrequenz (für manche TFT-Monitore erforderlich)failsafe
verwendet eine Minimalkonfigurationdebug
startet besonderen Modus zur Fehlersucheht=on
Aktiviert Hyper-Threadingusb=bios
DEBCONF_DEBUG=5
Ausführliche FehlersucheBOOT_DEBUG=2|3
Fehlersuche während des Startvorgangsall_generic_ide
Generischen IDE Treiber für alle Geräte verwenden, die vom BIOS erkannt wurdenxforcevesa
Der XServer (graphische Oberfläche) wird unabhängig von der verwendeten Hardware nur für ‘vesa’ konfiguriert
Grub2"
categories:
- “grub”
Grub 2 ist von Grund auf komplett anders aufgebaut als Grub Legacy. Die Änderungen sind hier sehr ausführlich beschrieben: http://wiki.ubuntuusers.de/GRUB_2 http://wiki.ubuntuusers.de/GRUB_2/Konfiguration
Die Konfigurationdatei (früher /boot/grub/menu.list) ist jetzt in folgende Dateien aufgeteilt:
- /etc/default/grub
- /boot/grub/grub.cfg
Die Datei grub.cfg sollte jedoch nie von Hand geändert werden (sehr gefährlich und nach einem Kernelupdate sind alle Änderungen wieder weg).
Seit Grub 2 können alle installierten Betriebssysteme sehr einfach vollautomatisch eingetragen werden:
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo update-grub2 # für ältere Versionen
Möchte man beim Booten alle Meldungen mitlesen, löscht man in der Datei /etc/default/grub den “quiet”-Eintrag:
GRUB_CMDLINE_LINUX_DEFAULT=quiet
wird zu
GRUB_CMDLINE_LINUX_DEFAULT=
danach noch ein
sudo update-grub
und fertig.
grun"
categories:
- “xfce”
grun ist ein guter Ersatz für xf4run von xfce. Nach der Installation durch apt-get install grun
muss das Programm noch der Tastenkombination Alt-F2 zugeordnet werden. Das geschieht über Das Menü Einstellungen/Tastatur/Tastaturkürzel für Anwendungen.
Grundinstallation"
categories:
- “suse”
- CD bzw. DVD einlegen und booten
- “Installation” auswählen
- Den Anweisungen am Bildschirm folgen
- “KDE” anwählen
- Die Partitionierung sollte umgeändert werden:
- root-Partiion mit ca. 6 GB
- home-Partition mit dem restlichen Festplattenspeicher (Achtung: Wenn das home-Verzeichnis schon vorhanden ist, nicht formatieren!)
- Formatieren mit Reiser (oder ext4)
- Die Swap-Partition muss auf jedem Linux-System vorhanden sein
gtkorphan"
categories:
- “kompilieren-installieren” tags:
- “aufraeumen”
- “debfoster”
- “deborphan”
Mit gtkorphan können ungenutzte Programme ermittelt und auch gelöscht werden. Das Ganze geht auch in der Konsole mit apt-get remove $(deborphan)
Mit debfoster
werden Abhängigkeiten installierter Programme aufgezeigt und abgefragt. Tastenbedeutungen während der Abfrage:
- y Paket behalten
- n Paket entfernen.
- p Das aktuelle Paket und die davon abhängigen Pakete, die von keinem anderen Paket abhängen, deinstallieren.
- s Diese Abfrage überspringen.
- h Hilfe anzeigen
- i oder ? Zeige Informationen zu dem entsprechenden Paket an.
- u Mache die letzte Entscheidung rückgängig.
- q Beende debfoster ohne Pakete zu deinstallieren.
- x Unerwünschte Pakete entfernen und debfoster beenden.
gzip"
categories:
- “archive”
gzip *.txt
entpacken: gunzip
oder gzip -d *.tar.gz
halt"
categories:
- “system”
Alle Prozesse beenden.
hdparm"
categories:
- “hardware” tags:
- “festplatte”
hdparm /dev/sda
gibt aus, in welchem Modus die Platte am ersten Controller (/dev/sda) läuft
hdparm -d1 /dev/hda
aktiviert den DMA-Modus
hdparm -Tt /dev/hda
testet die Geschwindigkeit des Laufwerks /dev/sda
hdparm -Tt --direct /dev/sda
testet die Geschwindigkeit des Laufwerks /dev/sda und umgeht dabei den Cache
head"
categories:
- “ausgabe”
head Datei
gibt die erste Zeile aus
Heimnetzwerk über einen Proxy mit Squid und Dansguardian absichern (WLAN)"
categories:
- “netzwerk”
- “serversoftware” tags:
- “dansguardian”
Anleitung nach http://wiki.ubuntuusers.de/Router und http://wiki.ubuntuusers.de/WLAN _Router
Diese Anleitung zeigt, wie man einen Proxy mit WLAN-Router installiert.
-
Debian Serversystem installieren
-
grafische Oberfläche abwählen
-
ssh-Server auswählen
-
sources-list erweitern:
deb http://ftp.de.debian.org/debian squeeze main contrib non-free deb http://ftp.de.debian.org/debian squeeze-updates main contrib non-free deb http://security.debian.org/ squeeze/updates main contrib non-free
-
apt-get update
-
apt-get upgrade
-
-
Programme installieren
- apt-get install squid dansguardian ssh
- apt-get install hostapd dnsmasq
-
die Datei /etc/default/hostapd bearbeiten
DAEMON_CONF="/etc/hostapd.conf" RUN_DAEMON=yes
-
Die Datei /etc/hostapd.conf mit folgendem Inhalt erstellen:
# Schnittstelle und Treiber interface=wlan0 driver=nl80211 # WLAN-Konfiguration ssid=WLAN_AP-SSID channel=1 # ESSID sichtbar ignore_broadcast_ssid=0 # Ländereinstellungen country_code=DE ieee80211d=1 # Übertragungsmodus hw_mode=g # Optionale Einstellungen # supported_rates=10 20 55 110 60 90 120 180 240 360 480 540 # Draft-N Modus aktivieren / optional nur für entsprechende Karten # ieee80211n=1 # Übertragungsmodus / Bandbreite 40MHz # ht_capab=[HT40+][SHORT-GI-40][DSSS_CCK-40] # Beacons beacon_int=100 dtim_period=2 # MAC-Authentifizierung macaddr_acl=0 # max. Anzahl der Clients max_num_sta=255 # Größe der Datenpakete/Begrenzung rts_threshold=2347 fragm_threshold=2346 # hostapd Log Einstellungen logger_syslog=-1 logger_syslog_level=2 logger_stdout=-1 logger_stdout_level=2 # temporäre Konfigurationsdateien dump_file=/tmp/hostapd.dump ctrl_interface=/var/run/hostapd ctrl_interface_group=0 # Authentifizierungsoptionen auth_algs=3 # wmm-Funktionalität wmm_enabled=0 # Verschlüsselung / hier rein WPA2 wpa=2 rsn_preauth=1 rsn_preauth_interfaces=wlan0 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP # Schlüsselintervalle / Standardkonfiguration wpa_group_rekey=600 wpa_ptk_rekey=600 wpa_gmk_rekey=86400 # Zugangsschlüssel (PSK) / hier in Klartext (ASCII) wpa_passphrase=1234567890abcdefghijklmn
-
Konfiguration der /etc/network/interfaces:
# loopback-Interface nicht löschen auto lo iface lo inet loopback # LAN / automatische Konfiguration über DHCP auto eth0 iface eth0 inet dhcp # WLAN mit statischer Konfiguration auto wlan0 iface wlan0 inet static address 192.168.3.1 netmask 255.255.255.0 broadcast 192.168.3.255 # vorhandene Regeln und Ketten zuerst löschen (Restart-Funktionalität) up /sbin/iptables -F up /sbin/iptables -X up /sbin/iptables -t nat -F # Maskieren der LAN-Schnittstelle, Port-Forwarding & Nat aktivieren up iptables -A FORWARD -o eth0 -i wlan0 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT up iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE up sysctl -w net.ipv4.ip_forward=1 # hostapd und dnsmasq neu starten up /etc/init.d/hostapd restart up /etc/init.d/dnsmasq restart
-
Die Datei /etc/dnsmasq.conf mit folgendem Inhalt erstellen.
# DHCP-Server aktiv für Interface interface=wlan0 # DHCP-Server nicht aktiv für Interface no-dhcp-interface=eth0 # IP-Adressbereich / Lease-Time dhcp-range=interface:wlan0,192.168.3.20,192.168.3.200,infinite
-
Squid einrichten
- Konfiguration des Squid: /etc/squid/squid.conf
- aktivieren der Apache log emulation (zur Zugriffs Überwachung): emulate_httpd_log on
- setze den Hostnamen: visible_hostname localhost
- ändere die Zeile http port 3128 folgendermaßen: http_port 3128 transparent
- Konfiguration des Dansguardian: /etc/dansguardian/dansguardian.conf UNCONFIGURED auskommentieren: # UNCONFIGURED
- In der Datei: /etc/dansguardian/dansguardianf1.conf setze naughtynesslimit = 130
- Erstelle die Datei /etc/init.d/transparentproxy , die folgende Zeile enthält:
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 8080
- mache die Datei ausführbar mit chmod a+x /etc/init.d/transparentproxy
- erstelle startup Links: update-rc.d transparentproxy defaults
- reboot
- Konfiguration des Squid: /etc/squid/squid.conf
help"
categories:
- “hilfe”
Befehl --help
gibt eine kurze Anleitung zum Befehl
aus
Highlighten der Schrift im Terminal"
categories:
- “konsole”
Wenn im Terminal alles nur noch in schwarz-weiß dargestellt wird kann man mit folgender Dateiänderung wieder die farbige Hervorhebung einzelner Befehle wiederherstellen. In der Datei ~/.bashrc
nach der Zeile #force_color_prompt=yes
suchen. Wenn diese vorhanden ist auskommentieren ansonsten am Ende der Datei force_color_prompt=yes
einfügen. Danach muss noch der Befehl source ~/.bashrc
ausgeführt werden.
History aller Shells speichern"
categories:
- “konfigurationsdateien”
- “shell”
Normalerweise wird immer nur die History der zuletzt geschlossenen Shell gespeichert. Durch hinzufügen der folgenden Zeilen in die Datei ~/.bashrc
werden die Eingaben aller Shells gespeichert:
- Einstellung, damit neue Befehle an die History-Datei anhängen kann:
shopt -s histapped
- Die History-Daten vor ausgabe des nächsten Prompt speichern:
PROMPT_COMMAND="history -a"
Will man Veränderungen an der bashrc aktivieren so hilft . ~/.bashrc
Dieser Befel liest die .bashrc und die zugehörigen Dateien neu ein. Mit exec bash -$-
wird die Shell neu gestartet.
home-Verzeichnis verschlüsseln unter Debain"
categories:
- “dateisysteme”
- “debian”
- “distributionen”
- “verschlusseltes-dateisystem” tags:
- “ecryptfs”
- “encfs”
Unter Ubuntu kann man (direkt bei der Installation) die einzelnen home-Verzeichnisse des jeweiligen Users so (mit encfs) verschlüsseln, so dass diese mit dem jeweiligen Login autmoatisch für den jeweiligen user entschlüsselt werden. Unter Debian ist dies nur nachträglich möglich und zwar wie folgt:
- Notwendige Pakete installieren:
sudo apt-get install ecryptfs-utils rsync
- Ggf. das Modul ecryptfs in den Kernel integrieren (sofern dies nicht automatisch geschieht):
sudo modprobe ecryptfs
- Die Dateien des Users können nun über ein Skript automatisch verschlüsselt in ein ecryptfs Verzeichnis kopiert werden. Folgender Befehl muss als root im root-Verzeichnis ausgeführt werden:
ecryptfs-migrate-home -u USERNAME
Wichtig: Der entsprechende user darf dabei nicht eingeloggt sein!
- Die Ausgaben von
ecryptfs-migrate-home
unbedingt befolgen: - Sofort mit dem entsprechenden User einloggen und prüfen, ob alle Daten vorhanden sind. - Sofern alles passt, den Backupordner löschen. - Den Passwortschlüssel abfragen und an einem sicheren ort speichern:
su ecryptfs-unwrap-passphrase .ecryptfs/wrapped-passphrase
- Ebenso die swap-Partition verschlüsseln:
ecryptfs-setup-swap
host"
categories:
- “netzwerk”
- “analysieren-und-informationen”
IP bzw. Name suchen host 62.245.157.216
sucht Domain
hostname"
categories:
- “netzwerk”
- “analysieren-und-informationen”
hostname
liefert den Rechnername sudo hostname neuer_name
setzt den Rechnernamen neu
evtl. muss noch die Datei /etc/hostname
editiert werden
Hotcopy"
categories:
- “archive”
- “dateisysteme” tags:
- “backup”
- “hcp”
Download unter: http://www.idera.com/ProductsSolutions/FreeTools/SBLinuxHotCopy.aspx
Einrichtung:
- Programm installieren
sudo hcp-setup --get-module
Hotcopy kann unmittelbar und online Snapshots von jedem gemounteten Device erzeugen. Die Snapshots sind les- und schreibbar, lasen sich aber auch read-only anlegen. Sie brauchen im Unterschied zu LVM keinen vorher reservierten Platz und sind sehr schnell. Einen Snapshot der Partition /dev/sda5 erzeugt beispielsweise: sudo hcp --read-only /dev/sda5
Das erzeugt augenblicklich eine Kopie der Daten unter dem virtuellen Device /dev/hcp1. Ein normales Backup von diesem Device wird automatisch zur Online-Sicherung, die sich nicht mehr um offene Files zu scheren braucht. Danach kann man den Snapshot mit sudo hcp -r /dev/hcp1
wieder verwerfen. Will man ein riskantes Skript testen, legt man sich zunächst wieder einen Snapshot seiner Systempartition an, der automatisch an /var/hotcopy/Devicename gemountet wird: # hcp /dev/sda5
Nun setzt man den Snapshot temporär als neues Root-Directory ein # chroot /var/hotcopy/sda5
In dieser Umgebung lässt sich jetzt gefahrlos das Skript testen, das einem nicht geheuer war. # diff --recursive / /var/hotcopy/sda5
zeigt anschließend, was das Skript geändert hätte.
htaccess"
categories:
- “netzwerk” tags:
- “sicherheit”
Um Lesezugriffe auf Webservern zu sichern verwendet man .htaccess-Dateien und die zugehörige .htpasswd-Datei.
Die verschlüsselte .htpasswd-Datei erzeugt man mit htpasswd -c .htpasswd benutzname
Das Programm htpaaswd ist im Paket apache2-utils enthalten.
HTML-Editor"
categories:
- “entwicklung”
bluefish / quanta / nvu
html2ps"
categories:
- “postscript-pdf”
Umwandeln von HTML in PostScript
hwinfo"
categories:
- “hardware”
Hardwareinformationen (nur als root) z.B. hwinfo --cpu
Schalter: all, bios, block, bluetooth, braille, bridge, camera, cdrom, chipcard, cpu, disk, dsl, dvb, floppy, framebuffer, gfxcard, hub, ide, isapnp, isdn, joystick, keyboard, memory, modem, monitor, mouse, netcard, network, partition, pci, pcmcia, pcmcia-ctrl, pppoe, printer, scanner, scsi, smp, sound, storage-ctrl, sys, tape, tv, usb, usb-ctrl, vbe, wlan, zip hwinfo --short
gibt eine Kurzübersicht aus
i3wm"
categories:
- “desktop”
i3-wm ist ein sparsamer Window-Manager, der komplett über die Tastatur gesteuert wird. Weitere Indos unter: http://i3wm.org
iconv"
categories:
- “kopieren-umbenennen-loschen”
Konvertiert den Inhalt einer ASCII-Datei. Eine DOS-Datei in eine UTF-8-Datei umwandeln: iconv -f CP1250 -t UTF-8 -o out.txt input.txt
Das Konvertieren des Dateinamens geht mit recode.
id"
categories:
- “benutzer-gruppen” tags:
- “gid”
- “gruppen-id”
- “uid”
- “user-id”
Zeigt den aktuellen Benutzer und die zugeordneten Gruppen an. Weiterhin werden die User-ID und die IDs der Gruppen angezeigt.
id
gibt die Gruppenzugehörigkeit aus id -Gn
gibt nur die Namen der Gruppen aus
identify"
categories:
- “bildbearbeitung”
identify Dateiname
gibt Informationen über eine Datei (z. B. ein Foto) aus. Mit identify -verbose Dateiname
werden noch ausführlichere Inforamtionen angezeigt.
if"
categories:
- “abfragen”
- “shell”
- “skripte” tags:
- “elif”
- “else”
- “fi”
- “if”
- “then”
if Bedingung ; then
# Befehle
elif Bedingung ; then
# Befehle
else
# Befehle
fi
Beispiele:
Ja/Nein-Abfragen:
echo -n Befehl ausführen [J,n]?
read -n1 ans
if [ ${ans:=j} == j -o $ans == J ] ; then
# Hier stehen die Befehle
fi
Verwendung des Null-Befehls (:) mit if (z. B. Prüfen, ob jemand angemeldet ist):
if who | grep $1 > /dev/null
then : # tut nichts
else echo "Benutzer $1 ist nicht angemeldet"
fi
iftop"
categories:
- “netzwerk”
- “analysieren-und-informationen”
iftop
liefert in der konsole genaue Informationen, welche Netzwerkdaten gesendet und empfangen werden.
Images erstellen"
categories:
- “system-rescue-cd” tags:
- “fsarchiver”
Bootsektor sichern: sfdisk -d /dev/sda > part.info
und dd if=/dev/sda of=./part.mbr bs=512 count=1
fsarchiver Erstellen: Zuerst die Partition mounten, auf die das Image geschrieben werden soll: mount /dev/sda2 /mnt/backup
Image erstellen: fsarchiver -v savefs /mnt/backup/sicherung.fsa /dev/sda1
Zurückschreiben: fsarchiver restfs /mnt/backup/sicherung.fsa id=0,dest=/dev/sda1
improvisor"
categories:
- “audio”
- “multimedia” tags:
- “aconnex”
- “project”
- “qjackctl”
- “timidity”
Mit Improvisor lassen sich (wie mit Band in an Box) Improvisationen üben.
Download: http://www.cs.hmc.edu/~keller/jazz/improvisor/
Damit die Midi-Ausgabe gut klingt sind folgende Vorarbeiten notwendig:
- Soundfont, timidity und qjackctl installieren:
sudo apt-get install fluid-soundfont-gm timidity qjackctl
- In der timidity-Konfiguration
sudo vim /etc/timidity/timidity.cfg
folgendes ändern:#source /etc/timidity/freepats.cfg
(abschalten)source /etc/timidity/fluidr3_gm.cfg
(anschalten)
Zum Starten sind diese Schritte notwendig:
- Virtuellen Midi-Kanal einrichten:
sudo modprobe snd-virmidi
Damit das Modul immer beim Start geladen wird ergänzt man die Datei/etc/modules
um die Zeilesnd-virmidi
- TiMidity starten:
timidity -iAqqq -B8,8 &
- qjackctl starten und
VirtualRaw MIDI 2.0
mit128:Timidity
verbinden oder in der Konsole mitaconnect 24:0 128:0
verbinden (mitaconnect -i
undaconnect -ol
lassen sich die Parameter ermitteln) - Improvisor starten und in der MIDI-Konfiguration
VirMIDI[hw:2,0,0]
auswählen
In der Suche den korrekt formatierten Inhalt wiedergeben"
categories:
- “wordpress”
in der Datei content.php wird der Eintrag: <?php the_excerpt(); ?>
in <?php the_content('weiter...'); ?> geändert
individuelles Ubuntu-Live erstellen"
categories:
- “distributionen”
- “ubuntu”
-
System installieren: Es werden sowohl das 32bit- wie auch das 64bit-Image benötigt. Download unter: http://www.ubuntu.com
- ubuntu 16.04 (32bit) installieren (Achtung, ubuntu und nicht xubuntu oder kubuntu nehmen!)
- zusätzliche Pakete einspielen:
sudo apt-get install build-essential debootstrap squashfs-tools genisoimage syslinux-common syslinux-utils
-
Verzeichnisse erstellen
mkdir iso
mkdir iso/casper
-
Boot-Dateien kopieren
- Das Image (32bit) mounten und die Ordner
.disk
undisolinux
nachiso
kopieren. - Vom 64bit-Image den Ordner
EFI
undboot
nachiso
kopieren, damit auch bei eingeschaltetem UEFI gebootet werden kann.
- Das Image (32bit) mounten und die Ordner
-
Grundsystem erstellen
sudo debootstrap --arch i386 xenial squashfs
-
Script, um Änderungen hinzuzufügen:
#!/bin/bash sudo mount --bind /dev squashfs/dev sudo mount -t devpts devpts squashfs/dev/pts sudo mount -t proc proc squashfs/proc sudo mount -t sysfs sysfs squashfs/sys sudo cp /etc/resolv.conf squashfs/etc/ sudo cp /etc/apt/sources.list squashfs/etc/apt/
-
Quellen aktualisieren
sudo chroot squashfs apt update
-
Grundpakete installieren
sudo chroot squashfs apt install linux-image-generic language-pack-de tzdata console-setup casper ubiquity-casper lupin-casper sudo chroot squashfs apt install --no-install-recommends ubuntu-desktop sudo chroot squashfs apt install firefox-locale-de hyphen-de hunspell-de-ch thunderbird-locale-de hunspell-de-at hunspell-de-de libreoffice-help-de libreoffice-l10n-de wswiss wogerman wngerman mythes-de-ch language-pack-gnome-de mythes-de
Der Wert –no-install-recommends bewirkt, dass nur die nötigsten Pakete und nicht die ganze Desktopumgebung installiert wird.
-
Bootloader anpassen
-
Alle Dateien im Ordner iso/isolinux löschen, außer alle mit der Endung .c32
-
In diesem Ordner eine Datei mit dem Namen
isolinux.cfg
und folgendem Inhalt erstellen:default vesamenu.c32 menu background splash.jpg menu title Live-System auf Basis von Ubuntu 16.04 label linux menu label Live-System starten kernel /casper/vmlinuz append BOOT_IMAGE=/casper/vmlinuz boot=casper initrd=/casper/initrd.lz quiet splash -- debian-installer/language=de console-setup/layoutcode?=de
-
Im Ordner
boot/grub
die Dateigrub.cfg
anpassenmenuentry "Live-System starten" { set gfxpayload=kkep linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash debian-installer/language=de concole-setup/layoutcode?=de desktop=xubuntu initrd /casper/initrd.lz
-
-
Script um Änderungen abzuschließen und ein ISO zu erzeugen
#!/bin/bash sudo chroot squashfs update-initramfs -k all -c sudo zcat squashfs/boot/initrd.img* | lzma -9c > iso/casper/initrd.lz sudo cp squashfs/boot/vmlinuz* iso/casper/vmlinuz sudo umount squashfs/dev/pts squashfs/dev squashfs/proc squashfs/sys sudo mksquashfs squashfs iso/casper/filesystem.squashfs -noappend sudo genisoimage -cache-inodes -r -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o live.iso -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot iso sudo isohybrid -u live.iso
-
Änderungen am Live-System werden in der Konsole in einer chroot-Umgebung ausgeführt:
sudo chroot squashfs /bin/bash
- Installation von Paketen mittels
apt install
- Löschen von Paketen mit
apt remove
- Fremdpakete müssen per
sudo cp paket.deb /squashfs
kopiert und dann mitdpkg -i paket.deb
installiert werden. Fehlerhafte Abhängigkeiten korrigiert man mitapt -f install
- Installation von Paketen mittels
-
Amazon entfernen
rm /usr/share/applications/ubuntu-amazon-default.desktop
gsettings set com.canonical.Unity.Lenses disabled-scopes "['more_suggestions-amazon.scope', 'more_suggestions-u1ms.scope', 'more_suggestions-populartracks.scope', 'music-musicstore.scope', 'more_suggestions-ebay.scope', 'more_suggestions-ubuntushop.scope', 'more_suggestions-skimlinks.scope']"
-
Wer den Unitiy-Desktop nicht mag, kann einfach zum Beispiel xfce installieren
apt install --no-install-recommends xubuntu-desktop
Damit auch dieser Desktop gestartet wird, ergänzt man die Datei isolinux.cfg nachlayoutcode?=de
um den Parameterdesktop=xubuntu
-
Individuelle Einstellungen am Desktop kopiert man aus dem installierten System in den Ordner
squashfs/etc/skel
-
Benutzer-Gruppen-Zuordnung
useradd -m -s /bin/bash username gpasswd -a username gruppe
-
Damit das System beim booten ohne Netzwerk nicht 5 min wartet wird in der Datei
/lib/systemd/system/networking.service
der Wert unter TimeoutStartSec einfach auf 30sec herabgesetzt. -
Vor Änderungen am Live-System muss man das Script unter Punkt 5 aufrufen.
Links zum Thema:
- https://www.hiroom2.com/2016/06/10/ubuntu-16-04-create-customized-livedvd/
- https://www.915tx.com/remaster/
info"
categories:
- “hilfe”
Kurzinfo zu einem Befehl:
info Befehl
mit q beenden
init"
categories:
- “runlevel”
- “system”
in einen Runlevel wechseln: init 5
0 abschalten 1 root 2 Multiuser 3 Netzwerk 4 - 5 Grafische Oberfläche 6 reboot
Inkscape"
categories:
- “programme”
Kubuntu-Benutzer: Inkscape auf deutsch erhält man durch Installieren des Pakets “language-pack-gnome-de”
Installation Brother-Multifunktionsgeräte"
categories:
- “hardware”
Notwendige Pakete für Brother-Drucker installieren:
apt-get install csh
apt-get install libc6:i386 libgcc1:i386 gcc-4.7-base:i386
Brother CDP-8060
Download Druckertreiber bei Brother
dpkg -i brdcp8060lpr-2.0.1-1.i386.deb
dpkg -i cupswrapperDCP8060-2.0.1-2.i386.deb
PPD-Datei manuell zuweisen (falls dieser nicht automatisch eingereichtet wird): /usr/share/cups/model/DCP8060.ppd
Zusätzliche Informationen zur Installation unter Linux bei Brother . Siehe auch: http://wiki.ubuntu-forum.de/index.php/Brother_DCP-340CW
Brother HL-3040CN
(analog zur Installation des DCB-8060)
Download Druckertreiber bei Brother
dpkg -i hl3040cnlpr-1.1.2-1.i386.deb
dpkg -i hl3040cncupswrapper-1.1.2-2.i386.deb
Wenn der Drucker automatisch der USB-Adresse des DCP 8060 zugewiesen wird, den Drucker löschen, neu anlgegen und dabei die PPD-Datei manuell auswählen: /usr/share/cups/model/Brother/brother_hl3040cn_printer_en.ppd
Zusätzliche Informationen bei Brother für LPR-Treiber . Zusätzliche Informationen bei Brother für CUPS-Wrapper-Treiber .
Brother Scanner
Notwendiege Pakete installieren:
apt-get install sane-utils xsane xsane-common
Treiber installieren:
Download Scannertreiber bei Brother
dpkg -i brscan2-0.2.5-1.amd64.deb
Zusätzliche Informationen bei Brother für USB-Scanner-Treiber und ubuntuusers .
Falls scanimage unter Debian 64bit “scanimage: no SANE devices found” meldet:
echo "/usr/lib64" > /etc/ld.so.conf.d/brother.conf
echo "/usr/lib64/sane" >> /etc/ld.so.conf.d/brother.conf
ldconfig
Drucken unter Ubuntu als normaler user:
dpkg -i brother-udev-rule-type1-1.0.0-1.all.deb
alternativ ist auch folgendes möglich:
-
Editieren der Datei “/lib/udev/rules.d/40-libsane.rules”
-
Folgende Zeilen einfügen: (vor der Linie “# The following rule will disable …” bzw. vor “LABEL=“libsane_rules_end”).
# Brother scanners ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"
-
/etc/init.d/udev restart
-
addgroup
scanner -
User neu einloggen
Zusätzliche Informationen zum Scannen als normaler User bei Brother .
installierte Drucker werden nicht gefunden”
categories:
- “debian”
- “drucken”
- “kde”
- “xfce”
Unter Debian (mit XFCE-Oberfläche) kann es vorkommen, dass manche Programme (hauptsächlich KDE-Programme) entweder keine Drucker anzeigen oder Drucker, die es gar nicht mehr gibt. Dies liegt daran, dass diese Programme die Drucker in der Datei /etc/printcap
suchen, diese allerdings von cups nicht (mehr) verwaltet wird. Die aktuellen Drucker stehen in der Datei /var/run/cups/printcap
, die von cups dynamisch erzeugt wird.
Um dieses Problem zu beheben einfach einen symbolischen Link anlegen:
sudo mv /etc/printcap /etc/printcap.backup
sudo ln -s /var/run/cups/printcap /etc/printcap
installierte Programme sichern & wiederherstellen"
categories:
- “kompilieren-installieren”
als root:
dpkg --get-selections > selections.txt
dpkg --set-selections < selections.txt
dselect update
dselect install
oder auch:
apt-get -u dselect-upgrade
oder sichern mit:
COLUMNS=200 dpkg-query -W --showformat='${Package}\n' > packages.list
wiederherstellen mit:
cat packages.list | xargs apt-get -y install
Für RPM-pakete geht dies folgendermaßen:
rpm -qa --queryformat " "%{NAME} > installedRPMS.list
#! /bin/bash
apt-get update
apt-get install --reinstall Ihre_rpm-Liste
chmod u+x installedRPMS.list
/home/<your_username>/installedRPMS.list
apt-get clean
Eine andere Methode wäre diese: Mit
dpkg --get-selections | awk '!/deinstall|purge|hold/ {print $1}' > paketliste.list
die installierten Programme sichern und mit
xargs -a "paketliste.list" sudo apt-get install
wieder installieren.
Internetfernsehen"
categories:
- “multimedia-programme”
Miro Player / miniyoutube
Internetfilter mit Dansguardian"
categories:
- “kinder” tags:
- “dansguardian”
- “internetfilter”
-
Installiere folgende Pakete:
sudo apt-get install dansguardian squid iptables
-
Konfiguration des Squid:
/etc/squid/squid.conf
- aktivieren der Apache log emulation (zur Zugriffsüberwachung):
emulate_httpd_log on
- setze den Hostnamen:
visible_hostname localhost
- ändere die Zeile
http_port 3128
folgendermaßen:http_port 3128 transparent
- aktivieren der Apache log emulation (zur Zugriffsüberwachung):
-
Konfiguration des Dansguardian:
/etc/dansguardian/dansguardian.conf
- UNCONFIGURED auskommentieren: # UNCONFIGURED
-
In der Datei:
/etc/dansguardian/dansguardianf1.conf
- setze naughtynesslimit = 130
-
Starten der Dienste:
- /etc/init.d/squid start
- /etc/init.d/dansguardian start
-
iptables setzen:
iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner proxy --dport 80 -j REDIRECT --to-port 8080
-
Erstelle die Datei
/etc/init.d/transparentproxy
, die folgende Zeile enthält:iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner proxy --dport 80 -j REDIRECT --to-port 8080
-
mache die Datei ausführbar mit
chmod a+x /etc/init.d/transparentproxy
-
erstelle startup Links:
update-rc.d transparentproxy defaults
-
Dansguardian schreibt ausführliche Logdateien in /var/log/dansguardian/access.log
-
Squid-Cache leeren: entweder, wenn vorhanden, die Datei
/var/cache/squid/swap.state
löschen oder folgendes ausführen:sudo /etc/init.d/squid stop sudo rm -rf /var/spool/squid/* sudo squid -z sudo /etc/init.d/squid start
Schalter für Dansguardian Um dansguardian mit root-Rechten ab- und anzuschalten hilft folgender Workaround:
-
Kopiere die Datei /etc/dansguardian/lists/exceptioniplist in eine neue Datei /etc/dansguardian/lists/exceptioniplist.aus
-
Kopiere die Datei /etc/dansguardian/lists/exceptioniplist in eine neue Datei /etc/dansguardian/lists/exceptioniplist.ein
-
In der Datei /etc/dansguardian/lists/exceptioniplist.aus muss die eigene Rechneradresse als Ausnahme enthalten sein.
-
Batchfile mit folgendem Inhalt erstellen:
# Internetfilter einschalten if [ $1 = on ] then echo sudo cp /etc/dansguardian/lists/exceptioniplist.ein /etc/dansguardian/lists/exceptioniplist sudo /etc/init.d/dansguardian stop sudo /etc/init.d/dansguardian start echo echo Der Filter ist jetzt eingeschaltet. echo exit 0 fi # Internetfilter ausschalten if [ $1 = off ] then echo sudo cp /etc/dansguardian/lists/exceptioniplist.aus /etc/dansguardian/lists/exceptioniplist sudo /etc/init.d/dansguardian stop sudo /etc/init.d/dansguardian start echo echo Der Filter ist jetzt ausgeschaltet. echo Einschalten nicht vergessen. echo exit 0
Internetradio"
categories:
- “multimedia-programme”
streamtuner
inxi"
categories:
- “systeminformationen”
inxi gibt übersichtlich viele INformationen über das installierte System aus.
Schalter:
- -F Hardware
- -M Mainboard
- -ix Netzwerk/IP-Adresse
- -t cm10 CPU- und Speicherauslastung
- -r Repositories
weitere Infos in der Manpage
IP-Adressen"
categories:
- “netzwerk”
- “serversoftware”
Intranet:
- 10.0.0.0 - 10.255.255.255 (A-Netz)
- 169.254.0.0 - 169.254.255.255 (Automatic Private IP Adressing)
- 172.16.0.0 - 172.31.255.255 (B-Netz)
- 192.168.0.0 - 192.168.255.255 (C-Netz)
Masken zur Darstellung von IP-Bereichen:
IP-Adressen können mit einer Maske versehen werden, die die signifikannten Bits der Adresse angibt. Diese Maske wird als Bitmaske realisiert und einfach mit einem Slash (/) hinten an die Adresse angehängt. Die Adressangabe 192.168.100.123/24
bedeutet, dass die ersten 24 Bit der Adressangabe mit der gefundenen Adresse übereinstimmen müssen, damit die Regel greift. In diesem Beispiel sind das also alle Adressen gemeint, die vorne 192.168.100
(8 Bit + 8 Bit + 8 Bit) stehen haben. Eine Maske /32
bedeutet also, dass die Adresse exakt übereinstimmen muß, eine Maske /0
bedeutet, daß kein Bit übereinstimmen muss, also alle Adressen gemeint sind. Dafür ist auch die Abkürzung any/0 zulässig.
Beispiele:
Wie oben beschrieben sind die ersten 24 bit für die ersten drei Zahlenblöcke, d. h. der letzte Zahlenblock wird über die Bits 25 bis 32 definiert (siehe Tabelle unten). wird jetzt z. B. /26
angehängt, so werden von der letzten Zahl die ersten beiden führenden Bits mit der angegebenen Maske vergleichen. Im ersten Beispiel unten steht die Zahl 63
in der Maske. Die ersten beiden Bits dieser Zahl sind 0 0
. Beim vergleich der IP werden nur diese ersten beiden führenden Bits verglichen, d. h. alle Zahlen zwischen 0 und 63 sind erlaubt.
192.168.1.63/26
IP-Bereich 192.168.1.0 bis 192.168.1.63192.168.1.0/26
IP-Bereich 192.168.1.0 bis 192.168.1.63192.168.1.95/27
IP-Bereich 192.168.1.64 bis 192.168.1.95192.168.1.135/29
IP-Bereich 192.168.1.128 bis 192.168.1.135
iptables"
categories:
- “netzwerk” tags:
- “firewall”
Mit den iptables legt man die Regeln für die Firewall fest. Regeln anzeigen: iptables -t nat -L -n -v
Alles durchlassen: iptables -A FORWARD -i $DEV_INT -o $DEV_EXT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Port 80 zum Proxy (192.168.178.1:3128) weiterleiten: iptables -t nat -A PREROUTING -i $DEV_INT -p TCP --dport http -j DNAT --to-destination 192.168.178.1:3128
Port 25 an Port 2525 umleiten: iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2525
Port 80 an Port 8123 umleiten: iptables -t nat -I PREROUTING --src 0/0 --dst 192.168.1.5 -p tcp --dport 80 -j REDIRECT --to-ports 8123
ISO-Abbild einbinden"
categories:
- “einhangen”
in der fstab: Dateiname.iso /mnt/image1 iso9660 ro,loop,auto 0 0
als Konsolenbefehl: mount -t iso9660 -o loop Dateiname.iso /mnt/tmp
iwatch"
categories:
- “auflisten-analysieren” tags:
- “anderungen”
mit iwatch lassen sich Verzeichnisse auf Veränderungen überwachen: iwatch /tmp
überwacht das Verzeichnis /tmp auf Veränderungen und meldet diese sofort.
Java"
categories:
- “verschiedendes” tags:
- “openjdk”
Unter Linux gibt es eine Open-source Alternative für Java und Java-Plugin ( openjdk ). Hierzu müssen folgende Dateien installiert werden: sudo apt-get install openjdk-7-jre icedtea-7-plugin
Java-Programme starten java -jar <Name_des_Programms>
Pfade für verschiedene Java-Versionen:
- /usr/lib/j2se/1.4/jre/bin/java
- /usr/lib/jvm/java-6-sun-1.6.0.03/bin/java
- /usr/lib/jvm/java-7-icedtea/bin/java
jhead (Fotos nach Aufnahmedatum sortieren)"
categories:
- “bildbearbeitung” tags:
- “jhead”
Mit jhaed können Dateinamen auf Basis von EXIF-Informationen verändert werden.
Hier ein Beispielscript, das alle Bilder eines Ordners nach dem Aufnahmedatum mit aufsteigendem Zähler sortiert:
#! /bin/bash
function err_text {
while [ $# -gt 0 ] ; do
echo "$1" 1>&2
shift
done
echo "`basename $0` [options] folder [out-folder]" 1>&2
echo 1>&2
echo "folder - Ordner, in dem sich die zu sortierenden Fotos befinden" 1>&2
echo "out-folder - optionaler Ausgabeordner" 1>&2
echo 1>&2
echo "Optionen:" 1>&2
echo "-f filename Dateiname, der an den Zähler angehängt werden soll" 1>&2
echo "-n number of digit Anzahl der Stellen des Zählers" 1>&2
echo "-e extended digit an den Zähler wird eine zusäzliche 0 angehängt" 1>&2
exit 1
}
# Sortieren und überprüfen der Parameter (":" bedeutet, dass der vorangestellte Parameter
# zusätzlich einen Wert benötigt)
#echo $@
set -- `getopt "f:n:e" "$@"` || err_text
# Startparameter setzen
basedir="$PWD"
filename="Bild"
nod=3
ed=""
# Parameter in Endlosschleife abfragen
# Bei Parametern mit Übergabeparameter muss stets ein "shift" ausgeführt werden!
while : ; do
case "$1" in
-f) shift; filename="$1";;
-n) shift; nod=$1;;
-e) ed="0";;
--) break;;
esac
shift
[ $# -eq 0 ] && break # Fehler in den angegebenen Parametern
done
shift
[ $# -lt 1 ] && err_text # kein Dateiname wurde übergeben
folder=`pwd`/$1
# Dateien abarbeiten
if [ -d "$folder" ]; then
if [ "$2" == "" ]; then
cd "$folder"
else
mkdirx "$2"
cd "$folder"
cp *.* "$2"
cd "$2"
fi
jhead -exonly -n%Y%m%d_%H%M%S *.JPG > /dev/null 2>&1
jhead -exonly -n%Y%m%d_%H%M%S *.jpg > /dev/null 2>&1
jhead -exonly -n%Y%m%d_%H%M%S *.jpeg > /dev/null 2>&1
jhead -exonly -n%Y%m%d_%H%M%S *.JPEG > /dev/null 2>&1
jhead -exonly -nf%0${nod}i${ed}_"$filename" *.jpg > /dev/null 2>&1
pwd
ls -1 *.jpg
else
err_text "`basename $0` - Ordner '$folder' existiert nicht"
fi
# http://blog.falco2.de/linux/konsole-linux/konsole-bild-bilder-was-dazu-gehort/
# http://techbase.kde.org/index.php?title=Development/Tutorials/Shell_Scripting_with_KDE_Dialogs_%28de%29
jobs"
categories:
- “hintergrundprozesse”
jobs
zeigt alle Hintergrundprozesse an bg
Job in den Hintergrund stellen fg
Job in den Vordergrund holen
join"
categories:
- “kopieren-umbenennen-loschen”
- “vergleichen-sortieren”
join datei1 datei2
Zusammenführen von zwei Dateien
Joomla"
categories:
- “programme”
- “verschiedendes” tags:
- “lampp”
- “xampp”
Joomla ist ein populäres CMS-System. Um lokal auf dem eigenen Rechner exprimentieren zu können, bietet sich eine Installation von lampp
an. lampp ist die Linux-Version von xampp (Paket von Apache, MySQL und FTP-Programm) das bei
http://www.apachefriends.org
heruntergeladen werden kann.
Die Installation von xampp
- xampp nach /opt kopieren mit
tar xvfz xampp-linux-1.6.7.tar.gz -C /opt
entpacken - mit
/opt/lampp/xampp start
starten - mit
http://localhost/
testen - In der Datei /opt/lampp/etc/httpd.cond die Einträge User und Group auf den entsprechenden Linux-User anpassen, sonst geht kein FTP beim Installieren von Plugins
MySQL
http://localhost
im Browser eingeben- phpMyAdmin anklicken
- Datenbank anlegen
Server: localhost
anklickenRechte
anklickenNeuen Benutzer hinzufügen
- Benutzename eingeben
- Host -> localhost
- Kennwort angeben
- “Gewähre alle Rechte auf Datenbanken” enklicken
- Globale Rechte -> Alle auswählen
- OK anwählen
xampp beim Systemstart starten Runlevel mit who -r herausfinden
In den entsprechenden Runlevel wechseln: cd /etc/rc2.d
Links erstellen: ln -s /opt/lampp/lampp S99lampp
ln -s /opt/lampp/lampp K01lampp
Joomla installieren Joomla wird von http://www.joomla.de heruntergeladen und dann installiert:
- Entpacken in das Verzeichnis
/opt/lampp/htdocs/joomla/
dazu zuerst das Verzeichnis mitsudo mkdir /opt/lampp/htdocs/joomla
erstellen, dann mitsudo unzip Joomla_1.5.14-Stable-Full_Package_German.zip -d /opt/lampp/htdocs/joomla/
entpacken - Erstellen der Datei
configuration.php
in/opt/lampp/htdocs/joomla/
mitsudo touch /opt/lampp/htdocs/joomla/configuration.php
- Ändern der Rechte mit
sudo chmod 777 /opt/lampp/htdocs/joomla/configuration.php
- mit
http://localhost/joomla
konfigurieren
Joomla mysql-error Joomla mysql-error bei benutzerverwaltung: folgende Zeilen in der Datei /plugins/content/cdpetitions/table/cdpetitions.php
abändern:
Ersetze in Linie 107:
') TYPE=MyISAM;';
In:
') ENGINE=MyISAM;';
Joomla Strict Standards - Error
Die Datei php.ini in /opt/lamp/etc ändern:
;error_reporting = E_ALL | E_STRICT
in
error_reporting = E_ALL & ~E_NOTICE
kate"
categories:
- “editoren”
sehr guter Editor unter KDE
KDE-Kommandos"
categories:
- “tastaturkommandos”
Prozesstabelle: Alt+Esc
Prozess abschießen Strg+Alt+Esc
-> Maus wird zu Totenkopf -> Klick auf hängenden Prozess
kein Sound"
categories:
- “audio”
- “multimedia” tags:
- “pulse”
wenn nach dem Anmelden kein Sound mehr zu hören ist, dann kann es helfen, den Ordner .pulse im Home-Verzeichnis zu löschen. Danach mit pulse -k
neu starten.
Zusätzlich sollte geprüft werden, ob der Benutzer auch der Gruppe audio
angehört.
keyring-Fehler"
categories:
- “gnome”
Wenn die Meldung WARNING: couldn't connect to: /tmp/keyring-xxxx/pkcs11: No such file or directory
auftaucht, hilft es die Datei /etc/pkcs11/modules/gnome-module
zu löschen.
kill"
categories:
- “auflisten-beenden” tags:
- “killall”
- “pkill”
- “xkill”
kill PID
löscht Prozess mit PID-Nummer kill -l PID
löscht hängende Prozesse kill -9 PID
löscht den Prozess auf jeden Fall pkill Programmname
beendet ein Programm xkill
beendet das Fenster, auf das nach der Eingabe des Befehls geklickt wird. killall name
löscht alle Prozesse, die zu name gehören
klpq"
categories:
- “drucken”
klpq Dateiname
Klpq reicht beim Start die Datei automatisch an den Line Printer Daemon weiter und öffnet ein Fenster, in dem alle aktuellen Druckaufträge aufgeführt sind. In diesem Fenster kann man Druckaufträge löschen oder ihre Reihenfolge verändern: Sehr praktisch, falls einmal etwas Falsches gedruckt wird.
Knoppix"
categories:
- “knoppix”
Die “Mutter” aller Linux-Live-CDs/DVDs
Download unter: http://www.knopper.net/knoppix
Knoppix remastern:
- Knoppix-Dateien in einen Ordner kopieren:
cp -av /media/sr0/* knoppix/dvd/
- Schreibrechte setzen:
chmod -R u+w knoppix/dvd
- Eigene Daten hinzufügen
cp -rv neue_Daten knoppix/dvd
- Bootoptionen einstellen:
vim knoppix/dvd/boot/isolinux/isolinux.cfg
- ISO erstellen:
mkisofs -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o knoppix/dvd.iso knoppix/dvd
Kodi"
categories:
- “raspberry-pi” tags:
- “xbmc”
Das Multimediacenter Kodi (früher xbmc) bietet ein vollständiges Mediacenter für den Raspberry. Die speziell angepasste Distribution OpenElec stellt dafür die Raspberrypakete zur Verfügung. http://kodi.tv/
Konqueror"
categories:
- “kde”
Liste der wichtigsten KIO-Slaves (im Adressfeld der Konquerors eintragen):
about:/
--Öffnet das KDE-Kontrollzentrum.applications:/
--Zeigt analog zum K-Menü alle installierten Programme.audiocd:/
--Zeigt den Inhalt einer Audio-CD und konvertiert die Tracks automatisch in verschiedene Formate wie WAV oder MP3.file:/
--Stellt das lokale Dateisystem dar.fish://Rechner-IP
–Stellt eine SSH-Verbindung zum gewählten Rechner her.ftp://Rechner-IP
–Stellt eine FTP-Verbindung zum gewählten Rechner her.imap://Rechner-IP
–Zeigt den Inhalt des IMAP-Postfaches an.man:/Suchbegriff
–Zeigt das Handbuch zum gesuchten Begriff an.print:/
--Öffnet das Kontrollfenster für die Drucker und die Druckerwarteschlange.settings:/
--Erlaubt den schnellen Zugriff auf die wichtigsten Systemeinstellungen.remote:/
--Öffnet eine Übersicht der wichtigsten Netzwerk-Dienste, die eine Dateifreigabe ermöglichen.nfs://Rechner-IP
–Zeigt die über NFS (Network File System) freigegebenen Dateien und Verzeichnisse.webdav://mediacenter.gmx.net
oder z. B.webdav://webdav.strato.de/
Konsole"
categories:
- “konsole”
konsole -e Befehl
lässt einen Befehl in der Konsole ablaufen
Konsolenwechsel"
categories:
- “tastaturkommandos”
Umschalten zwischen verschiedenen Konsolen (Terminals) mit Strg+F1 bis Fn
oder unter X mit Strg+Alt+F1 bis Fn
Konvertieren einer Tonspur einer Videodatei mit ffmpeg"
categories:
- “audio”
- “multimedia”
- “video”
Wenn nach einer DVB-T Aufnahme die Tonspur spinnt (im mplayer gehen nur die ersten 2 Minuten Ton, danach gar nichts mehr) hilft folgendes: ffmpeg -acodec mp3 -ab 192k -vcodec copy -i datei.mpg ausgabe.mpg
ab ist Audio Bitrate
acodec als MP3 Dateien kodieren
vcodec Videostream kopieren, nicht antasten
kprinter"
categories:
- “drucken”
kprinter Datei
druckt eine Datei kprinter *.pdf
druckt alle PDF-Dateien im aktuellen Verzeichnis -Pname
wählt Drucker mit dem Namen “name” aus --nodialog
Direktdruck ohne Druckdialog
Laptop Strom sparen"
categories:
- “hardware”
- “system” tags:
- “akku”
- “tlp”
Damit der Akku länger hält installiert man tlp: apt-get install tlp tlp-rdw
Für IBM-ThinkPads: apt-get install tp-smapi-dkms acpi-call-dkms
apt-get install acpi-support-base pm-utils
last"
categories:
- “benutzer-gruppen”
gibt die Liste der zuletzt eingeloggten User aus
lastlog"
categories:
- “benutzer-gruppen”
gibt die Liste aller User mit letzem Einlogdatum aus
ldd"
categories:
- “kompilieren-installieren”
- “suchen”
Mit ldd kann man nach benötigten Libraries suchen: ldd /usr/bin/mc
zeigt alle von Midnight Commander benötigten Libraries an.
Lernprogramme"
categories:
- “lernprogramme”
geogebra kstars gcompris kmplot kalzium kturtle ktouch kgeography …
less"
categories:
- “ausgabe”
less Datei
zeigt den Inhalt einer Datei an (Beenden mit q
)
let"
categories:
- “shell”
- “skripte”
- “variablen”
Ganzzahliges Rechnen mit Variablen und vergleichen von Variablen:
let a++ | Variabel a um 1 erhöhen (Increment) |
let a-- | Variable a um 1 erniedrigen (Decrement) |
+, -, *, / | let a=1+2 let a=$b/$c |
** | potenzieren z. B. let a=2**5 |
<=, >=, <, > | Vergleich /liefert 1 oder 0) z. B. let a='1<2' |
==, != | gleich, ungleich z. B. let a='$b==$c' |
&, ^, | | Bitweise AND, XOR, OR |
&&, || | logisches AND, OR |
Berechnungen mit mehreren Rechenoperatoren: let a=($b-1)/2
letzten Befehl wiederholen"
categories:
- “ein-ausgabeumlenkung” tags:
- “372”
Wenn man bei apt-get update
das sudo
vergessen hat, muss man nicht den ganzen Befehl neu tippen, sondern kann einfach mittels der Eingabe von sudo !!
das sudo voranstellen: sudo apt-get update
Libre Elec auf RaspberryPi"
categories:
- “distributionen-raspberry-pi”
- “distributionen”
- “libreelec”
- “raspberry-pi” tags:
- “kodi”
- “libreelec”
- “lirc”
Installation
LibreElec installieren und erstmalig starten
Download von LibreElec und Installation auf SD-Karte wie hier beschrieben: https://libreelec.tv/downloads_new/
Dann den RaspberryPi mit der SD-Karte booten und Grundkonfiguration über Konfiguraitonsassistenten durchführen. Dabei ssh aktivieren.
Über ssh einloggen (“tuxtv” durch den Rechnernamen ersetzen, der im Konfigurationsassistenten eingegeben wurde):
ssh root@tuxtv
Sofern kein eigenes ssh-Passwort vergeben wurde, ist das Standard-Passwort libreelec
Freischaltcodes für Hardwaredecoder
Sofern Freischaltcodes für die Hardwaredecoder vorhanden sind, können diese in die config-Datei eingetragen werden:
mount -o remount,rw /flash
vi /flash/config.txt
Im Bereich License keys
die entsprechenden Keys eintragen:
###################################################################
# License keys to enable GPU hardware decoding for various codecs #
# to obtain keys visit the shop at http://www.raspberrypi.com #
###################################################################
decode_MPG2=0x00000000
decode_WVC1=0x00000000
Infrarotempfänger am GPIO einrichten
Der GPIO-Pin, an dem der Infrarotempfänger angeschlossen ist, muss in der config.txt
eingetragen werden:
mount -o remount,rw /flash
vi /flash/config.txt
Dort im Abschnitt "End of default configuration"
folgendes eintragen (dabei die korrekte Pin-Nummer angeben):
################################
# End of default configuration #
################################
dtoverlay=gpio-ir,gpio_pin=17
System neu starten
mount -o remount,ro /flash
reboot
Fernbedienung einrichten
Prinzipieller Funktionstest
Testen, ob GPIO-Konfiguration für lirc erkannt wurde:
dmesg | grep 'lirc'
[ 5.554017] rc rc0: lirc_dev: driver gpio_ir_recv registered at minor = 0, raw IR receiver, no transmitter
Testen, ob lirc-device vorhanden:
ls -l /dev/lirc*
Testen, ob Fernbedienung prinzipiell erkannt wird:
killall lircd
mode2 -d /dev/lirc0
Zunächst wird das verwendet device ausgegeben (sollte mit dem zuvor ausgegebenen übereinstimmen):
Using driver default on device /dev/lirc0
Trying device: /dev/lirc0
Using device: /dev/lirc0
Wenn die Fernbedienung prinzipiell funktioniert, dann kommt beim Drücken von Tasten auf der Fernbedienung im Terminal Ausgaben ähnlich wie:
pulse 2670
space 804
pulse 505
space 396
pulse 482
space 394
pulse 454
space 847
pulse 451
space 850
Test beenden mit Strg+C und LibreElec neu starten:
reboot
Fernbedienung konfigurieren
Dienste stoppen:
systemctl stop kodi
systemctl stop eventlircd
Mögliche Protokolle ermitteln:
ir-keytable
Supported protocols: other lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp
Scancodes der Fernbedienungstasten ermitteln:
ir-keytable -p <PROTOCOL> -t
Dabei die unterstützten Protokolle jeweils als <PROTOCOL>
eintragen. Jedes Protokoll muss separat getestet werden. Sofern das korrekte Protokoll eingegeben wurde, das die Fernbedienung benutzt, werden beim Drücken einer Taste auf der Fernbedienung Scancodes ausgegeben. Diese können dann in einer Codetabelle eingetragen werden.
Codetabelle erstellen:
vi /storage/.config/rc_keymaps/one-for-all
In der ersten Zeile wird der Name der Fernbedienung und das verwendete Protokoll eingetragen und in den Folgezeilen werden dann den jeweiligen Scancodes die entsprechenden Tasten zugeordnet, wie z. B.:
# table one-for-all, type: rc-6
0x800f0400 KEY_0
0x800f0401 KEY_1
0x800f0402 KEY_2
0x800f0403 KEY_3
0x800f0404 KEY_4
0x800f0405 KEY_5
0x800f0406 KEY_6
0x800f0407 KEY_7
0x800f0408 KEY_8
0x800f0409 KEY_9
0x800f040d KEY_MENU
0x800f0412 KEY_PAGEUP
0x800f0413 KEY_PAGEDOWN
0x800f041e KEY_UP
0x800f041f KEY_DOWN
0x800f0420 KEY_LEFT
0x800f0421 KEY_RIGHT
0x800f0422 KEY_OK
0x800f0423 KEY_BACK
0x800f0423 KEY_EXIT
0x800f0426 KEY_EPG
0x1010 KEY_VOLUMEUP
0x1011 KEY_VOLUMEDOWN
0x100d KEY_MUTE
Eine Datei mit allen möglichen Tastenbezeichnungen kann mit folgendem Befehl erstallt werden:
irrecord --list-namespace > namespace.txt
Die Codetabelle muss dann noch durch einen Eintag in der rc_maps.cfg
aktiviert werden:
vi /storage/.config/rc_maps.cfg
Dort den in der oben erstellten Keymap angegebenen Konfigurationsnamen (z. B. one-for-all) eintragen:
* * one-for-all
Konfiguration testen:
ir-keytable -c -w /storage/.config/rc_keymaps/one_for_all
ir-keytable -r
Mappingtabelle für KODI erstellen
Datei mit Mappingtabelle anlegen/bearbeiten:
vi /storage/.kodi/userdata/Lircmap.xml
<lircmap>
<remote device="one-for-all-sat0847">
<up>KEY_UP</up>
<Down>KEY_DOWN</Down>
<Left>KEY_LEFT</Left>
<Right>KEY_RIGHT</Right>
<Select>KEY_OK</Select>
<Back>KEY_BACK</Back>
<Menu>KEY_MENU</Menu>
<pageplus>KEY_PAGEUP</pageplus>
<pageminus>KEY_PAGEDOWN</pageminus>
<zero>KEY_0</zero>
<one>KEY_1</one>
<two>KEY_2</two>
<three>KEY_3</three>
<four>KEY_4</four>
<five>KEY_5</five>
<six>KEY_6</six>
<seven>KEY_7</seven>
<eight>KEY_8</eight>
<nine>KEY_9</nine>
<guide>KEY_GUIDE</guide>
<stop>KEY_EXIT</stop>
</remote>
</lircmap>
System neu starten:
reboot
Fernbedienung testen
Erneut per ssh einloggen:
ssh root@tuxtv
Test der Fernbedienung starten:
irw
Bei einem Tastendruck auf der Fernbedienung sollte bei korrekter Konfiguration im Terminal eine entsprechende Meldung erscheinen, wie z. B.:
67 0 KEY_UP devinput
LibreOffice"
categories:
- “programme”
- “verschiedendes”
Querformat wird auf Brother-Druckern hochkant gedruckt (und somit abgeschnitten) Hierzu im Druckerdialog unter Eigenschaften/Gerät/Druckersprache “PostScript Level 2” einstellen. Diese Einstellung geht jedoch beim Neustart von LibreOffice verloren. Dauerhaft kann diese Einstellung über die Druckerverwaltung von LibreOffice eingestellt werden: /usr/lib/libreoffice/program/spadmin
Fenster andocken Mit Strg+Doppelklick
auf Menüleiste des anzudockenden Fensters wird ein freigestelltes Fenster wieder angedockt.
Standard-Vorlage ändern: Eigene Vorlage erstellen F11 abspeichern Datei/Dokumentenvorlage/Verwalten -> meine Vorlagen Namen geben speichern als Standard setzen: anwählen, Befehle als Standard
Bilder per Tasturturkürzel einfügen: Extras / Anpassen Tastatur Strg+Alt+B Einfügen / Aus Datei Ändern
sudo -E wget –output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb _release -cs).list && sudo apt-get –quiet update && sudo apt-get –yes –quiet –allow-unauthenticated install medibuntu-keyring && sudo apt-get –quiet update
lightdm"
categories:
- “desktop”
- “xfce”
Installation:
sudo apt-get install lightdm-gtk-greeter lightdm
Die Konfigurationsdatei des Desktopmanagers LightDM liegt unter /etc/lightdm/lightdm.conf
Damit der letzte Benutzer bei der Anmeldung immer schon ausgewählt ist, muss man in der Datei /etc/lightdm/lightdm.conf
den Eintrag greeter-hide-users=false
freischalten
Das automatische Anmelden eines Benutzers kann über folgenden Befehl eingestellt werden: sudo /usr/lib/lightdm/lightdm-set-defaults --autologin BENUTZERNAME
Alternativ kann auch die Datei /etc/lightdm/lightdm.conf
um folgende Zeile ergänzt werden:
autologin-user=username
Linux Mint Login Hintergrundbilder ändern"
categories:
- “cinnamon”
- “linux-mint”
- “mate”
Anzeigen eigener Bilder beim Login Screen von Linux Mint. Erstellen eines Ordners in dem die Bilder liegen: sudo mkdir /usr/share/backgrounds/eigenebilder/
Bilder in diesen Ordner kopieren: sudo cp ~/Documents/Bilder/meinfoto.jpg /usr/share/backgrounds/eigenebilder/
Bilder der config-Datei hinzufügen: sudo nano /usr/share/mdm/html-themes/Mint-X/slideshow.conf
Neue Zeile hinzufügen: file:///usr/share/backgrounds/eigenebilder/meinfoto.jpg
Bilder die nicht mehr angezeigt werden sollen, können mit einem “#” am Zeilenanfang auskommentiert werden. Beim nächsten Login sind dann die neuen eigenen Bilder dabei.
Linux Mint"
categories:
- “distributionen”
- “linux-mint”
Linux Mint ist ein Derivat von Ubuntu, das besonders einsteigerfreundlich ist. Download unter: http://linuxmint.com Es gibt mehrere Versionen. Zum einen die Standarddistribution die jedes halbe Jahr ein Update erfäht, die LTS- (Long Time Support) Version, die mehrere Jahre mit Updates versorgt wird und zuletzt die LMDE- (Debian-basierend) Version, die ein Rolling-Release ist, welches also nicht alle Jahre neu installiert werden muss. Zudem stehen verschiedene Desktops zu Auswahl:
- Cinnamon (für leistungsstarke Rechner)
- Mate (moderner Desktop)
- KDE (sehr stark konfigurierbarer Desktop mit vielen Extras, für schnelle Computer)
- XFCE (für alte, leistungsschwache PCs)
Für Einsteiger empfehle ich Linux Mint 13 (Maya) mit dem Mate-Desktop, da dies eine LTS-Version ist und somit bis 2017 problemlos weiterläuft.
Links zu Linux Mint:
Meine angepasste sources.list:
atareao-utext-xenial.list
#utext
#ppa:atareao/utext
# deb http://ppa.launchpad.net/atareao/utext/ubuntu xenial main
# deb-src http://ppa.launchpad.net/atareao/utext/ubuntu xenial main
brandonsnider-cdrtools-xenial.list
#cdrtools
#ppa:brandonsnider/cdrtools
deb http://ppa.launchpad.net/brandonsnider/cdrtools/ubuntu xenial main
# deb-src http://ppa.launchpad.net/brandonsnider/cdrtools/ubuntu xenial main
dhor-myway-xenial.list
#xnview
#ppa:dhor/myway
deb http://ppa.launchpad.net/dhor/myway/ubuntu xenial main
# deb-src http://ppa.launchpad.net/dhor/myway/ubuntu xenial main
ehbello-fritzing-xenial.list
#Fritzing
#ppa:ehbello/fritzing
deb http://ppa.launchpad.net/ehbello/fritzing/ubuntu xenial main
# deb-src http://ppa.launchpad.net/ehbello/fritzing/ubuntu xenial main
geogebra.list
#Geogebra
#wget -q https://static.geogebra.org/linux/office@geogebra.org.gpg.key -O- | sudo apt-key add -
deb http://www.geogebra.net/linux/ stable main
libreoffice-ppa-xenial.list
#LibreOffice
#ppa:libreoffice/ppa
deb http://ppa.launchpad.net/libreoffice/ppa/ubuntu xenial main
# deb-src http://ppa.launchpad.net/libreoffice/ppa/ubuntu xenial main
mc3man-check1-xenial.list
#DVD-Styler
#ppa:mc3man/check1
deb http://ppa.launchpad.net/mc3man/check1/ubuntu xenial main
# deb-src http://ppa.launchpad.net/mc3man/check1/ubuntu xenial main
me-davidsansome-clementine-xenial.list
#Clementine
#ppa:me-davidsansome
# deb http://ppa.launchpad.net/me-davidsansome/clementine/ubuntu xenial main
# deb-src http://ppa.launchpad.net/me-davidsansome/clementine/ubuntu xenial main
mscore-ubuntu-mscore-stable-xenial.list
#MuseScore
#ppa:mscore-ubuntu/mscore-stable
deb http://ppa.launchpad.net/mscore-ubuntu/mscore-stable/ubuntu xenial main
# deb-src http://ppa.launchpad.net/mscore-ubuntu/mscore-stable/ubuntu xenial main
musicbrainz-developers-stable-xenial.list
#Picard
#ppa:musicbrainz-developers/stable
# deb http://ppa.launchpad.net/musicbrainz-developers/stable/ubuntu xenial main
# deb-src http://ppa.launchpad.net/musicbrainz-developers/stable/ubuntu xenial main
owncloud-client.list
#OwnCloud
#wget -q http://download.owncloud.org/download/repositories/stable/Debian_8.0/Release.key -O- | sudo apt-key add -
deb http://download.owncloud.org/download/repositories/stable/Debian_8.0/ /
pbek-qownnotes-xenial.list
#Qownnotes
#ppa:pbek/qownnotes
# deb http://ppa.launchpad.net/pbek/qownnotes/ubuntu xenial main
# deb-src http://ppa.launchpad.net/pbek/qownnotes/ubuntu xenial main
rebuntu16-avidemux_unofficial-xenial.list
#Avidemux
#ppa:rebuntu16/avidemux+unofficial
deb http://ppa.launchpad.net/rebuntu16/avidemux+unofficial/ubuntu xenial main
# deb-src http://ppa.launchpad.net/rebuntu16/avidemux+unofficial/ubuntu xenial main
spotify.list
#Spotify
#sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys BBEBDCB318AD50EC6865090613B00F1FD2C19886
deb http://repository.spotify.com stable non-free
teejee2008-ppa-xenial.list
#Conky
#ppa:teejee2008/ppa
# deb http://ppa.launchpad.net/teejee2008/ppa/ubuntu xenial main
# deb-src http://ppa.launchpad.net/teejee2008/ppa/ubuntu xenial main
tomtomtom-k9copy-xenial.list
#k9copy
#ppa:tomtomtom/k9copy
deb http://ppa.launchpad.net/tomtomtom/k9copy/ubuntu xenial main
# deb-src http://ppa.launchpad.net/tomtomtom/k9copy/ubuntu xenial main
ubuntu-wine-ppa-xenial.list
#Wine
#ppa:ubuntu-wine/ppa
deb http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu xenial main
# deb-src http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu xenial main
webupd8team-atom-xenial.list
#Atom
#ppa:webupd8team/atom
# deb http://ppa.launchpad.net/webupd8team/atom/ubuntu xenial main
# deb-src http://ppa.launchpad.net/webupd8team/atom/ubuntu xenial main
additional-repositories.list
#wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
#wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
deb http://download.virtualbox.org/virtualbox/debian xenial contrib
#sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5044912E
deb http://linux.dropbox.com/ubuntu xenial main
#wget -q http://liveusb.info/multisystem/depot/multisystem.asc -O- | sudo apt-key add -
deb http://liveusb.info/multisystem/depot all main
linuxlogo"
categories:
- “shell”
- “sonstiges-shell”
Mit dem Programm linuxlogo
lässt sich in der Konsole ein ASCII-Logo und Systeminformationen darstellen. Einfach linuxlogo
installieren, dann in die .bashrc
im home-Verzeichnis ans Ende linuxlogo
schreiben und schon begrüßt einen ein die Kosnole mit Informationen.
ln"
categories:
- “kopieren-umbenennen-loschen”
- “verzeichnisse”
ln Pfad Dateiname
erstellt einen harten Link (der Link entspricht der Zieldatei. Achtung: wird der Link mit rm
gelöscht, so wird auch die Datei gelöscht!)
ln -s Pfad Dateiname
erstellt einen Soft-Link
locate"
categories:
- “suchen”
sucht indizierte Dateien (sehr schnell - aber erst nach Indizierung) Update der Datenbank mit updatedb
Logitech Unifying unter Linux"
categories:
- “verschiedendes”
Mit solaar lassen sich auch unter Linux Logitech-Unifying-Geräte neu verbinden.
Installation mit:
sudo apt-get install solaar
lpadmin"
categories:
- “drucken”
Drucker von Hand einer PPD-Datei zuweisen:
- USB-Port des Druckers ermitteln:
lpinfo -v
- PPD-Datei dem Drucker zuweisen:
lpadmin -p Druckername -E -v USP-Port -P PPD-Datei
z.B. lpadmin -p DCP7010 -E -v usb://Brother/DCP-7010 -P /usr/share/cups/model/brdcp7010_cups.ppd
lpc"
categories:
- “drucken”
lpc
startet die Druckerstatusabfrage status: gibt den Druckstatus aus help: gibt Befehlsliste aus exit: verlässt die Druckerabfrage
lpinfo"
categories:
- “drucken”
Hardware/Netzwerk-Ports der Druckers ermitteln: lpinfo -v
lppasswd"
categories:
- “drucken”
Mit lppasswd -g sys -a root Passwort
wird ein spezielles Passwort für die Druckereinstellungen vergeben.
lpr"
categories:
- “drucken”
lpr datei
druckt einen Text bzw. Datei (Postscript) direkt aus
lprm"
categories:
- “drucken”
löscht alle Druckaufträge
ls"
categories:
- “auflisten-analysieren”
ls -lh
listet den Inhalt des aktuellen Verzeichnisses auf (wie dir
).
- -a zeige alle Dateien und Verzeichnisse an; auch die versteckten, deren Namen mit einem Punkt beginnen.
- -A wie -a, nur ohne die Einträge . und …
- -B Keine Dateien, die auf ~ enden, anzeigen.
- -R rekursiv alle Unterverzeichnisse anzeigen.
- -i zeige auch die Inode-Nummern an.
- -l langes Format: Es werden neben dem Dateinamen auch Größe, Besitzer, Gruppe und Zugriffsrechte angezeigt.
- -f wie -l, aber ohne Gruppen-Informationen.
- -s zeigt nur Dateinamen und Größen in Kilobyte an.
- --color farbige Ausgabe nur Unterscheidung verschiedener Dateitypen.
- -F hänge an bestimmte Dateien ein zusätzliches Zeichen an, um auf den Dateityp hinzuweisen (z.B.: / für Verzeichnisse; * für ausführbare Dateien, @ für symbolische Links)
- --full-time vollständige Zeitangaben ausgeben (nur zusammen mit -l)
- -n User- und Gruppen-IDs anstelle der Namen ausgeben.
- -S sortiert der Größe nach
ls -lR | sort +4nr
listet Dateien der Größe nach sortiert auf. ls --sort=size -lhr
ergibt die Größe eines einzelnen Verzeichnisses
lsattr"
categories:
- “auflisten-analysieren”
lsattr Datei
zeigt Dateiattribute der Datei an
lsblk"
categories:
- “dateisysteme”
- “partitionieren-formatieren-kopieren”
- “prufen-reparieren” tags:
- “festplatten”
- “festplattengroesse”
- “lsblk”
- “partitionen”
Festplattengröße und Partitionen auslesen lsblk
Man braucht hierzu keine admin-Rechte wie z.B. bei fdisk -l
lshw"
categories:
- “systeminformationen”
Gibt Informationen über die Hardware aus.
lshw"
categories:
- “hardware”
sudo lshw -html > ~/System.html
ergibt ausführliche Hardwareinformationen als HTML-Seite
lsof"
categories:
- “auflisten-beenden”
lsof | less
Anzeige, welche Prozesse auf welche Dateien zugreifen.
lsof /dev/hdc
zeigt, welche Prozesse auf das CD-Laufwerk zugreifen
lsof +D /home/user/Verzeichnis
zeigt, welche Dateien im Verzeichnis geöffnet sind
lsof -i -P
zeigt alle Internetverbidnungen an
lsof +L1
zeigt alle geöffneten, jedoch bereits gelöschten Dateien an
Alle zu einem Prozess (Prozess-Id
lspci"
categories:
- “systeminformationen”
PCI-Geräte anzeigen lspci -vvv
gibt ganz genaue Infos aus
lsusb"
categories:
- “systeminformationen”
USB-Geräte anzeigen lsusb -vvv
gibt ganz genaue Infos aus
LXDE"
categories:
- “lxde”
Der LXDE-Desktop ist ein sehr leichtgewichtiger Desktop.
man"
categories:
- “hilfe”
Gibt die Anleitung (Manualpage) von Programmen und von Konfigurationsdateien aus: man Befehl
man Dateiname
Suche mit / weitersuchen mit n Beenden mit q
Markdown"
categories:
- “editoren”
- “postscript-pdf” tags:
- “pandoc”
Markdown ist eine Auszeichnungssprache, mit der einfach strukturierte Quelltexte geschrieben werden können. Pandoc ist ein Konverter für Markdown-Dokumente, der in PDF, epub, HTML, LaTeX, docx, odt… konvertiert.
Installation Pandoc
Pandoc ist in den Quellen meist veraltet, daher sollte das Paket direkt von Pandoc.org installiert werden.
Für das Erzeugen von PDF-Dateien sind folgende Zusatzpakete erforderlich:
sudo apt-get install texlive-latex-base texlive-generic-recommended texlive-fonts-recommended lmodern
Mate"
categories:
- “mate”
Der Mate-Desktop ist ein Gnome2-Fork.
Maus wird im Akkubetrieb deaktiviert"
categories:
- “hardware”
Wenn das Notebook im Akkubetrieb ist, kann es sein, dass die Maus nach ein paar Sekunden deaktiviert wird. Dies kann man mit folgendem Eintrag verhindern: Man ersetzt in der Datei “/etc/laptop-mode/conf.d/usb-autosuspend.conf” die Zeile
# The list of USB driver types that should not use autosuspend. The driver
# type is given by "DRIVER=..." in a USB device's uevent file.
# Example: AUTOSUSPEND_USBID_BLACKLIST="usbhid usb-storage"
AUTOSUSPEND_USBTYPE_BLACKLIST=""
durch
# The list of USB driver types that should not use autosuspend. The driver
# type is given by "DRIVER=..." in a USB device's uevent file.
# Example: AUTOSUSPEND_USBID_BLACKLIST="usbhid usb-storage"
AUTOSUSPEND_USBTYPE_BLACKLIST="usbhid usb-storage"
Nach dem nächsten Neustart sollte die Maus nicht mehr deaktiviert werden.
maybe"
categories:
- “dateien-verzeichnisse”
Mit maybe
lassen sich Befehle testen, ohne sie wirklich auszuführen. So kann man riskante Aktionen, wie dd zunächst einmal testen und nach erfolgreichem Test wirklich ausführen. Man installiert maybe wie folgt: Zunächst brauchen wir die Python Paketverwaltung sudo apt-get install python-pip
. Über die Python-Paketverwaltung lässt sich nun maybe installieren sudo pip install maybe
.
maybe dd if=image.iso of=/dev/sda1
führt den Schreibvorgang nicht wirklich aus, sondern zeigt nur an, was gemacht werden würde:
maybe has prevented dd if=image.iso of=/dev/sda1 from performing 1 file system operations:
truncate file /dev/sda1
Do you want to rerun dd if=image.iso of=/dev/sda1 and permit these operations? [y/N]
mbr"
categories:
- “partitionieren-formatieren-kopieren”
MBR erstellen Einen neuen MasterBootRecord (MBR) erstellt man mit install-mbr /dev/sda
mc"
categories:
- “dienstprogramme”
Dateimanager im Norton-Commander-Stil. Auch die Tastaturkommandos wurden übernommen.
MEDION LIFE P89626"
categories:
- “hardware” tags:
- “nas-server”
Internetseiten zur Konfiguration
http://www.mikrocontroller.net/articles/P89626
Pfade auf dem NAS-Server:
- init.d: /usr/local/zy-pkgs/etc/init.d/
- exports: /etc
- Benutzerdateien: /i-data/6764ac2f/
Firmwaredownload
ftp://nas-download:sEhtalr@download.medion.de/firmware
Telnet-Zugang
-
Über HTML als admin einloggen
http://192.168.x.x/r34814,/adv,/loginwrap.html
-
Telnet per URL starten
http://192.168.x.x/r34814,/adv,/cgi-bin/remote_help-cgi?type=backdoor
-
Login über telnet
telnet 192.168.x.x login: root passwort: admin-passwort
Für das Starten von Telnet sind diese Dateien zuständig:
/usr/local/apache/cgi-bin/remote_help-cgi
/usr/local/btn/open_back_door.sh
Telnet dauerhaft starten
Start-Skript anzulegen:
echo "/usr/local/btn/open_back_door.sh" > /usr/local/zy-pkgs/etc/init.d/starttelnet.sh
chmod +x /usr/local/zy-pkgs/etc/init.d/starttelnet.sh
Twonky Server
meminfo"
categories:
- “systeminformationen”
cat /proc/meminfo
gibt Informationen über den Speicher aus
Menü"
categories:
- “kde”
Ein neues, vollständiges Menü erzeugt man am besten, indem man das alte löscht. Lösche einfach die Datei /.config/menus/applications-kmenuedit.menu
und starte KDE neu.
Meta-Zeichen (in Dateinamen)"
categories:
- “dateien-verzeichnisse” tags:
- “meta-zeichen”
Bei der Angabe von Dateinamen können eine Reihe von Meta-Zeichen verwendet werden:
* | Eine Folge von keinem, einem oder mehreren Zeichen |
? | Ein einzelnes Zeichen |
[abc] | Übereinstimmung mit einem beliebigen Zeichen in der Klammer |
[a-q] | Übereinstimmung mit einem beliebigen Zeichen aus dem angegebenen Bereich |
[!abc] | Übereinstimmung mit einem beliebigen Zeichen, das nicht in der Klammer ist |
~ | Home-Verzeichnis des aktuellen Benutzers |
~name | Home-Verzeichnis des Benutzers name |
~+ | Aktuelles Verzeichnis |
~- | Vorheriges Verzeichnis |
Mindmapping"
categories:
- “buroprogramme”
Freeplane freemind Xmind kdissert vym
MiniDLNA"
categories:
- “allgemein”
Einfacher DLNA-Server
Die Konfiguration ist mit Hilfe der Kommentare in den Konfigurationsdateien selbsterklärend.
Installation:
Abhängigkeiten:
sudo apt-get install libexif12 libjpeg62 libid3tag0 libflac8 libvorbisfile3 sqlite3 libuuid1
Installation:
sudo apt-get install minidlna
Konfigurationsdateien:
Startverhalten und Definition des users, unter dessen ID MiniDLNA läuft:
/etc/default/minidlna
Standardmäßig wird der Benutzer minidlna verwendet. Ein anderer Benutzer
Wird ein anderer Benutzer definiert, so sind folgende Anpassungen bei den Zugriffsrechten notwendig:
chown -R <user>:<group> /var/cache/minidlna
Weiterhin müssen in der Hauptkonfigurationsdatei /etc/minidlna.conf folgende Anpassungen gemacht werden:
user=<user>
media_dir=/home/<user>/media/
Datenbank neu aufbauen
Entweder wird die Datenbank im Ordner /var/cache/minidlna gelöscht oder die Datenbank über folgenden Befehl neu aufgebaut (zuvor muss ein eventuell laufender MiniDLNA-Dienst angehaöten werden:
minidlnad -R
Minimalsystem installieren"
categories:
- “ubuntu”
Mit der Alternate-CD booten und mit F4 “Kommandozeilensystem” auswählen
Dann werden die Quellen für LXDE hinzugefügt: echo "deb http://ppa.launchpad.net/lxde/ppa/ubuntu hardy main" > /etc/apt/sources.list.d/lxde.list
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 7992E892
Ein X-System wird dann mit apt-get install xterm xorg xinit lxde lxterminal gdm
installiert
Als weitere Fenstermanager bieten sich an:
- Openbox:
sudo aptitude install openbox obconf openbox-themes
- IceWM:
sudo aptitude install icewm iceconf icepref iceme icewm-themes
- Fluxbox:
sudo aptitude install fluxbox fluxconf
Miro"
categories:
- “multimedia”
- “video”
Den Absturz nach dem Start schaltet man durch die Installation von icedtea-java7 ab. sudo apt-get install icedtea-java7-plugin
mkdir"
categories:
- “dateien-verzeichnisse”
- “verzeichnisse”
mkdir <Name> legt einen Ordner mit <Name> an. mkdir -p /home/ich/oben/mitte/unten legt Verzeichnisse samt Unterverzeichnissen an.
mkdosfs"
categories:
- “partitionieren-formatieren-kopieren”
MSDOS-Dateisystem erzeugen (z.B. ein FAT32-System auf einem USB-Stick)
mke2fs"
categories:
- “hardware” tags:
- “festplatte”
ext2/ext3-Dateisysteme erstellen (mke2fs muss bei Datenrettungsversuchen stets mit den selben Parametern wie bei der Erstellung des Dateisystems aufgerufen werden - defaultmäßig werden Partitionen jedoch ohne zusätzliche Parameter formatiert).
-
mke2fs -n /dev/xxx
ermittelt die Blocknummern der Superblöcke. mke2fs -S
- wenn keine Dateien auf der Festplatte mehr gefunden werden - schreibt die Superblöcke und die Blockgruppendeskriptoren neu, Directories, Inode- und Bitmap-Tabellen bleiben erhalten. Ein anschlißender e2fsck-Lauf kann unter Umständen dann alle Dateien wieder herstellen. Wenn dies nicht mehr funktioniert, dann können die Dateien nur noch einzeln von Hand mit einem Low-level-Datenrettungstool (z.B. dd_rescue) rekonstruiert werden.
mkfs"
categories:
- “partitionieren-formatieren-kopieren”
Einrichten von Dateisystemen mke2fs
ext2- oder ext3-Dateisystem einrichten mkreiserfs
Reiser-Dateisystem einrichten mkswap
Swap-Dateisystem einrichten. ( swapon - swapoff
) mkdosfs -F 32 -v /dev/sda1
Leichter geht das mit der grafischen Oberfläche von qtparted (System-Rescue-CD oder Knoppix)
mkisofs"
categories:
- “cds-dvds”
CD-Abbild erstellen: mkisofs -o ~/daten.iso -RJ ~/daten
erstellt vom Verzeichnis daten ein ISO-File mkisofs -o image.iso -J -r -v -V "Test-CD" /pfad/zu/den/daten/
Erlärung der einzelnen Schalter:
- -o image.iso: die zu erstellende Datei
- -J: Joliet Erweiterung (für Win)
- -r: Rockridge Erweiterung (für Unix/Linux)
- -v: Geschwätzigkeit einstellen
- -V “Test-CD”: Name der CD der später angezeigt wird
- /pfad/zu/den/daten/: in diesem Ordner sollten sich die zu brennenden Daten befinden
mmv"
categories:
- “kopieren-umbenennen-loschen”
mmv -v "*.htm" "#1.html"
bennet alle Dateien mit der Endung htm in die Endung html um.
Moneyplex"
categories:
- “programme”
- “verschiedendes”
Hinweise zur Installation unter Linux unter: http://www.matrica.de/service/faq3.html
Daten Sichern und Wiederherstellen: http://www.matrica.de/download/datensicherung.pdf
Fonts installieren
Weiterhin müssen die xfonts-75dpi installiert werden (ansonsten werden die Schriften sehr unklar dargestellt:
sudo apt-get install xfonts-75dpi xfonts-75dpi-transcoded
Anschließend System neu starten!
Umlaute werden nicht korrekt dargestellt
sudo locale-gen de_DE
Ermitteln, welche Libs fehlen
ldd moneyplex *.so
Unter Ubuntu 64bit die fehlenden 32bit-Libs installieren
sudo apt-get install libjpeg62:i386 ia32-libs
Moneyplex unter LinuxMint Maya
Unter Maya funktioniert die Internetverbindung von Moneyplex nicht. Hierzu die resolv.conf durch die openresolv.conf ersetzten. Hierzu z. B. mit Synaptic openresolv installieren. Danach das System neu starten.
more"
categories:
- “ausgabe”
more Datei
Seitenweise Textausgabe
mount"
categories:
- “einhangen”
hängt ein Laufwerk in das System ein
mount
gibt alle eingehängten Datenträger an- CD-ROM:
mount -t iso9660 -o ro /dev/hdc /mnt/cdrom
- Diskette:
mount -t auto -o ro /dev/fd0 /mnt/floppy
- Netzwerk:
mount 196.168.0.2:/home /mnt/home/
- ISO-Abbild einbinden:
mount -t iso9660 -o loop cdrom.iso /mnt/tmp
- Eine Partition ist nur lesbar und nicht schreibbar (ro) gemountet. Soll sie nun doch schreibbar sein gibt man als root folgendes ein:
mount /dev/hda1 -o remount,rw
#! /bin/bash
mountpoint="/mnt/ziel"
echo "Verzeichnis $mountpoint wird eingebunden ..."
mount $mountpoint 2> /dev/null &
echo -n "Warte, bis Verzeichnis eingebunden ist "
for ((i=1; i<=20; i++)) {
[ `mount | grep -c "$mountpoint"` -eq 1 ] && break
echo -n "."
sleep 1
}
echo
if [ $i -eq 21 ] ; then
echo "Verzeichnis konnte nicht eingebunden werden, Programm wird beendet."
kill -9 `ps aux | grep "mount $mountpoint" | awk '{print $2}'`
exit
fi
mp3"
categories:
- “audio”
- “multimedia” tags:
- “id3v2”
- “midi”
- “mma”
- “mp3rename”
- “soundfonts”
- “timidity”
mp3rename Mit mp3rename *
können mp3-Dateien nach ihren ID3-Tags benannt werden. Sollten nur ID2-Tags vorhanden sein, müssen diese zuerst mit id3v2 konvertiert werden.
id3v2 Mit id3v2 -1 datei
werden ID2 in ID3-Tags konvertiert.
MIDI Um MIDI abspielen zu können sollten folgende Dateien installiert sein:
- timidity
- timidity-interfaces-extra
Soundfonts Um mit timidity alle GM-Klänge abspielen zu können, sollte am besten folgende Soundfontdatei installiert werden: sudo apt-get install fluid-soundfont-gm
Dann muss noch die Konfiguration angepasst werden: In der Datei /etc/timidity/timidity.cfg
die Zeile source /etc/timidity/freepats.cfg
auskommentiert und die Zeile source /etc/timidity/fluidr3_gm.cfg
angehängt werden.
timidity timidity -Ow -s 44100 -o output.wav input.mid
wandelt eine MIDI-Datei in eine WAV-Datei um.
mma mma - Musical MIDI Accompaniment ist ein Programm um automatisch erzeugte Begleitungen anhand von Akkorden zu erzeugen. Download unter: http://www.mellowood.ca/mma/index.html
Die Anwendung ist sehr einfach: mma song.mma
erzeugt die Datei song.mid, die dann mit timidity -ig song.mid
abgespielt werden kann.
Hier eine ganz einfache Beispieldatei:
// Mein Song
Tempo 120
Groove 8beat
1 C
2 C
3 C
4 C
5 F
6 F
7 C
8 C
9 G
10 F
11 C
12 G7
13 C
14 z!
mp3c"
categories:
- “audio”
- “multimedia” tags:
- “mp3cd”
Mit mp3c lassen sich in der Konsole CDs in mp3 und ogg umwandeln. Mit mp3cd können diese dann gebrannt werden.
mp3gain"
categories:
- “audio”
- “multimedia” tags:
- “mp3”
Mit mp3gain kann man die Lautstärke von mp3-Dateien anpassen.
mp3gain -r -d 3 -p *.mp3
Parameter:
- -a Albumlautstärke automatisch anpassen
- -c Clipping-Warnungen ignorieren (nicht empfohlen!)
- -d n Lautstärke von 89 dB um Wert n erhöhen (in 1,5 dB-Schritten)
- -g n Gain n ohne Analyse hinzufügen
- -h Verfügbare Optionen anzeigen
- -k Track/Album-Gain automatisch verringern, um Clipping zu verhindern
- -l 0 n Zu Kanal 0 (linker Kanal) Gain n ohne Analyse hinzufügen (funktioniert NUR mit STEREO-Dateien, nicht Joint Stereo)
- -l 1 n Zu Kanal 1 (rechter Kanal) Gain n hinzufügen
- -p Erstellungsdatum beibehalten
- -r Lautstärke des Stücks/der Stücke automatisch anpassen (voreingestellte Lautstärke: 89 dB)
- -T Datei direkt bearbeiten (ohne temporäre Datei)
- -u Änderungen rückgängig machen (anhand gespeicherter Tags)
mplayer"
categories:
-
“audio”
-
“multimedia”
-
“video”
-
ISO mounten und mit mplayer abspielen:
mount DATEI.ISO /mnt/ -t iso9660 -o ro,loop=/dev/loop0
(als root)gmplayer dvd://1 -dvd-device /mnt/
(nicht als root) -
Audio aus einer DVD auslesen:
mplayer -vo null -ao pcm:file=audio.wav dvd://1
-
VideoCD auslesen und als avi speichern:
mencoder vcd://1 film.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
-
Filme verkleinern:
mencoder original.mp4 -oac mp3lame -ovc lavc -vf scale -zoom -xy 0.5 -o zieldatei.mp4
der Faktor 0.5 ist dabei der Verkleinerungsfaktor -
Video-CD auslesen und als mpg speichern:
mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy vcd://1 -o ausgabe.mpg
-
Umwandeln von Videos in AVI: .wmv, .mov, .asf, .mkv, .ogm and .bin (S)VCD können mit
mencoder -o outFile.avi -ovc lavc -lavcopts vbitrate=5000 -fourcc DX50 -oac pcm -srate 48000 -ofps 25 inFile.mov
in ein PAL-knformes AVI-Format umgewandelt werden. -
Ein einzelnes Kapitel (hier 19) aus einer DVD-ISO auslesen und im Format 640:480 speichern:
mencoder dvd://1 -chapter 19 -dvd-device /media/ISO-Film/ -vf scale=640:480 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
-
De-Multiplexen:
- mplayer -dumpaudio -dumpfile ton.ac3 dvd://1
- mplayer -dumpvideo -dumpfile bild.m2v dvd://1
- mplex -f 8 -o film.mpg ton.ac3 bild.m2v
-
Weiter Beispiele:
- DVD auslesen und auf die Festplatte kopieren:
mplayer /dev/scd0 -dumpstream -dumpfile film.vob
- Audio-Datei aus Film extrahieren:
mplayer -dumpaudio film.mpeg
- Internet-Radio hören:
mplayer http://dradio-live.ogg.t-bn.de/dlf_high.ogg
- DVD anschauen, erster Titel:
mplayer dvd://1
- Film auf Festplatte kopieren:
mplayer dvd://1 -dumpstream -dumpfile film.vob
- Film nach mpeg4 konvertieren: mp3 96 kbit, Video 1000 kbit, deinterlacing (1. Durchgang):
mencoder film.vob -o /dev/null -oac mp3lame -lameopts cbr:br=96 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:mbd=2:vpass=1 -vf pp=lb
(2. Durchgang):mencoder film.vob -o film.avi -oac mp3lame -lameopts cbr:br=96 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:mbd=2:vpass=2 -vf pp=lb
- Schwarze Balken an Stelle 5 Min 0 Sek erkennen:
mplayer -vf cropdetect,pp=ci -ss 0:05:00 film.vob
- Film ohne schwarze Balken anschauen (entsprechende crop-Daten einfügen):
mplayer -rootwin -vf crop=688:320:22:74,pp=ci -ss 0:05:00 film.vob
- Windows-Media-Audio-Stream aus dem Internet anhören/mitschneiden:
mplayer mms://dradio-live.wm.t-bn.de/live/dlf/dlf
odermplayer -vo null -vc dummy -dumpstream -dumpfile RadioMitschnitt.wma mms://dradio-live.wm.t-bn.de/live/dlf/dlf
- ogg nach avi konvertieren:
mencoder -idx input.ogg -ovc lavc -oac mp3lame -o output.avi
- Windows-Media-Video-Stream aus dem Internet anschauen/mitschneiden:
mplayer -zoom mms://wmt-od.stream.ne.jp/ntv/hkzkt/hkzkt10.wmv
odermplayer -dumpstream -dumpfile pingpong.wmv mms://wmt-od.stream.ne.jp/ntv/hkzkt/hkzkt10.wmv
- DVD auslesen und auf die Festplatte kopieren:
mplayer-Fehler Fehlermeldung: requested audio codec family [mp3] (afm=mp3lib) not available. Enable it at compilation. Lösung: Bei “Audio Codec Family” “FFmpeg” einstellen
mtr"
categories:
- “netzwerk”
- “analysieren-und-informationen”
mtr IP-Adresse
zeigt den Weg durchs Netz zur angegebenen Adresse
Multi-Boot-CD"
categories:
- “multi-boot-medien”
Multi-Boot-CD Mit dem Script multicd.sh von http://multicd.tuxfamily.org kann auf sehr einfache Art und Weise eine CD/DVD erstellt werden, von der sich mehrere Systeme booten lassen.
Multiboot-USB-Stick erstellen"
categories:
- “allgemein”
- “distributionen”
- “multi-boot-medien” tags:
- “multi-boot-cd”
Um einen eigenen Multiboot-USB-Stick zu erstellen geht man folgendermaßen vor:
-
USB-Stick mounten und auf FAT formatieren
sudo mkfs.vfat -n USB-Stick /dev/sdc1
(der Stick wird “USB-Stick” benannt) -
evtl. muss der MBR gelöscht werden. Das geht mit folgendem Befehl:
sudo dd if=/dev/zero of=/dev/sdc bs=446 count=1
-
Grub einrichten
sudo grub-install --no-floppy --root-directory=/media/USB-Stick /dev/sdc
-
Grub-Config erstellen
/boot/grub/grub.cfg
-
Inhalt der Datei grub.cfg:
if loadfont /boot/grub/fonts/unicode.pf2 ; then set gfxmode="640x480" insmod gfxterm insmod vbe terminal_output gfxterm if terminal_output gfxterm; then true ; else terminal gfxterm fi fi insmod tga background_image /boot/grub/splash.tga menuentry "System Rescue CD" { loopback loop /boot/iso/systemrescuecd.iso linux (loop)/isolinux/rescue32 isoloop=/boot/iso/systemrescuecd.iso setkmap=de initrd (loop)/isolinux/initram.igz } menuentry "System Rescue CD (load to RAM)" { loopback loop /boot/iso/systemrescuecd.iso linux (loop)/isolinux/rescue32 isoloop=/boot/iso/systemrescuecd.iso setkmap=de docache initrd (loop)/isolinux/initram.igz } menuentry "Grml Rescue System" { insmod part_msdos insmod ext2 insmod part_gpt insmod fat search --no-floppy --fs-uuid --set=root 950A-B6EC iso_path="/boot/iso/grml.iso" export iso_path loopback loop "/boot/iso/grml.iso" set root=(loop) configfile /boot/grub/loopback.cfg } menuentry "Knoppix" { set iso_path="/boot/iso/knoppix.iso" loopback loop (hd0,msdos1)$iso_path echo "Loading linux" linux (loop)/boot/isolinux/linux bootfrom=/dev/sda1$iso_path acpi=off no3d keyboard=de language-de echo "Loading minirt" initrd (loop)/boot/isolinux/minirt.gz } menuentry "Kali-Linux" { set isofile="/boot/iso/kali-linux.iso" bootoptions="findiso=$isofile boot=live noconfig=sudo username=root hostname=kali quiet splash" search --set -f $isofile loopback loop $isofile linux (loop)/live/vmlinuz $bootoptions initrd (loop)/live/initrd.img } menuentry "Tails" { set iso="/boot/iso/tails.iso" loopback loop $iso linux (loop)/live/vmlinuz boot=live config live-media=removable nopersistent noprompt quiet timezone=Europe/Berlin block.events_dfl_poll_msecs=1000 splash nox11autologin module=Tails findiso=$iso quiet_ initrd (loop)/live/initrd.img } menuentry "Speichertest" { linux16 /boot/iso/memtest86.bin } menuentry "Hardwareerkennung" { linux16 /boot/iso/memdisk iso initrd16 /boot/iso/hdt.iso } menuentry "Windows Passwort löschen" { loopback loop /boot/iso/ntpasswd.iso root=(loop) linux (loop)/vmlinuz findiso=/boot/iso/ntpasswd.iso initrd (loop)/initrd.cgz } menuentry "Ultimate Boot CD" { linux16 /boot/iso/memdisk iso initrd16 /boot/iso/ubcd.iso }
-
Die ISO-Dateien liegen im Ordner /boot/iso/ Download der einzelnen Images unter:
- System-Rescue-CD: http://www.sysresccd.org
- GRML: http://grml.org/
- Knoppix: http://www.knopper.net/knoppix/
- Kali: http://www.kali.org/
- Tails: https://tails.boum.org/
- Ultimate Boot CD: http://www.ultimatebootcd.com
- Memtest: http://www.memtest.org/#downiso (Pre-Compiled Bootable Binary herunterladen)
- NTPasswd: http://pogostick.net/~pnh/ntpasswd/ (Bootable CD image herunterladen)
-
Memdisk (notwendig um die UBCD einzubinden) kann im Paket von syslinux heruntergeladen werden: https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.04.zip
-
Das Hintergrundbild muss 640x480 Pixel groß sein und im Ordner /boot/grub als splash.tga gespeichert werden. Mit Gimp kann dieses Grafikformat erzeugt werden.
Multisystem"
categories:
- “multi-boot-medien” tags:
- “multi-boot-cd”
- “multisystem”
Multi-Boot-USB-Stick Multisystem ermöglicht es mehrere Systeme von einem USB-Stick zu booten. Download unter: http://liveusb.info/multisystem/depot/dists/all/main/binary-i386/m/
oder als bootbares ISO unter: http://sourceforge.net/projects/multisystem/
Zusätzlich wird folgende Datei benötigt: http://liveusb.info/multisystem/depot/dists/all/main/binary-i386/g/
Oder man trägt in die Datei /etc/sources.list folgende Zeile ein: deb http://liveusb.info/multisystem/depot all main
und importiert dann den Schlüssel mit: wget -q http://liveusb.info/multisystem/depot/multisystem.asc -O- | sudo apt-key add -
Von Multisystem unterstütze Distributionen: http://liveusb.info/dotclear/index.php?pages/os
Multisystem benötigt die Gruppe admin, der der Benutzer auch zugeordnet sien muss:
sudo addgroup admin
sudo addgroup <user> admin
MuseScore"
categories:
- “multimedia”
- “programme”
- “verschiedendes”
Verzeichnis für Plugins Die Plugin liegen in local/share/data/MusE/MuseScore/plugins
Eigene Vorlagen Eigene Vorlagen speichert man in: /usr/share/mscore/templates
Eine Stimme in eine zweite Stimme kopieren (mehrstimmiger Satz)
- Die Ausgangsstimme selektieren (Klick auf erste und letzte Note mit gehaltener Shift-Taste)
- Bearbeiten - Stimmen - Stimmen 1-2 tauschen
- Strg-C (in Zwischenablage kopieren)
- leere Notenzeile anwählen und einfügen (Strg-V)
- Transponieren (Noten - Transponieren)
- Bearbeiten - Stimmen - Stimmen 1-2 tauschen
- Strg-C (in Zwischenablage kopieren)
- Pause (blau) in der ersten Notenzeile anwählen
- einfügen (Strg-V)
- Bearbeiten - Stimmen - Stimmen 1-2 tauschen
Steuerung über die Kommandozeile Mit musescore -r 300 Lied.mscz -o Lied.png
wird ein Lied als Bilddatei ausgegeben.
Im Ziffernblock Komma durch Punkt tauschen Bei der Noteneingabe kann somit die Länge einer punktierte Note (trotz deutschem Sprachlayout) direkt im Ziffernblock eigegeben werden. Folgendes Script startet Musescore mit geändertem Tastaturlayout und stellt dieses danach wieder zurück:
#!/bin/bash
# Komma-Taste im Ziffernblock auf Punkt setzen
xmodmap -e 'keycode 91 = KP_Delete period KP_Delete period'
# MuseScore starten
musescore
# Komma-Taste im Ziffernblock wieder auf Komma setzen
xmodmap -e 'keycode 91 = KP_Delete KP_Separator KP_Delete KP_Separator'
Musik-CDs kopieren"
categories:
- “cds-dvds”
- “multimedia”
Script um Audio-CDs zu kopieren:
#!//bin/bash
DEV=/dev/sr0
cd /tmp
cdrdao read-toc --fast-toc --device $DEV cd.toc
cdparanoia -v -d $DEV -Z 1- data.wav
eject $DEV
cdrdao write --device $DEV --speed 8 cd.toc
eject $DEV
rm data.wav
rm cd.toc
Musik machen mit Linux"
categories:
- “audio”
Jack
Jack ist der Soundserver, über den die verschiedenen Musikprogramme und Geräte miteinander kommunizieren. qjackctl ist die grafische Oberfäche und Steuerzentrale.
Installation
sudo apt-get install jackd qjackctl jack-midi-clock a2jmidid
Latenz
Die Latenz wird bei Einstellungen - Parameter - Frames/Periode eingestellt. Um so kleiner der Wert, um so kleiner die Latenz. Bei meiner externen Soundkarte (Behringer U-PHORIA UMC202HD) funktioniert 128, was eine Latenz von 2,9 ms bringt.
Midi Jack-Alsa
Damit die Midi-Steuerung zwischen Jack und Alsa funktioniert, installiert man trägt man folgenden Befehl bei Optionen - Script nach dem Start ausführen:
a2jmidid -e &
Steuerung
Über Verbinden… lassen sich die einzelnen Komponenten miteinander “verkabeln”
Midi-Sequenzing mit Rosegarden
Rosegarden ist ein Midi- und Audioaufnahmeprogramm, das auch Notensatz beherrscht. Für Audioaufnahmen ist Ardour (s.u.) aber wesentlich leistungsfähiger.
Installation
sudo apt-get install rosegarden
Midisignale analysieren:
sudo apt-get install midisnoop
Audio-Aufnahmen mit Ardour
Ardour ist eine DAW (Digital Audio Workstatiob).
Installation
PPA hinzufügen:
sudo add-apt-repository ppa:ubuntustudio-ppa/ardour-backportssudo apt-get update
Ardour installieren:
sudo apt-get install ardour ardour-lv2-plugins
Folgende Plugins sind für Effekte nützlich:
sudo apt-get install vocproc calf-plugins x42-plugins zita-rev1
empfehlenswerte Plugins:
- ACE Compressor
- ACE Reverb
- x42-eq
- Calf Exciter
- Calf Bass Enhancer
- 1/3 Octave Spectrum Display Mono
- Zita-Reverb
Linuxsampler
Linuxsampler ist meist nicht in den Quellen und muss selbst kompiliert werden.
Download einer fertig kompilierten Version (LinuxMint 20.1 - 64bit)
sudo apt-get install libgig9 liblscp6 qsampler libakai0 libgig-dev autoconf automake autotools-dev libltdl-dev libtool libjack-jackd2-dev libflac-dev libogg-dev libsndfile1-dev libvorbis-dev checkinstall
Download unter https://www.linuxsampler.org , entpacken.
- ./configure
- make
- sudo checkinstall
linuxsampler selbst ist der Server, der am Anfang gestartet werden muss. Dann kann die grafische Oberfläche qsampler die Samplelibraries zur Verfügung stellen.
Notensatz mit Musescore
Musescore ist ein Notensatzprogramm
Installation
PPA hinzufügen:
sudo add-apt-repository ppa:mscore-ubuntu/mscore-stable
sudo apt-get update
Musescore installieren:
sudo apt-get install musescore3
Begriffe
- LADSPA: altes Format für Effekte
- LV2: neues Format für Effekte
- Latenz: Verzögerung durch die Wandlung von Analog-Digital
- Alsa: Soundsystem von Linux
weitere Musiksoftware
- Audacity: Audio-Editor
- Hydrogen: Drumcomputer
- LMMS: Sequenzer
- Tuxguitar: Tabulaturen & Leadsheets
Links
- https://www.linuxmintusers.de/index.php?action=wiki;page=JACK-Tutorial
- https://manual.ardour.org/toc/
- https://defkey.com/ardour-shortcuts
- https://forum.harrisonconsoles.com/thread-4332.html
mv"
categories:
- “kopieren-umbenennen-loschen”
mv Quelle Ziel
verschiebt Dateien
Nameserver-Konfiguration"
categories:
- “netzwerk”
- “serversoftware”
cat /etc/resolv.conf
Nautilus zerstört Desktop"
categories:
- “xfce”
Im gconf-editor unter apps/nautilus/preferences/ show desktop
abschalten. Im gnome-tweak-tool unter “Arbeitsoberfläche” den Punkt “Have file manager handle the desktop” auf “aus” stellen. Evtl. auch noch folgendes: gsettings set org.gnome.desktop.background show-desktop-icons false
Nautilus"
categories:
- “gnome”
Terminal mit F4 öffnen: Das Paket nautilus-open-terminal
installieren. Dann den Menüpunkt Datei/Im Terminal öffnen
mit der Maus anfahren und die Taste F4 drücken. Nach Ausführen des Befehls gconftool-2 --type bool --set /desktop/gnome/interface/can_change_accels true
kann man aus Nautilus mit F4 die Konsole öffnen
Navigation & Pfadangaben"
categories:
- “verzeichnisse”
Man kann sehr schnell durch Pfade navigieren, wenn man die Autovervollständigung durch die TAB-Taste nutzt. Es genügt, den Anfang eines Pfades anzugeben und dann vervollständigt die TAB-Taste automatisch. Ebenso kann man sich die History der Shell zunutze machen. Mit der “Pfeil-nach-oben-Taste” holt man vergangene Befehle wieder. Mit der “Bild-nach-oben-Taste” holt man vergangene Befehle wieder, von denen man den Anfang wieder getippt hat. (siehe Eingabe-History aktivieren )
Die Angabe von ~ bewirkt den Sprung ins eigene Homeverzeichnis.
Die Angabe eines Punktes symbolisiert das aktuelle Verzeichnis.
Die Angabe von zwei Punkten verweist auf das übergeordnete Verzeichnis.
ndiswrapper"
categories:
- “hardware” tags:
- “wlan”
Mit dem ndiswrapper lassen sich z.B. nicht unterstützte Netzwerk(Wlan)-Karten mittels Windows-Treiber einbinden.
Anleitung:
- ndiswrapper installieren
- Windows-Treiber installieren:
ndiswrapper -i w70n51.inf
(inf-Datei des Treibers, von der Original-CD!) modprobe ndiswrapper
lädt den Treiber- mit
ndiswrapper -cat /proc/meminfol
undndiswrapper -v
testen dmesg
gibt die Kernel-Meldungen aus- mit
ndiswrapper -m
wird der Treiber immer beim booten geladen - Konfiguration:
iwconfig wlan0 mode managed
iwconfig wlan0 key restricted s:12345
iwconfig wlan0 essid "Netzwerkname"
ifconfig wlan0 up
dhclient
- WPA-Verschlüsselung
-
Schlüssel erzeugen
wpa_passphrase xxxnonamexxx 1234567890123456
xxxnonamexxx ist der Name meines Funknetzwerks und 123456…. der WPA-Schlüssel, den mir der Router ausgibtAls Ergebnis erhalten wir:network={ ssid="xxxnonamexxx" #psk="1234567890123456" psk=2f609a18e74b80d1db89403988258fe7d21430c0ccb1cdd8f81d2380d1ab2885 }
Für uns ist der psk-Wert der gewünschte Wert, den wir gleich im Anschluss weiter verarbeiten.
-
wpa_supplicant im Verzeichnis /etc/wpa_supplicant/ wird die Datei wpa_supplicant.conf angelegt und folgender Inhalt eingefügt:
ctrl_interface=/var/run/wpa_supplicant ap_scan=2 network={ ssid="xxxnonamexxx" scan_ssid=1 proto=WPA key_mgmt=WPA-PSK pairwise=TKIP psk=2f609a18e74b80d1db89403988258fe7d21430c0ccb1cdd8f81d2380d1ab2885 }
-
interfaces Im Verzeichnis /etc/network/ die Datei interfaces wie folgt anpassen (kompletter Inhalt):
auto lo iface lo inet loopback iface wlan0 inet dhcp pre-up wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -Bw post-down killall -q wpa_supplicant auto wlan0
-
Nemo unter XFCE"
categories:
- “cinnamon”
- “xfce” tags:
- “nemo”
Wenn der Dateimanager Nemo (Cinnamon-Desktop) unter XFCE installiert wird, sind folgende Anpassungen notwendig.
Sprache auf Deutsch umstellen
Hierzu müssen folgende Pakete (inklusive aller Abhängigkeiten) installiert werden:
sudo apt-get install cinnamon-core cinnamon-l10n
“Im Terminal-Öffnen” anpassen
Standardmäßig versucht Nemo über den Befehl terminix ein Terminal zu öffnen. Damit das Terminal auch unter XFCE geöffnet werden kann muss folgender Befehl ausgeführt werden:
gsettings set org.cinnamon.desktop.default-applications.terminal exec xfce4-terminal
Compare-Programm auswählen
Damit die Compare-Funktion von nemo-compare funktioniert, muss das passende Programm eingestellt werden. Hierzu gibt es ein Konfigurationsprogramm:
nemo-compare-preferences
nethogs"
categories:
- “netzwerk”
- “analysieren-und-informationen”
sudo nethogs
zeigt an welche Prozesse wie viele Daten übertragen
netstat"
categories:
- “netzwerk”
- “analysieren-und-informationen”
netstat -at
welche Verbindungen sind ins Netz?
Ausführlich: netstat -pa
oder netstat -tulpan
netstat -t -c
gibt fortlaufende Meldungen aus. netstat -r -n
Zeigt die IP-Adresse des Routers an.
Netzwerk einrichten"
categories:
- “netzwerk”
- “serversoftware” tags:
- “dhclient”
- “dns-server”
- “hosts”
- “ifconfig”
- “ifdown”
- “ifup”
- “interfaces”
- “resolv-conf”
Dies ist eine Übersicht über die Einrichtung eines Netzwerks unter Linux.
Einrichtung Client
- nis und nfs müssen installiert werden.
- in /etc/passwd muss der installierende user gelöscht werden, da sonst die ID-Nummer nicht mit dem Server übereinstimmt
- in der fstab muss das neue home-Verzeichnis auf dem Server eingetragen werden:
192.168.0.1:/home /home nfs defaults 0 0
- an die Datei /etc/passwd muss
+::::::
angehängt werden - an die Datei /etc/group muss
+:::
angehängt werden - an die Datei /etc/shadow muss
+::::::::
angehängt werden - an die Datei /etc/gshadow muss
+:::
angehängt werden - wenn kein Nameserver gefunden wird fehlt in der Datei /etc/resolv.conf der Eintrag
nameserver 192.178.168.1
/etc/hosts In dieser Datei können IP-Adressen die entsprechnenden Rechnernamen zugeordnet werden: 192.168.1.50 Arbeitszimmer.tuxnet Arbeitszimmer
Ebenso können Server gesperrt werden: 127.0.0.1 ads.server.com
statische Netzwerkadresse einrichten /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.50
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dynamische Netzwerkadresse einrichten
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
dhclient Startet einen DHCP-Client und somit die Konfiguration eine lokalen Netzwerkkarte durch einen DHCP-Server.
dhclient
als root ausführen
ifconfig eigene IP ermitteln: ifconfig
IP-Konfiguration: ifconfig ethXX NeueIPAdresse Netzmaske
(nur als root). Als ethXX gibt man dabei das Interface an, für das die Änderung durchgeführt werden soll. Meist ist das also eth0.
Deaktivieren mit ifconfig eth0 down
(siehe auch ifdown)
Aktivieren mit ifconfig eth0 up
(siehe auch ifup)
ifup Netzwerkverbindung aufbauen
ifdown Netzwerkverbindung beenden
route Routing ändern route add 192.168.1.1 eth0
DNS-Server In der Datei /etc/resolv.conf
sind die DNS-Server eingetragen.
Freie (ungefilterte) DNS-Server sind:
- 85.214.73.63 (anonymisierungsdienst.foebud.org)
- 204.152.184.76 (f.6to4-servers.net, ISC, USA)
- 2001:4f8:0:2::14 (f.6to4-servers.net, IPv6, ISC)
- 194.150.168.168 (dns.as250.net; anycast DNS!)
- 213.73.91.35 (dnscache.berlin.ccc.de)
- 80.237.196.2
- 194.95.202.198
(Quelle: http://www.ccc.de/censorship/dns-howto/index.xml#how-tos )
Gerätenamen der Netzwerkschnittstelle ändern Die Gerätenamen der Netzwerkschnittstellen können geändert werden. Hierzu benötigt man den Befehl ip aus dem Paket iproute2: ip link set altername name neuername
Typische Namen für Netzwerkschnittstellen: eth0, eth1, eth2, …
Netzwerk geht nach Installation von ffmpeg nicht mehr"
categories:
- “debian”
Bei der Installation von ffmpeg wird unerklärlicherweise dnet-common
mitinstalliert. Dieses Programm führt zu einer Veränderung der MAC-Adresse und der IP-Adresse, woraufhin der rechner meist nicht mehr ins Netzwerk kommt. Die einfachste Lösung ist mittels dpkg -r dnet-common
das Programm sofort wieder zu deinstallieren.
Netzwerk neu starten"
categories:
- “netzwerk”
- “serversoftware”
/etc/init.d/networking restart
Netzwerkauslastung"
categories:
- “system-programme”
knetstats
Neue sources.list für LMDE"
categories:
- “debian”
deb http://packages.linuxmint.com/ debian main upstream import backport romeo
deb http://debian.linuxmint.com/latest testing main contrib non-free
deb http://debian.linuxmint.com/latest/security testing/updates main contrib non-free
deb http://debian.linuxmint.com/latest/multimedia testing main non-free
# Virtualbox
deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free
# deb-src http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free
neuer Hintergrund beim Login"
categories:
- “xfce”
-
den neuen Hintergrund in /usr/share/backgrounds/ speichern
-
die Datei /usr/share/backgrounds/linuxmint/default_background.jpg löschen
-
den neuen Hintergrund setzen:
cd /usr/share/backgrounds/linuxmint/ sudo rm default_background.jpg sudo ln -s ../neuer_hintergrund.jpg default_background.jpg
neues Rootpasswort"
categories:
- “benutzer-gruppen”
1. Möglichkeit
- System von einer Linux-Live-CD booten
- mkdir /mnt/linux
- mount /dev/sda1 /mnt/linux
- chroot /mnt/linux/ /bin/bash
- passwd
- exit
- reboot
2. Möglichkeit
- System von einer Linux-Boot-CD starten
- Root-Partition mounten
- /etc/passwd auf der Zielfestplatte mit vim öffnen
- Zeile
root:x:0:0:root:/root:/bin/bash
ersetzen durchroot::0:0:root:/root:/bin/bash
- Rechner neu starten
- Root ohne Passwort einloggen
- neues Passwort mit passwd setzen
3. Möglichkeit
- In grub als Bootoption
init=/bin/bash
eingeben mount -no remount,rw /
passwd root
sync
mount -no remount,ro /
reboot
Neustart"
categories:
- “tastaturkommandos”
Strg+Alt+Entf
NextCloud auf einem RaspberryPi / BananaPi"
categories:
- “debian”
- “distributionen-raspberry-pi”
- “raspberry-pi”
- “serversoftware” tags:
- “apache”
- “bananian”
- “bananianpi”
- “nextcloud”
Download von NextCloudPi unter: https://ownyourbits.com/nextcloudpi/
Im Folgenden wird die Einrichtung mit Bananian, einer Debian-Variante für den BananaPi, gezeigt.
Download
wget http://dl.bananian.org/releases/bananian-latest.zip
unzip bananian-latest.zip
auf SD-Karte kopieren
Die SD-Karte muss min. 2 GB groß und Class 10 sein.
# SD-Karte einlegen, das Device der SD-Karte ermitteln
dmesg | tail
# Gegebenenfalls die Karte unmounten
sudo umount /dev/<sd-card>
# Image kopieren (<sd-card> steht für z.B. sdd)
sudo dd if=bananian-<xxxx>.img of=/dev/<sd-card> bs=1M && sync
Erster Start von Bananian
SD Karte in den BananaPi einlegen und den BananaPi booten (einfach Stromversorgung einstecken).
Der Standard-Login ist “root”, das Standard-Passwort ist “Pi”. Dann die Grundkonfiguration durchführen:
bananian-config
bananian-update
Externe Festplatte einbinden (optional)
Device ermitteln:
fdisk -l
Im Folgenden wird davon ausgegangen, dass die Festplatte als Device /dev/sda eingebunden ist.
Festplatte partitionieren (mit parted):
select /dev/sda
mktable msdos
mkpart primary ext4 0% 100%
q
Dateisystem erstellen:
mkfs -t ext4 /dev/sda1 -V
In die fstab eintragen:
mkdir /mnt/hdd
echo "/dev/sda1 /mnt/hdd ext4 defaults 0 0" >> /etc/fstab
mount -a
Owncloud installieren
Repository einfügen und OwnCloud installieren
wget -O - http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_8.0/Release.key | apt-key add -
echo "deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_8.0/ /" > /etc/apt/sources.list.d/owncloud.list
apt-get update
apt-get install owncloud php-pear php-apc
Apache konfigurieren
Apache auf die .htaccess-Datei der Owncloud einstellen
In die Datei /etc/apache2/sites-enabled/000-default folgendes am Ende anfügen:
<Directory /var/www/owncloud>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Apache neu starten:
service apache2 reload
Maximale Dateigröße auf 2 GB anheben
In der Datei /var/www/owncloud/.htaccess folgende Zeilen anpassen:
php_value upload_max_filesize 2G
php_value post_max_size 2G
In der Datei /etc/php5/apache2/php.ini folgende Zeilen anpassen:
upload_max_filesize = 2G
max_file_uploads = 200
post_max_size = 2G
Cache aktivieren:
In der Datei /www/owncloud/config/config.php folgendes eintragen:
'memcache.local' => '\OC\Memcache\APC',
Apache neu starten:
a2enmod rewrite
a2enmod headers
service apache2 reload
SSL aktivieren
Zertifikate erstellen
Am besten in ein Verzeichnis wechseln, welches nur vom Root erreichbar ist, z. B. mit
cd /root
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt -reqexts v3_req -extensions v3_ca
Dateneingabe während der Zertifikaterstellung:
-
- Country Name (Ländercode): = DE
-
- State or Province Name (Bundesland): =
- State or Province Name (Bundesland): =
-
- Locality Name, eg. City (Stadt): =
- Locality Name, eg. City (Stadt): =
-
- Organization Name (Firmenname): = Privat
-
- Organizational Unit Name (Abteilung) =
- Organizational Unit Name (Abteilung) =
-
- Common Name, eg. YOUR Name: =
“Hier muss die Domain angegeben werden, über die der Server erreichbar ist (bei Nutzung eines DynDNS-Dienstes, die dort zugeteilte Adresse)”
- Common Name, eg. YOUR Name: =
-
- Email Adress: =
- Email Adress: =
-
- A challenge password: =
- A challenge password: =
-
An optional company name: =
Apache anpassen
In der Datei /etc/apache2/sites-enabled/000-default folgende Zeichen am Ende der Datei hinzufügen:
<VirtualHost *:443>
DocumentRoot /var/www
ServerName tuxcloud
SSLEngine on
SSLCertificateFile /root/server.crt
SSLCertificateKeyFile /root/server.key
</VirtualHost>
In der Datei /etc/apache2/sites-available/default folgende Zeichen am Ende der Datei hinzufügen:
<VirtualHost *:443>
DocumentRoot /var/www
ServerName tuxcloud
SSLEngine on
SSLCertificateFile /root/server.crt
SSLCertificateKeyFile /root/server.key
</VirtualHost>
In der Datei /etc/apache2/sites-available/default-ssl folgende Einträge anpassen:
SSLCertificateKeyFile /root/server.key
SSLCertificateFile /root/server.crt
Apache-Konfiguration anpassen und testen:
a2enmod ssl
apache2ctl configtest
Hier sollte ein “Syntax OK” herauskommen.
Apache neu starten:
service apache2 reload
MySQL installieren
MySQL ist deutlich schneller als SQLite und empfiehlt sich bei größeren Datenmengen.
Installation MySQL
apt-get install mysql-server
Während der Installation öffnet sich ein Fenster, für das root-Passwort, das an dieser Stelle definiert werden muss.
Installation PHPmyAdmin und Datenbank einrichten
apt-get install phpmyadmin
Während der Installation fragt phpMyAdmin, welchen Webserver verwendet werden soll. In unserem Fall ist das apache2. Weiterhin Passwort für den administrativen Benutzer von MySQL eingeben.
Dann die Datenbank für Owncloud einrichten:
http://<IP des Servers>/phpmyadmin
unter Datenbank neuen Namen “owncloud” eingeben und Datenbank speichern.
Zugriff von außen (über das Internet)
Um über das Internet auf den Server zugreifen zu können braucht man eine feste Adresse. Diese kann man z.B. über spdns.de bekommen. Im Router wird dieser Dienst bei DynDNS eingetragen und eine Portweiterleitung von Port 443 (HTTPS) zum Server gemacht.
Owncloud einrichten
Erster Start
http://<IP des Servers>/owncloud/
Benutzer: root Passwort: *****
Datenbank auf MySQL umstellen
cd /var/www/owncloud
su www-data
php occ db:convert-type --password="passwort" --all-apps mysql root localhost owncloud
Umstellung auf Cron
Aufräumen nicht nach jedem Seitenaufruf sondern über Cron (beschleunigt Seitenaufrufe):
EDITOR=vim.tiny && crontab -u www-data -e
*/15 * * * * php -f /var/www/owncloud/cron.php
Als Administrator im Web-Frontend unter “Administration” von Ajax auf Cron umstellen.
Einbindung externer Speicher
Samba-Client installieren:
apt-get install smbclient
Als root in Owncloud die App “External storage support” aktivieren und unter “Administration” dann die benötigten Speicher einbinden.
E-Mail-Versand einrichten
Hier am Beispiel eines GMX-Accounts:
Als root unter “Administration” die Mail-Daten eingeben
- Sende-Modus: smtp
- Verschlüsselung: TLS
- Absender-Adresse:
| gmx.de - Authentifizierung: “Anmelden” und “Authentifizierung benötigt”
- Adresse des Servers: mail.gmx.net:587
- Zugangsdaten:
|
In der Datei /var/www/owncloud/config/config.php sehen die Einträge so aus:
'mail_smtpmode' => 'smtp',
'mail_smtpsecure' => 'tls',
'mail_smtpauth' => 1,
'mail_smtphost' => 'mail.gmx.net',
'mail_smtpname' => '<Login>@gmx.de',
'mail_smtppassword' => '<Passwort>',
'mail_smtpport' => '587',
'mail_smtpauthtype' => 'LOGIN',
'mail_from_address' => '<Login>',
'loglevel' => '0',
'mail_domain' => 'gmx.de',
Kalender und Kontakte aktivieren
Im Administrationsmenü unter Apps/PIM Calendar und Contacts aktivieren.
Synchronisierung einrichten
Kontakte
Android
CADroid installieren und Zertifikate importieren CardDAV-Sync free installieren CardDAV-Konto hinzufügen Server: https://
CardDAV-Kontakte können mit der APP “Contact Editor free” (oder Pro-Version) bearbeitet werden.
Thunderbird/Icedove
Das Plugin “SOGo Connector” installieren (unter Debian für Icedove über die Paketverwaltung “xul-ext-sogo-connector” installieren). Dann im Adressbuch über “File > New > Remote Addressbook” hinzufügen. Die benötigte URL bekommt man über das OwnCloud-Frontend im Browser: APP Kontakte > Einstellungssymbol links unten > CardDAV-Link".
Das AddOn CategoryManager erlaubt es die in ownCloud erstellen Gruppen zu synchronisieren
Kalender
Android
“CalDAV Sync Free Beta” installieren CalDAV-Konto in der Kalender-APP hinzufügen Server: https://
Thunderbird/Icedove
neuer Kalender -> im Netzwerk -> CalDAV https://
Aufgaben
Hierzu muss in der Owncloud zusätzliche die APP “Tasks” installiert werden: Download unter https://apps.owncloud.com/content/show.php/Tasks?content=164356 entpacken und auf den Server hochladen in: /var/www/owncloud/apps danach im Web-Frontend als root die App “Tasks” aktivieren
Android
Synchronisation über CalDAV-Sync und Tasks von Marten Gajda.
Notizen
Mit qownnotes lassen sich auch Notizen wie in evernote oder onenote speichern und synchronisieren. Das passende git-repository ist: https://github.com/pbek/QOwnNotes
Zunächst muss im owncloud/apps-Verzeichnis die App qownnotesapi installiert werden. https://github.com/pbek/qownnotesapi Für den Desktop gibt es einen Client: http://www.qownnotes.org/
Android
Über F-Droid kann man sich unter https://f-droid.org/app/org.aykit.MyOwnNotes die passende App herunterladen.
Backup anlegen
Sicherung der Daten auf einen USB-Datenträger:
Mit blkid
die UUID des USB-Datenträgers herausfinden. (Hier z.B. 7963a8a2-92e8-4050-9c8a-a84a06415824) Ein Verzeichnis anlegen: mkdir /media/backup
Die Datei /etc/fstab erweitern:
UUID=7963a8a2-92e8-4050-9c8a-a84a06415824 /media/backup ext4 defaults 0 2
in /root/ die Datei backup.sh anlegen. Inhalt:
#Backup-ownCloud
tar -czvf "/media/backup/owncloud_$(date +"%Y%m%d").tar.gz" /var/www/owncloud
#Datenbank-Backup
mysqldump --lock-tables -h localhost -u root -passwort owncloud > "/media/backup/owncloud-db_$(date +"%Y%m%d").bak"
#alte Dateien löschen
find "/media/backup/" -type f -name "*-db_*.bak" -mtime +6 -exec rm -f {} \;
find "/media/backup/" -type f -name "*.tar.gz" -mtime +6 -exec rm -f {} \;
ausführbar machen chmod +x backup.sh
In cron eintragen (alle Daten, die älter als 4 Tage sind, werden Nachts um 2:00 Uhr gelöscht):
crontab -e
0 2 * * * /root/backup.sh
reboot
Einbindung per WebDAV
https://www.meinedomain.de/remote.php/webdav
Pfad zum Datenspeicher ändern
Der Pfad zum Datenspeicher (data) steht in /var/www/owncloud/config/config.php
Nach der Anpassung der Webserver neustarten: service apache2 restart
Update auf owncloud 9
Wenn nach dem Update weiterhin der Wartungsmodus angezeigt wird: In der Datei /var/www/owncloud/config/config.php
maintenancemode => false
auf true
setzen
Evtl. müssen die in /var/www/owncloud
die Dateien phpinfo.inf und apache.pem gelöscht werden.
Damit die Aufgabenplanung wieder funktioniert muss die aktuelle Version von tasks von Hand heruntergeladen und ins Verzeichnis apps/tasks entpackt werden. Download: https://github.com/owncloud/tasks/archive/DAVclient.zip
Backup
Mit calcardbackup lassen sich Adressbücher und Kontakte einfach sichern.
Android
ownCloud Client Zugriff auf den Cloudspeicher (F-Droid) DAVdroid – Kalendersynchronisation (F-Droid) o wnCloud Client Zugriff auf den Cloudspeicher (GooglePlaystore) CalDAV Sync Free – zur Kalendersynchronisation (GooglePlaystore)
NFS"
categories:
- “dateisysteme”
- “einhangen”
- “netzwerk”
- “serversoftware” tags:
- “etcexports”
- “etchosts”
- “exports”
- “hibernate”
- “hook”
- “showmount”
- “standby”
Linux-Dateisysteme im Netzwerk.
Installation: sudo apt-get install nfs-common nfs-kernel-server
NFS-Server
/etc/hosts
127.0.0.1 localhost
127.0.1.1 Arbeitszimmer.TuxNet Arbeitszimmer
192.168.1.51 Laptop.TuxNet Laptop
/etc/exports
# Der Ordner /exportdir wird mit den Schreibrechten (rw) synchron exportiert.
# Der Rechner Laptop kann darauf zugreifen.
/exportdir Laptop(rw,sync)
# Der Ordner /exportdir wird mit den Schreibrechten (rw) synchron exportiert.
# Der Rechner Laptop kann darauf zugreifen.
# Es werden stets die Rechte des User mit der UID 1001 und der GID 100 vergeben.
/exportdir Laptop(rw,sync,all_squash,anonuid=1001,anongid=100,no_subtree_check)
Auf dem Rechner mit der IP 192.168.56.0 können über die Funktion crossmount auch Medien unter /media genutzt werden.
/media 192.168.56.0/24(rw,async,insecure,no_subtree_check,crossmnt)
Die IDs des Users und der Gruppe können mit dem Befehl id
ermittelt werden.
Es können auch IP-Bereiche definiert werden. Siehe hierzu das Kapitel IP-Adressen.
Server neu starten
sudo /etc/init.d/nfs-kernel-server restart
exportierte Verzeichnisse kontrollieren Die exportiereten Verzeichznisse können mit sudo exportfs
oder showmount -e
kontrolliert werden. Aktive Verbindungen zeigt showmount -a
an.
NFS-Client
/etc/hosts
127.0.0.1 localhost
127.0.1.1 laptop.TuxNet laptop
192.168.1.50 Arbeitszimmer.TuxNet arbeitszimmer
/etc/fstab (Beispiele)
Arbeitszimmer:/home/petri/Documents /home/arbeitszimmer nfs user,noauto,rw 0 0
192.168.1.2:/data/ /mnt/nfs/data nfs _netdev,noauto,user 0 0
Erklärung der Mountparameter:
- _netdev: das Dateisystem wird erst eingebunden, sobald eine Netzwerkverbindung steht
- user: auch normale Benutzer können das Dateisystem einhängen
- noauto: das Dateisystem wird nicht automatisch eingebunden (wichtig, da ansonsten der Rechner beim booten ewig hängt, sofern die NFS-Freigabe nicht vorhanden ist
- rw: das Dateisystem wird schreibbar eingehängt
Die fstab mit mount -a
neu einlesen.
Bei Systemen mit systemd müssen die Einträge der fstab wie im entsprechenden Artikel beschrieben angepasst werden.
Unter Xfce werden die Freigaben bim Login automatisch eingebunden, wenn folgende Datei erstellt wird: ~/.config/autostart/mountnfs.desktop
[Desktop Entry]
Encoding=UTF-8
Name=NFS-Laufwerk einbinden
Exec=mount /mount-pfad-aus-fstab
Terminal=false
Anzeige der gemounteten Freigaben showmount
NFS von Hand starten
Vorraussetzungen bei NFS von Hand: Die Datei /etc/exports wurde bereits editiert und die zu exportierenden Verzeichnisse freigegeben.
Portmapper starten /etc/init.d/portmap start
Nun den Mount-Daemon starten. Nun werden die exportierten Verzeichnisse (“shares”) für die anderen sichtbar. rpc.mountd
Starten des NFS-Daemon für den eigentlichen Filezugriff rpc.nfsd
Mit rpcinfo kann jederzeit die Verfügbarkeit der NFS-Dienste überprüft werden: rpcinfo -p server
NFS in einem Script mounten
Soll eine NFS-Freigabe in einem Script gemountet werden so hilft folgendes Script. Hierbei wird das Script nur fortgeführt, sofern die Einbindung erfolgreich war. Weiterhin bleibt dieses Script auch nicht ewig hängen, wenn die Freigabe nicht zur Verfügung steht. Es wird bei diesem Script davon ausgegangen, dass die Freigabe in der fstab (siehe oben) eingetragen ist.
#! /bin/bash
IP=192.168.1.
mountpoint[1]=/mnt/server/folder1
mountpoint[2]=/mnt/server/folder2
mountpoint[3]=/mnt/server/folder3
echo -n "Netzwerk suchen "
for ((i=1; i<=120; i++)) {
[ $(ifconfig | grep -c $IP) -gt 0 ] && break
echo -n "."
sleep 0.5
}
echo
if [ $i -eq 121 ] ; then
echo "Netzwerk konnte nicht gefunden werden, Programm wird beendet."
exit
fi
i=1
while [ "${mountpoint[i]}" != "" ] ; do
echo "Verzeichnis ${mountpoint[i]} wird eingebunden ..."
mount "${mountpoint[i]}" 2> /dev/null &
echo -n "Warte, bis Verzeichnis eingebunden ist "
for ((j=1; j<=200; j++)) {
[ `mount | grep -c "${mountpoint[i]}"` -eq 1 ] && break
echo -n "."
sleep 0.1
}
echo
if [ $j -eq 201 ] ; then
echo "Verzeichnis konnte nicht eingebunden werden, Programm wird beendet."
kill -9 `ps aux | grep "mount ${mountpoint[i]}" | awk '{print $2}'`
exit
fi
let i++
done
NFS-Laufwerke vor dem Standbybetrieb (Suspend, Hibernate) ausbinden
Siehe auch: http://wiki.ubuntuusers.de/pm-utils
Unter Ubuntu werden die Skripte unter /etc/pm/sleep.d (so genannte Hooks) vor und nach dem Standby ausgeführt. (Achtung: Die Skripte müssen dem user root gehörten, sonst werden sie nicht ausgeführt!) Hier ein Beispiel für das automatische mounten und unmounten von NFS-Laufwerken:
#!/bin/bash
logfile=/tmp/hook_nfsmount.txt
mountscript=/home/user/bin/mountnfs-datenserver
case "$1" in
hibernate|suspend)
echo `date +"%Y-%m-%d %k:%M"` "$1 - try unmount:" >> $logfile
mount | cut -d" " -f3,5 | grep " nfs" | cut -d" " -f1 >> $logfile
umount $(mount | cut -d" " -f3,5 | grep " nfs" | cut -d" " -f1)
echo `date +"%Y-%m-%d %k:%M"` "$1 - check unmount:" >> $logfile
mount | cut -d" " -f3,5 | grep " nfs" | cut -d" " -f1 >> $logfile
;;
thaw|resume)
echo `date +"%Y-%m-%d %k:%M"` "$1 - run $mountscript" >> $logfile
"$mountscript" | xargs &
;;
*)
;;
esac
exit $?
Hierbei wird das Einbinden der Laufwerke über das separate Skript “mountnfs” ausgeführt. Dies hat folgende Vorteile:
- Wenn die NFS-Laufwerke nicht verfügbar sind, bleibt das hook-Skript sonst an dieser Stelle hängen und das “Aufwachen” bleibt ebenfalls hängen.
- Der Networkmanager von Ubuntu startet die Netzwerkverbindung erst nach Abarbeiten dieser Skripte.
- Getrennt werden prinzipiell alle NFS-Laufwerke (auch von Hand eingebundene), neu gemountet werden jedoch nur die notwendigen Standard-Laufwerke aus den Skript mountnfs. Somit reicht ein zentrales Skript in dem die NFS-Laufwerke eingetragen werden.
Das Skript mountnfs muss selber erstellt werden (siehe Beispiel oben).
nice"
categories:
- “prozessverwaltung”
Einen Prozess mit anderer Priorität laufen lassen.
nis"
categories:
- “netzwerk”
- “serversoftware” tags:
- “nisdomainname”
- “samba”
- “smbpasswd”
/etc/init.d/nis restart
startet den NIS neu (nach Anlegen von neuen Usern)
nisdomainname nisdomainname
zeigt den Domainnamen an
nl"
categories:
- “ausgabe”
Datei mit Zeilennummern ausgeben: nl Datei
nmap"
categories:
- “netzwerk”
- “analysieren-und-informationen” tags:
- “portscan”
nmap adresse.com
führt einen Portscan durch (Achtung: nur bei eigenen Servern machen!) nmap 192.168.178.*
listet alle Rechner im heimischen Netzwerk auf
nmon"
categories:
- “system”
- “systeminformationen”
nmon gibt verschiedene Werte zur Systemauslastung an. Nach dem Start gelten folgende Tasten:
- c CPU-Auslastung
- m Speicherauslastung
- d Festplatte
- t Prozesse, die eine hohe Auslastung haben
- n Netzwerk
- k Kernelbeanspruchung
nohup"
categories:
- “zeitsteuerung”
Prozesse nach Sitzungsende weiterlaufen lassen.
Notensatz"
categories:
- “multimedia-programme”
musescore / noteedit / canorus
nslookup"
categories:
- “netzwerk”
- “analysieren-und-informationen”
nslookup www.heise.de
liest die IP aus DNS-Server aus
NVIDIA-Treiber installieren"
categories:
- “debian”
Installation des nVidia-Treibers mit dem module-assistant (für vorkompilierte Kernel)
-
Kernel-Modul installieren (muss für jeden neuen Kernel wiederholt werden)
`apt-get install module-assistant nvidia-kernel-common m-a update m-a prepare`
# für neue Grafikkarten m-a a-i nvidia# für ältere Grafikkarten m-a a-i nvidia-kernel-legacy-96xx-source
-
nVidia user-space libraries installieren
`# für neue Grafikkarten ($NVDIST = stable, testing oder unstable) apt-get -t $NVDIST install nvidia-glx`
# für ältere Grafikkarten ($NVDIST = stable, testing oder unstable) apt-get -t $NVDIST install nvidia-glx-legacy-96xx -
Konfiguration anpassen
vim /etc/X11/xorg.conf
unter “Module”Load "glx" einfügen Load "dri" auskommentieren Load "GLCore" auskommentieren
(!B) unter “Device” (!b)
Driver "nvidia"
-
alle Benuter der Gruppe “video” hinzufügen
-
Besonderheiten NVIDIA-Legacy-Treiber Für ältere NVIDIA-Grafikkarten muss der Legacy-Treiber installiert werden. Die Treiber werden jedoch nicht in das Verzeichnis installiert, in dem der X-Server sie sucht. Daher müssen sie von “Hand” kopiert werden. Hierfür die Inhalte der Verzeichnisse “dirvers” und “extensions” von /usr/lib/xorg/modules nach /usr/X11R6/lib/modules kopieren.
OCR unter Linux"
categories:
- “buroprogramme”
- “grafik”
- “programme” tags:
- “ocr”
- “ocrfeeder”
- “ocrmypdf”
- “pdfa”
- “scantailor”
- “schrifterkennung”
- “tesseract”
- “unpaper”
Programme zur Texterkennung
Die Besten Ergebnisse hatte ich mit tesseract erhalten. Hierfür kann der OCRFeeder als grafische Oberfläche verwendet werden. Es kann je nach Version des OCRFeeders notwendig sein, in den Einstellungen in der Kommandozeile für tesseract Deutsch als Erkennungssprache anzugeben. Der OCRFeeder kann auch Seiten begradigen und greift auch auf die Funktionen von Unpaper zurück. Zur Vorbereitung von gescannten Seiten empfiehlt sich das Programm ScanTailor.
sudo apt-get install tesseract-ocr tesseract-ocr-deu tesseract-ocr-eng ocrfeeder unpaper scantailor
Fehler beim Start des OCR-Feeders:
ImportError: No module named Image
Dieser Fehler tritt auf, da sich in der PythonImageLibrary (PIL) Aufrufe geändert haben. Daher das Kompatibilitäts-Paket python-imaging installieren:
sudo apt-get install python-imaging
Durchsuchbare PDF-Datei im PDF/A-Format
Gescannte PDF-dokumente können mit einem Script (OCRmyPDF) automatisch in durchsuchbare PDF-Dokumente im PDF/A-Format umgewandelt werden. Das Script kann unter
github.com/fritz-hh/OCRmyPDF/releases
heruntergeladen werden. Das Archiv herunterladen, entpacken und ggf. das Shellscript OCRmyPDF.sh
ausführbar machen.
Aufruf:
./OCRmyPDF.sh -l deu input.pdf output.pdf
Aufrufparameter:
- -l deu: deutsche Sprache
- -d: Seite mit unpaper geraderücken
- -g: Debug-Modus (der erkannte Text wird jeweils als extra Seite zusätzlich eingefügt)
Office"
categories:
- “buroprogramme”
LibreOffice Abiword gnumeric
OpenGL"
categories:
- “systeminformationen”
glxinfo | grep 'OpenGL version string'
Unter Umständen muss vorher das Paket mesa-utils installiert werden.
Opera"
categories:
- “internet”
- “programme” tags:
- “opera”
- “urlfilter-ini”
Opera-Werbefilter
Mit der Datei urlfilter.ini
lassen sich Inhalte aus Webseiten filtern. So kann man sich einen sehr effektiven Werbefilter erstellen.
Schalter für die Filterdatei (urlfilter.ini) der Browserleiste hinzufügen:
- Klick auf den Link: Filterbutton setzen
- Dialog mit OK bestätigen
- Den Button “Filter ist aus” im neu erscheinenden Fenster mit der Maus in die Browserleiste ziehen
Eine stark erweiterte urlfilter.ini zum Download: urlfilter.ini (Speichern mit Rechtsklick und “speichern als…”)
Die urlfilter.ini muss unter Linux in den .opera-Ordner kopiert werden.
Original-Debian-Quellen"
categories:
- “debian”
Für die Original-Debian-Quellen muss in die sources.list folgendes eingetragen werden:
deb http://ftp.de.debian.org/debian/ stable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
OwnCloud Dateistatus in Nemo anzeigen"
categories:
- “cinnamon”
- “linux-mint”
Im Dateimanager Nemo wird den Datein/Ordnern welche in der OwnCloud liegen ein kleines Statussymbol hinzugefügt. sudo apt-get install owncloud-client nemo-python
Downloaden Sie die Datei https://github.com/spinda/nemo-owncloud/blob/master/usr/share/nemo-python/extensions/syncstate.py
nach /usr/share/nemo-python/extensions/
Nach Beenden aller Nemos mit nemo -q
werden beim nächsten Start Statussymbole erscheinen.
OwnCloud - Externer Speicher"
categories:
- “raspberry-pi” tags:
- “dropbox”
- “webdav”
Die OwnCloud lässt sich über externe Webspeicher erweitern. Dazu muss man als Administrator in den Apps den “external storage support” aktivieren. Danach kann man unter “Admninistrator” aktivieren, welche Protokolle unterstützt werden sollen.
Nun kann jeder Benutzer in “Persönlich” externe Speicher einbinden.
Speicher, die über WebDAV eingebunden werden können einfach über Benutzername und Passwort eingebunden werden.
Um die Dropbox einzubinden muss man sich die Zugangsdaten der Entwicklerumgebung von Dropbox besorgen:
- Auf der Seite https://www.dropbox.com/developers mit den eigenen Dropboxdaten anmelden.
- Create your App anklicken
- Choose an API: Dropbox API
- Choose the type of access you need: Full Dropbox
- Name your app: Irgendein Name, es darf aber nicht “drop” enthalten sein
- Create App
- Bei App Key steht der App-Schlüssel
- mit einem Klick bei App Secret auf “Show” sieht man die geheime Zeichenkette
Beide Daten können nun in der Owncloud eingegeben werden und schon ist die Dropbox in die OwnCloud mit eingebunden.
Die Einbindung von GoogleDrive ist ohne eigene Domain (keine Subdomain) nur sehr kompliziert möglich).
Packer"
categories:
- “dienstprogramme”
ark 7zip
Papierkorb bei eingehängter NTFS-Partition benutzten"
categories:
- “dateisysteme”
- “einhangen”
- “kopieren-umbenennen-loschen” tags:
- “loeschen”
- “loeschen-geht-nicht”
- “ntfs”
- “ntfs-partition-einhaengen”
- “papierkorb”
- “papierkorb-geht-nicht”
- “partition”
- “windows”
Unter Linux muss man eine NTFS-Partition(Windows-Partition) wie folgt einhängen, dass man auch hier den Papierkorb benutzten kann.
Mounteintrag in der /etc/fstab:
UUID=XXXXXXXXXXXXXXXX /mnt/windowsdaten ntfs-3g rw,uid=1000 0 0
parted"
categories:
- “partitionieren-formatieren-kopieren”
Anlegen, vergrößern, verkleinern und verschieben von Partitionen Einfacher geht das mit der grafischen Oberfläche von qtparted (System-Rescue-CD oder Knoppix)
partimage automatisieren"
categories:
- “system-rescue-cd” tags:
- “partimage”
#! /bin/bash
# Startwerte setzen
src_part=hda2
dst_part=hdb3
path="backup/sysbackup"
# Zielpartition mounten
mkdir /mnt/$dst_part
mount /dev/$dst_part /mnt/$dst_part
echo Wait for /dev/$dst_part to be mounted ...
while [ ! -d "/mnt/$dst_part/$path" ]; do
sleep 1
done
# Backup starten
datum=`date +%y%m%d`
partimage -z1 --volume 2085888 -b -f3 save /dev/$src_part /mnt/$dst_part/$path/sysbackup_$datum
# Zielpartition unmounten
echo Wait for /dev/$dst_part be unmounted ...
while [ -d "/mnt/$dst_part/$path" ]; do
umount /dev/$dst_part
sleep 1
done
rm -rf /mnt/$dst_part
# System neu starten
echo Restarting system ...
reboot
partimage"
categories:
- “partitionieren-formatieren-kopieren”
partimage -z1 -b -d save /dev/hda1 /mnt/home/image.img.gz
sichert hda1 nach image.img.gz.000 partimage restore /dev/hda1 /mnt/home/image.img.gz
stellt die Sicherung wieder her.
Für die Wiederherstellung des Master Boot Record (MBR) schreibt man partimage restmbr /mnt/home/image.img.gz
Das Programm partimage kann aber auch einfach so gestartet werden. Beispielskript zur automatischen Erstellung eines Backups (z.B. von der System-Rescue-CD aus)
#! /bin/bash
# Startwerte setzen
src_part=hda2 # Partition, die gesichert werden soll
dst_part=hdb3 # Partition, auf die das Backup geschrieben werden soll
path="backup/sysbackup" # in diesen Pfad auf der Zielpartition (dst_part)
wird das Backup geschrieben
# Zielpartition mounten
mkdir /mnt/$dst_part
mount /dev/$dst_part /mnt/$dst_part
echo Wait for /dev/$dst_part to be mounted ...
while [ ! -d "/mnt/$dst_part/$path" ]; do
sleep 1
done
# Backup starten
datum=`date +%y%m%d`
partimage -z1 --volume 2085888 -b -f3 save /dev/$src_part /mnt/$dst_part/$path/sysbackup_$datum
# Zielpartition unmounten
echo Wait for /dev/$dst_part be unmounted ...
while [ -d "/mnt/$dst_part/$path" ]; do
umount /dev/$dst_part
sleep 1
done
rm -rf /mnt/$dst_part
# System neu starten
echo Restarting system ...
reboot
Partitionen spiegeln"
categories:
- “system-programme”
partimage / fsarchiver
Partitionen verändern / erstellen"
categories:
- “system-rescue-cd” tags:
- “gparted”
Nach dem Booten der System-Rescue-CD wird mit startx
die grafische Oberfläche gestartet und dort das Programm gparted aufgerufen. Nun können Partitionen sehr einfach verschoben, verändert oder gelöscht werden. Achtung: Es besteht immer die Gefahr eines Datenverlustes!!! Also zuerst alle Daten sichern!
Für eine Linux-Installation ist eine sinnvolle Partitionierung folgende:
- erste Partition mit ca. 20GB für root ( / )
- zweite Partition für die Daten mit dem Rest außer 1GB ( /home)
- ein Swap-Bereich mit 1GB
passwd"
categories:
- “benutzer-gruppen”
passwd user
ändert ein Passwort des Users “user”
Passwörter erstellen"
categories:
- “verschiedendes” tags:
- “makepasswd”
makepasswd --chars 6 --count 80 > passwoerter.txt
Pause für x Sekunden"
categories:
- “shell”
- “skripte”
- “sonstiges-shell”
- “sonstiges” tags:
- “sleep”
Skriptabarbeitung für z. B. 5 Sekunden unterbrechen: sleep 5
PCLinuxOS"
categories:
- “pclinuxos”
Mit PCLinuxOS lassen sich sehr einfach eigene Live-CDs bzw. DVDs erstellen.
Dazu muss man einfach das System installieren, es individuell anpassen und dann mit dem Menüeintrag “MakeLiveCD” eine eigene Distribution erstellen lassen. Die maximale Dateigröße des komprimierten Images liegt bei 2GB.
Download von http://www.pclinuxos.com
Die deutsche Lokalisierung wird durch herunterladen der Pakete kde-i18n-de
und locales-de
eingestellt.
zusätzliche Quellen: http://maik3531.de/ pclos2007/RPM testing exp exp2
http://distro.ibiblio.org/pub/linux/distributions/pclinuxos/apt/ pclinuxos/2007 main extra nonfree kde gnome testing
PDF"
categories:
- “buroprogramme”
acroread (Adobe Reader) / kpdf / kpdftool / evince / ocular
pdf2bmp"
categories:
- “postscript-pdf”
Folgendes Skript konvertiert PDF-Dokumente in BMP-Dateien, wobei die Auflösung der BMP-Datei frei gewählt werden kann. Standard ist 300 dpi.
#!/bin/bash
#pdf2bmp - konvertiert PDF/PS-Dateien nach BMP
#
function err_text {
while [ $# -gt 0 ] ; do
echo "$1" 1>&2 # Ausgabe auf stderr
shift
done
echo "`basename $0` [-r resolution" href="-o outfile] infile[.pdf|.ps]" 1>&2 //
# Ausgabe auf stderr
exit 1
}
# Sortieren der Parameter
set--`getopt "r:o:" "$@"` || err_text
# Startwerte definieren
outres=300
# Parameter abfragen
while : ; do
case "$1" in
-r) shift; outres=$1;;
-o) shift; outfile=$1;;
--) break;;
esac
shift
[ $# -eq 0 ] && break # Fehler in den angegebenen Parametern
done
shift
[ $# -lt 1 ] && err_text # kein Dateiname wurde übergeben
while [ $# -ge 1 ] ; do
if [ -f "$1" ] ; then
gs -sDEVICE=bmp16m -sOutputFile="${outfile:-`basename "$1"`}_%03d.bmp" -r$outres //
-dNOPAUSE -dBATCH "$1"
else
err_text "`basename $0` - Datei '$1' existiert nicht"
fi
shift
done
pdf2jpg"
categories:
- “postscript-pdf”
Folgendes Skript konvertiert PDF-Dokumente in JPG-Dateien, wobei die Auflösung der JPG-Datei frei gewählt werden kann. Standard ist 300 dpi.
#!/bin/bash
#pdf2jpg - konvertiert PDF/PS-Dateien nach JPG
#
function err_text {
while [ $# -gt 0 ] ; do
echo "$1" 1>&2 # Ausgabe auf stderr
shift
done
echo "`basename $0` [-r resolution" href="-o outfile] infile[.pdf|.ps]" 1>&2 //
# Ausgabe auf stderr
exit 1
}
# Sortieren der Parameter
set--`getopt "r:o:" "$@"` || err_text
# Startwerte definieren
outres=300
# Parameter abfragen
while : ; do
case "$1" in
-r) shift; outres=$1;;
-o) shift; outfile=$1;;
--) break;;
esac
shift
[ $# -eq 0 ] && break # Fehler in den angegebenen Parametern
done
shift
[ $# -lt 1 ] && err_text # kein Dateiname wurde übergeben
while [ $# -ge 1 ] ; do
if [ -f "$1" ] ; then
gs -sDEVICE=jpeg -sOutputFile="${outfile:-`basename "$1"`}_%03d.jpg" //
-r$outres -dNOPAUSE -dBATCH "$1"
else
err_text "`basename $0` - Datei '$1' existiert nicht"
fi
shift
done
pdf2ps"
categories:
- “postscript-pdf”
Umwandeln von PDF in PostScript
pdfgrep"
categories:
- “postscript-pdf”
PDFs durchsuchen, auch mit regulären Ausdrücken
pdfgrep -i "mein suchtext" *.pdf
pdfimages"
categories:
- “postscript-pdf”
Mit dem Befehl pdfimages kann man alle Bilder aus einem PDF-Dokument extrahieren.
Der Befehl pdfimages -j datei.pdf ./bilder/
extrahiert alle Bilder aus dem Dokument datei,pdf und speicher sie im Ordner /bilder/.
pdfjam"
categories:
- “postscript-pdf”
pdfjam ist eine Sammlung von praktischen PDF-Tools.
pdfjoin - PDF-Dokumente zusammenfügen pdfcrop - Ränder beschneiden….
pdfnup - mehrere PDFs auf eine Seite
pdfnup --nup 2x1 --suffix '2x1' infile.pdf
pdfnup --nup 2x2 --suffix '2x2' infile.pdf
PDF auf A4 und Rand auf 20mm pdfcrop --papersize a4 --margins 20 datei.pdf datei_neu.pdf
PDF auf A4 anpassen pdfjoin datei.pdf --paper a4paper --fitpaper false --outfile .datei_neu.pdf
oder pdfjam --outfile out.pdf --paper a4paper in.pdf
pdflatex"
categories:
- “postscript-pdf”
Mit pdflatex lässt sich eine tex-Datei in ein PDF-Dokument umwandeln.
pdflatex -etex -interaction=nonstopmode linux.tex
Enthält die Datei ein Inhaltsverzeichnis, muss der Befehl zwei mal ausgeführt werden.
pdfposter"
categories:
- “postscript-pdf”
pdfposter -mA4 -pA3 in.pdf out.pdf
pdftk"
categories:
- “postscript-pdf”
Manipulation von PDF-Dateien
Beispiele: Mehrere PDFs verschmelzen: pdftk eins.pdf zwei.pdf drei.pdf cat output einszweidrei.pdf
Einzelne Seiten von PDFs in ein neues PDF extrahieren: pdftk input.pdf cat 1 2 4 5 12 output auszug.pdf
pdftk A=eins.pdf B=zwei.pdf cat A1-7 B1-5 A8 output kombiniert.pdf
Ein mehrseitiges PDF in Einzelseiten zerlegen: pdftk beispiel.pdf burst
Von Seite 2 bis Ende: pdftk inputfile.pdf cat 2-end output outputfile.pdf
Installation unter Ubuntu18.04 Bionic:
- wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pdftk/pdftk _2.02-4build1_amd64.deb
- wget http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-6/libgcj17 _6.4.0-8ubuntu1_amd64.deb
- wget http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-defaults/libgcj-common _6.4-3ubuntu1_all.deb
- sudo dpkg -i pdftk_2.02-4build1_amd64.deb libgcj17_6.4.0-8ubuntu1_amd64.deb libgcj-common_6.4-3ubuntu1_all.deb
persönlichen bin-Ordner hinzufügen"
categories:
- “konfigurationsdateien”
- “shell”
In die Datei .bashrc folgendes eintragen: [ -d ~/bin ] && PATH=$PATH:~/bin
persönlichen bin-Ordner mit Alt+F2 aufrufen"
categories:
- “konfigurationsdateien”
- “shell”
- “system”
- “xfce”
Die Datei /etc/X11/Xsession.d/49add-user-path mit sudo touch /etc/X11/Xsession.d/49add-user-path
erstellen. Folgenden Inhalt in die neu erstellte Datei schreiben [ -d "$HOME/bin" ] && PATH="$HOME/bin:$PATH"
ausloggen, einloggen, fertig
Pfade zu wichtigen Dateien"
categories:
- “kde”
Das Adressbuch liegt in /.kde/share/apps/kabc/std.vcf
E-Mails: /.kde/share/apps/kmail/mail/
Kalender: /.kde/share/apps/korganizer/std.ics
Notizen: /.kde/share/apps/knotes/notes.ics
pgrep"
categories:
- “auflisten-beenden”
pgrep Programmname
gibt die ID eines Programms aus
photorec"
categories:
- “prufen-reparieren”
Daten von der Digitalkamera retten
pico"
categories:
- “editoren”
einfach zu bedienender Editor für die Konsole
PiHole auf einem "RaspberryPi Zero W" installieren"
categories:
- “netzwerk”
- “projekte”
- “raspberry-pi”
- “serversoftware” tags:
- “dns”
- “dns-blacklist”
- “dns-filter”
- “pihole”
Raspbian Lite herunterladen und auf SD-Karte installieren
Prinzipiell kann als Basis jedes Linuxsystem verwendet werden. Sehr klein und schlank ist Raspbian lite, das hier heruntergeladen werden kann:
https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
Dann das System entsprechend der Anleitung auf oben genannter Seite (z. B. mit Balena Etcher) installieren.
Karte auswerfen und neu mounten.
SSH und WLAN einrichten
SSH
Auf der Bootpartition der SD-Karte vor dem ersten Start die Datei ssh
erzeugen:
touch ssh
Die Datei ssh kann leer bleiben. Diese aktiviert permanent den automatischen Start von SSH (und wird vom System nach dem ersten Start automatisch wieder gelöscht).
WLAN
Auf der Bootpartition der SD-Karte vor dem ersten Start die Datei wpa_supplicant.conf
erzeugen:
vim wpa_supplicant.conf
mit folgendem Inhalt:
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
ap_scan=1
network={
scan_ssid=1
ssid="wlanname"
psk="unserpasswort"
key_mgmt=WPA-PSK
}
Dabei wlanname
und unserpasswort
entsprechend der WLAN-Zugangsdaten anpassen.
Bei ersten Systemstart wird die Datei automatisch nach /etc/wpa_supplicant
verschoben und kann dort bei Bedarf nachträglich jeder Zeit noch angepasst/korrigiert werden.
Hostname
Der Name kann von rasperrypi z.B. auf pihole abgeändert werden:
- hostname pihole
- In /etc/hosts anpassen
- In /etc/hostname anpassen
Router einrichten
Hier am Beispiel der FitzBox 7490 Version 7.29
- In den Netzwerkeinstellungen dem RaspberryPi einen eindeutigen Namen (z.B. PiHole) geben und insbesondere eine IP fest zuordnen.
Möglichkeit 1
Der Pi-Hole erfasst so jedes einzelne Gerät, das Gastnetz ist aber nicht betroffen.
Heimnetz - Netzwerk - Netzwerkeinstellungen
- ganz unten:
weitere Einstellungen
IPv4-Einstellungen
- Bei
Lokaler DNS-Server
die IP das Pi-Hole eintragen IPv6-Einstellungen
DNSv6-Server im Heimnetz
abschalten oder die IPv6-Adresse des Pi-Hole eintragen
Möglichkeit 2
Die FritzBox leitet alle DNS-Abfragen über den Pi-Hole.
- Diese IP dann unter
Internet/Zugangsdaten/DNS-Server
alsBevorzugter DNSv4-Server
eintragen. Dort zusätzlich einenAlternativen DNSv4-Server
(z.B. 8.8.8.8) eintragen, damit das Internet auch noch funktioniert, wenn der PiHole mal hängt oder nicht online ist.
Erste Start des RaspberryPi Zero
Die SD-Karte in den Raspberry einlegen, booten und per SSH einloggen:
ssh pi@pihole
Anstatt pihole
muss ggf. der im Router eingestellte Namen bzw. IP-Adresse eingegeben werden.
Standard-Passwort bei Verwendung von Raspbian: raspberry
Neus passwort setzen:
passwd
SSH Root-Login
Sofern ein Root-Login möglich sein soll, muss zunächst ein Root-Passwort gesetzt werden:
sudo passwd
Sofern sich root über ein Passwort einloggen soll, muss in der Datei /etc/ssh/sshd_config folgender Eintrag gesetzt werden:
PermitRootLogin yes
… oder anstatt Passwort die sicherere Variante über Public-Key (siehe auch SSH ):
PermitRootLogin prohibit-password
Danach den ssh-Server neu starten:
service ssh restart
Pi-Hole installieren und einrichten
PiHole kann durch ein Skript entsprechend der Anleitung unter https://github.com/pi-hole/pi-hole/#one-step-automated-install installiert werden:
wget -O ph.sh https://install.pi-hole.net bash ph.sh
oder:
curl -sSL https://install.pi-hole.net | bash
Alle notwendigen Konfigurationen werden während der Installation abgefragt. In der Regel sind die vorausgewählten Konfigurationen auch die Sinnvollsten.
Bei Bedarf kann das am Ende des Installationsprozesses angezeigte Passwort auch geändert werden:
pihole -a -p
Webinterface aufrufen
Den RaspberryPi neu booten und dann auf einem anderen Computer im Netz im Browser eingeben:
http://<IP des RaspberryPi>/admin
Dabei anstatt <IP des RaspberryPi>
die zuvor fest vergebene IP eingeben.
Update
Sobald Updates für PiHole vorhanden sind, wird dies am unteren Rand des Webinterfaces angezeigt. Um ein Update für PiHole durchzuführen, muss folgender Befehl über die Konsole (Login z. B. über ssh) eingegeben werden:
pihole -up
ping"
categories:
- “netzwerk”
- “analysieren-und-informationen”
ping IP-Adresse
prüft, ob ein Rechner erreichbar ist
ping www.heise.de
testet eine Verbindung zu
www.heise.de
.
IP von Google 8.8.8.8 IP von Heise: 193.99.144.80 IP von Belwue: 129.143.232.10
Abbruch mit Strg+c
pipe"
categories:
- “ein-ausgabeumlenkung”
- “shell” tags:
- “313”
Über eine pipe |
kann die Standardausgabe eines Befehls auf die Standardeingabe eines anderen Befehls umgeleitet werden: ls | less
ps ax | grep daemon | less
find -name "*.pdf" -print0 | xargs -0 echo
Pixelgrafik"
categories:
- “grafik”
gimp / kolourpaint / krita
poweroff"
categories:
- “system”
Schaltet den Rechner aus
Powertop"
categories:
- “hardware”
- “system”
- “systeminformationen” tags:
- “inotify-tools”
- “inotifywait”
Das Programm powertop
zeigt übersichtlich die vorhandenen Stromsparfunktionen (mit der aktuellen Auslastung) des Rechners an und auch, ob diese aktiviert sind. Gerade bei mobilen Rechnern kann durch aktivieren zusätzlicher Stromsparfunktionen die Laufzeit deutlich verlängert werden.
Aufruf: sudo powertop
Änderungen, die powertop
vornimmt können mit inotifywait
überwacht werden (inotifywait wird über inotify-tools installiert).
sudo inotifywait --recursive --event MODIFY --exclude cpufreq /sys/
liefert z.B. /sys/devices/pci0000:00/0000:00:11.0/ata1/host0/scsi_host/host0/ MODIFY link_power_management_policy
Änderungen können über cat
nachverfolgt werden: cat "/sys/devices/pci0000:00/0000:00:11.0/ata1/host0/scsi_host/host0/link_power_management_policy"
Ladekabel abzeihen und wieder anstecken (macht die Änderung rückgängig). cat "/sys/devices/pci0000:00/0000:00:11.0/ata1/host0/scsi_host/host0/link_power_management_policy"
procinfo"
categories:
- “systeminformationen”
Systeminformationen:
- Kernel
- Prozessoren
- Rechnername
- Speicherauslastung
- Systemzeiten
- IRQs
.profile"
categories:
- “konfigurationsdateien”
- “shell”
Diese Konfigurationsdatei wird von der Login-Shell ausgewertet, jedoch nicht von der bash, sofern die Datei ~/.bash_profile oder ~/.bash_login existiert.
In der Datei .profile sollte folgendes eingetragen sein:
# set PATH so it includes user’s private bin if it exists if [ -d ~/bin ] ; then PATH=~/bin:"${PATH}" fi
Programm mit Alt+F2 starten"
categories:
- “konsole”
- “programme”
- “skripte”
- “system” tags:
- “altf2”
- “programm”
- “programm-starten”
- “script”
- “starten”
- “terminal-starten”
Wenn man ein Programm oder Skript in seinem Homeverzeichnis liegen hat und dieses mittels “Alt+F2” oder ähnlichem starten will muss man folgenden Befehl ausführen:
sudo update-alternatives --install "/usr/bin/programmname" "programmname" "/home/user/bin/programmname.sh" 1
“programmname” steht hierbei für den Namen den man nachher eingibt den Programmpfad, hier “/home/user/bin/programmname.sh” muss man ebenfalls anpassen
Programm starten"
categories:
- “tastaturkommandos”
Alt+F2 + Eingabe des Programmnamens
Prompt einstellen"
categories:
- “konfigurationsdateien”
- “shell”
~/.bashrc: PS1="\u@\h \w \$ "
Dies steht für user@host aktuelles_verzeichnis $
grüne Schrift: ~/.bashrc: PS1="\[\033[0;32;40m\u@\h:\w\$ \]"
Sowohl für den Vordergrund als auch für den Hintergrund stehen 8 Farben zur Verfügung.
Auswahl: schwarz, rot, grün, gelb, blau, magenta, cyan und weiß. Die Zahlen dafür sind: 30, 31, 32, 33, 34, 35, 36, 37.
Das Setzen der Hintergrundfarbe verläuft genauso, allerdings statt 3 mit 4. Also 40, 41, 42, 43, 44, 45, 46, 47.
Beispiel: ~/.bashrc: PS1="\[\033[0;37;44m\u@\033[0;32;43m\h:\033[0;33;41m\w$\033[0m\]"
Proxy systemweit einstellen"
categories:
- “netzwerk”
Unter Windows werden Proxy-Einstellungen in den Internetoptionen/Verbindungen/LAN-Einstellungen eingegeben. Unter Linux macht man dies folgendermaßen.
Statt ip wird die IP des Proxy eingetragen und statt port der entsprechende Port des Proxy.
Also z.B. 172.145.23.123:3623 für die IP 172.145.23.123 und den Port 3623
Environment Variable
In die Datei /etc/environment folgendes eintragen
http_proxy=http://ip:port/
https_proxy=http://ip:port/
ftp_proxy=http://ip:port/
no_proxy=”localhost,127.0.0.1,localaddress,.localdomain.com”
HTTP_PROXY=http://ip:port/
HTTPS_PROXY=http://ip:port/
FTP_PROXY=http://ip:port/
NO_PROXY=”localhost,127.0.0.1,localaddress,.localdomain.com”
Einstellungen für APT
Neue Datei /etc/apt/apt.conf.d/S95proxies erstellen:
Acquire::http::proxy “http://ip:port/”;
Acquire::https::proxy “http://ip:port/”;
Acquire::ftp::proxy “http://ip:port/”;
Danach Neustart des Systems
Proxyserver"
categories:
- “netzwerk”
- “serversoftware”
- “system” tags:
- “environment”
- “ftp_proxy”
- “https_proxy”
- “http_proxy”
- “proxy”
- “proxyserver”
Einrichtung des Proxys für einen bestimmten Benutzer: ~/.profile Systemweite Einrichtung des Proxys: /etc/profile
Bei manchen Systemen wie z. B. Lubuntu müssen zusätzlich in die Dateies /etc/environment und /etc/apt/apt.conf.d/70debconf ergänzt werden. In /etc/environment werden die gleichen Eintragungen wie in der profile-Datei vorgenommen (jedoch ohne das führende “export”). Die Datei /etc/apt/apt.conf.d/70debconf wird wie folgt ergänzt (je nach System kann der Dateiname etwas variieren):
Acquire::http
{
Proxy "http://<Benutzername>:<Passwort>@<Proxy>:<Port>";
}
Folgende Zeilen müssen am Ende der profile-Datei hinzugefügt werden:
export http_proxy=http://BENUTZER:PASSWORD@SERVER-IP_ODER_NAME:PORT
export https_proxy=http://BENUTZER:PASSWORD@SERVER-IP_ODER_NAME:PORT
export ftp_proxy=http://BENUTZER:PASSWORD@SERVER-IP_ODER_NAME:PORT
export no_proxy=localjost
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy
export FTP_PROXY=$ftp_proxy
export NO_PROXY=$no_proxy
Sofern keine Logindaten benötigt werden, kann “BENUTZER:PASSWORD@” weggelassen werden.
Prozesse beenden - unterbrechen"
categories:
- “hintergrundprozesse”
Strg+c
beendet den laufenden Prozess Strg+z
unterbricht den laufenden Prozess
ps"
categories:
- “auflisten-beenden”
Prozessanzeige
ps -x
alle eigenen Prozesseps -ax
alle Prozesseps -aux
alle Prozesse mit Userangabeps -ef
alle Prozesse in einer Tabelle
ps2ascii"
categories:
- “postscript-pdf”
Umwandeln von PostScript in ASCII
ps2pdf"
categories:
- “postscript-pdf”
Umwandeln von PostScript in PDF Beispiele:
- Optimieren, für schnelle Anzeige:
ps2pdf -dOptimize=true datei.ps
- Schriften einbinden:
ps2pdf -dEmbedAllFonts=true datei.ps
- Komprimieren:
ps2pdf -dUseFlatCompression=true datei.ps
- Auflösung:
ps2pdf -dPDFSETTINGS=/printer datei.ps
Parameter (schlecht -> gut): /screen /ebook /printer /prepress
psbook"
categories:
- “postscript-pdf”
Sortiert Seiten für den Büchlein-Druck Parameter:
-q
unterdrückt die Ausgabe von Seitennummern-s
Anzahl der Seiten, bis ein neues Büchlein beginnt
psnup"
categories:
- “postscript-pdf”
psnup -2 eingabe-ps ausgabe.ps
fasst zwei Seiten auf einer zusammen. psnup -4 eingabe-ps ausgabe.ps
fasst vier Seiten auf einer zusammen.
psresize"
categories:
- “postscript-pdf”
psresize -Pa4 -pa5 eingabe.ps ausgabe.ps
verkleinert ein A4-Blatt auf A5.
psselect"
categories:
- “postscript-pdf”
psselect -e eingabe.ps ausgabe.ps
schreibt alle geraden Seiten in eine neue Datei.
Mit -o
werden die ungeraden Seiten gespeichert.
Für die Seiten 1 und 3-5 gibt man psselect -p1.3-5 eingabe.ps ausgabe.ps
an.
Die Umgekehrte Reihenfolge erhält man mit -r
pstree"
categories:
- “auflisten-beenden”
zeigt Prozesse und deren Zugehörigkeiten in einer Baumstruktur an
psutils"
categories:
- “postscript-pdf”
Manipulation von PostScript-Dateien
pwd"
categories:
- “dateien-verzeichnisse”
- “verzeichnisse”
pwd
gibt den aktuellen Pfad aus
qemu Startparameter"
categories:
-
“qemu”
-
Image starten:
qemu -cdrom datei.iso
-
Netzwerk:
-net nic -net user
-
Lesezugriff:
-hdb fat:/tmp
-
Schreibzugriff:
-hdb fat:rw:/tmp
-
qemu -hda /media/hda2/win2000.img -cdrom /dev/hdc -boot c -hdb fat:rw:/media/hda2/tausch/
-
qemu -hda /media/hda2/win2000.img -cdrom /dev/hdc -boot c -hdb fat:rw:/media/hda2/tausch/ -net nic -net user
qemu"
categories:
- “qemu”
siehe unter: http://wiki.ubuntuusers.de/QEMU http://www.linuxforen.de/forums/showthread.php?t=141201
QLandkarteGT"
categories:
- “gps-karten” tags:
- “garmin”
- “gpx”
- “srtm”
- “tms”
Das Programm QlandkarteGT ist wohl das umfangreichste Programm unter Linux, um Karten darzustellen und GPS-Daten zu bearbeiten und verwalten. Die Karten der OSM sind direkt online verfügbar.
Eine sehr ausführliche Einführung ist im Wiki von ubunuusers und auf der entsprechenden Sourceforge-Seite beschrieben.
Besonders praktisch ist, dass QLandkarteGT Garmin-GPS-Geräte direkt unterstützt.
Online-TMS-Karten können als Stream-Karten wie folgt eingebunden werden:
- Reiter “Karten” im linken Bereich öffnen
- Rechtsklick im Stream-Fenster und “TMS-Karte hinzufügen …” auswählen
- Name und URL eingeben
Name | URL |
Google-Map | http://mt.google.com/vt/x=%2&y=%3&z=%1 |
Google Satellite | http://mt.google.com/vt/lyrs=s&x=%2&y=%3&z=%1 |
Google Terrain | http://mt.google.com/vt/lyrs=t&x=%2&y=%3&z=%1 |
OpenStreetMap.com (OSM) | http://tile.openstreetmap.org/%1/%2/%3.png |
OpenStreetMap.de (OSM) | http://a.tile.openstreetmap.de/tiles/osmde/%1/%2/%3.png |
OpenCycleMap (OSM) | http://tile.opencyclemap.org/cycle/%1/%2/%3.png |
ÖPNV-Karte (OSM) | http://tileserver.memomaps.de/tilegen/%1/%2/%3.png |
Skobbler (OSM) | http://tiles1.skobbler.net/osm_tiles2/%1/%2/%3.png |
Hike & Bike (OSM) | http://toolserver.org/tiles/hikebike/%1/%2/%3.png |
Design-Karte - Schwarz-Weiß | http://tile.stamen.com/toner/%1/%2/%3.png |
Design-Karte - Gelände | http://tile.stamen.com/terrain/%1/%2/%3.png |
Design-Karte - Wasserfarben | http://tile.stamen.com/watercolor/%1/%2/%3.jpg |
Die Bing-TMS-Karte kann durch folgende Datei “bing.tms” über “Datei/Karte laden” hinzugefügt werden:
<TMS>
<Title>Bing</Title>
<Layer idx="0">
<Script><![CDATA[
(
function convert(z1, x1, y1)
{
serverpart = 0
serverpart = (serverpart + 1) % 4;
function encodeQuadTree(zoom, tilex, tiley)
{
var tileNum = []
for (var i = zoom - 1; i >= 0; i--)
{
var num = (tilex % 2) | ((tiley % 2) << 1);
tileNum[i] = new String(num);
tilex >>= 1;
tiley >>= 1;
}
return tileNum.join("");
}
return "http://ecn.t" + serverpart + ".tiles.virtualearth.net/tiles/a" + encodeQuadTree(z1,x1,y1) + ".jpeg?g=1036";
}
)
]]></Script>
</Layer>
<Copyright>Microsoft - Bing</Copyright>
</TMS>
Höhenlinien können über SRTM-Dateien nachgeladen werden. Weltweite Höhenlinien können auf der Seite von CGIAR heruntergeladen werden.
QT5 unter XFCE"
categories:
- “kde”
- “xfce” tags:
- “icons”
- “kde”
- “qt5”
- “qt5ct”
- “xfce”
KDE-Anwendungen, die auf QT5 zurückgreifen, zeigen auf anderen Desktopumgebungen (z. B. XFCE) nur teilweise Icons an, da die Konfiguration nicht korrekt gelesen werden kann. Um dies zu beheben muss zuserst das Konfigurationsverzeichnis von QT5 erstellt werden.
Hierzu das Konfigurationstool qt5ct installieren (kde-runtime muss auch installiert sein):
sudo apt install qt5ct
Dann einen neuen Benutzer anlegen. Anschließend den im neuen Benutzerverzeichnis erstellten Ordner “~/.config/qt5ct” in das eigene Benutzerverzeichnis kopieren.
Im Anschluss kann das QT5-Konfigurationswerkzeug qt5ct gestartet und dort das gewünschte icon-theme ausgewählt werden.
Quoting"
categories:
- “shell”
- “sonstiges-shell”
Die folgenden Zeichen haben eine spezielle Bedeutung innerhalb der Shell:
; | Befehls-Trennzeichen |
& | Hintergrund-Verarbeitung |
( ) | Befehls-Gruppierung |
| | Pipe |
<>& | Umlenkungssymbole |
*?[]~+-@! | Meta-Zeichen für Dateinamen |
` ` | (Backticks) Befehls-Substitution (Die Backticks erhält man durch [shift] und die Taste neben dem Backspace. |
$ | Variablen-Substitution |
[newline] [space] [tab] | Wort-Trennzeichen |
Die folgenden Zeichen können zum Quoten verwendet werden:
" " | Anführungszeichen | Alles zwischen diesen Zeichen ist buchstabengetreu zu interpretieren. Ausnahmen sind folgende Zeichen, die ihre spezielle Bedeutung beibehalten: $ ` " |
' ' | Ticks | Alles zwischen diesen Zeichen wird wörtlich genommen, mit Ausnahme eines weiteren ' und \. (Die Ticks erhält man bei deutschen Tastaturen durch die Taste neben dem Backspace -- ohne [shift].) |
\ | Backslash | Das Zeichen nach einem \ wird wörtlich genommen. Anwendung z. B. innerhalb von " ", um ", $ und ` zu entwerten. Häufig verwendet zur Angabe von Leerzeichen (space) und Zeilenendezeichen, oder um ein \-Zeichen selbst anzugeben. |
RAM-Cache freigeben"
categories:
- “system”
Mitunter wird viel RAM-Cache verwendet. Um diesen freizugeben, gibt man
sudo sh -c 'echo 3 >/proc/sys/vm/drop_caches'
ein.
Raspberry als Druckserver"
categories:
- “drucken”
- “raspberry-pi”
Auf dem Raspberry CUPS installieren und für den Benutzer “pi” freigeben:
sudo apt-get install cups
sudo usermod -a -G lpadmin pi
sudo cupsctl --remote-any
sudo /etc/init.d/cups restart
Benutzeroberfläche über den Browser aufrufen:
https://localhost:631
Drucker installieren am Beispiel eines HP-Laserjets 5L:
Verwaltung/Drucker hinzufügen
AppSocket/HP JetDirect
Verbindung: socket://192.168.178.100:9100
Treiber auswählen
Raspbian"
categories:
- “distributionen-raspberry-pi”
Webseite: http://raspbian.org/ Download: http://www.raspberrypi.org/downloads
Raspbian basiert auf Debian. Filme laufen mit dem “omxplayer” flüssig.
RC-Car mit dem Smartphone steuern"
categories:
- “projekte” tags:
- “android”
- “auto”
- “ferngesteuert”
- “handy”
- “java”
- “raspberry”
- “raspberry-pi-2”
- “rc-car”
- “servo”
- “steuern”
- “wlan”
Wir tauschen die herkömmliche Fernbedingung eines ferngesteuerten Autos durch einen Raspberry Pi und ein Android Smartphone aus. Auf dem Auto wird der Raspberry befestigt. Mit ein paar Kabeln, werden die Servos bzw. Fahrtenreglern an den GPIOs des Raspberry angeschlossen. Über WLAN verbinden wir ein Handy mit den Raspberry und benutzten dies somit als Fernsteuerung.
Problematiken die uns bei der Entwicklung auffielen:
- Der Raspberry hat nur einen PWM fähigen Port.
Es wird auf dem Raspberry drei Programme geben:
- Server
- Lenkung steuern
- Gas geben
Für das Handy mit Android wird es eine App geben, welche zwei Steuermodi kann:
- über den Kreiselsensor “Gyro” kann man lenken und gas geben
- mit zwei Schiebereglern wird die Geschwindigkeit und der Lenkungsgrad festgelegt
rdate"
categories:
- “netzwerk”
- “serversoftware”
Uhrzeit mit Zeitserver synchronisieren rdate -s timeserver
Deutsche Timeserver
- ptbtime1.ptb.de
- ptbtime2.ptb.de
- ntp1.t-online.de
- ntp0.fau.de
- ntps1-0.cs.tu-berlin.de
- ntps1-1.cs.tu-berlin.de
- rustime01.rus.uni-stuttgart.de
- de.pool.ntp.org
read"
categories:
- “dateibearbeitung”
- “shell”
- “skripte”
- “sonstiges-shell”
- “stringbearbeitung”
Liest eine Zeichenkette von der Standardeingabe ein. -n Anzahl der einzulesenden Zeichen -s x Wartet maximal x Sekunden auf die Eingabe -p Text gibt “Text” vor dem Einlesen auf der Standardausgabe aus
read -n 1 -s 5 eingabe
if [ $? -eq 1 ] ; then
echo "Zeitüberschreitung für die Eingabe ..."
fi
echo $eingabe
Realplayer"
categories:
- “audio”
- “multimedia”
- “video”
Download unter:http://www.real.com/linux/ Installation:
- Ausführbar machen mit:
chmod +x RealPlayer*.bin
- Installieren mit:
sudo ./RealPlayer*.bin
- Frage nach dem Installationsverzeichnis:
/opt/realplayer
- Die nächste Frage einfach durch Eingabe von
y
bestätigen. - Prefix: Vorgabe /usr bestätigen
Alte Codecs in RealPlayer 10 installieren su
Paket “w32codecs” oder “w32codec-all” installieren cp /usr/lib/win32/dnet.so.6.0 /usr/lib/RealPlayer10/codecs/ bzw. /opt/realplayer/codecs/ cp /usr/lib/win32/ddnt.so.6.0 /usr/lib/RealPlayer10/codecs/ bzw. /opt/realplayer/codecs/ cd /usr/lib/RealPlayer10/codecs/ bzw. /opt/realplayer/codecs/ ln -s dnet.so.6.0 dnet.so
reboot"
categories:
- “system”
Neustart des Computers
Rechnen mit Variablen"
categories:
- “shell”
- “skripte”
- “variablen”
Direktes Rechnen mit Variablen ohne let oder bc.
Hier einige Beispiele:
a=$((b*3))
a=$((b+c*2))
a=$((b**4))
a=$((5-b))
Rechte"
categories:
- “dateirechte”
Dateirechte unter Linux:
- | rwx | rwx | rwx |
u | g | o |
<!--more-->u=user g=group o=others
r: read
w: write
x: execute
s: Setuid-Bit (an Position 3); Setgid-Bit (an Position sechs)
t: Sticky-Bit (an Position 9)
- Lesen
Der Benutzer darf aus der Datei lesen oder, im Falle eines Verzeichnisses, seinen Inhalt auslesen, allerdings keine Dateirechte dieser Dateien erfahren. Dieses Recht wird oft durch den Buchstaben “r” für englisch read (“lesen”) dargestellt und daher auch R-Bit genannt. - Schreiben
Der Benutzer darf in die Datei schreiben bzw. Dateien und Unterverzeichnisse in dem Verzeichnis erstellen, bearbeiten, umbenennen, löschen und deren Dateirechte verändern. Dieses Recht wird oft durch den Buchstaben “w” für englisch write (“schreiben”) dargestellt und daher auch W-Bit genannt. - Ausführen
Der Benutzer darf die Datei als Programm ausführen bzw. in das Verzeichnis wechseln und dort Dateien oder Unterverzeichnise erreichen. Ohne das Lesen-Recht darf der Verzeichnisinhalt jedoch nicht ausgelesen werden. Dieses Recht wird oft durch den Buchstaben “x” für englisch execute (“ausführen”) dargestellt und daher auch X-Bit genannt. - Setuid
Wird eine Datei, die das Setuid-Bit gesetzt hat, ausgeführt, dann wird der Prozess mit der effektiven User ID des Dateieigentümers laufen. - Setgid
Wird eine Datei, die das Setgid-Bit gesetzt hat, ausgeführt, dann wird der dadurch erzeugte Prozess mit der effektiven Group ID der Inhabergruppe der Datei laufen. - Sticky bit
Wird eine Datei, die das Sticky Bit gesetzt hat, ausgeführt, wird der Programmcode nach Ausführen im Arbeitsspeicher gehalten. Mehr Verwendung findet das Bit allerdings bei temporären Verzeichnissen, wo Benutzer nicht Dateien von anderen Benutzern löschen können.
an der ersten Stelle steht:
- - Datei
- d Directory
- c Special Device Charakter
- b Block device
- s Socket
- p Pipe
- l Link
Oktalzahlen
Oktalwerte von rwx:
Read = 4
Write = 2
Execute = 1
Die Werte werden jeweils addiert.
recode"
categories:
- “kopieren-umbenennen-loschen”
- “vergleichen-sortieren”
ändert die Zeichenkodierung des Dateinamens recode quellcode..zielcode datei
recode ibmpc..lat1 datei
konvertiert von DOS nach UNIX Zeichensätze:
- ISO-8859-1 ohne Euro
- ISO-8859-15 mit Euro
- UTF8 universeller Zeichensatz
- windows-1252
- cp1252
- cp850
- codepage=850
Der Dateininhalt wird mit iconv konvertiert
Reguläre Ausdrücke"
categories:
- “shell”
- “sonstiges-shell” tags:
- “sed”
Sonderzeichen in Suchmustern:
. | Steht für ein beliebiges *einzelnes* Zeichen, mit Ausnahme des Zeilenendezeichens. |
* | Steht für eine beliebige (auch leere) Menge des einzelnen Zeichens vor dem Sternchen. Das vorangehende Zeichen kann auch ein regulärer Ausdruck sein. Beispielsweise steht .* für eine beliebige Anzahl eines beliebigen Zeichens |
^ | Übereinstimmung, wenn der folgende Ausdruck am Zeilenanfang steht. |
$ | Übereinstimmung, wenn der vorhergehende Ausdruck am Zeilenende steht. |
\\ | Schaltet die Sonderbedeutung des nachfolgenden Zeichens ab. |
[ ] | Steht für *ein* beliebiges Zeichen aus der eingeklammerten Gruppe. Mit dem Bindestrich kann man einen Bereich aufeinanderfolgender Zeichen auswählen ([a-e]). Ein Zirkumflex (~) wirkt als Umkehrung: [^a-z] erfasst alle Zeichen, die keine Kleinbuchstaben sind. Ein Bindestrich oder eine schließende eckige Klammer am Listenanfang werden als Teil der Liste angesehen, alle anderen Sonderzeichen verlieren in der Liste ihre Bedeutung. |
\\( \\) | Speichert das Muster zwischen \( und \) in einem speziellen Puffer. In einer Zeile können bis zu neun solcher Puffer belegt werden. In Substitutionen können sie über die Zeichenfolgen \1 bis \9 wieder benutzt werden. |
/ \{ \\} | Steht für den Vorkommensbereich des unmittelbar vorhergehenden Zeichens. \{n\} bezieht sich auf genau n Vorkommen, \{n,\} auf mindestens n Vorkommen und \{n,m\} auf eine beliebige Anzahl von Vorkommen zwischen n und m. Dabei müssen n und m im Bereich zwischen 0 und 256 liegen. |
\\< \\> | Steht für ein Zeichen am Anfang (\<) oder am Ende (\>) eines Wortes. |
+ | Steht für ein oder mehrere Vorkommen des vorhergehenden regulären Ausdrucks = \{1,\} |
? | Steht für kein oder ein Vorkommen des vorhergehenden Ausdrucks. = \{0,1\} |
| | Übereinstimmung, wenn entweder der vorhergehende oder der nachfolgende reguläre Ausdruck übereinstimmen. |
( ) | Steht für die eingeschlossene Gruppe von regulären Ausdrücken. |
Sonderzeichen in Ersatzmustern:
\\ | Hebt die spezielle Bedeutung des nächsten Zeichens auf. |
\\n | Ruft das n-te Muster aus dem Puffer ab (siehe oben, unter \( \).) Dabei ist n eine Zahl zwischen 1 und 9. |
& | Verwendet das vorherige Suchmuster erneut als Teil eines Ersatzmusters. |
~ | Verwendet das vorherige Ersatzmuster erneut im momentanen Ersatzmuster. |
\\u | Ändert das erste Zeichen des Ersatzmusters auf Großschreibung. |
\\U | Ändert alle Zeichen des Ersatzmusters auf Großschreibung. |
\\l | Ändert das erste Zeichen des Ersatzmusters auf Kleinschreibung. |
\\L | Ändert alle Zeichen des Ersatzmusters auf Kleinschreibung. |
\\e | Hebt das vorangegangene \u oder \l auf. |
\\E | Hebt das vorangegangene \U oder \L auf. |
Beispiele: Muster
Haus | Die Zeichenfolge "Haus". |
^Haus | "Haus" am Zeilenanfang. |
Haus$ | "Haus" am Zeilenende. |
^Haus$ | "Haus" als einziges Wort in einer Zeile. |
[Hh]aus | "Haus" oder "haus" |
Ha[unl]s | "Haus", "Hals" oder "Hans" |
[^HML]aus | Weder "Haus", noch "Maus", noch "Laus", dafür aber andere Zeichenfolgen, welche "aus" enthalten. |
Ha.s | Der dritte Buchstabe ist ein beliebiges Zeichen. |
^...$ | Jede Zeile mit genau drei Zeichen. |
^\\. | Jede Zeile, die mit einem Punkt beginnt. |
^\\.[a-z][a-z] | Jede Zeile, die mit einem Punkt und zwei Kleinbuchstaben beginnt. |
^\\.[a-z]\\{2\} | Wie oben, jedoch nur in grep und sed zulässig. |
^[^.] | Jede Zeile, die nicht mit einem Punkt beginnt. |
Fehler* | "Fehle"(!), "Fehler", "Fehlers", etc. |
"Wort" | Ein Wort in Anführunszeichen. |
"*Wort"* | Ein Wort mit beliebig vielen (auch keinen) Anführungszeichen. |
[A-Z][A-Z]* | Ein oder mehrere Großbuchstaben. |
[A-Z]+ | Wie oben, jedoch nur in egrep und awk zulässig. |
[A-Z].* | Ein Großbuchstabe, gefolgt von keinem oder beliebig vielen Zeichen. |
[A-Z]* | Kein, ein oder mehrere Großbuchstaben |
[a-zA-Z] | Ein Buchstabe. |
[^0-9a-zA-Z] | Symbole (weder Buchstaben noch Zahlen). |
[0-9a-zA-Z] | Jedes alphanumerische Zeichen. |
Beispiele: Suchen und Ersetzen mit sed. Im Folgenden werden Leerzeichen durch _ und Tabulatoren durch TAB gekennzeichnet.
s/.*/( & )/ | Wiederholt die ganze Zeile, fügt aber Klammern hinzu. |
s/.*/mv & &.old/ | Formt eine Wortliste (ein Wort pro Zeile) zu mv-Befehlen um. |
/^$/d | Löscht Leerzeilen. |
/^[_TAB]*$/d | Löscht Leerzeilen und Zeilen, die nur aus Leerzeichen oder Tabulatoren bestehen. |
/ */ /g | Wandelt ein oder mehrere Leerzeichen in ein Leerzeichen um. |
\(.*\)\n | sucht nach einem Ausdruck in Klammern, gefolgt von einem Zeilenumbruch |
rename"
categories:
- “kopieren-umbenennen-loschen”
Dateien umbenennen rename dateiname1 dateiname2
renice"
categories:
- “prozessverwaltung”
Die Priorität eines laufenden Prozesses ändern.
rm"
categories:
- “kopieren-umbenennen-loschen”
rm Datei
löscht die Datei rm -r /pfad/
rekursives Löschen. Achtung: sehr gefährlich!
rmdir"
categories:
- “dateien-verzeichnisse”
- “verzeichnisse”
löscht ein leeres Verzeichnis: rmdir <Verzeichnis>
route"
categories:
- “netzwerk”
- “analysieren-und-informationen” tags:
- “gateway”
- “router”
route -n
zeigt den Netzwerkverkehr an. So lässt sich ganz einfach die IP-Adresse des Routers herausfinden.
rpm"
categories:
- “suse” tags:
- “rpm”
rpm installieren: rpm -iv paketname
Update: rpm -Uhiv paketname
ist das Paket installiert? rpm -qa | grep paketname
welches Paket beinhaltet das Programm? rpm -qf /vollstaendiger_pfad/dateiname
rpm-entpacken rpm2cpio paketname | cpio -idmv --no-absolute-filenames
Programm aus der Installationsliste austragen rpm -e --justdb wine
wine wird ausgetragen
rsync"
categories:
- “dateien-verzeichnisse”
- “kopieren”
- “kopieren-umbenennen-loschen”
- “netzwerk” tags:
- “grsync”
- “synchronisieren”
rsync synchronisiert immer nur in einer Richtung. Für einen gegenseitigen Abgleich müssen also zwei Aufrufe erfolgen:
-
rsync /verzeichnis1/ /verzeichnis2
-
rsync /verzeichnis2/ /verzeichnis1
Der / nach der 1. Pfadangabe verhindert, dass der letzte Ordner des 1. Pfads als neuer Ordner unter dem 2. Pfad angelegt wird. Somit bedeuten folgende Aufrufe genau das gleiche:
-
rsync /home/user/Dokumente /Ziel
-
rsync /home/user/Dokumente/ /Ziel/Dokumente
rsync -au /verzeichnis1/* /verzeichnis2/
Synchronisation mit Atttributerhaltung, rekursiv und Update
rsync -aeu ssh name@rechner /verzeichnis/
rsync -r -t -p -v –progress -u -l -z -s /verzeichnis1/ /verzeichnis2
Grafische Oberfläche für rsync: grsync
Beispiel
Script um ein lokales Verzeichnis mit einer NFS-Freigabe zu synchronisieren:
#! /bin/bash
mountpoint="/mnt/NFS/Ziel"
localpath="/home/user"
folder[1]="Dokumente"
echo "Verzeichnis $mountpoint wird eingebunden ..."
mount $mountpoint 2> /dev/null &
echo -n "Warte, bis Verzeichnis eingebunden ist "
for ((i=1; i<=20; i++)) {
[ `mount | grep -c "$mountpoint"` -eq 1 ] && break
echo -n "."
sleep 1
}
echo
if [ $i -eq 21 ] ; then
echo "Verzeichnis konnte nicht eingebunden werden, Programm wird beendet."
kill -9 `ps aux | grep "mount $mountpoint" | awk '{print $2}'`
exit
fi
i=1
while [ "${folder[i]}" != "" ] ; do
echo
echo "Synchronisiere $localpath/${folder[i]} mit $mountpoint/${folder[i]} ..."
rsync -r -t -p -v --progress -u -l -z -s "$localpath/${folder[i]}" "$mountpoint"
rsync -r -t -p -v --progress -u -l -z -s "$mountpoint/${folder[i]}" "$localpath"
let i++
done
echo
echo "Verzeichnis $mountpoint wird ausgebunden ..."
umount $mountpoint
Bei diesen Script können beliebig viele Ordner, der Freigabe synchronisiert werden z. B.:
folder[1]="Dokumente"
folder[2]="Bilder"
folder[3]="Videos"
...
Runlevel"
categories:
- “runlevel”
- “system”
0 abschalten 1 root 2 Multiuser 3 Netzwerk 4 - 5 Grafische Oberfläche 6 reboot
S-Abf-Taste (Magic SysRQ-Key)"
categories:
- “system”
- “tastaturkommandos” tags:
- “a-abf-taste”
- “s-abf”
- “sysrq”
- “sysrq-key”
Wenn Linux hängt kann man über die S-Abf-Taste (bzw. Druck-Taste) Befehle direkt an den Kernel senden. Somit kann das System noch sicher heruntergefahren werden, auch wenn sonst nichts mehr geht.
Ausgeführt werden die Kernel-Befehle über die Tastenkombination
Einen sicheren Neustart erreicht man mit folgender Buchstabenkombination: R, E, I, S, U, B (zwischen den einzelnen Buchstaben ein paar Sekunden Pause lassen, damit der jeweilige Befehl auch vollständig ausgeführt wird).
R | unraw | Verlasse den Keyboard-Raw-Modus, der unter X und SVGAlib aktiv ist, in den Keyboard-XLATE-Modus, der im Textmodus von Linux verwendet werden kann. Dies kann nützlich sein, wenn eine grafische Anwendung abstürzt und der Benutzer sich in der Konsole wiederfindet, die aufgrund des falschen Tastatur-Modus zunächst jedoch nicht benutzbar ist. |
---|---|---|
K | secure attention key | Beende alle Prozesse auf dem aktuellen Terminal, um sicher zu sein, dass der Login-Prompt von Init stammt und nicht von einem Trojaner. Eine aufgehängte Anwendung, welche die SVGAlib benutzt, oder ein nicht mehr reagierender X-Server lassen sich auch auf diese Weise beenden. So wird etwa in Ubuntu seit Version 9.04 dies statt der bisher genutzten Kombination Strg+Alt+Backspace empfohlen.[1] |
B | reboot | Fahre den Rechner sofort herunter, ohne Daten aus dem Kernel–Festplatten–Cache auf die Festplatten zu schreiben und ohne Partitionen auszuhängen, und starte den Rechner neu. |
O | poweroff | Schaltet den Rechner mit sofortiger Wirkung über ACPI/APM – wenn unterstützt – ab. Wie bei B wird mit O alleine nichts gespeichert. |
S | sync | Schreibe alle noch nicht auf die Festplatte geschriebenen Daten aus dem Kernel-Festplatten-Cache auf die Festplatten |
U | umount | Alle schreibbar eingebundenen Partitionen werden ausgehängt und anschließend nur-lesend wieder eingehängt. |
M | memory | Gib die Hauptspeicherbelegung in der Konsole aus. |
E | term | Sende SIGTERM an alle Prozesse außer Init |
I | kill | Sende SIGKILL an alle Prozesse außer Init |
L | kill including init | Sende SIGKILL an alle Prozesse, auch an Init. Das kommt einem Ausschalten gleich. Neuere Kernelversionen zeigen einen Backtrace an. |
F | force a OOM kill | Startet den OOM-Killer, der den speicherlastigsten Prozess tötet. Damit kann man meistens am System weiterarbeiten, wenn ein Prozess anfängt stark auszulagern und das System dadurch sehr träge reagiert. |
C | crashdump | Starte mit Hilfe von kexec[2] neu (sofern vorhanden) und gib einen Crashdump auf dem Bildschirm aus. Ansonsten provoziere einen Absturz durch eine Null-Pointer-Dereferenzierung.[3] |
D | Zeige (im Textmodus) alle derzeitigen Locks an. | |
Q | Zeige alle derzeitig laufenden Timer an. | |
P | show registers | Zeige den Inhalt der CPU–Register inklusive der Flags an. |
T | show tasks | Zeige eine Liste aktuell laufender Prozesse an. |
W | Zeige blockierte Prozesse an, die sich, beispielsweise während Festplattenzugriffen, im „ununterbrechbaren Schlaf“ befinden. | |
N | Hiermit lässt sich die Priorität von Echtzeit–Prozessen herabsetzen. | |
H | help | Gib einen Hilfetext für die Benutzung des Magic–SysRq–Key aus. Auch jede andere nicht belegte Taste gibt diesen Text aus, aber H wird höchstwahrscheinlich auch in Zukunft nicht anderweitig belegt werden und lässt sich aufgrund der Eselsbrücke zu „Hilfe“ beziehungsweise „Help“ gut merken. |
0…9 | set log level | Zahlen von 0 bis 9 bestimmen den Log Level, das heißt die Grenze, ab welcher Wichtigkeit eine Nachricht des Kernels angezeigt wird. Bei 0 werden nur noch kritische Meldungen wie etwa Kernel Panic angezeigt. |
G | kgdb | Schaltet bei neueren Kernelversionen auf die Framebuffer–Textkonsole um und started den Kernel–Debugger kgdb, falls vorhanden. |
J | "Just thaw it" | Beendet bei neueren Kernelversionen das „Einfrieren“ eines Dateisystems durch die IOCTL–Funktion FIFREEZE. |
V | framebuffer, ETM dump | Schaltet bei neueren Kernelversionen auf die Framebuffer–Textkonsole um. Auf der ARM-Architektur wird der ETM–Puffer angezeigt. |
X | XMON | Bei neueren Kernelversionen für die XMON–Schnittstelle der Power/Power–PC–Architektur verwendet. |
Y | FTRACE dump | Bei neueren Kernelversionen wird der FTRACE–Puffer angezeigt. |
Z | show global CPU registers | Bei neueren Kernelversionen werden auf der SPARC–64–Architektur die globalen CPU–Register angezeigt. |
Quelle: http://de.wikipedia.org/wiki/Magische_S-Abf-Taste
S100 (T-Online) zum Mediacenter umrüsten"
categories:
- “distributionen” tags:
- “s100”
Der Umbau ist in folgenden Dokumenten sehr ausführlich beschrieben. Der einfachste Weg ist unter wieki.mymediasystem.org (s.u.) beschrieben, da die dort verwendete Version des MMS direkt auf die S100 zugeschnitten wurde und sämtliche Treiber installiert und alle wichtigen Einstellungen vornimmt.
- LinuxUser 10/2008, S71ff
- LinuxUser 11/2008, S64ff
- wiki.mymediasystem.org/Installation_debian_etch_auf_vision_s100
- wiki.zenega-user.de/Intel-Motherboard
- wiki.zenega-user.de/Netzteil
- wiki.zenega-user.de/Modifikationen
- www.ccac.rwth-aachen.de/S100
- www.albert-hetzles.de/s100
Hardware anpassen Zunächst muss die Hardware angepasst werden. Hierzu gibt es wie oben ganannt sehr ausführliche Anleitungen. Folgende Modifikationenen sind zwingend erforderlich:
-
Adapterkabel für VGA-Ausgang (Pfostenstecker J22 auf VGA-Buchse)
J22 1 2 3 4 5 6 7 8 9 10 VGA 1 6 2 7 3 8 15 14 12 13 Brücke 8 -> 10 an der VGA-Buchse notwendig
-
Ausschaltdauer verlängern Die S100 schaltet schon wenige Sekunden nach Betätigung der Power-Taste den Strom ab. Diese Zeitspanne reicht nicht, damit das System korrekt herunterfahren kann. Durch einen 47uF-Kondensator in der Leitung 6 zum Bedienpanel (Minus-Pol zum Motherboard) kann diese Zeit verlängert werden (siehe ).
Zusätzlich werden folgende Erweiterungen empfohlen:
- LEDs für Festplatten- und Netzwerkaktivität Diese LEDs können schön hinter der über einige Pins zugeschweißten (Schweißstellen aufbohren) versteckt werden. Die LEDs werden am Bedienteil an den Positionen LED5 (Netzwerk) und LED10 (HDD) eingelötet (siehe ).
- Festplatte Eine 2,5"-Festplatte findet im Gehäuse (am besten rechts vorne) gut Platz. Der Vorteil einer Festplatte dieser Größe ist, dass diese nur eine 5V-Versorgungsspannung benötigt. Diese 5V liegen bei der S100 nämlich am IDE-Port am “Key-Pin” (Pin 20) an. Wird ein IDE-Kabel ohne “Key-Pin”-Kodierung verwendet, so muss im 3,5"-2,5"-Adapter vor der Festplatte nur eine Brücke vom Pin 20 auf die +5V-Stromversorgung gelegt werden. Diese Variante entlastet auch das Netzgerät der S100, da die 12V-Versorgung sehr knapp ausgelegt ist.
- Fernsehkarte Einige Modelle haben einen PCI-Steckplatz über den (mit einer Riser-Karte mit mind. 8 cm. langem Kabel - leider sehr schwer zu bekommen) eine Fernehkarte eingebaut werden kann. Bei mir ergaben sich (mit einer DVB-S-Karte von Hauppauge) folgende Probleme: Die PCI-Ports auf dem Motherboard beeinflussen sich gegenseitig (entweder handelt es sich um ein und den selben Port, oder das Layout des Motherboards ist falsch). Demnach ist bei mir die Verwendung der Fernsehkarte nur möglich, wenn ich das WLAN-Modul am Mico-PCI-Port entferne. Weiterhin müssen im Bios alle IRQs (außer einer) unter 14 deaktiviert werden.
- Wakeup-Board einbauen Der einbau eines Wakeup-Boards ist unter ausführlich beschrieben.
Installation Debian Etch Einen USB-Stick zur Installation von Debian Etch (zu diesem Zeitpunkt gibt es die auf die S100 zugeschnittene Version vom MMS nur für Debian Etch) erhält man am einfachsten, indem man sich das ISO-Image der Netzwerkinstallation herunterlädt und mit dem Programm auf den Stick überträgt. Im BIOS muss noch die Bootreihenfolge angepasst werden.
Ohne eingebaute Festplatte benötigt man für das System einen weiteren USB-Stick mit 2 bis 4 GB. Wie in den Anleitungen beschrieben wird bei der Installation der Kernel (/boot) auf das DOM-Modul (hda1) und der Rest auf den USB-Stick (sda1) isntalliert. Entgegen den Angaben in einigen Anleitungen wurde bei mir für die Installation eine Swap-Partition (sda2 ca. 200 MB) zwingend benötigt (andernfalls kam es zu Abstürzen bei der Installation). Auch sollte die Swap-Partition im Betrieb der S100 nicht deaktiviert werden, da es sonst zu Problemen kommen kann. Die Lebensdauer des USB-Sticks wird dadruch zwar deutlich verkürzt, doch bei Preisen von ca. 2-3 EUR dürfte dies kein Problem sein (ein regelmäßiges Backup mit partimage nach jeder Änderung am System ist sowieso zu empfehlen). Bei dieser Installationsvariante wird auch ein USB-Hub benötigt, da die beiden Ports für Tastatur, (Maus,) Boot-Stick und System-Stick nicht ausreichen.
Wenn das System nach der Installation gestartet wird, kann es vorkammen, dass sich die Laufwerksbezeichnungen - bedingt durch den nicht mehr vorhandnenen USB-Hub - verändert haben. In diesem Fall muss die menu.list von grub und die fstab manuell angepasst werden!
Bei eingebauter Festplatte wird alles wie üblich auf der Festplatte installiert. Hier empfehlen sich drei Partitionen für /, swap und /home. !subsubnode Installation MMS Die Installation des MyMediaSystems (MMS) sollte wie in beschrieben vorgenommen werden, da auf diesem Wege sämtliche Treiber installiert und alle wichtigen Einstellungen am System vorgenommen werden. Auch wenn MMS gar nicht benötigt wird nimmt einem dieses Installationsskript sehr viel Arbeit ab. MMS kann ja anschließend wieder deinstalliert werden. !subsubnode VDR (vdr-sxfe) anstelle von MMS starten Soll MMS nicht als Standardoberfläche verwendet werden, so kann wie folgt ein anderes Programm (wie z.B. vdr-sxfe) automatisch gestartet werden. Hierzu muss die Datei /home/s100/.xsession wie folgt angepasst werden:
unclutter -idle 0& 2>&1 >/dev/null
xmodmap .xmodmap 2>&1 >/dev/null
xbindkeys -f .xbindkeysrc 2>&1 >/dev/null
#Windowmanager Fluxbox starten
fluxbox & wmpid=$!
#Programme starten
#mms 2>&1 >/dev/null
/usr/bin/vdr-sxfe xvdr://IP-des-VDR --fullscreen &
#Warten bis Windowmanager beendet wurde
wait $wmpid
VDR anpassen
- Streaming freigeben Sollen auch andere Computer auf den VDR-Stream zugreifen, so müssen diese in der Datei /etc/vdr/svdrphosts.conf freigeschalten werden (z.B. 192.168.0.0 für alle lokalen Netzwerke). Das Streaming funktioniert am einfachsten über das Plugin XineLibOutput. Angezeigt werden kann dieser Stream von jedem Rechner aus über vdr-sxfe, vdr-sxfb oder das xine-ui.
S4A"
categories:
- “programmieren”
- “scratch” tags:
- “arduino”
- “scratch”
- “scratch-4-arduino”
Auf 64bit-Systemen startet S4A nicht, sondern bricht mir der Fehlermeldung: could not find module vm-sound-pulse
ab
Lösung: sudo apt-get install libpulse-dev:i386
Samba"
categories:
- “netzwerk”
- “serversoftware” tags:
- “cifs”
- “fritzbox”
Windows-Freigaben unter Linux
Windows-Freigabe mounten:
sudo mount -t cifs //192.168.11.1/Allgemein /media/netzwerk -o user=<Samba-User>
Server
/etc/init.d/samba restart
startet den Samba-Server neu
Alle Einstellungen befinden sich in /etc/samba/
Benutzer anlegen
smbpasswd -a user
legt Benutzer an oder ändert das passwort smbpasswd -x user
löscht den User in Samba smbpasswd -d user
deaktiviert den User in Samba smbpasswd -e user
aktiviert den User in Samba
Es können in Samba nur Benutzer angelegt werden, die im System bereits als Linux-User angelegt sind!
Informationen zu Samba-User anzeigen
Übersicht über alle angelegten User:
pdbedit -L
Detailinformationen zu einem User:
pdbedit -L -v -u USERNAME
/etc/samba/smbusers
Weist den Linux-Benutzern Alias-Namen zu, die für den Login verwendet werden können: Petri = Winuser
meldet den Windows-User “Winuser” als Linux-User “Petri” an.
Konfigurationsdatei
/etc/samba/smb.conf
[global]
workgroup = tuxnet
printcap cache time = 750
cups options = raw
printer admin = @ntadmin, root, administrator
username map = /etc/samba/smbusers
map to guest = Bad User
include = /etc/samba/dhcp.conf
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
restrict anonymous = yes
domain master = yes
preferred master = yes
max protocol = NT
ldap ssl = No
server signing = Auto
ldap idmap suffix = ou=Idmap
ldap machine suffix = ou=Computers
ldap suffix = dc=example,dc=com
printer name = hplaserjet5l
hosts allow = 192.168.
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
domain logons = yes
os level = 65
security = user
encrypt passwords = yes
passdb backend = smbpasswd
[documents]
comment = /home/petri/Documents
path = /home/petri/Documents
read only = no
inherit acls = yes
veto files = /aquota.user/groups/shares/
valid users = petri
guest ok = no
[ext]
comment = /home/ext
path = /home/ext
read only = no
inherit acls = yes
veto files = /aquota.user/groups/shares/
valid users = petri
guest ok = no
[pdf]
comment = PDF creator
path = /var/tmp
printable = yes
print command = /usr/bin/smbprngenpdf -J '%J' -c %c -s %s -u '%u' -z %z
create mask = 0600
[printers]
comment = All Printers
path = /var/tmp
printable = yes
create mask = 0600
Client
Windows-Freigabe mounten
von Hand:
- Paket “samba-client” installieren
mkdir Zielverzeichnis
mount -t smbfs -o username=user,password=passwort,gid=users,fmask=0664,dmask=0775 //Server/Freigabe/ Zielverzeichnis
automatisch beim Start:
Zeile in /etc/fstab einfügen:
//Server/Freigabe /mnt/Zielverzeichnis cifs nofail,x-systemd.automount,x-systemd.requires=network-online.target,x-system.device-timeout=20,iocharset=utf8,credentials=/root/.smbpasswd/serverxy 0 0
Passwortdatei/root/.smbpasswd/serverxy mit folgendem Inhalt erstellen :
username = Name
password = Passwort
Rechte anpassen: chmod 600 /etc/smbpasswd
Windows-Freigabe mounten per GUI unter KDE (Samba, LISa):
Pakete “kdenetwork3-lisa”, “kdenetwork3-lan”, “kdebase3-samba”, “samba-client” installieren:
sudo apt-get install kdenetwork3-lisa kdenetwork3-lan kdebase3-samba samba-client
Kontrollzentrum/Internet & Netzwerk/Netzwerk-Browser starten
Windows-Ressourcen und LISa-Dämon konfigurieren
su
rclisa start
insserv lisa
SMB-Protokoll-Versionen
Das SMB-Protokoll existiert in den Versionen 1.0, 2.0, 2.1 und 3.0, die untereinander nicht vollständig kompatibel sind. Eine Kommunikation kommt nur zustande, wenn sich beide Partner auf eine gemeinsame Version einigen. Dazu ist es manchmal erforderlich, die zu verwendende Version anzugeben.
Neue Kernel-Versionen erfordern, dass mann beim mounten die Samba-Version 1.0 explizit angeben muss. Dies ist z. B. bei Freigaben der FritzBox der Fall. Herzu wird beim mount-Befehl zusätzlich die Option vers=1.0 angeben.
sudo mount -t cifs -o vers=1.0,username=
Ansonsten gibt es noch die Versionen: 2.0, 2.1 und 3.0
scanimage"
categories:
- “bildbearbeitung”
Scant Bilder in *.pnm oder *.tiff-Dateien Optionen: –device Scanner –mode Farbmodus –resolution Auflösung
Beispiel: scanimage --device=umax:/dev/sg2 --mode=Gray --resolution=300 > out.pnm
Die Ausgabedateien (pnm) können in das verlustfreie und dennoch komprimierte TIFF-Format umgewandelt werden. Die einzelnen TIFF-Dateien werden anschließend in ein mehrseitiges TIFF zusammengefasst:
for i in *.pnm ; do
base=`basename "$i" .pnm`
pnmtotiff -lzw < "$i" > "$base.tif"
done
tiffcp -c lzw *.tif output.tif
Alternativ können die pnm-Dateien auch in JPG-Dateien umgewandelt werden:
for i in *.pnm ; do
base=`basename "$i" .pnm`
pnmtojpeg -quality=75 -optimize "$i" > "$base.jpg"
done
Mit scanimage den Namen des angeschlossenen Scanners ermitteln:
# angeschlossenen Scanner suchen
SCANNERMESSAGE=$(scanimage -L)
# Name der Schnittstelle extrahieren
START=$[$(expr index "$SCANNERMESSAGE" \`) + 1]
ENDE=$(expr index "$SCANNERMESSAGE" \')
INTERVALL=$[$ENDE - $START]
scanner_port=$(expr substr "$SCANNERMESSAGE" $START $INTERVALL)
# Name des Scanners extrahieren
START=$[$ENDE + 7]
ENDE=$[$(expr length "$SCANNERMESSAGE") + 1]
INTERVALL=$[$ENDE - $START]
scanner=$(expr substr "$SCANNERMESSAGE" $START $INTERVALL)
[ "$scanner_port" == "" ] && scanner="Es wurde kein Scanner gefunden!"
echo $scanner
Scannen"
categories:
- “grafik”
simple-scan / kooka / xsane / quiteinsane
screenshot"
categories:
- “bildbearbeitung”
Erstellen eines Screenshots: import Datei
Ein Klick in ein Fenster kopiert dieses, oder man zieht einen Rahmen auf.
sleep 15: import -window root screen.png
-> nach 15 Sekunden screenshot
Das Srceenshot-Programm der KDE KSnapshot lässt sich mit der Taste “Druck” starten.
Seafile"
categories:
- “raspberry-pi”
- “serversoftware” tags:
- “ccnet”
- “cloud”
- “seafile”
- “seahub”
SeaFile und OwnCloud
Cloud-Fileserver, der (insbesondere bei vielen kleinen Dateien) sehr viel schneller arbeitet als OwnCloud. Daher lohnt sich auch die Kombination, OwnCloud für die Synchronisation von Kalender, Aufgaben sowie Kontakte zu verwenden und Seafile für die Dateisynchronisation.
Eine sehr ausführliche Anleitung gibt es auch unter http://manual.seafile.com/deploy/using _mysql.html
SeaFile installieren
Die aktuelle Version kann unter http://seafile.com/en/download/ heruntergeladen werden. Für den Banana Pi mit Bananian als System kann das Server-Paket für den Raspberry Pi verwendet werden.
Die Installation erfolgt durch Entpacken in ein eigenes Verzeichnis z. B. unter /root
cd /root
mkdir seafile
# Die zuvor heruntergeladene Installationsdatei hier her kopieren
tar -xzf seafile-server_*
mkdir installed
mv seafile-server_* installed
Beim Entpacken wird der Symbolische Link seafile-server-latest erstellt, der auf das aktuelle Verzeichnis verweist. Bei einem Update muss dann das neue Archiv nur wie oben beschrieben entpackt werden und schon ist die neue Version installiert ohne dass die alte Version überschrieben wird. Auch die Einstellungen bleiben erhalten.
Abhängigkeiten installieren
Folgende Pakete werden für Seafile benötigt:
- python 2.7
- python-setuptools
- python-imaging
- python-mysqldb
apt-get update
apt-get install python2.7 python-setuptools python-imaging python-mysqldb
MySQL-Datenbanken erstellen
Zuvor muss MySQL vollständig eingerichtet sein. Dies wird im Kapitel zur Owncloud-Installation im Detail beschrieben.
Folgende SeaFile-Komponenten benötigen jeweils eine eigene Datenbank:
- ccnet server
- seafile server
- seahub
Die einfachste Möglichkeit ist, das Konfigurationsscript setup-seafile-mysql.sh
im aktuellen Seafile-Ordner zu verwenden:
/root/seafile/seafile-server-latest/setup-seafile-mysql.sh
Das Skript führt detailliert durch die gesamte Konfiguration. Hier ein Beispiel für eine lokale Installation:
--
This script will guide you to setup your seafile server using MySQL.
Make sure you have read seafile server manual at
https://github.com/haiwen/seafile/wiki
Press ENTER to continue
--
What is the name of the server? It will be displayed on the client.
3 - 15 letters or digits
[ server name ] tuxcloud
What is the ip or domain of the server?
For example: www.mycompany.com, 192.168.1.101
[ This server's ip or domain ] 192.168.1.9
Which port do you want to use for the ccnet server?
[ default "10001" ] 10001
Where do you want to put your seafile data?
Please use a volume with enough free space
[ default "/root/seafile/seafile-data" ] /mnt/hdd/seafile
Which port do you want to use for the seafile server?
[ default "12001" ] 12001
Which port do you want to use for the seafile fileserver?
[ default "8082" ] 8082
-
Please choose a way to initialize seafile databases:
-
[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases
[ 1 or 2 ] 1
What is the host of mysql server?
[ default "localhost" ] localhost
What is the port of mysql server?
[ default "3306" ] 3306
What is the password of the mysql root user?
[ root password ]
verifying password of user root ... done
Enter the name for mysql user of seafile. It would be created if not exists.
[ default "root" ]
Enter the database name for ccnet-server:
[ default "ccnet-db" ]
Enter the database name for seafile-server:
[ default "seafile-db" ]
Enter the database name for seahub:
[ default "seahub-db" ]
This is your configuration
server name: tuxcloud
server ip/domain: 192.168.1.9
ccnet port: 10001
seafile data dir: /mnt/hdd/seafile
seafile port: 12001
fileserver port: 8082
database: create new
ccnet database: ccnet-db
seafile database: seafile-db
seahub database: seahub-db
database user: root
Sollen viele Clients auf Seafile zugreifen, sollte zuvor ulimit erhöht werden:
ulimit -n 30000
Server starten
./seafile.sh start
./seahub.sh start
Beim ersten Start von Seahub wird ein Admin-Account erstellt. Der User-Name bei Seafile ist immer eine E-Mail-Adresse.
Danach kann der erste Zugriff über einen Browser erfolgen:
http://192.168.1.9:8000/
Beim Systemstart automatisch starten
Hierzu wird als root ein Init-Script erstellt (/etc/init.d/seafile-server):
#!/bin/bash
### BEGIN INIT INFO
# Provides: Seafile Server
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Seafile-Daemon at boot time
# Description: Enable service provided by Seafile.
### END INIT INFO
export LC_ALL='de_DE.UTF-8'
# Change the value of "seafile_dir" to your path of seafile installation
seafile_dir=/root/seafile
script_path=${seafile_dir}/seafile-server-latest
seafile_init_log=${seafile_dir}/logs/seafile.init.log
seahub_init_log=${seafile_dir}/logs/seahub.init.log
# Change the value of fastcgi to true if fastcgi is to be used
fastcgi=false
# Set the port of fastcgi, default is 8000. Change it if you need different.
fastcgi_port=8000
case "$1" in
start)
${script_path}/seafile.sh start >> ${seafile_init_log}
if [ $fastcgi = true ];
then
${script_path}/seahub.sh start-fastcgi ${fastcgi_port} >> ${seahub_init_log}
else
${script_path}/seahub.sh start >> ${seahub_init_log}
fi
;;
restart)
${script_path}/seafile.sh restart >> ${seafile_init_log}
if [ $fastcgi = true ];
then
${script_path}/seahub.sh restart-fastcgi ${fastcgi_port} >> ${seahub_init_log}
else
${script_path}/seahub.sh restart >> ${seahub_init_log}
fi
;;
stop)
${script_path}/seafile.sh $1 >> ${seafile_init_log}
${script_path}/seahub.sh $1 >> ${seahub_init_log}
;;
*)
echo "Usage: /etc/init.d/seafile {start|stop|restart}"
exit 1
;;
esac
Dann das Script ausführbar machen und rc.d aktualisieren:
chmod 755 /etc/init.d/seafile-server
update-rc.d seafile-server defaults
Manche Systeme starten den Server nach einen Reboot nicht, da Apache noch nicht läuft. Daher kann der Start über einen Cron-Job nachgeholt werden (Eintrag in /etc/crontab):
@reboot sleep 60 && service seafile-server start
Mitgelieferte Skripte
seaf-gc.sh
Seafile verwaltet die Dateien in Datenblöcken. Alte Datenblöcke von gelöschten Dateien und Bibliotheken werden jedoch nicht automatisch gelöscht, wodurch der von Seafile benötigte Speicher immer mehr anwächst. Somit empfiehlt es sich, unnötige Datenblöcke löschen zu lassen. Hierzu muss nur das Skript seaf-gc.sh im Seafile-Ordner gestartet werden:
/root/seafile/seafile-server-latest/seaf-gc.sh
Das entfernen unnötiger Datenblöcke ist z. B. vor dem Erstellen eines Backups zu empfehlen (siehe Kapitel Backup).
seaf-fsck.sh
Nach einem Systemabsturz kann die Dateistruktur von Seafile defekt sein. hierzu gibt es ein eigenes Script, das fehlerhafte Strukturen reparieren kann:
/root/seafile/seafile-server-latest/seaf-fsck.sh
reset-admin.sh
Wenn man das Admin-Passwort vergessen hat oder der Admin-Account nicht mehr richtig funktioniert, kann mit dem Tool reset-admin.sh der Admin-Account zurückgesetzt werden.
/root/seafile/seafile-server-latest/reset-admin.sh
seaf-fuse.sh
Stellt die Dateistruktur aller User und Bibliotheken in einem Verzeichnis dar, das mit dem Script seaf-fuse.sh gemountet wird. Allerdings besteht auf dieses Verzeichnis nur lesender Zugriff.
mkdir /mnt/seafile-fuse
/root/seafile/seafile-server-latest/seaf-fuse.sh start /mnt/seafile-fuse
Unmounten geht wie folgt:
/root/seafile/seafile-server-latest/seaf-fuse.sh stop
Backup
Anbei ein Skript für ein Backup mit MySQL und storeBackup. Zunächst wird der Seafile-Server gestoppt, damit im Backup ein definierter Zustand gespeichert wird. Dann werden unnötige Datenblöcke gelöscht (seaf-gc.sh) und die Datenbanken gesichert. Als Backup-Programm wird storeBackup verwendet. Die verwendete Konfigurationsdatei wird im Skript unter /root/bin/storeBackup/seafile.cfg gesucht. Da die Datenbanken zuvor in den Daten-Ordner von Seafile gesichert wurden, sind diese ebenfalls im Backup enthalten. Am Ende wird der Seafile-Server wieder gestartet.
seafile=/mnt/hdd/seafile
[ -f "$seafile/database-backup" ] || mkdir -p "$seafile/database-backup"
service seafile-server stop
/root/seafile/seafile-server-latest/seaf-gc.sh
mysqldump --lock-tables -h localhost -u root -p<PASSWORT> ccnet-db > "$seafile/database-backup/ccnet-db.bak"
mysqldump --lock-tables -h localhost -u root -p<PASSWORT> seafile-db > "$seafile/database-backup/seafile-db.bak"
mysqldump --lock-tables -h localhost -u root -p<PASSWORT> seahub-db > "$seafile/database-backup/seahub-db.bak"
storeBackup -f /root/bin/storeBackup/seafile.cfg
service seafile-server start
Backup zurückspielen:
mysql -h localhost -u root -p<PASSWORT> ccnet-db < ccnet-db.bak
mysql -h localhost -u root -p<PASSWORT> seafile-db < seafile-db.bak
mysql -h localhost -u root -p<PASSWORT> seahub-db < seahub-db.bak
Update
Mit folgendem Script kann eine neue Version von Seafile automatisch eingespielt werden. Es muss lediglich die neue Versionsnummer eingegeben werden. Das Script ist für den Raspberry-Pi bzw. Banana-Pi geschrieben und muss für andere Systeme ggf. angepasst werden.
#! /bin/bash
# Variablen definieren
[ "$1" == "" ] && read -p "Bitte Version eingeben (z.B. 4.2.3): " ver || ver=$1
download_path=/root/Software
seafile_path=/root/seafile
# Seafile herunterladen
cd $download_path
wget https://github.com/haiwen/seafile-rpi/releases/download/v$ver/seafile-server_${ver}_pi.tar.gz
# Seafile-Server entpacken ...
echo "seafile-server_${ver}_pi.tar.gz wird entpackt ..."
cd $seafile_path
tar -xzvf $download_path/seafile-server_${ver}_pi.tar.gz
# Seafile Server anhalten
echo "Seafile-Server wird angehalten ..."
service seafile-server stop
# Symbolischen Link aktualisieren ...
echo "Link seafile-server-latest neu setzen ..."
rm seafile-server-latest
ln -s $seafile_path/seafile-server-$ver seafile-server-latest
# Seafile neu starten
echo "Seafile-Server wird gestartet ..."
service seafile-server start
exit
Securecopy (scp)"
categories:
- “dateien-verzeichnisse”
- “kopieren”
- “kopieren-umbenennen-loschen”
- “netzwerk” tags:
- “scp”
scp user@192.168.1.162:/home/user/datei.tar .
kopiert die Datei datei.tar über das Netzwerk auf das lokale Verzeichnis
SecurStick"
categories:
- “programme”
- “verschiedendes” tags:
- “blkid”
SecurStick ist ein Programm zum einfachen Verschlüsseln von Daten auf einem USB-Stick. Download unter http://www.withopf.com/tools/securstick
Damit ein Stick, der mit FAT formatiert ist, unter Linux ausführbar gemountet wird, muss der USB-Stick in der fstab eingetragen werden.
- UUID des Stick ermitteln mit
sudo blkid
- Mountpunkt anlegen:
sudo mkdir /media/USB-Stick
- Ergänzung der /etc/fstab mit:
UUID=3D72-8344 /media/USB-Stick vfat rw,uid=1000,users,noauto,exec 0 0
die uid=1000 muss durch die jeweilige uid des Benutzers ersetzt werden. Die uid kann über den Befehlid
ermittelt werden.
sed"
categories:
- “shell”
- “skripte”
- “stringbearbeitung”
- “suchen”
sed verwendet reguläre Ausdrücke
Suchen und ersetzen von Text in Dateien: sed 's/Suchtext/Ersetztext/g' quelldatei.txt > zieldatei.txt
Ist im zu bearbeitenden Text ein Slash /
, so muss dieser mit \/
angegeben werden. Leerzeichen in Dateinamen in Unterstriche umwandeln: for a in *; do mv "$a" "$(echo $a | sed 's/ /_/g')"; done
sendemail"
categories:
- “netzwerk”
Kommandozeilenprogramm um E-Mails zu versenden: sendEmail -f absender@anbieter.de -t empfaenger -u Betreff -o message-file=Mailtextdatei -s mailserver -xu anmeldename -xp passwort
Server mit Squid als transparentem Proxy"
categories:
- “netzwerk”
- “serversoftware” tags:
- “dansguardian”
- “debian-2”
- “proxy”
- “squid”
Installation eines Debian-Serves mit zwei Netzwerkkarten (eth0 = extern, eth1 = internes Netzwerk) Der Server stellt einen Squis als transparenten Proxy (Das bedeutet, dass alle angeschlossenen Geräte ohne weitere Konfiguration zwangsweise über den Squid-Proxy laufen.) zur Verfügung und beinhaltet dansguardian als Jugendschutz.
Debian herunterladen (am besten das netinstall-image): Download Debian und das Image entweder auf CD brennen oder per unetbootin oder YUMI auf einen USB-Stick übertragen.
Medium booten und Debian installieren:
- Install
- Sprache auswählen
- Land auswählen
- Tastatur auswählen
- primäre Netzwerkkarte (eth0) auswählen
- Rechnername vergeben
- Domainname (bei lokalem Netzwerk egal)
- Root Passwort
- Benutzername
- Anmeldename des Benutzers
- Passwort des Benutzers
- Partitionierung: - Platte auswählen - Alle Dateien auf eine Platte
- Grundsystem wird installiert
- Spiegelserver auswählen
- evtl. Proxydaten eingeben
- Softwareauswahl treffen: - SSH-Server - Standard-Systemwerkzeuge
- GRUB in den Master Boot Record (MBR) installieren
- Installation abgeschlossen - weiter - Neustart wird ausgelöst
Am neuen System anmelden weitere Software installieren:
apt-get install squid vim dansguardian dnsmasq
Konfiguration der Datei /etc/network/ interfaces :
# loopback-Interface nicht löschen
auto lo
iface lo inet loopback
# LAN / automatische Konfiguration über DHCP
auto eth0
iface eth0 inet dhcp
# internes LAN mit statischer Konfiguration (interner Adressbereich von 192.168.3.20 - 192.168.3.200)
auto eth1
iface eth1 inet static
address 192.168.3.1
netmask 255.255.255.0
broadcast 192.168.3.255
# vorhandene Regeln und Ketten zuerst löschen (Restart-Funktionalität)
up /sbin/iptables -F
up /sbin/iptables -X
up /sbin/iptables -t nat -F
# Maskieren der LAN-Schnittstelle, Port-Forwarding & Nat aktivieren
up iptables -A FORWARD -o eth0 -i eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
up iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
up iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080
up sysctl -w net.ipv4.ip_forward=1
# dnsmasq neu starten
up /etc/init.d/dnsmasq restart
Die Datei /etc/dnsmasq.conf mit folgendem Inhalt erstellen.
# DHCP-Server aktiv für Interface
interface=eth1
# DHCP-Server nicht aktiv für Interface
no-dhcp-interface=eth0
# IP-Adressbereich / Lease-Time
dhcp-range=interface:eth1,192.168.3.20,192.168.3.200,infinite
Konfiguration des Squid : /etc/ squid / squid .conf
# aktivieren der Apache log emulation (zur Zugriffs Überwachung):
emulate_httpd_log on
# setze den Hostnamen:
visible_hostname proxyserver
# ändere die Zeile http_port 3128 folgendermaßen:
http_port 3128 transparent
Konfiguration des Dansguardian : /etc/ dansguardian / dansguardian .conf
UNCONFIGURED auskommentieren:
# UNCONFIGURED
In /etc/dansguardian/dansguardianf1.conf
setze naughtynesslimit = 100
System neu starten (reboot) - Fertig!
Serverinstallation"
categories:
- “netzwerk”
- “serversoftware” tags:
- “server”
Am Beispiel eines ubuntu-Servers:
Download von ubuntu-server-64bit: http://www.ubuntu.com/start-download?distro=server&bits=64&release=lts
Das heruntergeladene ISO-File entweder auf CD brennen oder mit http://www.pendrivelinux.com auf einen USB-Stick installieren.
Installation:
- Von CD oder USB-Stick booten
- “Server installieren” anwählen
- deutsche Sprache auswählen (auch wenn die Übersetzung nicht vollständig ist, das System nimmt dann eben englisch)
- Tastaturbelegung deutsch
- Server-Namen vergeben
- Benutzerkonto: dieser Benutzer hat root-Rechte! Erst vollständiger Name, dann Anmeldename.
- Passworteingabe für Benutzer
- Verschlüsselung: nein
- Zeitzone wählen
- Partitionierung: Geführt, gesamte Platte und LVM (Logical Volume Manager) einrichten ist meist das Beste
- Platte wählen
- in der Regel die gesamte Volume Group verwenden
- Änderungen auf die Festplatten schreiben
- Das Grundsystem wird nun installiert
- Proxy (falls benötigt) festlegen
- die Paketverwaltung (apt) wird konfiguriert
- Sicherheitsaktualisierungen automatisch installieren
- Serverauswahl:
- OpenSSH server (für Fernzugriff)
- DNS server
- LAMP server (Apache, MySQL, PHP)
- Mail server
- PostgreSQL database
- Print server
- Samba file server
- Tomcat Java server
- Virtual Machine host
- Die ausgewählte Software wird nun installiert
- evtl. neues Passwort für MySQL root-Benutzer vergeben - nur bei Installation von LAMP
- Der GRUB-Bootloader wird installiert. In der Regel in den MBR (Master Boot Record) installieren.
- Die Installation ist nun abgeschlossen. Es wird automatisch neu gebootet. Bootmedium entfernen.
- Nach dem ersten Start des neuen Systems sollte zunächst ein Update ausgeführt werden.
sudo apt-get update
sudo apt-get upgrade
- evtl. eine einfache grafische Oberfläche installieren:
sudo apt-get install xfce4
Die grafische Oberfläche wird mitstartx
aufgerufen. Über das Anwendungsmenü kann die grafische Oberfläche wieder beendet werden. Sollten in der grafischen Oberfläche einmal die Taskleisten verschwunden sein, so macht man einen Rechtsklick auf den Desktop, ruft den Terminal auf und gibt folgenden Befehl ein:xfce4-panel &
- Tipp: Für die Arbeit in der Konsole ist der mc (midnight commander -ein Norton Commander Clone - 2-Fenster-Modus) sehr praktisch:
sudo apt-get install mc
- Um mittels Webinterface arbeiten zu können, muss noch ein Browser für die grafische Oberfläche installiert werden:
sudo apt-get install firefox
- Will man einen guten Überblick über zu installierende Pakete haben, installiert man synaptic für die grafische Oberfläche:
sudo apt-get install synaptic
Shell-Skript (1. Zeile)"
categories:
- “shell”
- “skripte”
Ein Shellskript (das in der BASH ausgeführt werden soll) muss mit
#!/bin/bash
beginnen und ausführbar gemacht werden.
shutdown"
categories:
- “system”
shutdown -P +10
fährt den Rechner in 10 Minuten herunter
shutdown -hP 23:00 Achtung!!!
fährt den Rechner um 23.00 Uhr mit einer Meldung herunter
Sicherheitstest-Distributionen"
categories:
- “distributionen” tags:
- “backtrack”
- “kali”
Backtrack: Sicherheitscheck für Netzwerke Download von http://www.remote-exploit.org
Der Nachfolger von Backtrack ist Kali-Linux: http://www.kali.org/
Signal der Soundkarte direkt aufnehmen"
categories:
- “audio”
- “multimedia”
Will man ein Audisignal, das die Soundkarte wiedergibt (z.B. Webseite spielt Sound ab, ein Spiel…) aufnehmen, macht man dies folgendermaßen:
- Aufnahmeprogramm starten (am besten Audacity)
- PulseAudio-Lautstärkeregler starten und den Reiter Aufnahme anklicken
- In Audacity die Aufnahme starten
- Wechseln in PulseAudio-Laustärkeregler
- Rechts neben “Alsa Capture von” mit einem Linksklick auf “Internes Audio Analog Stereo” “Monitor of Internes Audio Analog Stereo” auswählen.
- Nun nimmt Audacity alle Signale der Soundkarte auf.
sitecopy"
categories:
- “netzwerk”
- “websites-herunterladen”
Mit sitecopy können Websites mit lokalen Verzeichnissen synchronisiert werden.
Installation:
Zuerst muss die zentrale Konfigurationsdatei sowie ein Verzeichnis für den Versions-Tracker im Home-Verzeichnis angelegt werden.
touch .sitecopyrc; chmod 600 .sitecopyrc
mkdir -m 700 .sitecopy>
Konfiguration:
Die Konfigurationsdatei besteht aus einer oder mehreren Sektionen (eine pro Website) mit folgender Syntax:
site beispiel ~~~~~~~~~~~~~~~~ # Projektname
server ftp.beispielseite.ch ~~ # Der FTP Server für Up- und Downloads
username webmaster ~~~~~~~~~~~ # Username für FTP Zugriff
password soginet ~~~~~~~~~~~~~ # Passwort für FTP Zugriff
local ~/public_html/beispiel/ ~# Lokales Verzeichnis
remote ~/html/ ~~~~~~~~~~~~~~~ # Entferntes Verzeichnis (auf dem FTP Server)
# "~/" steht hier für das login Verzeichnis des FTP Servers.
site beispiel2 # Projektname einer weiteren Webseite
[...]
Es gibt noch eine Vielzahl weiterer Optionen, z. B. für den Umgang mit Links, Exclude-/Include-Filter, Proxys, usw. Diese sind auf der manpage (man sitecopy) detailliert beschrieben.
Erster Aufruf
Es gibt drei mögliche Situationen vor dem ersten Aufruf von Sitecopy; für jede muss individuell vorgegangen werden:
- Remote- und lokale Dateien sind synchron. Aufruf von
sitecopy --catchup beispiel
, um das Programm zu initialisieren. - Keine lokale Kopie vorhanden. Aufruf von
sitecopy --synchronize beispiel
, um eine lokale Kopie zu erstellen. - Keine Kopie auf dem FTP Server vorhanden. Aufruf von
sitecopy --init beispiel
. Die lokalen Dateien werden dann beim nächsten Aufruf hochgeladen.
Tägliche Benutzung
Nachdem das Programm nun betriebsbereit ist, kann es sehr einfach benutzt werden. Ein Aufruf von sitecopy --update beispiel
lädt alle modifizierten oder neuen Dateien, inklusive Unterverzeichnissen, auf den FTP und löscht auch alle Dateien, die lokal entfernt wurden. Wenn mehrere Sites in der Konfigurationsdatei definiert sind, können diese mit sitecopy –update beispiel beispiel2 in einem Rutsch synchronisiert werden.
sitecopy -u -a
aktualisiert alle Sites, die in der Datei .sitecopyrc stehen.
Skype"
categories:
- “audio”
- “multimedia-programme”
- “video”
Skype hat unter Linux mitunter Probleme das Mikrofon zu aktivieren. Abhilfe schafft hier die Pulse-Audio-Steuerung. Einfach pavucontrol installieren, PulseAudio-Lautstärkeregelung aufrufen und bei Eingabegeräte das Mikrofon wählen.
Die zwei Audiokanäle des Mikrofons müssen getrennt werden, sodass man den rechten auf ganz leise/aus schaltet und den linken Kanal auf Basis, dann funktioniert das Mikrofon in Skype, muss aber bei jedem Neustart wieder neu eingestellt werden.
sleep"
categories:
- “zeitsteuerung”
sleep x
wartet x Sekunden
Slideshow"
categories:
- “audio”
- “multimedia”
- “video” tags:
- “dir2slideshow”
- “dvd-slideshow”
Ein Slideshow kann über folgende Konsolenbefehle erstellt werden:
- Alle Bilder in ein Verzeichnis kopieren.
dir2slideshow -n Titel ./
erstellt eine Steuerdateidvd-slideshow -f Titel.txt
erstellt die Slideshowffmpeg -i Titel.vob -target dvd Film.mpg
konvertiert den Film in ein MPEG-Video- Der Befehl
dvd-slideshow -a Musik.mp3 -f Titel.txt
fügt der Slideshow Musik hinzu.
smartctl"
categories:
- “prufen-reparieren”
smartctl -t short /dev/sda
smartctl -t long /dev/sda
Logs Auslesen: smartctl -l error /dev/sda
smartctl -l selftest /dev/sda
Eine gute Anleitung findet sich unter: http://wiki.ubuntuusers.de/Festplattenstatus
Smartphone unter Linux flashen"
categories:
- “android-distributionen” tags:
- “cyanogenmod”
- “firewall”
- “flashen”
- “s-iii-mini”
- “s3-mini”
ACHTUNG: Durch das Flashen kann das Smartphone unbrauchbar werden und die Gewährleistung des Herstellers erlischt! Weiterhin werden alle Daten auf dem Smartphone gelöscht. Das Flashen geschieht auf eigene Gefahr!
Kurzanleitung: Flashen CyanogenMod auf einem Samsung Galaxy S III Mini
Im Folgenden habe ich stichwortartig zusammengefasst, wie man CyanogenMod (Version 12.2 - entspricht Android 5.1.1) unter Debian Testing auf ein Samsung Galaxy S III Mini flasht und dort den Rootzugang einrichtet. Diese Anleitung erhebt keinen Anspruch auf Vollständigkeit und kann am Smartphone großen Schaden anrichten!
Vorbereitung auf dem (Linux-) Computer:
- CyanogenMod herunterladen Das Samsung Galaxy S III Mini wird von CyanogenMod offiziell nicht unterstützt. Eine für dieses Smartphone angepasst Version kann jedoch bei Novafusion heruntergeladen werden. Dort muss die “odin”-Version ausgewählt werden.
- Das Archiv dann 2x entpacken (die Dateien boot.img, recovery.img und system.img werden benötigt)
- heimdall aus den Quellen installieren
Smartphone vorbereiten (Werkseinstellungen zurücksetzen)
- Smartphone ausschalten
- Home + Lauter + Power gleichzeitig gedrückt halten (bei mir musste ich diese Tasten so lange gedrückt halten, bis das Start-Logo zum zweiten mal erscheint)
- Über die Wipe-Funktion das Smartphone auf Werkseinstellungen zurücksetzen
- Smartphone ausschalten
ROM flashen
Vorbereitung auf dem Smartphone
- Home + Leiser + Power gleichzeitig gedrückt halten um den Download-Modus zu starten
- Die Warnung mit “Lauter” bestätigen
- Das Smartphone mit einem USB-Kabel mit dem Computer verbinden
Vorbereitung auf dem Computer
Zunächst müssen die Namen der Partitionen und die jeweils zugehörigen Flash-Filenames auf dem Smartphone ermittelt werden:
PITFILE=samsung-s3-mini-GT-I8190.pit
heimdall download-pit --output $PITFILE
heimdall print-pit --file $PITFILE 2>&1 | grep -iE -B1 'Partition Name|Flash Filename' | less
Flashen
Um nun die zuvor heruntergeladenen Images von CyanogenMod auf das Samsung Galaxy S III Mini zu flashen in der Console auf dem PC folgenden Befehl eingeben:
heimdall flash --Kernel boot.img --Kernel2 recovery.img --SYSTEM system.img
Einstellungen unter CyanogenMod
Entwickler-Modus aktivieren
Um unter CyanogenMod den Entwickler Modus zu aktivieren muss man unter “Einstellungen” / “Über das Telefon” mehrmals auf die “Build-Nummer” tippen.
Root-Zugriff aktivieren
Um den Root-Zugriff zu aktivieren unter “Einstellungen” / “Entwickleroptionen” / “Root-Zugriff” die Funktion “Rootzugriff für Apps” auswählen.
APP-Berechtigungen einschränken
Nach Freischaltung des Root-Zugriffs kann für jede einzelne APP die Berechtigungen unter “Einstellungen” / “Datenschutz” / “Datenschutz” manuell festgelegt werden. Die Funktion “Standardmäßig aktivieren” schränkt die Zugriffsrechte von neu installierten APPs automatisch auf “nachfragen” ein.
Durch den Root-Zugriff kann jetzt auch eine Firewall (z. B. von AVAST verwendet werden) um den Zugriff von einzelnen APPs auf Netzwerk und Internet einzuschränken.
SolydXK"
categories:
- “distributionen”
- “solydxk”
SolydXK ist der Nachfolger von LMDE-Xubuntu und LMDE-KDE. Das LinuxMint nur noch Mate und Cinnamon in der LMDE-Variante pflegt, wurde die neue Distribution SolydX (für XFCE) und SolydK (für KDE) geschaffen.
SolydXK ist eine “Rolling Release Distribution”. Die Grundausstattung ist sehr umfangreich und alle wichtigen Multimediacodecs sind gleich mit installiert.
Umstieg von LMDE auf SolydXK:
Eine Anleitung findet sich unter http://solydxk.com/community/tutorials/#lmdekde
sort"
categories:
- “vergleichen-sortieren”
sort datei1 datei2
sortiert die Zeilen der Datei1 in Datei2
Sound in der Konsole"
categories:
- “audio”
- “multimedia” tags:
- “playwave”
playwave datei.wav
spielt eine Wavedatei in der Konsole ab
Sound server fatal error"
categories:
- “audio”
- “multimedia”
Untersuchung der Soundkarte mit: lspci | grep audio
ergibt folgendes: 00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 10) Lösung des Problems mit : echo "options snd-via82xx dxs_support=2" |sudo tee -a /etc/modprobe.d/alsa-base
source (.)"
categories:
- “shell”
- “skripte”
- “sonstiges”
Kommandos aus einer Datei auslesen und ausführen: source Skriptname
. Skriptname
split"
categories:
- “kopieren-umbenennen-loschen”
- “vergleichen-sortieren”
Große Dateien aufteilen: split -b 1440k QuellDatei BasisName
Mit -b gibt man an, dass die Datei nicht zeilenweise sondern byteweise betrachtet werden soll. 1440k bestimmt die Größe der einzelnen aufgeteilten Dateien. QuellName ist natürlich der Name der aufzuteilenden Datei und BasisName ist der Name der als ,Basis’ für die Namen der erzeugten kleineren Dateien verwendet wird. Um eine derart aufgeteilte Datei später wieder zusammenzusetzen verwendet man den ,cat’ Befehl: cat BasisName* > NamederZieldatei
Sprachausgabe"
categories:
- “audio”
- “multimedia” tags:
- “espeak”
- “gespeaker”
- “mbrola”
- “sprachsynthesizer”
- “text-to-speech”
eSpeak
Mit dem Programm espeak lassen sich Texte vorlesen, oder als Audiodatei speichern. Beispiel: espeak -vde "Dieser Text wird gesprochen" -w ausgabe.wav
vde steht für Deutsch ven ist Englisch
Weitere Infos unter http://wiki.ubuntuusers.de/eSpeak Homepage: http://espeak.sourceforge.net/
Mbrola
Zusätzliche Sprachen können über mbrola
hinzugefügt werden, das direkt von espeak aufgerufen wird. Sowohl mbrola als auch die Sprachpakete sind unter Debian in den Quellen verfügbar. Die Sprachdateien werden dann mit dem Prefix “mb-” aufgerufen. Die Endung lautet dann entsprechend den installierten Sprachpaketen.
Beispiel: espeak -vmb-de4 "Dieser Text wird gesprochen"
Grafische Benutzeroberfläche
espeak-gui bietet eine einfache grafische Oberfläche zur bequemeren Bedienung.
gespeaker ist eine erweiterte Oberfläche, die auch mbrola integriert.
Weitere Infos unter: http://espeak.sourceforge.net/mbrola.html Homepage: http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html
squid"
categories:
- “kinder”
- “netzwerk”
- “serversoftware”
Internetfilter über squid im Netzwerk einrichten: Hier speziell für de Musterlösung des Landes Baden Württemberg beschrieben, funktioniert aber analog in jedem anderen Linux-Netzwerk auch.
In die Datei /etc/squid/squid.conf nach dem Punkt # Standard acls
und vor # Erlaube einen direkten Zugriff auf GServer03, Astaro-Box und auf weitere Maschinen in der DMZ
folgenden Code eingeben:
#Lehrer-PC freigeben
acl LehrerPC src "/etc/squid/lehrerpc.acl"
http_access allow LehrerPC
#Internetseiten sperren
acl bad url_regex "/etc/squid/squid-block.acl"
http_access deny bad
Die Datei lehrerpc.acl im Verzeichnis /etc/squid/ anlegen und die nicht zu filternden IP-Adressen eintragen:
10.1.253.254/255.255.255.255
10.1.254.249/255.255.255.255
Die Datei squid-block.acl im Verzeichnis /etc/squid/ erstellen und die zu sperrenden Internetseiten eintragen:
youtube
facebook
...
Diese Dateien sollten immer auf dem Server direkt editiert werden. Dort steht als Editor vim zur Verfügung. Alternativ kann der Dateimanager mc und der dort eingebeaute Editor (F4) verwendet werden.
ssh"
categories:
- “fernzugriff”
- “netzwerk” tags:
- “openssh”
Login auf einem entfernten Rechner
ssh -l user rechner
oder ssh user@rechner ssh -X user@rechner
mit X-Oberfläche einloggen
ssh -XC user@rechner
mit X-Oberfläche und Kompression einloggen
ssh user@rechner -X programm
startet ein Programm auf dem entfernten Rechner und leitet die X-Ausgabe auf den lokalen Rechner um.
Wenn der gespeicherte Fingerabdruck des anzumeldenden Rechners nicht mehr stimmt (neue Hardware oder Neuinstallation) muss die Datei known_hosts
bearbeitet werden und der betreffende Rechner gelöscht werden.
OpenSSH konfigurieren
Zur Konfiguration von openssh gibt es folgende Dateien:
- /home/user/.ssh/config
Konfigurationsdatei des ssh-Clients für den entsprechenden User. - /etc/ssh/ssh_config
Konfigurationsdatei des ssh-Clients für alle User. - /etc/ssh/sshd_config
globale Konfigurationsdatei des ssh-Servers
Server-Konfiguration
- Konfiguration anpassen (Beispiel s. u.):
sudo vim /etc/ssh/sshd_config
- SSH neu starten: sudo
/etc/init.d/ssh restart
oderserivce ssh restart
- öffentlicher Teil des User-Keyfile (siehe Client einrichten) hinzufügen:
cat id_dsa.pub >> ~/.ssh/authorized_keys
- Rechte beachten (siehe
chmod
):
Die Datei “authorized_keys” muss die Dateirechte 600 haben
Das Home-Verzeichnis des Users muss die rechte 700 haben
Client-Konfiguration
- Konfiguration anpassen (Beispiel s. u.):
sudo vim /etc/ssh/ssh_config
vim /home/user/.ssh/config
- Keypaar (id_rsa und id_rsa.pub) generieren:
ssh-keygen -b 2048 -t rsa
- öffentlichen Key id_rsa.pub auf den Server kopieren und dort der authorized_keys hinzufügen (s.o.)
Achtung: Der Login über Publickey ist nur möglich, wenn das Home-Verzeichnis des Users die Rechte 700 hat!
Konfigurationsdateien:
/home/user/.ssh/config
# Bezeichnung des Zielrechners
Host <Aufrufname>
# Zielrechner
Hostname <IP Hostrechner>
# Username auf Zielrechner
User <username>
# immer eine X11-Verbindung aufbauen
ForwardX11 yes
# Kompression aktivieren
Compression yes
# Port für Verbindung
Port 22
Danach kann die ssh-Verbindung ganz einfach über ssh <Aufrufname>
aufgebaut werden.
/etc/ssh/ssh_config (Client-Konfiguration)
In der Regel ist die von der Grundinstallation vorhandene Datei für die meisten Fälle bereits passend konfiguriert. Anpassungen sind nur bei Bedarf notwendig.
/etc/ssh/sshd_config (Server-Konfiguration)
In der Regel ist die von der Grundinstallation vorhandene Datei für die meisten Fälle bereits passend konfiguriert. Anpassungen sind nur bei Bedarf notwendig und sollten mit Bedacht erfolgen, da die Sicherheit entscheidend von der richtigen Parametrierung abhängt.
Root-Login aktivieren
Sofern ein Root-Login gewünscht wird, kann dieser über PermitRootLogin
aktiviert werden:
PermitRootLogin no
- Root-Zugang verboten
PermitRootLogin yes
- Root kann sich mit Passwort einloggen
PermitRootLogin prohibit-password
- (vor OpenSSH 7.0: PermitRootLogin without-password
) Root kann sich nur bei gültiger PublicKey-Datei einloggen
Strict-Mode
Der Strict-Mode wird über StrictModes yes
aktiviert. Hierbei werden die korrekten Dateirechte der Keyfiles und der Verzeichnisse berücksichtigt und lässt einen SSH-Zugang nur zu, wenn diese korrekt gesetzt sind (siehe Abschnitt Serverkonfiguration).
X11-Forwarding
wird über X11Forwarding yes
aktiviert.
Standard Browser einstellen"
categories:
- “internet”
- “system”
Mit dem Befehl update-alternatives --list gnome-www-browser
werden alle verfügbaren Browser angezeigt. Der Befehl update-alternatives --display gnome-www-browser
zeigt den eingestellen Standard-Browser an.
sudo update-alternatives --set gnome-www-browser /usr/bin/firefox
setzt den Firefox als Standard.
startx"
categories:
- “system”
- “x-server”
eine weitere grafische Oberfläche starten: startx -- :1
stat"
categories:
- “auflisten-analysieren”
- “dateien-verzeichnisse”
Zeigt den Status einer Datei an. Damit lassen sich umfangreiche Informationen über eine Datei auslesen. Z.B. der Zeitstempel der Erstellung: stat -c%y datei
Status der installierten Pakete"
categories:
- “kompilieren-installieren”
In der Datei /var/lib/dpkg/status
wird der Status aller installieren Pakete (apt/dpkg) gesammelt. Bei Abhängigkeitsproblemen können diese hier editiert werden. Nur im Notfall anwenden, wenn man genau weiß, was man tut!
strace"
categories:
- “prozessverwaltung”
strace prozess
verfolgt Systemcalls und Signale eines Prozesses
Stream speichern"
categories:
- “audio”
- “multimedia”
- “video” tags:
- “iptables”
- “rtmpdump”
- “rtmpsrv”
- “stream”
- “video-2”
Um einen Videostream zu speichern kann man das Programm rtmpdump nutzen. Zuerst leitet man mit den IPTABLES die Anfrage um: sudo iptables -t nat -A OUTPUT -p tcp --dport 1935 -j REDIRECT
Dann startet man den rtmp-Server: sudo rtmpsrv
Den Stream im Browser starten und den Befehl zum streamen im Terminal abwarten. rtmpsrv mit Strg-C beenden IPTABLES zurücksetzen: sudo iptables -t nat -D OUTPUT -p tcp --dport 1935 -j REDIRECT
Den Stream mit dem Befehl aus dem Terminal herunterladen: sudo rtmpdump ....
Strg-Alt-Entf zum Beenden"
categories:
- “xfce”
Unter Settings/Tastatur/Tastaturkürzel lässt sich Strg-Alt-Entf mit dem Befehl xfce4-session-logout
wieder zum Herunterfahren des Systems bewegen.
Stringbearbeitung (Variablen)"
categories:
- “shell”
- “skripte”
- “stringbearbeitung”
Aufruf | Beschreibung |
${name:n:m} | liefert Teil eines Strings n = Offset, negativ = vom Ende her (in diesem Fall muss ein Leerzeichen vor dem Minus stehen!) m = Anzahl (kann entfallen) |
${name#a} | entfernt den Anfang, wenn dieser mit a übereinstimmt a = Suchstring (Windcards (?,*) sind erlaubt) |
${name##*a} | entfernt alle Übereinstimmungen mit a vom Anfang her a = Suchstring (Windcard "*" notwendig!) |
${name%a} | entfernt das Ende, wenn dieses mit a übereinstimmt a = Suchstring (Windcards (?,*) sind erlaubt) |
${name%%a*} | entfernt alle Übereinstimmungen mit a vom Ende her a = Suchstring (Windcard "*" notwendig!) |
${name/s/e} | Suchen / Ersetzen (erste Fundstelle) s = Suchstring (Windcards (?,*) sind erlaubt) e = Ersatzstring (kann entfallen -> Suchstring wird entfernt) |
${name//s/e} | Suchen / Ersetzen (alle Fundstellen) s = Suchstring (Windcards (?,*) sind erlaubt) e = Ersatzstring (kann entfallen -> Suchstring wird entfernt) |
${name:-a} | Standardwert zurückgeben gibt den Wert "a" zurück, wenn die Variable "name" leer ist |
${name:=a} | Standardwert setzen und zurückgeben gibt den Wert "a" zurück und weist diesen der Variablen "name" zu, wenn die Variable "name" leer ist |
${name:?a} | Fehlermeldung und Programmabbruch Wenn die Variable "name" leer ist, wird die Fehlermeldung "a" ausgegeben und das Skript beendet. |
${name:+a} | liefert "a", wenn "name" nicht leer ist mit dieser Funktion kann z.B. ein "/" eingefügt werden, wenn eine Datei übergeben wird (z.B. $HOME${datei:+/}$datei ) |
stty"
categories:
- “konsole”
- “shell”
Setzen und Abfragen der Terminaleinstellungen.
su"
categories:
- “benutzer-gruppen”
als Superuser (root) anmelden. Das Admin-Passwort wird abgefragt. Mit exit
wieder beenden.
Subversion"
categories:
- “kompilieren-installieren” tags:
- “svn”
Quelltext herunterladen, der mit Subversion verwaltet wird: svn checkout svn://udo-open-source.org/UDO/trunk
Suche in Menüleiste"
categories:
- “wordpress”
In WordPress kann das Suchfeld ins Menü eingefügt werden, indem folgender Code in die Datei function.php des Themes eingefügt wird.
/* automatisch ein Suchfeld zum wp-nav-menu hinzufügen. */
add_filter('wp_nav_menu_items','add_search_box', 10, 2);
function add_search_box($items, $args) {
ob_start();
get_search_form();
$searchform = ob_get_contents();
ob_end_clean();
$items .= '<li>' . $searchform . '</li>';
return $items;
}
sudo"
categories:
- “benutzer-gruppen” tags:
- “sudo”
- “sudoers”
Ein Befehl wird als root ausgeführt: sudo Befehl
Unter ubuntu ist es üblich alle administrativen Aufgaben mittels sudo vorzunehmen (da der Benutzer Root standardmäßig nicht exisitert).
Programme immer mit superuser-Rechten starten: Eintrag in /etc/sudoers:
User_Alias NAME=stefan
Cmnd_Alias BACKUP=/usr/bin/multicd
NAME ALL = BACKUP
Achtung: Die Dateien /etc/sudoers
stets mit visudo editieren!
Beispieldatei:
# /etc/sudoers
# This file MUST be edited with the 'visudo' command as root.
# See the man page for details on how to write a sudoers file.
Defaults env_reset
# Host alias specification
# User alias specification
# Cmnd alias specification
Cmnd_Alias ISOFILM = /bin/mkdir /media/ISO-Film, /bin/rm -r /media/ISO-Film
Cmnd_Alias ISOFILE = /bin/mkdir /media/ISO-File, /bin/rm -r /media/ISO-File
Cmnd_Alias BURN = /usr/bin/cdrecord, /usr/bin/cdrdao
# User privilege specification
root ALL=(ALL) ALL
petri ALL=(ALL) ALL
petri ALL=NOPASSWD: /bin/mount,/bin/umount,ISOFILM,ISOFILE
sum"
categories:
- “auflisten-analysieren”
ermittelt die MD5-Checksumme von Dateien: sum
oder auch md5sum
SuSE-Linux"
categories:
- “suse”
Download unter http://de.opensuse.org/
swap"
categories:
- “dateisysteme”
- “einhangen”
- “partitionieren-formatieren-kopieren”
Auslagerungsdatei, deren Größe der doppelte Arbeitsspeicher, aber max. 512MB sein sollte. swapon -a
und swapoff -a
swap-Partition an/ausschalten -a alle Swap-Partitionen aus der fstab -s Auslastung der Swap-Partitionen anzeigen
Synaptic"
categories:
- “kompilieren-installieren”
- “programme”
- “verschiedendes” tags:
- “schnellsuche”
Wenn die Schnellsuche in Synaptic fehlt: sudo apt-get install apt-xapian-index
sudo apt-get install apt aptitude synaptic --reinstall
Nach einem Systemneustart steht die Schnellsuche zur Verfügung.
Wenn die Erstelling des Index sehr lange dauert, hilft ein: sudo update-apt-xapian-index
sync"
categories:
- “einhangen”
gepufferte Daten auf die Festplatte/Diskette schreiben (bevor man einen Datenträger aushängt)
System-Apps deaktivieren (Samsung Galaxy)"
categories:
- “android-distributionen”
- “distributionen”
System-Apps können ohne ein Handy zu rooten nicht deinstalliert jedoch deaktiviert werden.
Möchte man einiges der Google- und Samsung Apps loswerden, so können folgende Apps auf einem Samsung Galaxy SIII Mini problemlos deaktivert werden:
- Bubbles
- ChatON
- Chrome
- Gmail
- Google Play Books
- Google Play Magazines
- Google Play Movies
- Google Play Music
- Google+
- S Planner
- S Planner-Widget
- S Suggest
- S Voice
- Samsung Apps
- Samsung Backup Provider
- Samsung Browser Sync ….
- Samsung Cloud Data Relay
- Samsung Contact Sync …
- Samsung Push Service
- Samsung Syncadapters
- Samsung-Konto
- Talk
- TalkBack
- Video Hub
- Weather daemon
- Weather Widget
- Weather Widget Main
- Yahoo! Finance Daemon
- Yahoo! Finanzen
- Yahoo! News
System-Rescue-CD"
categories:
- “system-rescue-cd”
Download von http://www.sysresccd.org
Bootparameter
- ntpasswd: Windows-Passwörter ändern
- hdt: Systemdiagnose
- memtest: Speichertest
- freedos: DOS
- mhdd Hard Disk Drive Diagnose
- grubdisk: Super Grub Disc
Systemauslastung"
categories:
- “system-programme”
kcpuload / conky
SystemRescueCD auf USB-Stick installieren"
categories:
- “system-rescue-cd”
- Von der CD booten
- Den USB-stick einstecken und 5 Sekunden warten
- Schreibe
sysresccd-usbstick listdev
um die USB-Device anzuzeigen - Schreibe
sysresccd-usbstick writembr xxx
xxx ist der Name der USB-Device - Schreibe
sysresccd-usbstick format xxx
xxx ist der Name der Partition auf der Device - Schreibe
sysresccd-usbstick copyfiles xxx
xxx ist der Name der Partition auf der Device - Schreibe
sysresccd-usbstick syslinux xxx
xxx ist der Name der Partition auf der Device
oder
mkdir -p /tmp/cdrom
sudo mount -o loop,exec /path/to/systemrescuecd-x86-x.y.z.iso /tmp/cdrom
cd /tmp/cdrom
sudo umount /dev/sdc1
xterm
sudo bash ./usb_inst.sh
SystemRescueCD von Festplatte starten"
categories:
- “system-rescue-cd”
Wird die SystemRescueCD für regelmäßige Systembackups benötigt, so kann diese auf der Festplatte installiert und über Grub gestartet werden. Hierzu sind folgende Schritte notwendig:
- Auf einer Partition (die später nicht gesichert werden soll!) den Ordner
/sysrcd
erstellen - Aus dem ISO-File der SystemRescureCD die Dateien
/sysrcd.dat, . /sysrcd.md5, /isolinux/initram.igz
und/isolinux/rescuecd
direkt in den Ordner/sysrcd
kopieren. - Grub anpassenFolgende Zeilen in
/boot/grub/menu.lst
einfügen:title SystemRescueCd root (hd1,1) kernel /sysrcd/rescuecd subdir=sysrcd setkmap=de vga=791 initrd /sysrcd/initram.igz boot - Folgende Einträge müssen angepasst werden:
-
root (hdx,x) Hierbei beachten, dass Grub bei “0” beginnt zu zählen: hdb2 = (hd1,1)! !alias VGA-Modus !alias Framebuffer
-
vga=xxx
Farbtiefe 640x480 800x600 1024x768 1280x1024 8 bit 769 771 773 775 15 bit 784 787 790 793 16 bit 785 788 791 794 24 bit 786 789 792 795
-
Tab-Autovervollständigung auch als sudo"
categories:
- “konfigurationsdateien”
- “shell” tags:
- “autovervollstandigung”
- “complete”
Wenn als sudo die Autovervollständigung nicht funktioniert, dann muss die ~/.bashrc um fogende Zeilen ergänzt werden:
if [ "$PS1" ]; then
complete -cf sudo
fi
tail"
categories:
- “ausgabe”
Die letzten 10 Zeilen einer Datei auf Standardausgabe ausgeben tail -f datei
verfolgt die Änderungen in einer Datei (gut für Log-Files) tail -n xx datei
gibt die letzten xx-Zeilen aus
tar"
categories:
- “archive”
- “kopieren-umbenennen-loschen”
tar -xzvf Datei.tar.gz
entpackt die Datei tar -czvf backup.tar.gz /home /etc
sichert die Verzeichnisse /home und /etc in das Archiv backup Dateibäume in ein Archiv schreiben
Dateien mit Rechten kopieren: cd quelle tar cf - . | (cd ziel;tar xvf -)
Kopie über das Netzwerk: tar -cz * | ssh server "cat - > /backups/backup.tgz"
Aufteilen auf mehrere Disketten: tar cMvf /dev/fd0 *
sichert alle Dateien im Verzeichnis auf mehrere Disketten und tar xMvf /dev/fd0 *
packt diese wieder aus
Archive mit mehr als 1 GB: tar cvf - quelle | gzip > archiv.tar.gz
tar xzvf archiv.tar.gz
Parameterübersicht:
-c | Ein neues Archiv erzeugen. |
-d | Dateien im Archiv und im Dateisystem miteinander vergleichen. |
-f | Archiv in angegebene Datei schreiben. / Daten aus angegebener Datei lesen. |
-j | Archiv zusätzlich mit bzip2 (de)komprimieren. |
-J | Archiv zusätzlich mit xz (de)komprimieren. |
-k | Das Überschreiben existierender Dateien beim Extrahieren aus einem Archiv verhindern. |
-p | Zugriffsrechte beim Extrahieren erhalten. |
-r | Dateien an ein bestehendes Archiv anhängen. (nur bei nicht gepackten Archiven!) |
-t | Inhalt eines Archivs anzeigen. |
-u | Nur Dateien anhängen, die jünger sind als ihre Archiv-Version. |
-v | Ausführliche Ausgabe aktivieren. Hierbei ist zu beachten, dass man dies möglichst an den Anfang des Befehls anhängt, wenn mehrere Optionen kombiniert werden. z.B. -cfv würde zu einer Fehlermeldung führen. Korrekt wäre -vcf |
-w | Jede Aktion bestätigen. |
-x | Dateien aus einem Archiv extrahieren. |
-z | Archiv zusätzlich mit gzip (de)komprimieren. |
-Z | Archiv zusätzlich mit compress (de)komprimieren. |
-A | Inhalt eines bestehenden Archivs in ein anderes Archiv kopieren. |
-M | Mehrteiliges Archiv anlegen/anzeigen/extrahieren. |
-L | Medium wechseln, wenn ZAHL KBytes geschrieben sind. |
-W | Archiv nach dem Schreiben prüfen. |
Taschenrechner"
categories:
- “dienstprogramme”
kcalc speedcrunch
Tastatur reagiert unter KDE nicht mehr"
categories:
- “kde”
/usr/share/services/kaccess.desktop
verschieben nach /root
und /tmp/
leeren
Tastaturbefehle (BASH)"
categories:
- “konsole”
- “shell”
- “sonstiges-shell”
Wort-Befehle
Esc b | Ein Wort zurück bewegen |
Esc f | Ein Wort vor bewegen |
Strg-W | Das Wort links vom Cursor löschen |
Esc d | Das Wort unter dem Cursor löschen |
Strg-Y | Das zuletzt gelöschte Wort zurückholen (»yank«) |
Zeilenbefehle
Strg-A | Cursor am Zeilenanfang positionieren |
Strg-E | Cursor am Zeilenende positionieren |
Strg-K | Vom Cursor bis zum Zeilenende alle Zeichen löschen |
Diverse andere Befehle
Strg-T | Vertauscht das unter dem Cursor stehende Zeichen mit seinem linken Nachbarn |
Strg-U | Löscht alle Zeichen vom Zeilenanfang bis zum Cursor |
Strg-V | Das nächste eingegebene Zeichen wird maskiert, d. h. seiner besonderen Bedeutung beraubt |
Strg-C | Unterbricht das gerade laufende Kommando |
Strg-S | Bildschirmausgabe anhalten |
Strg-Q | Gehaltene Bildschirmausgabe fortsetzen |
Tastaturblock einschalten"
categories:
- “xfce”
Erstelle unter ~/.config/autostart/
eine Datei namens numlockx_on.desktop
mit folgendem Inhalt:
[Desktop Entry]
Encoding=UTF-8
Name=Ziffernblock anschalten
Exec=numlockx on
Terminal=false
Tastaturkürzel in LXDE"
categories:
- “lxde”
Die Tastaturkürzel unter LXDE werde in der Datei /home/
A- bedeutet Alt C- bedeutet Ctrl S- bedeutet Shift W- bedeutet die “Windows-Taste
Tastaturlayout”
categories:
- “hardware”
- “system” tags:
- “loadkeys”
- “setxkbmap”
Mit setxkbmap -layout de
lässt sich das Tastaturlayout vorübergehend auch deutsch umstellen Für Systeme ohne grafische Oberfläche geht dies mit loadkeys de
tcpdump"
categories:
- “netzwerk”
- “analysieren-und-informationen”
tcpdump port 80
protokolliert alles, was über den http-Port geht tcpdump host 192.168.0.1
überwacht einen bestimmten Rechner
Teamviewer"
categories:
- “prozessverwaltung”
- “system”
Teamviewer-Daemon beenden
Teamviewer hat ständig einen Dienst am Laufen, der nicht in den üblichen Startprogrammen erscheint. Lösung:
sudo teamviewer --daemon stop
sudo teamviewer --daemon disable
Bei Bedarf wird der Daemon einfach per Hand gestartet:
sudo teamviewer --daemon start
Teamviewer hängt beim Herunterfahren Mitunter kommt es vor, dass der Teamviewer beim Herunterfahren 90 Sekunden auf seinen Timeout wartet. Diese Zeit lässt sich verkürzen, indem man in der Datei: ./etc/systemd/system/teamviewer/teamviewerd.service
unter dem Punkt [Service] folgende Zeile hinzufügt: TimeoutStopSec=5s
Dann wartet er nur noch 5 Sekunden.
Installation auf 64bit-Systemen Da die ia32-libs nicht mehr verfügbar sind, zunächst dpkg --add-architecture i386 apt-get update
dann die i386-Version installieren.
tee"
categories:
- “ein-ausgabeumlenkung”
- “shell”
Der Befehl tee
gibt die Standardeingabe auf die Standardausgabe und in eine Datei aus.
ls -l | tee liste.txt
gibt den Inhalt des aktuellen Verzeichnisses auf die Standardausgabe und in eine Datei aus.
Telekom Mediencenter"
categories:
- “netzwerk”
- “online-speicher”
- “xfce”
Zugriff über WebDAV: davs://webdav.mediencenter.t-online.de/
Webseite: http://mediencenter.t-online.de/
tellico"
categories:
- “buroprogramme”
Die persönlichen Einstellungen (auch den Zugang für die Amazon-Suche) speichert tellico unter ~/.kde/share/config/tellicorc
Damit die Suche bei Amazon funktioniert muss eine Anmeldung bei Amazon erfolgen: https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html
Suche hinzufügen:
- Unter Einstellungen / Tellico einrichten / Datenquellen einen neuen Eintrag anlegen. (Amazon nennen)
- Art der Quelle: “Amazon.com Web Services”
- Klick auf “Sign up for an account” und mit Amazon-Benutzerdaten anmelden. Den Anweisungen folgen und dan “Access key” und “Secret key” in ttellico eingeben.
test […]"
categories:
- “abfragen”
- “auflisten-analysieren”
- “dateien-verzeichnisse”
- “shell”
- “skripte”
- “sonstiges-shell” tags:
- “test”
Der Befehl test dient zum Überprüfen von Dateitypen bzw. Vorhandensein von Dateien und zum Vergleichen von Werten. Der Aufruf erfolgt mit test Vergleich
wobei Vergleich die Prüfung bzw. den Vergleich enthält. Als Ergebnis gibt test 0 für Wahr (true) und 1 für Falsch (false) zurück. Der Rückgabewert wird mit Hilfe der Shelleigenen Variablen $? ermittelt. Es gibt Vergleiche für Dateien, Zeichenketten und Integer-Zahlen.
Anstatt des Befehls test
kann die Bedingung auch in eckige Klammern gesetzt werden. Hierbei ist darauf zu achten, dass zwischen den Klammern und dem Vergleich jeweils ein ein Leerzeichen steht: [ Vergleich ]
Dateitests:
-b Datei | Die Datei existiert und ist ein blockorientiertes Gerät |
-c Datei | Die Datei existiert und ist ein zeichenorientiertes Gerät |
-d Datei | Die Datei existiert und ist ein Verzeichnis |
-f Datei | Die Datei existiert und ist eine reguläre Datei |
-g Datei | Die Datei existiert und das Gruppen-ID-Bit ist gesetzt |
-h Datei | Die Datei existiert und ist ein symbolischer Link |
-k Datei | Die Datei existiert und das Sticky-Bit ist gesetzt |
-p Datei | Die Datei existiert und ist eine Named Pipe |
-r Datei | Die Datei existiert und ist lesbar |
-s Datei | Die Datei existiert und ist nicht leer |
-t [n] | Der offene Dateideskriptor n gehört zu einem Terminal; Vorgabe für n ist 1. |
-u Datei | Die Datei existiert und das Setuid-Bit ist gesetzt |
-w | Datei Die Datei existiert und ist beschreibbar |
-x | Datei Die Datei existiert und ist ausführbar |
Zeichenfolgen:
-n s1 | Die Länge der Zeichenfolge s1 ist ungleich Null |
-z s1 | Die Länge der Zeichenfolge s1 ist gleich Null |
s1 == s2 | Die Zeichenfolgen s1 und s2 sind identisch |
s1 != s2 | Die Zeichenfolgen s1 und s2 sind nicht identisch |
Zeichenfolge | Die Zeichenfolge ist nicht Null |
Ganzzahlvergleiche:
n1 -eq n2 | n1 ist gleich n2 |
n1 -ge n2 | n1 ist größer oder gleich n2 |
n1 -gt n2 | n1 ist größer als n2 |
n1 -le n2 | n1 ist kleiner oder gleich n2 |
n1 -lt n2 | n1 ist kleiner n2 |
n1 -ne n2 | n1 ist ungleich n2 |
Kombinierte Formen:
(Bedingung) | Wahr, wenn die Bedingung zutrifft (wird für die Gruppierung verwendet). Den Klammern muss ein \ vorangestellt werden. |
! Bedingung i | Wahr, wenn die Bedingung nicht zutrifft (NOT). |
Bedingung1 -a Bedingung2 | Wahr, wenn beide Bedingungen zutreffen (AND). |
Bedingung1 -o Bedingung2 | Wahr, wenn eine der beiden Bedingungen zutrifft (OR). |
Einzelne Befehle in Abhängigkeit von Bedingungen:
&& | wird ausgeführt, wenn Bedingung wahr ist |
|| | wird ausgeführt, wenn Bedingung nicht wahr ist |
Beispiel: [ Bedingung ] && echo Bedingung ist wahr || echo Beindung ist nicht wahr
testdisk"
categories:
- “partitionieren-formatieren-kopieren”
- “prufen-reparieren”
Mit testdisk
von z.B. der System-Rescue-CD lassen sich zerstörte Partitionsbelegungen wiederherstellen.
Texterkennung"
categories:
- “buroprogramme”
- “grafik”
clara / gocr / tesseract
Thumbnails löschen"
categories:
- “kde”
find /home/*/.thumbnails/ -type f -atime +14 -print0 | xargs -0 rm
löscht alle thumbnails, die älter als 14 Tage sind.
thunar"
categories:
- “xfce” tags:
- “dropbox”
Thunar startet sehr langsam:
In der Datei /usr/share/gvfs/mounts/network.mount den Eintrag AutoMount auf false stellen.
Die Menüleiste lässt sich mit Strg-M an- und abschalten.
Suche mit gnome-search-tool statt mit catfish:
- Im Thunar Menü-> Bearbeiten/Benutzerdefinierte Einstellungen
- Klicke auf des Plus-Symbol
- Name: “Suche”
- Befehl: gnome-search-tool –path=%f
- OK anklicken
Dropbox in Thunar einbinden:
Thunar kann, im Gegensatz zu Nautilus standardmäßig nicht direkt mit Dropbox kommunizieren. Über ein Plugin lässt sich diese Funktion nachrüsten:
Download unter: http://softwarebakery.com/maato/thunar-dropbox.html
Aktionen bei Rechtsklick werden unter ~/.config/thunar/uca.xml
abgespeichert.
Thunderbird"
categories:
- “internet”
- “programme” tags:
- “e-mail”
Um in Thunderbird Ordner mit eigenen Suchkriterien (z.B. alle ungelesenen E-Mails aller Konten) zu erstellen geht man folgendermaßen vor:
- Bearbeiten - Suchen - Nachrichten suchen
- Bedingung eingeben (für alle ungelesenen: Status - ist nicht - Gelesen)
- Als virtuellen Ordner speichern
- Rechtsklick auf den erstellen Ordner - Eigenschaften
- “Diese Ordner durchsuchen” für weitere Ordner, die durchsucht werden sollen
Lightning
Gute Kalender-Erweiterung für Thunderbird. In Lightning können Google-Kalender direkt eingebunden werden. Installiert wird Lightning als Addon.
Die Debian-Variante von Lightning heißt iceowl. Um diese auf die deutsche Sprache umzustellen, geht man folgendermaßen vor:
- Download von lightning unter ftp://ftp.mozilla.org/pub/calendar/lightning/releases/2.6.4/linux/
- Entpacken der Datei
lightning.xpi
- Die Datei
chrome.manifest
nach/usr/lib/iceowl-extensions/
kopieren - Die Dateien
/chrome/calendar-de.jar
und/chrome/lightning-de.jar
nach/usr/lib/iceowl-extensions/chrome
kopieren
Zum benutzerdefinierten Anpassung der Kalenderfarben muss folgende Datei angelegt werden: /home/user/.thunderbird/*.default/chrome/userChrome.css
/** Week View: colored weekend **/
#week-view calendar-header-container[weekend="true"],
#week-view .calendar-event-column-linebox[weekend="true"] {
background: #FF6633 !important;
}
/** Multiweek View, Month View: colored weekend **/
.calendar-month-day-box-day-off {
background: #FF6633 !important;
}
.calendar-month-day-box-day-off .calendar-month-day-box-date-label {
background-color: #0033FF !important;
}
/** Month View: keep original color for other-month-days **/
.calendar-month-day-box-other-month {
background: #DFDFDF !important;
}
/**restore style rules for “today” **/
#week-view calendar-header-container[relation="today"],
#week-view .calendar-event-column-linebox[relation="today"] {
background: #DFEAF4 !important;
}
.calendar-month-day-box-current-month[relation="today"],
.calendar-month-day-box-day-off[relation="today"],
.calendar-month-day-box-other-month[relation="today"],
.calendar-month-day-box-date-label[relation="today"] {
background: #DFEAF4 !important;
}
/** restore style rules for “selected” **/
#week-view calendar-header-container[selected="true"],
#week-view .calendar-event-column-linebox[selected="true"] {
background: #FFE79C !important;
}
.calendar-month-day-box-current-month[selected="true"],
.calendar-month-day-box-day-off[selected="true"],
.calendar-month-day-box-other-month[selected="true"] {
background: #FFE79C !important;
}
.calendar-month-day-box-date-label[selected="true"] {
background-color: #F7E093 !important;
}
Dieser Tip kommt von: http://oyox.de/
Persönliches Adressbuch abschalten
In der Datei prefs.js folgende Zeilen hinzufügen:
user_pref(“ldap_2.servers.pab.description”, “”); user_pref(“ldap_2.servers.history.description”, “”);
TightVNC"
categories:
- “fernzugriff”
- “netzwerk” tags:
- “vnc”
apt-get install tightvncserver xtightvncviewer
Server
einen VNC-Server auf Display 5 starten: vncserver :5
beim ersten Start (des jew. Users) wird ein Passwort für den Login gesetzt einen VNC-Server auf Display 5 beenden: vncserver -kill :5
Client
Mit einem VNC-Server auf Display 5 (mit hoher Kompression) verbinden: vncviewer -bgr233 -compresslevel 9 -depth 8 -quality 0 server.domain:5
time"
categories:
- “auflisten-beenden”
Zeitmessung von Prozessen
timeout"
categories:
- “auflisten-beenden”
timeout 60 Befehl
lässt einen Befehl für 60 Sekunden lang ausführen und beendet ihn dann.
TinyMCE Formatvorlagen durch code ergänzen"
categories:
- “wordpress”
in die Datei functions.php folgenden code anhängen:
function fb_change_mce_buttons( $initArray ) {
//@see http://wiki.moxiecode.com/index.php/TinyMCE:Control_reference
$initArray['theme_advanced_blockformats'] = 'p,address,pre,code,h3,h4,h5,h6';
$initArray['theme_advanced_disable'] = 'forecolor';
return $initArray;
}
add_filter('tiny_mce_before_init', 'fb_change_mce_buttons');
Tolino Shine/Vision einrichten"
categories:
- “buroprogramme”
- “multimedia”
- “multimedia-programme”
- “programme” tags:
- “adobedigitaledition”
- “calibre”
- “drm”
- “e-book”
- “ebola”
- “ebook”
- “projekt-gutenberg”
- “tolino”
- “zeno”
Notwendige Programme:
- Calibre (Bücher verwalten, konvertieren und übertragen)
- Ebola (kostenlose Bücher von “Projekt Gutenberg” und “Zeno”)
- Adobe DigitalEdition (Notwendig zum Download von Büchern mit dem Adobe-DRM)
Calibre sollte in der aktuellsten Version direkt von der Homepage installiert werden, da die Version in den gängigen Quellen oft zu alt ist und den Tolino nicht unterstützt ( http://calibre-ebook.com/download_linux - am Ende der Seite werden die Paket-Abhängigkeiten aufgeführt). In den Versionen ab 1.34 unterstützt Calibre den Tolino als “Generic e-ink device”.
Ebola ist in der Regel nur direkt auf der Homepage erhältlich ( http://lbremer.de/ebola.html) . Damit auch Bücher von Zeno heruntergeladen werden können, muss zusätzlich noch Cextra installiert werden. Dieses Tool ist jedoch kaum zu finden und zur Zeit eigentlich nur unter folgendem Link verfügbar: http://www.mobileread.com/forums/attachment.php?attachmentid=105523&d=1367924885 . Die Java-Datei cextra.jar in das Ebola-Verzeichnis kopieren und diesen Pfad in Ebola unter Einstellungen/Cetra-Pfad auswählen. Die aktuellen Buchlisten können über die “Bearbeiten → Buchliste → Update …” Einträge im Menü aktualisiert werden (dauert sehr lange!). Ebola speichert die heruntergeladenen Bücher im Ebola-Verzeichnis unter “output”.
Adobe DigitalEdition läuft unter Linux mit Wine-HQ zusammen mit Wine-Mono. Wichtig ist, dass Wine-HQ in einer aktuellen Version (>= 1.7) und Wine-Mono (>=4.5) installiert wird. Es kann vorkommen, dass die aktuelle Version von Adobe DigitalEdition (3.0) nicht installiert werden kann bzw. dann beim Start mit Fehlermeldungen abstürzt. Es gibt auch ältere Versionen (z. B. 2.0) die problemlos laufen ( http://download.adobe.com/pub/adobe/digitaleditions/ADE_2.0_Installer.exe ). Die Kompatibilität der Versionen kann sich jedoch ständig ändern, daher einfach zunächst mit der aktuellen Version testen).
Die Installation kann auch ganz einfach über winetricks installiert werden. Dort einfach “Install an app” und dann “adobe_diget” auswählen.
Beim Download eines gekauften Buchs, die acsm-Datei direkt an Adobe DigitalEdition übergeben lassen, dann wird das Buch im Home-Verzeichnis automatisch unter “My Digital Editions” gespeichert und kann dann von Calibre importiert werden.
Notwendig ist jetzt noch eine Adobe-ID, die direkt über Adobe zu beziehen ist ( https://www.adobe.com/de → Bei meinem Adobe-Konto anmelden → Sie haben noch keine Adobe-ID?).
top"
categories:
- “auflisten-beenden” tags:
- “htop”
- “top”
Auflistung aller Prozesse in Echtzeit incl. Prozessorauslastung etc.
Eine ausführlichere Auflistung mit umfangreichen Einstellungsmöglichkeiten hat der Befehl htop.
tote Startmenüeintrage entfernen:"
categories:
- “wine”
In ~/.kde/share/applnk/Wine
und ~/.menu/wine
den String der exe löschen. In ~/.menu/icons
sind die Icons
Die Menüeinträge für Wine-Programme liegen in ~/.local/share/applications/wine/Programs/
.
touch"
categories:
- “dateirechte”
- “kopieren-umbenennen-loschen”
Datei erstellen - Attribute setzen touch datei.txt
erstellt eine leere Textdatei.
Touchpad"
categories:
- “xfce”
Aktivierung “linke-Maustaste-Klick” Damit der “linke-Maustaste-Klick” auf dem Touchpad funktioniert ist es notwendig die Datei /usr/share/X11/xorg.conf.d/50-synaptics.conf
folgendermaßen zu verändern:
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
Option "TapButton1" "1"
Option "VertEdgeScroll" "1"
EndSection
Touchpad beim Schreiben deaktivieren Die Deaktivierung des Touchpads über die Mauseinstellungen von xfce hat folgende Nachteile: Es wird sowohl das Klicken als auch die Mausbewegung deaktiviert und die Sperrzeit kann nicht eingestellt werden. Daher hier eine andere Lösung mit Hilfe von syndaemon.
- Variante 1: Das Touchpad während des Schreibens auf der Tastatur komplett deaktivieren:
syndaemon -i 2 -d
Option -i gibt die Sperrzeit in Sekunden an (falls hier eine Fehlermeldung erscheint, zusätzlich die Option -S verwenden) - Variante 2: Mausklicks des Touchpads beim Schreiben deaktivieren Es werden nur Mausklicks, die durch Berührung des Touchpads ausgelöst werden, während des Schreibens auf der Tastatur zu deaktivieren. So kann man trotzdem schnell zwischen Tastatur und Touchpad wechseln und genauso komfortabel wie gewohnt arbeiten. Der dazu benötigte Parameter ist:
syndaemon -i 1 -d -t -K
Option -i gibt die Sperrzeit in Sekunden an Option -t deaktiviert nur die Mausklicks Option -K ignoriert Sondertasten und Sondertastenkombinationen
Bei Erfolg kann man das auch automatisch bei der Anmeldung geschehen lassen. Bitte beachten: Der Deamon darf nicht mehrfach gestartet werden. Daher vor dem neuen Start des Deamons den laufenden erst beenden!
Der Start über die crontab funktioniert nicht, da syndaemon innerhalb des entsprechenden X-Servers gestartet werden muss. Daher den Start am Besten über die Autostart-Funktion der Desktopumgebung ausführen lassen. Dies kann (wie unter Ubuntu) z. B. ein Desktop-Eintrag unter ~/.config/autostart/ sein.
Beispiel: ~/.config/autostart/syndaemon.desktop
[Desktop Entry]
Comment[en_US]=
Comment=
Exec=syndaemon -i 1 -d -t -K
GenericName[en_US]=
GenericName=
Icon=system-run
MimeType=
Name[en_US]=
Name=
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
Touchpad-Probleme beheben:
sudo su
echo options psmouse proto=exps > /etc/modprobe.d/psmouse.modprobe
reboot
tr"
categories:
- “stringbearbeitung”
- “vergleichen-sortieren”
Zeichen in Dateien ersetzen
Option | Bedeutung |
-d | Entfernt die Zeichen in Satz1 aus der Zeichenfolge |
-s | Entfernt mehrfache Vorkommen der Zeichen in Satz1 |
-c | Ersetzt die Zeichen, die nicht in Satz1 vorkommen |
Beispiele: cat file1 | tr altes_Wort neues_Wort > NeueDatei
tr -d ‘:’ < /etc/passwd liest /etc/passwd und entfernt aus diesem Zeichenstrom alle Doppelpunkte.
tr -s ‘\n’ ersetzt doppelte oder mehrfache Leerzeilen durch eine einzige.
tr “\n” " " < dateiname > neue_datei löscht alle Zeilenumbrüche
tr [:lower:] [:upper:] ersetzt alle Kleinbuchstaben aus der Standardeingabe durch Großbuchstaben und gibt das Ergebnis auf der Standardausgabe aus.
traceroute"
categories:
- “netzwerk”
- “analysieren-und-informationen”
traceroute IP-Adresse
zeigt den Weg durchs Netz zur angegebenen Adresse. sudo traceroute -T google.com
findet auch den Weg, wenn die ICMP-ECHO-Pakete gefiltert werden, denn die TCP-SYN-Pakete gehen im Normalfall auch durch Firewalls durch.
unter Suse gibt es statt traceroute mtr
tty"
categories:
- “konsole”
- “shell”
gibt das device des aktuellen Terminals aus (mit dem die Standardeingabe verbunden ist)
tune2fs"
categories:
- “hardware” tags:
- “dir_index”
- “festplatte”
- “journal”
Dateisystemparameter von ext2/ext3-Dateisystemen editieren.
Nach Änderungen am Dateisystem muss stets e2fsck -f
aufgerufen werden!
tune2fs -j
aktiviert auf einem ext2-Dateisystem ein Journal (wie vom ext3-Dateisystem her bekannt) und macht somit aus dem ext2-Dateisystem praktisch ein ext3-Dateisystem.tune2fs -c 100 -i 180
setzt das Intervall, in dem das Dateisystem überprüft wird (sofern in der fstab aktiviert).-c 100
bedeutet nach 100 Mount-Vorgängen und-i 180
nach einem halben Jahr. Die Standardeinstellungen sind nämlich für Rechner, die oft neu gestartet werden, viel zu eng ausgelegt.tune2fs -o acl
Bestimmt Mountoptionen die immer verwendet werden (auch wenn dies bein Mounten anders angegeben wird).-o acl
sorgt z.B. dafür, dass das Dateisystem immer mit Unterstützung der Access Control List gemountet wird.tune2fs -L Name
setzt den Namen des Dateisystems auf “Name”. Dieser kann z.B. in der fstab verwendet werden.tune2fs -l /dev/xxx
zeigt die im Superblock gespeicherten Einstellungen des Dateisystems xxx an.tune2fs -O dir_index
speichert Dateinamen eines Verzeichnisses in einer Baumstruktur ab und beschleunigt somit die Performence auf großen Laufwerken deutlich. Anschließend kann die bestehende Dateistruktur mite2fsck -fD
auf dir_index umgestellt werden. Andernfalls wirkt sich die Option nur auf neue Dateien aus.
TV auf dem Kodi"
categories:
-
“distributionen-raspberry-pi”
-
“raspberry-pi” tags:
-
“kodi”
-
Einstellungen -> TV -> Allgemein -> Aktivieren
-
Einstellungen -> AddONs -> PVR-Clients - “PVR IPTV Simple Client“-AddOn aktivieren
-
Ort = Entfernter Pfad (Internetadresse)
-
EPG:
-
Logos:
-
Neustart
Twister OS”
categories:
- “desktop”
- “xfce”
Twister OS ermöglicht dem XFCE-Desktop sein Aussehen dem von Windows oder Apple anzupassen.
Download und Anleitung unter: https://twisteros.com/index.html
type"
categories:
- “auflisten-analysieren”
type Befehl
gibt den Speicherort des Befehls aus
Übergabeparameter auswerten (Beispielscript)"
categories:
- “shell”
- “skripte”
- “ubergabeparameter”
Einem Skript können Parameter übergeben werden. Hierzu werden üblicherweise [OPTIONS] verwendet, die entweder eine Funktion aktivieren oder auch einen zusätzlichen Parameter übergeben.
Mit folgendem Quelltext können Übergabeparameter ausgewertet werden:
#! /bin/bash
function err_text {
while [ $# -gt 0 ] ; do
echo "$1" 1>&2 # Ausgabe auf stderr
shift
done
echo "`basename $0` [-ab -c Wert -d Wert] file" 1>&2 # Ausgabe auf stderr
exit 1
}
# Sortieren und überprüfen der Parameter (":" bedeutet, dass der vorangestellte Parameter
# zusätzlich einen Wert benötigt)
set -- `getopt "abc:d:" "$@"` || err_text
# Startparameter setzen
variable_a=0
variable_b=0
variable_c=""
variable_d=""
# Parameter in Endlosschleife abfragen
# Bei Parametern mit Übergabeparameter muss stets ein "shift" ausgeführt werden!
while : ; do
case "$1" in
-a) variable_a=1;;
-b) variable_b=1;;
-c) shift; variable_c=$1;;
-d) shift; variable_d=$1;;
--) break;;
esac
shift
[ $# -eq 0 ] && break # Fehler in den angegebenen Parametern
done
shift
[ $# -lt 1 ] && err_text # kein Dateiname wurde übergeben
# Dateien abarbeiten
while [ $# -ge 1 ]; do
if [ -f "$1" ]; then
#
else
err_text "`basename $0` - Datei '$1' existiert nicht"
fi
shift
done
übergebene Parameter"
categories:
- “skripte”
- “ubergabeparameter” tags:
- “320”
- “321”
- “322”
- “323”
- “324”
- “325”
$# Anzahl der Parameter $1 1. Parameter $2 2. Parameter . . $n n. Parameter
$* oder $@ alle Parameter $? Rückgabewert des letzten Kommandos $$ Prozessnummer der aktiven Shell $! Prozessnummer des letzten Hintergrundprozesses ERRNO Fehlernummer des letzten fehlgeschlagenen Systemaufrufs PWD Aktuelles Verzeichnis (wird durch cd gesetzt) OLDPWD Vorheriges Verzeichnis (wird durch cd gesetzt)
übergebenen Pfad ermitteln bzw. abfragen"
categories:
- “shell”
- “skripte”
- “ubergabeparameter”
Überprüft, ob ein übergebener Pfad gültig ist. Wird kein Pfad übergeben, so wird einer über kdailog abgefragt.
if [ "$1" == "" ] ; then
dir=`kdialog --getexistingdirectory "$dir" --caption "ScaleImage"`
[ $? -eq 1 ] && exit
else
dir="$1"
[ -d "$dir" ] || dir="${1%/*}" # Dateinamen vom Pfad abtrennen
[ -d "$dir" ] || exit # kein gültiger Pfad
fi
ubuntu"
categories:
- “ubuntu” tags:
- “medibuntu”
Download von http://www.ubuntu.com
Derivate:
- kubuntu
- xubuntu
- lubuntu
Multimediafunktionen hinzufügen:
- Medibuntu-Quellen:
sudo -E wget --output-document=/etc/apt/ricted-sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet update
- Multimedia-Erweiterungen:
sudo apt-get install ubuntu-restricted-extras ubuntu-restricted-addons sudo apt-get install xubuntu-restricted-extras
UFW - uncomplicated firewall"
categories:
- “serversoftware” tags:
- “firewall”
- “ufw”
Einzelne Ports freigeben
ufw allow 8200/tcp ufw allow 1900/udp
IP-Bereich blockieren
ufw deny from 159.223.224.0/24
Einzelne Regeln löschen
Nach Nummer
Regeln mit Nummerierung anzeigen:
ufw status numbered
Regel nach Nummer “NUM” löschen:
ufw delete NUM
nach Protokoll/Port
ufw delete allow http ufw delete allow 80
Speicherort für die Regeln
/etc/ufw
/etc/ufw/user.rules
/etc/ufw/user6.rules
Auswerten der nextcloud.log
Das folgende Skript erst erstellt automatisch Deny-Regeln für die ufw auf Basis der Nextcloud-Logdatei. Das Script ist an die jeweilige Installation anzupassen und kann im ungünstigsten Fall auch berechtigte Benutzer aussperren.
#/bin/bash
# IP-Adressen mit fehlerhaften Nextcloud-Loginversuchen werden in ufw als "DENY" eingetragen und somit gesperrt
# Die Anzahl an ungültigen Login-Versuchen, die dabei ignoriert werden, kann mit der Variable "logcount" definiert werden.
# Variablen setzen
logcount="1,2,3" # Suchparameter für sed zum Löschen der Login-Versuche mit der angegebenen Anzahl
nclogfile="/var/www/nextcloud/nextcloud.log"
tmpfile1="/tmp/ufw_addIPfromNC_IPoutNC.txt"
tmpfile2="/tmp/ufw_addIPfromNC_IPoutUFW.txt"
tmpfile3="/tmp/ufw_addIPfromNC_IPaddtoUFW.txt"
tmpfile4="/tmp/ufw_addIPfromNC_whois.txt"
logfile="/var/log/ufw_addIPfromNC.log"
# NC-Logdatei auslesen
echo "IP-Adressen mit mehr als $logcount Fehlanmeldungen aus der Nextclud-Logdatei auslesen ..."
tail -n 1000 "$nclogfile" | grep "Trusted domain error" | awk '{print $4}' | tr -d '\\"' | sed "/192.*$/d" | sort -g | sed 's/\.[^.]*$/./' | uniq -c | sed "/.* [$logcount] .*$/d" | awk '{print $2}' | tee "$tmpfile1"
#- Anmerkungen -# Letzten 1000 Zeilen der NC-Logdatei auslesen | Fehlerhafte Loginversuche suchen | IP-Adressen ermitteln (spalte 4) | \ und " löschen | IP 192.x löschen | sortieren | Letzter Block der IP löschen | gleiche zählen | Zeilen mit $logcount-Versuchen löschen | nur IP-Adressen (Spalte 2) | in tmp-File speichern
# ufw "DENY"_liste auslesen
echo "In ufw bereits geblockte IP-Adressen auslesen ..."
ufw status | grep "DENY" | awk '{print $3}' | sort | sed 's/0\/24//g' | tee "$tmpfile2"
#- Anmerkungen -# ufw-Filterliste ausgeben | geblockte IPs | nur IP-Adresse | sortieren | "0/24" entfernen | in tmp-File speichern
# IP-Listen vergleichen
echo "Noch nicht geblockte IP-Adressen ermitteln ..."
diff "$tmpfile1" "$tmpfile2" | grep "<" | tr -d "< " | tee "$tmpfile3"
# Neue ufw-Regeln erstellen
echo "IP-Adressen in ufw eintragen ..."
while read IP; do
IPrange=$IP"0/24"
whois "$IP"1 > "$tmpfile4"
IP_name=$(cat "$tmpfile4" | grep -i -m 1 netname | awk '{print $2, $3, $4, $5, $6}')
IP_country=$(cat "$tmpfile4" | grep -i -m 1 country | awk '{print $2}')
echo $IPrange" ("$IP_name"- country: "$IP_country")"
echo "ufw deny from $IPrange"
resp=$(ufw deny from "$IPrange")
echo $resp
echo $(date "+%Y.%m.%d %H:%M:%S")" ["$resp"] "$IPrange" ("$IP_name"- country: "$IP_country")" >> $logfile
done < "$tmpfile3"
# Temporäre Dateien löschen
rm "$tmpfile1" "$tmpfile2" "$tmpfile3" "$tmpfile4" 2> /dev/null
exit
Uhr geht falsch"
categories:
- “hardware” tags:
- “hwclock”
- Als root einloggen.
- Die Datei /etc/adjtime löschen:
rm /etc/adjtime
, aber vorsichtshalber eine Kopie davon speichern - Mit dem Programm hwclock die Hardware-Uhr (RTC-Uhr) stellen:
hwclock --set --date="[monat]/[tag]/[jahr" href="stunde]:[min]:[sek]" --utc
- Die Systemuhr nach der Hardware-Uhr stellen:
hwclock --hctosys
- So gut wie fertig. Besser aber: Die Uhr irgendwann nochmal stellen Die Hardware-Uhr soll man nach einiger Zeit (frühestens einer Woche) nochmal stellen, denn sie geht von sich aus nicht besonders genau, aber so hat der Rechner zwei Werte, anhand deren er den Unterschied berechnen und ausgleichen kann.
uif2iso"
categories:
- “cds-dvds”
Konvertiert uif-Dateien nach iso-Dateien
Installation:
- Sourcecode herunterladen.
- uif2iso.zip entpacken
- installieren mit make / make install
Ultimate Boot CD"
categories:
- “distributionen”
- “ultimate-boot-cd” tags:
- “diagnose”
- “reparatur”
Eigentlich keine Distribution, aber die wohl umfassendste Diagnose- und Reparatur-CD Download von http://www.ultimatebootcd.com
umask"
categories:
- “dateirechte”
umask
ergibt die Zugriffsrechte für neue Dateien Als root kann in der Datei /etc/profile ein umask-Wert eingetragen werden. Der Wert 0077 lässt für neue Dateien nur deren Besitzer zu.
umount"
categories:
- “einhangen”
umount /media/cdrom
hängt das Laufwerk aus. Bei Hängern hilft umount -l /media/cdrom
uname"
categories:
- “systeminformationen”
Systeminformationen uname -a
Kernel-Version uname -r
uncompress"
categories:
- “archive”
Dateien mit der Endung .Z werden mit dem Befehl uncompress entpackt. Syntax: uncompress filename.tar.Z
unetbootin"
categories:
- “kompilieren-installieren”
- “verschiedendes”
Mit unetbootin lassen sich sehr einfach bootbare USB-Sticks mit einer beliebigen ISO-Datei einer Distribution erstellen.
uniq"
categories:
- “auflisten-analysieren”
- “ausgabe”
Identische, aufeinanderfolgende Zeilen nur einmal ausgeben. uniq -c
gibt die Häufigkeit der doppelten Zeilen aus
unison"
categories:
- “dateien-verzeichnisse”
- “kopieren”
- “kopieren-umbenennen-loschen”
- “netzwerk” tags:
- “synchronisieren”
Synchronistaionstool
Synchronisation mit GUI Aufruf: unison [profil]
Synchronisation ohne Beachtung der Berechtigungen: unison [profil] -perms 0
Grafische Oberfläche: unison-gtk
Unknown media type in type ‘all/all’"
categories:
- “debian”
- “kompilieren-installieren”
- “linux-mint”
- “ubuntu”
Wenn bei der Installation von Programmen die Meldung Unknown media type in type 'all/all'
erscheint, so muss man die Datei kde.xml
in /usr/share/mime/packages/
umbenennen:
sudo mv /usr/share/mime/packages/kde.xml /usr/share/mime/packages/kde.xml.backup
Unnötige locale-Einträge entfernen"
categories:
- “system”
Nach einem Kernel-Update werden immer alle locale-Einträge neu geschrieben, was mitunter recht lange dauert. Die meisten locale-Einträge werden nicht benötigt. Sie lassen sich so entfernen:
-
Im Verzeichnis
/var/lib/locales/supported.d/
steht für jede Sprache eine Datei. In jeder dieser Dateien sind die Einträge für alle Variationen. Entweder kann die Datei ganz gelöscht werden (wenn die Sprache gar nicht benötigt wird) oder editiert werden. Die englische Datei sollte zur Sicherheit verbleiben, es genügt aber der Eintragen_US.UTF-8
. -
Anschließend mit
sudo locale-gen
die Einträge neu generieren und fertig.
until-Schleife"
categories:
- “schleifen”
- “shell”
- “skripte” tags:
- “until”
until Bedingung ; do
# Befehle
done
unzip"
categories:
- “archive”
mehrere Dateien entpackt man mit unzip "*.zip"
Update PHP auf Version 8 für nextcloudpi"
categories:
- “serversoftware” tags:
- “nextcloudpi”
- “php”
Aktuelle php_Version prüfen
php -v
PHP8 installieren
apt-get -y install php8.0-fpm php8.0-mysql php8.0-xml php8.0-zip php8.0-mbstring php8.0-gd php8.0-curl php8.0-redis php8.0-intl php8.0-bcmath php8.0-gmp php8.0-imagick imagemagick
PHP8-konfiuration aktualisieren
Symbolischer Link auf die NCP-PHP-Konfiguration
ln -s /etc/php/7.4/fpm/conf.d/90-ncp.ini /etc/php/8.0/fpm/conf.d/90-ncp.inisystemctl restart php8.0-fpm
image magick Modul aktivieren
phpenmod -v 8.0 imagick
Apache für PHP 8.0 einrichten
Apache für php8.0 konfigurieren
a2enmod proxy_fcgi setenvifa2enconf php8.0-fpm
PHP 7.4 für apache deaktivieren
a2disconf php7.4-fpm
Apache neu starten
systemctl reload apache2
Aktuelle php_Version prüfen
php -v
wenn 8.0 nicht aktiviert ist, dann mit update-alternatives --config php
auswählen.
Nextcloud APPs aktualisieren
cd /var/www/nextcloudsudo -u www-data php ./occ app:update -all
Updates Benachrichtigung"
categories:
- “debian”
- “xfce”
Um unter debian-xfce über Updates informiert zu werden installiert man pk-update-icon
Upgrademanager"
categories:
- “ubuntu”
Upgrademanager starten: update-manager -d
UPnP/DLNA clients"
categories:
- “multimedia” tags:
- “dlna”
- “grilo”
- “upnp”
Rhythmbox als UPnP/DLNA-Client
**1) Grilo installieren** Grilo wird auf dem System benötigt, um auf den UPnP/DLNA-Media-Server zugreifen zu können. Bei Ubuntu (12.04) kann Grilo direkt installiert werden: `sudo apt-get install grilo-plugins-0.1`2) UPnP/DLNA-Client in Rhythmbox aktivieren Rhythmbox (ab Version 2.97) kann über Grilo auf UPnP/DLNA-Freigaben zugreifen. Wenn Grilo korrekt installiert wurde, ist das Verzeichnis /usr/lib/rhythmbox/plugins/grilo
mit ein paar Dateien vorhanden.
Andernfalls muss eine manuelle Installation wie folgt durchgeführt werden:
-
Update auf Rhythmbox 2.97 ist erforderlich, die neueste Version bekommt man über das Gnome 3 Team PPA:
sudo add-apt-repository ppa:gnome3-team/gnome3 sudo apt-get update && sudo apt-get upgrade
-
Grilo-Plugin rhythmbox-plugin-grilo_2.97+…~precise1_xxxx.deb installierenDownload von
ar x rhythmbox-plugin-grilo_*~precise1_*.deb data.tar.gz
tar -zxvf data.tar.gz && rm data.tar.gzsudo cp -R usr/lib/rhythmbox/plugins/grilo /usr/lib/rhythmbox/plugins && rm -R usr
Die Daten des UPnP-Servers sind nun in der Abteilung “verteilt” eingebudnen.
uptime"
categories:
- “system”
- “systeminformationen”
Gibt die Zeit an seit der das System angeschaltet ist
USB-Festplatte am Raspberry anschließen"
categories:
- “raspberry-pi” tags:
- “b2”
- “ohne-externe-stromversorgung”
- “ohne-netzteil”
- “raspberry-pi-2”
- “usb-festplatte”
Um eine USB-Festplatte am Raspberry nutzen zu können, muss man eine kleine Änderung in der config.txt vornehmen, da standardmäßig zu wenig Strom aus der USB-Buchse kommt. Man muss hierfür einen Parameter in der Datei eintragen. Hierfür steckt man die SD-Karte des Raspberry in einen Computer und ändert hier den Parameter ab.
Der Parameter wird in die Datei /boot/config.txt
eingetragen Fügt ans Ende der Datei folgende Zeile ein max_usb_current=1
Beachtet werden muss aber, dass das Netzteil genug Strom liefert. Ich habe an einem Raspberry Pi B2 ein Netzteil mit 2A dran, welches auch benötigt wird.
USB-Scanner"
categories:
- “hardware”
Im Ordner /etc/udev/rules.d/
eine Datei (z. B. z80_brother.rules) erstellen und folgende Zeile hinzufügen: BUS=="usb", SYSFS{idVendor}=="04f9", GROUP="scanner", MODE="660"
Alle User, die auf den Scanner zugreifen sollen, müssen der Gruppe “scanner” hinzugefügt werden. Achtung: Bei Multifunktionsgeräten auch der User “lpr”, damit der Drucker funktioniert.
USB-Stick bootfähig machen"
categories:
- “dateisysteme”
- “partitionieren-formatieren-kopieren” tags:
- “gparted”
gparted starten, eine neue Partitionstabelle schreiben, den Stick formatieren und das Boot-Flag (Markierungen) setzen.
Solle der Stick nicht booten, muss er zunächst komplett gelöscht werden: dd if=/dev/zero of=/dev/sdd bs=4M
USB (UDEV) konfigurieren"
categories:
- “system” tags:
- “udev”
- “usb”
Erstellen von UDEV-Regeln Für jedes USB-Gerät kann in “/etc/udev/rules.d” (linux Mint: “/lib/udev/rules.d”) eine Regel definiert werden, wie dieses Gerät zu behandeln ist. Die Dateien werden in lexikalischer Reihenfolge abgearbeitet, weshalb die selber erstellten Regeln am Ende eingefügt werden sollten (z.B. z98_xxxxxxx.rules). Zunächst muss definiert werden, anhand welcher (bis zu fünf) SYSFS-Eigenschaften das Gerät identifiziert werden soll. Diese Informationen erhält man z. B. mit folgenden Programmen (meist als Root auszuführen):
lsusb
lsusb -v
udevinfo -a -p /block/sda
(für Informationen zu /dev/sda)
Die wichtigsten eigenschaften sind:
- idVendor
- idProduct
- serial
Somit kann z. B. definiert werden, dass die Regel nur für die Hardware mit einer bestimmten Seriennummer oder auch für alle Komponenten eines Herstellers verwendet wird.
Aufbau einer Regel
- BUS==“usb” definiert, dass es sich um ein USB-Gerät handelt
- Die Hardare kann mit bis zu fünf SYSFS{}-Abfragen identifiziert werden.
- NAME definiert den Namen, den später die Gerätedatei in /dev bekommt. Der Zähler für die Unterdevices (z. B. Partitionen) wird mit %n angegeben. SYMLINK anstatt NAME generiert einen Link auf den tatsächlichen Namen des Gerätes (wenn z.B. Programme standardmäßig /dev/sda suchen)
- OWNER, GROUP definieren den Benutzer und die Gruppe der Gerätedatei
- MODE definiert die Dateirechte der Gerätedatei
- RUN+ startet ein Skript, sobald die Hardware erkannt wurde
Hier ein Beispiel für eine Regel zur Einbindung einer USB-Festplatte mit automatischem Start eines Backup-Skriptes:
BUS=="usb",SYSFS{idVendor}=="0c0b",SYSFS{idProduct}=="b136",SYSFS{serial}=="00000000000DFABBW",
NAME="TrekStor_HD-Drive%n",OWNER="petri",GROUP="backup",MODE="660",RUN+="/home/petri/bin/TrekstorHD-backup"
Eine ausführliche Anleitung gibt es hier: http://wiki.ubuntuusers.de/udev
useradd"
categories:
- “benutzer-gruppen”
useradd -m name
legt einen Benutzer an
userdel"
categories:
- “benutzer-gruppen”
userdel user
löscht einen Benutzer userdel -r user
löscht auch das Home-Verzeichnis
usermod"
categories:
- “benutzer-gruppen”
Änderung der Benutzereigenschaften. Mit usermod -L user
kann der Zugang gesperrt werden. usermod -U user
hebt die Sperre wieder auf.
Vektorgrafik"
categories:
- “grafik”
Inkscape / xara
Verbindung zum X-Server für root erlauben"
categories:
- “system”
- “x-server” tags:
- “xauthority”
- “xhost”
Root darf normaler weise nicht auf die X-Oberflächen zugreifen. Um dies zu ändern sind folgende Schritte nötig:
- Der User, dem die X-Session gehört muss root für Zugriffe vom gleichen Rechner aus freischalten:
- temporär:
xhost local:root
eingeben - permanent:
export XAUTHORITY=/home/petri/.Xauthority
in die Datei “/root/.bashrc” oder “/etc/profile” eintragen. - root kann sich die X-Authority auch holen:
xauth -f /root/.Xauthority merge /home/petri/.Xauthority
- temporär:
- Als root die Variable Display setzen:
export DISPLAY=:0.0
Verschiedene ubuntu-Desktops installieren"
categories:
-
“ubuntu”
-
KDE:
apt-get install kde-desktop
-
Gnome:
apt-get install ubuntu-desktop
-
Edubuntu:
apt-get install edubuntu-desktop
-
Xfce Desktop:
xubuntu-desktop
-
ubuntuStudio:
apt-get install ubuntustudio-desktop
Verschlüsseltes Dateisystem"
categories:
- “verschlusseltes-dateisystem”
Verschlüsseltes Dateisystem (encfs) Einbindung eines verschlüsselten Dateisystems mit Hilfe von encfs
Voraussetzungen: Kernelmodul fuse
muss vorhanden sein. Alle Benutzer, die encfs
benutzen sollen, müssen der Gruppe fuse
zugeordnet werden!
apt-get install encfs
hierbei wird die Gruppe fuse angelegt- Alle notwendigen User der Gruppe fuse zuordnen
- Zwei Ordner erstellen. In den versteckten Ordner werden die Dateien verschlüsselt abgespeichert und über den nicht versteckten Ordner kann man darauf zugreifen:
mkdir /home/user/.secure mkdir /home/user/secure
- Filesystem einhängen mit:
encfs -raw /home/user/.secure /home/user/secure
Beim ersten Start die Standard-Konfiguration wählen. - Filesystem aushängen mit:
fusermount -u /home/user/secure
Skript mountsafe
zum automatischen mounten/unmounten des Dateisystems: Skript starten über: mountsafe /home/user/.secure /home/user/secure
Hier das Skript:
#!/bin/sh
# Mounts/unmounts encFS path
# Source (encFS encrypted path)
SRC=$1
# Destination (mount point for encrypted path)
DST=$2
if [ "$(cat /proc/mounts | grep encfs | grep $DST)" != "" ];
then
$(kdialog --title "encFS: unmount $DST..." --warningyesno "encFS: should $DST be unmounted?")
if [ $? == 0 ]
then
fusermount -u $DST &
else
konqueror $DST &
fi
else
kdialog --title "encFS: Enter passphase..." --password "Enter passphrase for [$DST]" | encfs $SRC $DST && konqueror $DST
fi
Video-DVD verkleinern"
categories:
- “cds-dvds”
- “multimedia”
- DVD-Titel mit DVD:RIP auslesen. VOB-Dateien werden erstellt.
- Die VOB-Dateien zusammenfügen:
cat *.vob > movie.vob
- Demultiplexen:
tcextract -i movie.vob -t vob -x mpeg2 > movie.m2v
und danach:tcextract -i movie.vob -a 0 -x ac3 -t vob > movie.ac3
- Verkleinern:
tcrequant -i movie.m2v -o shrinked.m2v -f 1.5
1.5 ist der Verkleinerungsfaktor (75%). Der Verkleinerungsfaktor lässt sich wie folgt berechnen: Faktor = (video_size / (4700000000 - audio_size)) * 1.04 - Multiplexen:
mplex -f 8 -o final.mpg shrinked.m2v movie.ac3
- Verzeichnisstruktur ertsellen:
dvdauthor -o newdvd final.mpg
- IFO-files erstellen:
dvdauthor -o newdvd -T
- Dateien brennen
Video DVDs unter Ubuntu abspielen"
categories:
- “cds-dvds”
- “multimedia”
- “video”
Damit DVDs unter Ubuntu abgespielt werden können muss libdvdcss2
wie folgt installiert werden:
sudo apt-get install libdvdread4
Anschließend führt man im Terminal diesen Befehl aus:
sudo sh /usr/share/doc/libdvdread4/install-css.sh
Wenn der Reginalcode umgestellt werden muss, geht man wie folgt vor:
-
Installation des Pakets regionset:
sudo apt-get install regionset
-
Gerätenamen herausfinden: Beliebige DVD ins Laufwerk einlegen und Systemüberwachung öffnen. Auf den Reiter Dateisysteme klicken und unter der Spalte Geräte den Gerätenamen heraussuchen (beginnt mit /dev/…).
-
Terminal öffnen und folgendes eingeben:
regionset [GERÄTENAME]
-
Regionalcode auf RC2 (Europa) setzten:
regionset version 0.2-de
Hat man diesen Schritt ausgeführt, wird einem unter anderem angezeigt, wie oft man den Regionalcode noch ändern kann, bis die Einstellung unveränderbar wird.
Video- und Musikplayer"
categories:
- “multimedia-programme”
Amarok / mplayer / xine / kaffeine / vlc / Realplayer
videorotate"
categories:
- “multimedia”
- “video”
Hier ein Beispielscript, dass mit Hilfe von mencoder Videos (um 90°) dreht und gleichzeitig komprimiert:
#! /bin/bash
infile="$1"
BASE=`echo "$1" | sed 's/\\(.*\\)\\..*/\\1/'`
EXT=`echo "$1" | sed 's/.*\\.\\(.*\\)/\\1/'`
outfile="$BASE"_copy.avi
ans=`kdialog --title "Video bearbeiten ..." --menu "Was soll mit dem Video $infile gemacht werden?" 0 "mpeg2 komprimieren" 1 "links drehen und mpeg2 komprimieren" 2 "rechts drehen und mpeg2 komprimieren"`
case $ans in
0) ROTDIR="";;
1) ROTDIR="-vf rotate=2";;
2) ROTDIR="-vf rotate=1";;
*) exit;;
esac
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:acodec=ac3:abitrate=192 -ofps 25 $ROTDIR "$infile" -o "$outfile"
kdialog --title "Video bearbeiten ..." --msgbox "Bearbeitung des Videos beendet"
exit
Videoschnitt"
categories:
-
“multimedia-programme”
-
lives
-
kdenlive (einfache Bedienung – sehr gut)
-
cinelerra (aufwändiger wie kdenlive)
-
jahshaka (viele Effekte…)
-
avidemux (wie VirtualDub)
-
kino (einfach, zum Erfassen von DV)
-
ProjectX
-
OpenShot
vim"
categories:
- “editoren” tags:
- “vi”
Standardeditor auf jedem Linux/Unix-System (früher auch vi).
Der Editor arbeitet in zwei Ebenen: Ansichtsebene und Editebene Wechsel mit ESC und Einfg
- Speichern: :w
- Beenden: :q mit :q! wird sofort beendet
- Speichern & Verlassen: :wq
- Suchen: /
- Weitersuchen: n - Rückwärts: Shift+n
- Kopieren: v -> mit Cursor markieren, mit y kopieren
- Einfügen: p
- Löschen: dw löscht ein Wort
- 3dd löscht 3 Zeilen
- 5dw löscht 5 Wörter
- Zweite Dateien öffnen:
:sp dateiname
(:vsp für vertikale Teilung) - Wechsel zwischen zwei Dateien: W / Strg-W
Wenn man die Zeilennummern anzeigen möchte und das File schon geöffnet hat, hilft folgender Befehl: :set number
Zum Abschalten genügt ein: :set nonumber
Wenn man die Zeilennummerierung per default aktiviert haben möchte reicht es “:set number” in die Datei ~/.vimrc einzutragen.
Syntaxhighlightning anschalten: Öffne die Datei vimrc im Verzeichnis /etc/vim Folgende Zeilen aktivieren:
syntax on
set background=dark
VirtualBox"
categories:
- “virtualbox”
Sehr gutes Virtualisierungsprogramm: http://www.virtualbox.org
Zum Installieren der GuestAdditions das ISO-Image /usr/share/virtualbox/VBoxGuestAdditions.iso
einbinden.
USB-Geräte werden erkannt, sind jedoch nicht einbindbar, da inaktiv Unter einigen Debian- und Ubuntu-Versionen kann es vorkommen, dass USB-Geräte zwar erkannt werden, sie jedoch nicht einbindbar sind, da die Zugriffsrechte falsch gesetzt werden. Hierzu muss die Datei /etc/init.d/mountkernfs.sh
wie folgt editiert werden:
Original:
if [ -d /proc/bus/usb ]
then
domount usbfs usbdevfs /proc/bus/usb usbfs -onodev,noexec,nosuid
fi
Änderung:
if [ -d /proc/bus/usb ]
then
domount usbfs usbdevfs /proc/bus/usb usbfs -onodev,noexec,nosuid,devgid=123,devmode=664
fi
Hierbei muss devgid
der ID der Gruppe vboxuser
entsprechen.
Kernelmodule neu kompilieren: /etc/init.d/vboxdrv setup
Eine VM direkt starten: VirtualBox -startvm [Name der VM]
oder VBoxManage startvm [Name der VM]
Änderungen der UUID einer virtuellen Festplatte: vboxmanage internalcommands sethduuid festplatte.vdi
virtuelle Festplatte erzeugen"
categories:
- “qemu”
qemu-img create -f raw name.img 1000M
qemu -fda /dev/fd0 -hda win98.img -boot a
qemu -hda /media/hda2/win2000.img -cdrom /dev/hdc -boot c -win2k-hack
qemu -L qemu/ -m 128 -localtime -kernel linux24 -initrd minirt24.gz -hda KNOPPIX/KNOPPIX -append "qemu vga=791 quiet noscsi nousb nofirewire atapicd noideraid noacpi acpi=off noapm noagp ide1=noprobe ide2=noprobe nomce frugal"
Voreinstellungen für neue Benutzer"
categories:
- “benutzer-gruppen”
In /etc/skel/
stehen alle Ordner, die für einen neuen Benutzer angelegt werden sollen.
Vorschau von OpenOffice-Dokumenten im Konqueror"
categories:
- “kde”
Dazu müssen die Dateien koffice-data und koffice-libs installiert werden
Vorschau"
categories:
- “desktop” tags:
- “tumbler”
Das Programm tumbler ermöglicht eine Vorschau im Dateimanager auf Bilder, Dokumente… Dazu installiert man tumbler und tumbler-plugins-extra
w"
categories:
- “benutzer-gruppen”
w
ermittelt wer angemeldet ist und gibt die jeweils gestarteten Prozesse aus
wajig"
categories:
- “kompilieren-installieren”
Paket vor der Aktualisierung sperren: wajig hold Paketname
Sperre wieder aufheben: wajig unhold Paketname
Alle Befehle gibt es mit: wajig commands
Wasserzeichen in Bilder schreiben"
categories:
- “bildbearbeitung”
convert -font /usr/X11R6/lib/X11/fonts/truetype/arial.ttf -pointsize 20 -fill gray -draw "text 30,30 'Copyright by Linux'"
schreibt den Text “Copyright by Linux” in das Bild “bildmitwasserzeichen.jpg”.
watch"
categories:
- “ausgabe”
watch cat datei
überwacht eine Datei und zeigt die Veränderungen an.
Wavebearbeitung"
categories:
- “multimedia-programme”
audacity / sweep
wc"
categories:
- “auflisten-analysieren”
zählt Wörter in Dateien
WebDAV-Zugriff"
categories:
- “gnome”
In Nautilus greift man über dav://server:port/ordner
zu
WebDAV"
categories:
- “dateisysteme”
- “einhangen”
- “netzwerk”
- “online-speicher” tags:
- “cadaver”
WebDAV (Web-based Distributed Authoring and Versioning) ist ein offener Standard zur Bereitstellung von Dateien im Internet.
In der Konsole kann auf WebDAV über cadaver
zugegriffen werden:
- GMX:
cadaver http://mediacenter.gmx.net
- Strato:
cadaver http://webdav.strato.de/
Hierfür müssen die Pakete ca-certificates und davfs2 installiert sein:
sudo apt-get install ca-certificates davfs2
WebDAV mounten
Temporär als root in der Konsole
sudo mount.davfs http://webdav.adresse.de /mnt/tausch
Eine weitere Möglichkeit besteht über gvfs-mount. Dieses Vorgehen wird in https://wiki.ubuntuusers.de/gvfs-mount/ ausführlich beschrieben.
Als normaler user über einen Eintrag in der fstab
Eintrag in der fstab:
# WebDAV
https://<webdavurl> <mountpunkt> davfs user,noauto 0 0
Damit jeder Benutzer WebDAV-Laufwerke einbinden darf, muss das SUID-Bit für den Befehl mount.davfs gesetzt werden:
sudo dpkg-reconfigure davfs2
Jeder Benutzer, der das WebDAV-Laufwerk ohne Root-Rechte einbinden darf, muss außerdem der Gruppe davfs2 angehören:
sudo usermod -aG davfs2 <benutzername>
Damit der Benutzername und das Passwort nicht jedes mal eingegeben werden müssen, gibt es zwei Möglichkeiten diese Daten zu hinterlegen:
1. Global für alle Benutzer in /etc/davfs2/secrets (als root bearbeiten):
# Allgemein
# <Mountpunkt / WebDAV-URL> <login> <passwort>
# Beispiel
/mnt manfred.mustermann@gmx.de geheimespasswort
# oder
https://mediacenter.gmx.net manfred.mustermann@gmx.de geheimespasswort
2. Für einen einzelnen Benutzer in ~/.davfs2/secrets (Dateirechte: 600):
# Allgemein
# <Mountpunkt / WebDAV-URL> <login> <passwort>
# Beispiel
/home/otto/mnt/gmx manfred.mustermann@gmx.de geheimespasswort
Webmin"
categories:
- “serversoftware”
Mit dem Programm Webmin kann man einen Server sehr bequem und komfortabel über den Browser administrieren.
Download unter: http://www.webmin.com
Das Programm muss auf dem Server installiert werden. Dann kann man mit dem Browser unter der Adresse: https://servername:10000/ auf Webmin zugreifen. Nach Anmeldung als root stellt das Webinterface umfangreiche Verwaltungsmöglichkeiten zur Verfügung.
Für Dansguardian gibt auch ein Modul, das aber erst nachinstalliert werden muss.
Download unter: http://sourceforge.net/projects/dgwebminmodule/
Welches System ist installiert?"
categories:
- “distributionen”
- “system”
- “systeminformationen” tags:
- “lsb”
- “lsb_release”
Mit dem Befehl lsb_release -a
lässt sich das installierte Linux-System auslesen.
Etwas genauere Infos gibt cat /etc/*release
aus. getconf LONG_BIT
gibt an, ob es sich um ein 32- oder 64-bit-System handelt. dpkg-architecture
gibt umfangreiche Infoes zur Architektur an.
“Welcome to emergency mode!” - PC startet nicht mehr"
categories:
- “dateisysteme”
- “einhangen”
Nach einer Neuinstallation kann es sein, dass der Computer nicht mehr startet und man im “emergency mode” landet. Dann sind vermutlich die Festplatten nicht richtig in der fstab eingetragen. Ob es an diesem Problem liegt kann man herausfinden indem man beim Booten, wenn das Booticon erscheint auf “Esc” drückt und dann erscheint eine Statusmeldung bei der der Computer 90Sekunden lang die Platte sucht, aber sie nicht findet. Nachdem die “emergency mode”-Meldung erscheint, kann man sich ganz normal im Terminal anmelden. Mit lsblk
oder fdisk -l
ermittelt man die /dev/sd* Adressen der Partitionen und trägt diese nachher in der /etc/fstab anstelle der UUID ein.
Ausgabe von lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232,9G 0 disk
├─sda1 8:1 0 18,6G 0 part /
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 953M 0 part [SWAP]
└─sda6 8:6 0 213,3G 0 part /home
sr0 11:0 1 1024M 0 rom
In der “/etc/fstab” sieht es dann folgendermaßen aus:
# ursrpüngliche Zeile für die Systempartition:
# UUID=4ad934e4-ebfd-4b80-b870-e5905ffa5c6c / ext4 errors=remount-ro 0 1
# neue Zeile für die Systempartition:
/dev/sda1 / ext4 errors=remount-ro 0 1
# ursrpüngliche Zeile für die Homepartition:
# UUID=76bb5b11-ae98-4f50-a006-7c1be5315512 /home ext4 defaults 0 2
# neue Zeile für die Homepartition:
/dev/sda6 /home ext4 defaults 0 2
# swap was on /dev/sda5 during installation
/dev/sda5 none swap sw 0 0
Nach einem Neustart sollte der Computer wieder problemlos starten.
wenig verwendete Anwendungen herausfinden"
categories:
- “kompilieren-installieren”
- Alle Pakete auflisten:
dpkg -list
- Paket löschen:
dpkg -remove Paketname
- Programm-Zähler installieren:
popularity-contest > /var/log/ popularity-contest
- Auswertung:
popcon-largest-unused
wget"
categories:
- “netzwerk”
- “websites-herunterladen”
Herunterladen einzelner Dateien oder auch ganzer Internetseiten
-
wget -r -p -k URL
lädt rekursiv eine Webseite herunter und konvertiert die Links in lokale Links. -
wget -r -p -k -E URL
lädt rekursiv eine Webseite herunter, benennt die Endungen in html um und konvertiert die Links in lokale Links. -
wget -r -A pdf URL
lädt alle PDF-Dateien einer Webseite herunter. -
wget -r -l2 -np URL
rekusiv, zwei Ebenen wechselt nicht in übergeordnete Ebene -
wget -r p -l3 --user-agent="Andererbrowser/6.0" http://www.irgend-eine-seite.de
lädt bis zum 3. Level, getarnt als ein anderer Browser, Webseiten herunter - Linkliste checken:
wget -nv --spider --force-html -i .opera/opera6.html
(200 bedeutet OK - ohne -nv gibt es ausführliche Infos )
whatis"
categories:
- “hilfe”
Kurzinfo zu einem Befehl:
whatis Befehl
whereis"
categories:
- “suchen”
whereis Befehl
sucht alle zum Befehl gehörenden Dateien (Pfad, Quelldatei und man-Datei)
which"
categories:
- “suchen”
which Befehl
sucht den vollständigen Pfad zu einem Befehl
while-Schleife"
categories:
- “schleifen”
- “shell”
- “skripte” tags:
- “while”
while Bedingung ; do
# Befehle
done
Beispiele:
Endlosschleife:
while : ; do
# auszuführender Quelltext
# Schleife wird mit break beendet
done
While-Schleife mit find (Variante mit for (siehe for-Schleife ) ist ca. 30% schneller):
find /home -type f | while read; do
echo ${REPLY}
done
alle *.jpg rekursiv in allen Unterordnern finden (hierzu gibt es auch eine elegante Variante mit for , die jedoch nur in der Bash funktioniert):
while read -rd "" i; do
echo "$i"
done < <(find /home/user/unterordner/ -iname "*.jpg" -print0)
Datei zeilenweise einlesen (Eine Variante mit File-Descriptor gibt es hier ):
while read LINE; do
echo ${LINE[1]}
done < infile.txt
Fehlermeldung “Error:” in einer Datei suchen:
while [ $error \> 0 ] ; do
echo Es sind Fehler aufgetreten!
error=`grep -c Error: Datei.txt`
done
who"
categories:
- “benutzer-gruppen”
who
ermittelt wer angemeldet ist
whoami"
categories:
- “benutzer-gruppen”
whoami
gibt den Anmeldenamen an
whois"
categories:
- “netzwerk”
- “analysieren-und-informationen”
whois www.heise.de
sucht die Registrierungsdaten einer Domain
Die Ausgaben von whois sind in der Zwischenzeit stark eingeschränkt. Ausführliche Informationen unter http://www.denic.de
Windows - Linux"
categories:
- “programme”
Windows | Linux |
Internet Explorer / Firefox / Opera / Chrome | Firefox / Opera / Chrome / Konquerer / Midori / w3m |
Adobe Acrobat Reader | Adobe Acrobat Reader / kpdf / ocular / evince |
IrfanView / xnview | gthumb / gwenview / xnview |
Photoshop | gimp |
CDex | sound-juicer / grip / xcfa |
DVDShrink | dvd95 / k9copy |
Nero Burning Rom | Nero (Linux) / k3b / brasero |
Winamp | rhythmbox / banshee / amarok / exaile |
Windows Media Player / VLC | vlc / kaffeine / mplayer / totem |
Cuecards | knowit / tomboy |
Cubase / Logic | Ardour / Rosegarden / lmms |
Finale / Sibelus / MuseScore | MuseScore |
Mindmanager / Freemind / Xmind | Freemind / Xmind |
QuarkExpress / Freehand | Scribus |
Filezilla | Filezilla |
Google Earth | Google Earth |
Skype | Skype |
ICQ / MSN | Pidgin |
Wavelab / Audacity | Audacity |
Partition Magic | gparted |
Acronis Trueimage / Norton Ghost | clonezilla / partimage / fsarchiver |
Freecommander | mc / gnome-commander |
Truecrypt | truecrypt |
Notepad | gedit / geany / kate |
Windows-Passwort zurücksetzen"
categories:
- “benutzer-gruppen” tags:
- “passwort”
- “windows”
- Linux-Life-System (z.B. System-Rescue-CD ) booten dazu “Secure Boot” und “Fastboot” im BIOS / UEFI abschalten
- Windows-Partition mounten (mit ntfs-3g)
ntfs-3g /dev/sda2 /mnt/windows
- Im Ordner Windows/System32 die Datei sethc.exe in sethc.exe.bak umbenennen
mv sethc.exe sethc.exe.bak
- Die Datei cmd.exe in nach sethc.exe kopieren
cp cmd.exe sethc.exe
- neu booten
- Bei der Windows-Anmeldung fünf mal schnell die Shift-Taste drücken. Die Konsole erscheint.
- Das Passwort des Benutzers ändern:
net user _benutzer_ passwort
oder einen neuen Admin anlegen:net user /add _benutzer_
net localgroup administratoren _benutzer_ /add
- Dann die Konsole schließen und einloggen, bzw. wenn ein neuer Admin angelegt wurde, muss der Rechner neu gestartet werden.
- Später die Datei sethc.exe.bak wieder in sethc.exe umbenennen:
mv sethc.exe.bak sethc.exe
Alternativ kann man auch die Datei utilman.exe
durch cmd.exe
ersetzen und dann bei der Passwortabfrage rechts unten auf das mittlere Symbol für die Eingabehilfen klicken.
Windows7-Look für LinuxMint Mate"
categories:
- “linux-mint”
- “mate”
Für Umsteiger mag es machmal hilfreich sein, wenn das neue System “gewohnt” aussieht. Hier eine kleine Anleitung, wie man LinuxMint Mate einen Windows7-Look verpasst.
Nach einer Anleitung unter: http://community.linuxmint.com/tutorial/view/1173
- Repository einbinden und Theme installieren:
sudo add-apt-repository ppa:upubuntu-com/gtk3
sudo apt-get update
sudo apt-get install win2-7
- Boot-Theme downloaden und installieren:
- Download:
- Installieren:
- 32bit:
sudo dpkg -i plymouth-theme-seven_0.5.0~oneiricbuild1-0ppa1_i386.deb
- 64bit:
sudo dpkg -i plymouth-theme-seven_0.5.0~lucidbuild2-0ppa1_amd64.deb
sudo update-alternatives --config default.plymouth
sudo update-initramfs -u
- 32bit:
- Dann die Bootlogoverzögerung abschalten:
echo FRAMEBUFFER=y >>/etc/initramfs-tools/conf.d/splash
update-initramfs -u
- Cursor-Theme installieren: Download unter: http://gnome-look.org/content/show.php/Windows+8+cursors?content=155025 Dann entpacken und nach ~/.icons kopieren
- Theme einrichten:
- Einstellungen - Erscheinungsbild - Benutzerdefiniert - Anpassen
- Bei Fensterinhalt, Fensterrahmen und Symbole jeweils Win2-7 anwählen
- Bei Zeiger Win8 auswählen
- Hintergrundbild Download: http://news.softpedia.com/newsImage/Windows-7-RTM-Default-Wallpaper-the-Design-Story-2.jpg/
- Win7Icon
- Icon downloaden: http://www.windowsonlinesupportnow.com/wp-content/uploads/2013/10/windows _logo.png
- auf 24px verkleinern und ins Startmenü einbinden (Rechtsklick auf Startmenü - Einstellungen)
- Schriftfarbe im Panel auf schwarz stellen:
- In der Datei
/usr/share/themes/Win2-7-theme/gtk-2.0/Styles/panel
die Einträge text[…] = “#000000” in “#ffffff” umändern. - Neustart - fertig
- In der Datei
Wine unter LMDE"
categories:
- “wine”
Um unter LMDE wine zu installieren müssen die Original-Debian-Quellen in die sources.list eingetragen werden. Nach der Installation von wine die Debian-Quellen wieder deaktivieren!
Wine"
categories:
- “wine”
Wine, ein rekursives Akronym für “WINE Is Not an Emulator”. Wine lässt Windowsprogramme unter Linux laufen und ist genaugenommen gar kein Emulator.
- Programmstart:
wine Programm
- Deinstallieren
uninstaller
- Konfigurationswerkzeug:
winecfg
- Booten:
wineboot
- Herunterfahren:
wineboot -s
- Explorer:
wine winefile.exe
- Texteditor:
notepad
- Registry-Editor:
regedit
- MSI:
msiexec
winetricks"
categories:
- “wine”
Mit winetricks lässt sich wine einfacher konfiogurieren und fehlende DLLs installieren. Wenn winetricks mit der neuesten wine-Version nicht mehr arbeitet, hilft folgende Änderung der system.reg in ~/.wine : Alle Einträge mit "C:\\windows\\system32\\unknown"
müssen durch "C:\\Program Files"
ersetzt werden.
WLAN-Hardware"
categories:
- “wlan”
Übersicht über WLAN-Hardware, die unter Linux funktioniert:
https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported
WLAN-Sicherheit"
categories:
- “netzwerk”
- “wlan” tags:
- “aircrack”
- “airmon”
- “airmon-ng”
- “airodump”
- “airoscript”
- “iwconfig”
- “macchanger”
- “reaver”
- “wifite”
- “wlan”
WLAN-Netze überwachen:
- iwconfig
- airmon-ng start wlan0
- airodump mon0
- Strg-c zum Beenden
Router mit WPS-Fehler testen: reaver -i mon0 -b BSSID -vv
andere Router testen:
airodump-ng -w caturefile-with-packages --bssid BSSID -c CHANNEL mon0
- neues terminal
aireplay-ng --deauth 1 -a MAC-Router -c MAC-Client mon0
- neues terminal
aircrack-ng caturefile-with-packages-01.cap -w ./wordlist.lst
`cd /usr/share/wordlists` gzip -d rockyou.txt.gz
Oder mit Airoscript testen: airoscript: http://code.google.com/p/airoscript/downloads/detail?name=airoscript-ng _1.1.tgz&can=2&q=
WPA mit wifite prüfen:
- wifite starten
- Wenn genügend Netzwerke gefunden wurden, mit Strg-C abbrechen und das zu scannende Netzwerk auswählen.
MAC Adresse ändern:
- ifconfig wlan0 down
- macchanger wlan0 mac=A0:B4:FF:A1:CC:A1
- ifconfig wlan0 up
Diese Programme befinden sich auf Kali-Linux
Wo befindet sich was?"
categories:
- “dateisysteme”
/bin | ausführbare Systemdateien |
/boot | Kernel und Bootmanager |
/dev | Geräte |
/etc | globale Konfigurationsdateien |
/home | persönliche Verzeichnisse |
/lib | Systembibliotheken |
/media | Unterverzeichnisse für Dateiträger |
/mnt | Unterverzeichnisse für Dateiträger |
/opt | Software |
/proc | Infos zu aktiven Prozessen |
/sbin | Systemdateien |
/tmp | temporäre Dateien |
/usr/bin | Programme |
/usr/lib | Bibliotheken |
/var | Log-Dateien, Spooler... |
/lost+found | wiederhergestellte Dateien |
Laufwerke finden sich, ja nach Distribution, unter verschiedenen Bezeichnungen. Festplatten sind meist /dev/hda1 oder /dev/sda1. a ist dabei die erste Festplatte und 1 die erste Partition darauf. So wäre /dev/sdb2 die zweite Festplatte und die zweite Partition darauf. CD- bzw. DVD-Laufwerke sind meist /dev/scd0 oder /dev/sr0. Die 0 bezeichnet das erste Laufwerk, das zweite wäre dann die 1.
Wörter zählen"
categories:
- “dateibearbeitung”
- “shell”
- “skripte”
Folgendes Skript zählt die (verschiedenen) Wörter in einer Datei.
- Ermittle, welche Zeichen Wörter trennen.
- Ersetze diese Zeichen durch \n-Zeichen, so dass auf jeder Zeile nur ein Wort steht.
- Entferne leere Zeilen.
- Wandle alle Großbuchstaben in Kleinbuchstaben um.
- Sortiere alles.
- Zähle die mehrfach vorkommenden Zeilen und gebe die Statistik aus.
Als pipe formuliert sieht die Lösung wie folgt aus:
tr ' :.,;()"' '\n\n\n\n\n\n\n\n' < Eingabe.txt | # 1, 2
grep -v '^$' | # 3
tr 'A-ZÖÜÄ' 'a-zöüä' | # 4
sort | # 5
uniq -c # 6
Wörterbuch"
categories:
- “buroprogramme”
ding
X-Display umleiten"
categories:
- “system”
- “x-server”
Arbeiten an einem Terminal (alter PC) Terminal: altpc$ xhost +neuerpc
neuerpc ist entweder dessen Name oder IP des neuen PCs; wenn 192.168.5.2 die IP des neuen PCs ist, geben wir ein: altpc$ xhost +192.168.5.2
Dieser Befehl weist den Xserver auf alterpc an, auch Anforderungen von neuerpc zu bearbeiten.(Da es sich hier um eine potentielle Sicherheitslücke handelt, sollte der Befehl nach Abbruch der Verbindung wieder rückgängig gemacht werden - mit xhost - wird der Xserver angewiesen, keine externen Anforderungen mehr anzunehmen).
Nun loggt man sich über ssh auf dem anderen Rechner ein: altpc$ ssh user@neuerpc
Nachdem der Passworteingabe gibt man auf der Konsole von neuerpc diesen Befehl ein: neuerpc$ export DISPLAY=192.168.5.1:0.0
Statt 192.168.5.1 gibt man natürlich die IP des alten PCs ein. Damit hat man dem neuen PC mitgeteilt, dass er Ausgaben an den alten PC schicken soll. Start von z.B. OpenOffice: neuerpc$ soffice
Sollte es wider Erwarten nicht funktionieren, kann es daran liegen, dass auf dem Xserver die Displayumleitung aus Sicherheitsgründen defaultmäßig gesperrt ist. Diese Sperre kann man ausser Kraft setzen, wenn man X wie folgt startet: alterpc$ startx -listen_tcp
X Error: BadDevice, invalid or uninitialized input device"
categories:
- “system”
- “x-server”
Folgende Fehlermeldung der Konsole beim Start von Programmen:
X Error: BadDevice, invalid or uninitialized input device 168
Major opcode: 148
Minor opcode: 3
Resource id: 0x0
Failed to open device
wird behoben durch Modifikation der xorg.conf in /etc/X11: Die nachstehenden Zeilen müssen wie angegeben auskommentiert werden (zur Sicherheit bitte immer eine Kopie der xorg.conf anlegen):
# Section "InputDevice"
# Driver "wacom"
# Identifier "stylus"
# Option "Device" "/dev/wacom" # Change to
# # /dev/input/event
# # for USB
# Option "Type" "stylus"
# Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#EndSection
#Section "InputDevice"
# Driver "wacom"
# Identifier "eraser"
# Option "Device" "/dev/wacom" # Change to
# # /dev/input/event
# # for USB
# Option "Type" "eraser"
# Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#EndSection
#Section "InputDevice"
# Driver "wacom"
# Identifier "cursor"
# Option "Device" "/dev/wacom" # Change to
# # /dev/input/event
# # for USB
# Option "Type" "cursor"
# Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
# InputDevice "stylus" "SendCoreEvents"
# InputDevice "cursor" "SendCoreEvents"
# InputDevice "eraser" "SendCoreEvents"
EndSection
X-Server beenden"
categories:
- “tastaturkommandos”
Strg+Alt+Backspace
X-Server"
categories:
-
“system”
-
“x-server”
-
X-Server starten: /etc/init.d/kdm start
-
X-Server stoppen: /etc/init.d/kdm stop
-
X-Server neu starten: /etc/init.d/kdm restart
Wird anstatt KDM (KDE-Display Manager) GDM (Gnome-Display-Manager) verwendet, so muss “kdm” durch “gdm” ersetzt werden.
xampp"
categories:
- “netzwerk”
- “serversoftware”
xampp ist eine PHP-Entwicklungsumgebung mit Datenbank.
Download unter: https://www.apachefriends.org/de/index.html
Die Installation von xampp
Die heruntergeladene Datei ausführbar machen und starten. xampp wird nach /opt/lampp istalliert mit /opt/lampp/xampp start
starten mit http://localhost/
testen In der Datei /opt/lampp/etc/httpd.cond
die Einträge User und Group auf den entsprechenden Linux-User anpassen, sonst geht kein FTP beim Installieren von Plugins
xampp beim Systemstart starten Runlevel mit who -r
herausfinden
In den entsprechenden Runlevel wechseln: cd /etc/rc2.d
Links erstellen:
ln -s /opt/lampp/lampp S99lampp
ln -s /opt/lampp/lampp K01lampp
Wenn ein in htdocs installiertes Programm meldet “php not found” hilft:
export PATH=$PATH:/opt/lampp/bin
xargs"
categories:
- “shell”
- “skripte”
- “sonstiges-shell”
- “sonstiges”
Generiert aus der Standardeingabe eine Kommandozeile und führt diese aus:
find -name "*.pdf" -print0 | xargs -0 echo
sucht rekursiv alle pdf-Dateien und gibt diese mit echo aus.
XFCE-Nacharbeit"
categories:
- “allgemein”
Nach der Installation von Linuxmint-XFCE ist ein klein wenig Nacharbeit nützlich. Einige Programme sollten ausgetauscht werden:
- xed → geany
- pix → xnview
- xplayer löschen (vlc ist schon dabei)
- xfburn → brasero
Außerdem sollten die Microsoft-Fonts installiert werden.
xfce"
categories:
- “xfce”
http://www.xfce.org Nachdem Gnome3 und KDE4 immer größere Speicherfresser werden, die Bedienung immer eingeschränkter wird und Gnome2 nicht weiter entwickelt wird, bietet sich xfce als alternativer Desktop an.
xnview"
categories:
- “bildbearbeitung” tags:
- “xnviewmp”
xnviewmp ist ein großartiger Grafiviewer/-verwalter für alle Betriebssysteme.
Download: http://www.xnview.com/de/xnviewmp/
Unter Ubuntu/LinuxMint kann er auch in die Quellen mit aufgenommen werden: ppa:dhor/myway
xrandr"
categories:
- “system”
- “x-server”
xrandr
gibt alle möglichen Bildschirmauflösungen aus
Umstellen der Bildschirmauflösung: xrandr -s 4
(640x480 Pixel) xrandr -s 0
(original)
Youtube"
categories:
- “multimedia”
- “video”
Neu: Der youtube-dl-Fork yt-dlp ist aktueller und schneller. Installation:
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
Youtube-Videos können sehr einfach mit dem Konsolenprogramm youtube-dl URL
heruntergeladen werden und dann mit ffmpeg -i video.flv ausgabedatei.avi
konvertiert werden.
Download unter: unter http://rg3.github.io/youtube-dl/
Parameter:
- Qualitäten anzeigen: -F
- bestimmte Qualität herunterladen -f (und Angabe des 1. Parameters in der Zeile der gewünschten Qualität)
- beste Auflüsung “-b”
- Auflösung für mobile Geräte “-m”
- Filme in HD herunterzuladen “-d”
- Untertiteln –write-sub
- Liste aller Untertitel: –list-subs
Nur Audiodatei laden: –extract-audio oder -x (zusätzlich –audio-format mp3 für mp3-Dateien) Die Konfiguration für das Tool legt man unter ~/.config/youtube-dl/config ab
Zattoo"
categories:
- “multimedia”
- “video”
Damit Zattoo richtig startet muss die Datei dbus-x11 installiert werden.
Zeichensatz in der Konsole einstellen"
categories:
- “konsole”
- “shell” tags:
- “keycode”
- “scancode”
- “setkeycodes”
- “setxkbmap”
Einstellungen in: /etc/console-tools/config
dpkg-reconfigure console
dpkg-reconfigure console-data
- Paket localeconf installieren mit
sudo apt-get install localeconf
- Datei
/var/lib/locales/supported.d/de
als Root mit einem Editor bearbeiten:sudo vi /var/lib/locales/supported.d/de.
Folgende Zeile anhängen: de_DE@euro ISO-8859-15 - Nach dem Speichern der Datei die
/etc/locale.gen
generieren:sudo dpkg-reconfigure locales
- Jetzt mit localeconf den Zeichensatz systemweit auswählen:
sudo dpkg-reconfigure localeconf
Einstellung des Zeichensatzes mit setxkbmap de
Weitere Programme rund um den Zeichensatz: setkeycodes, scancode, keycode
Zeitkontingente für einzelne User"
categories:
- “kinder” tags:
- “timekpr”
- “zeitkontingente”
Mit dem Programm timekpr
lassen sich sehr einfach Zeitkontingente für jeden einzelnen Benutzer einstellen. So kann man eine Gesamtzeit pro Tag und Zeitfenster für jeden Tag einrichten. Das Programm gibt es zum Download unter
http://ppa.launchpad.net/mjasnik/ppa/ubuntu/pool/main/t/timekpr/
Über timekpr-gui lässt sich das Program komfortabel verwalten.
Zur Installation unter LinuxMint Mate:
timekpr kann nicht mit dem Anmeldemanager mdm umgehen. Daher sollte man lightdm als Alternative installieren und als Standard setzen. Erst danach wird timekpr installiert.
Um im Tray eine Info über die verbleibende Zeit zu erhalten, muss der Dienst im Kontrollzentrum als Startprogramm eingetragen werden: python /usr/share/pyshared/timekpr/indicator-timekpr.py
Zertifikate importieren"
categories:
- “fernzugriff”
- “netzwerk”
- “serversoftware” tags:
- “ca-certificates”
Das Zertifikat in den Ordner /usr/local/share/ca- certificates/
kopieren und dann mit sudo update-ca -certificates
die Zertifikate aktivieren.
Oder in den Ordner /usr/share/ca-certificates/
kopieren und dann mit sudo dpkg-reconfigure ca-certificates
aktivieren.
zip"
categories:
- “archive”
zip archiv.zip dateien
packt Dateien in ein Archiv. Mit zip -r archiv.zip dateien
wird rekursiv gepackt.
zless"
categories:
- “archive”
- “ausgabe”
zless Datei
zeigt den Inhalt eines Archivs an (Beenden mit q
)