Hacks und Commands
**Images mit dd:**
Komprimiertes Image Vom Laufwerk erstellen:
dd if=/dev/sda | gzip --best >kodi-Image.gz
Zurückschreiben:
gunzip -c kodi-Image.gz | dd of=/dev/sda
**Dateiliste erstellen und die Liste mit einem Befehl abarbeiten:
**
*#/bin/bash
find /media/usbhd/Multimedia/Video/recordings/ -name "*.mpeg">liste
for f in $(cat liste) ; do
rm $f
done
***Encodieren nach Liste***
*#/bin/bash
find /Media/Video/recordings/ -mtime 90 -name "*.mpeg">mpeg_liste
for mpeg in $(cat mpeg_liste) ; do
mencoder -ovc x264 -oac mp3lame -ofps 25 -o $mpeg.mp4 $mpeg
done
------------
**Audio extraieren aus *.mp4**
ffmpeg -i "The Eagles - Hotel California.mp4" -vn -acodec flac file.flac
**JPG aus *mp4 extraieren**
ffmpeg -i "vlc-record.mp4" -an -f image2 "output_%05d.jpg"
------------
**Video kodieren x265**
ffmpeg -i "Der Auftragskiller - Zimmer 164.mp4" -c:v libx265 -preset medium -x265-params crf=25 -c:a aac -strict experimental -b:a 128k output.mp4
------------
**HD-Streams bearbeiten**
1. ffmpeg -i 'vlc-record-.ts' -vcodec copy -acodec copy 'Wallander.ts'
-korrigiert Fehler im Stream
2. ffmpeg -ss 00:05:55 -i 'Wallander.ts' -vcodec copy -acodec copy -bsf:a aac_adtstoasc -f mp4 'Wallander.mp4'
- ss: schneidet die ersten 34 Sekunden ab
- t : Schnitt an Streamposition 1:35:44 (gemessen ab -ss)
- bsf: behebt Fehler in der Audiospur
------------
**Leerzeichen in Dateinamen entfernen**
*#/bin/bash
for i in *\ *
do mv "$i" "${i// /_}"
done*
oder:
*#/bin/bash
for i in /media/usbhd/Multimedia/Video/recordings/Deutsches_Europa_Kino/*.mp4
do mv "$i" "${i// /_}"
done
------------
**Installation nach Paketliste**
#/bin/bash
for pkg in $(cat installed_packages.list) ; do
apt-get -y install $pkg
done
#Paketliste erstellt mit: dpkg -l|grep ii|awk '{print$2}'>installed_packages.list
------------
**Verschlüsseln/entschlüsseln mit ssl**
*
*#!/bin/bash*
*# make sure we get a file name*
if [ $# -lt 1 ]; then
echo "Usage: $0 filename"
exit 1
fi
openssl enc -e -aes256 -in "$1" -out "$1".enc*
*#!/bin/bash*
*# make sure we get 2 files*
if [ $# -lt 2 ]; then
echo "Usage: $0 encrypted_file decrypted_file"
exit 1
fi
openssl enc -d -aes256 -in "$1" -out "$2"
------------
**Streaming mit vlc**
**
**#/bin/bash
cvlc .mplayer/Sender.conf --extraintf http --sout udp:172.16.1.164&
exit
------------
#### Phpmyadmin für weiteren Server einrichten:
**Datei: /etc/phpmyadmin/config.inc.php**:
<?php
$cfg['blowfish_secret']='multiServerExample70518';
//any string of your choice (max. 46 characters)
$i = 0;
$i++; // server 1 :
$cfg['Servers'][$i]['auth_type'] = 'cookie'; // needed for pma 2.x
$cfg['Servers'][$i]['verbose'] = 'no1';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysqli';
// more options for #1 ...
$i++; // server 2 :
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['verbose'] = 'no2';
$cfg['Servers'][$i]['host'] = 'banapi';//or ip:'10.9.8.1'
// this server must allow remote clients, e.g., host 10.9.8.%
// not only in mysql.host but also in the startup configuration
$cfg['Servers'][$i]['extension'] = 'mysqli';
// more options for #2 ...
// end of server sections
$cfg['ServerDefault'] = 0; // to choose the server on startup
// further general options ...
?>
------------
#### Teamviewer auf 64bit
Vielleicht zur Erklärung:
Das 64-Bit-Paket verwendet zum installieren das Paket Debiania32-libs, welches seit Wheezy nicht mehr vorhanden ist.
Du musst also die 32Bit Version installieren und vorher Multiarch freischalten mit:
dpkg --add-architecture i386
Danach ein
apt-get update
Jetzt das Paket herunterladen:
wget http://download.teamviewer.com/download/teamviewer_i386.deb
Das Paket installieren:
dpkg -i teamviewer_i386.deb
Und fehlende Abhängigkeiten installieren:
apt-get install -f
Steht auch sonst alles hier:
-> http://www.teamviewer.com/en/help/363-How-do-I-install-TeamViewer-on-my-Linux-distribution.aspx
------------
#### Samba meckert uber Cups -das gar nicht installiert ist...
#####prevent logsentries about cups####
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
------------
#### NATNAT: Dem Kernel das Weiterleiten beibringen
Wir möchten also dem Kernel das folgende mitteilen: Bei Paketen aus dem lokalen Netz, dessen IP-Adresse
nicht mit seiner übereinstimmt, soll er die Absender-Adresse auf sich selbst ändern. Dazu machen wir noch
die Annahme, dass das erste Netzwerk-Interface des Linux-Routers "eth0" mit dem lokalen Netz verbunden ist
und die Internet-Verbindung am zweiten Interface "eth1" verfügbar ist.
Der Befehl zur Freigabe der Internet-Verbindung lautet dann:
*Anbinden eines LAN an das Internet*
$> iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables-Tabellen speichern
**Beispiel um iptables-Tabellen zu speichern**:
sudo iptables-save > /etc/iptables_01.save
**Beispiel um iptables-Tabellen wieder zu laden. Vorhandenen Regeln werden dabei gelöscht bzw. überschrieben.**
sudo iptables-restore < /etc/iptables_01.save
**So werden bereits vorhandene Regeln nicht gelöscht:**
sudo iptables-restore -n < /etc/iptables_01.save
sudo iptables-restore --noflush < /etc/iptables_01.save
So können natürlich auch mehrere Tabellen gespeichert und je nach Bedarf wieder geladen werden.
**iptables-Tabellen löschen**
sudo iptables --flush
#### [Linux Nat Toutorial](http://www.karlrupp.net/de/computer/nat_tutorial "Linux Nat Toutorial")
------------
#### Mit sed alle Zeilen löschen, die "pattern" enthalten
sed '/pattern to match/d' ./infile
To directly modify the file (and create a backup):
sed -i.bak '/pattern to match/d' ./infile
#/bin/bash
mount -t cifs //fritz.box/fritz.nas /home/willi/smb -o username=Maria,password=oma
**SSH Passwordless Login**
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-system
** Dateiberechtigungen sichern**
To back up permissions in the current directory and its subdirectories recursively:
getfacl -R >permissions.facl
To restore permissions:
setfacl --restore=permissions.facl
**Filesystemcheck:**
umount /media/veracrypt1
fsck /dev/mapper/veracrypt1
**Splitten von MP3:**
mp3splt:
Automatisch:
mp3splt -c query file.mp3
Manuell
mp3splt -s -p min=2 file.mp3
**Mount Winfreigabe:**
mount -t cifs //fritz.box/fritz.nas /home/willi/smb -o username=Maria,password=oma