Archive for the ‘linux’ Category

AVCHD MTS/M2TS konvertálása DV aviba

vasárnap, október 24th, 2010

Sajnos otthon nincs elég erős vas ahhoz, hogy M2TS vagy MTS videokat tömörítve editáljak, ezért az alábbi módszert választottam, hogy az AVCHD-s kamera fájlait megegyék a videovágó programok és ne hulljon atomjaira egy öregecske coreduo:


petike@desktop:/home/petike $ ffmpeg -i 00003.MTS -target pal-dv pipe: | dvgrab --stdin --format dv1 --size 0 00003.avi

ez szépen átalakítja nekem a csodás mts-t aviba. Persze nem szabad elfelejteni, hogy a minőségéből itt jelentősen veszít a video, de mivel SD formátumban lesz tárolva, így is megteszi.

a dvgrab-es móka azért kell, hogy az ffmpeg által készített dv2-ből dv1 legyen

Képek mentése törölt, újraformázott HDD-ről

kedd, augusztus 17th, 2010

A magicrescue nevű program a HDD-n végigszalad és egy meghatározott mintának megfelelő fájlformátumokat keres. Ezekből utána megpróbálja összerakni a fájlokat. Sajnos a fájlok nevét nem tudja megmondani, de képek mentésére kiválóan alkalmas.


root@petike-desktop:~# magicrescue -r jpeg-jfif -r jpeg-exif -d /mnt/test/rescue/ /dev/sdd1
Found jpeg-jfif at 0xF27A5000
/mnt/test/rescue//0000F27A5000-0.jpg: 2940 bytes
Found jpeg-exif at 0xF27C7000
/mnt/test/rescue//0000F27C7000-0.jpg: 131613 bytes
Corrupt JPEG data: premature end of data segment
Unsupported marker type 0x57
No output file

Mindezek után persze ki kell mazsolázni a fontos dolgokat, de tényleg hatékony.

Fájlnevek konvertálása

vasárnap, június 13th, 2010

Találtam egy hasznos kis apróságot, hogy nem “kézzel” kelljen a fájlneveket egyik kódolásból a másikba konvertálni. Apró kicsi szkript, de segít, ha pl.: nfs-en, sambán, scp stb. jönnek mindenféle fájlok és egyszer-egyszer megcsúszik az ékezetes betűk kódolása.

Íme:
/usr/local/bin/convmv -f UTF-8 -t iso-8859-2 -r --notest /tmp/web

ez egy utf8-as fájlneveket (is) tartalmazó könyvtárban minden fájl nevét latin2-re konvertálja. A fájlok tartalmához nem nyúl, de ha kéne, arra is rá lehet venni :). A notest opció azért kell, mert csak egy listát készítene nélküle, hogy mit mire szeretne nevezni.

Van még egy-két régi BSD-m ahol latin kódolás van kb. mindenhol, de néha rátévednek sambás userek, akik persze szeretnek ékezetekkel menteni.

BSD-n a ports könyvárban ott van.

Könyvtár tartalmának szinkronizálása sql-be

péntek, június 4th, 2010

Ez a kis okosság egy megadott könyvtár tartalmát (nem rekurzívan) mindig betölti egy sql táblába. A táblát minden frissítés előtt üríti.

#!/bin/sh
myDir='/root'
myDb='dbname'
myTable='linuxdir'
sqlcmd="mysql -uroot -ppass $myDb"
echo "TRUNCATE TABLE $myTable" | $sqlcmd

cd $myDir
for i in *; do
echo "INSERT INTO $myTable (filename) values ('$i')" | $sqlcmd

done

u.i.: thx Dávidnak az ötletekért 🙂

Cron kitiltása a syslogból

csütörtök, április 15th, 2010

Ubuntunál kicsit zavaró, ha a gyagyás cron jobok telehánnyák a syslogot mindenféle üzenettel és esetleg nem lehet látni tőle valamilyen tényleg hibás dolgot. A syslog konfigjában kell módosítani az alábbiak szerint:

Az eredeti:

*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log

A módosított:

*.*;cron,auth,authpriv.none -/var/log/syslog
cron.* /var/log/cron.log

Ezekután mindenki boldog. A cron.log rotálását ne felejtsük el bekapcsolni.

Ubuntu startup script – autossh

kedd, április 13th, 2010

Az alábbi móka egy tűzfalak mögött lévő ubuntu-s masináról épít ki egy tunnelt egy távolról is elérhető gépre. Az ubuntu localhostjának 22-es portját a távoli gép 5022-es portjára “forwardolja”, így a távoli gépen ha a localhost 5022-es portra ssh-zok akkor az ubuntu sshd-je válaszol. Ezt lehet még cifrázni, de nekem elég volt annyi, hogy el tudjam érni a gépet. Az rc.local azért kellett, hogy a gép esetleges újraindítása után is automatikusan felépüljön a kapcsolat. A távoli gépen kulccsal authentikál, így ez tényleg magától megy.

root@xxx.host:~# cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/usr/bin/autossh -p14243 -M 5122 -N -R 5022:localhost:22 autossh_user@a.masik.host &

exit 0
root@xxx.host:~#

-p a távoli sshd portja, -M monitor port, a -N azt csinálja, hogy ne csináljon semmit. Nincs shell vagy ilyesmi.

Ha szeretnénk akkor a -R port:host:port többször is megismételhető, így egy paranccsal több portot is áthúzhatunk.

sudo más userrel

kedd, április 13th, 2010

Apróság, de hasznos lehet:


root@xxx.host:~# sudo -i -u petike whoami
petike
root@xxx.host:~# whoami
root
root@xxx.host:~#

Chmod rekurzívan, csak könyvtárakra

kedd, december 29th, 2009

Az alábbi parancs megkeresi a könyvtárakat és jogosultságot állít rajtuk:

find . -type d -exec chmod 755 {} \;

Ez működik fájlokra is:

find . -type f -exec chmod 644 {} \;

kb. ennyi. Így a könyvtárak böngészhetőek, olvashatóak, a fájlokat lehet olvasni, de módosításokat már nem végezhetünk rajtuk.

Linux Raid – gyorshajtás

kedd, december 29th, 2009

A minap szembesültem egy olyan érdekes problémával, ami korábban nekem nem okozott gondot. Egy elég nagy raid tükör szinkronizálása kb. 4000 percig tartott volna. Kicsit meglepődve számolgattam, hogy ez azért igen csak sok lenne és nagyon nem volt hajlandó 1000 KB/s-nál gyorsabban szinkronizálni.

A trükk a lenti fájlokban található:

cat /proc/sys/dev/raid/speed_limit_max 200000
cat /proc/sys/dev/raid/speed_limit_min 1000

A megoldás:

echo 50000 >/proc/sys/dev/raid/speed_limit_min

Ezek után már szalad is! 🙂

rsync helyben

szombat, december 19th, 2009

A képeim szinkronizálására használom, hogy legyen biztonsági mentésem:

rsync -azvv /media/Kepek/ /media/Kepek_ment/

Persze lehet okoskodni, hogy miért nem teszem valami szoftveres raidbe meg hasonló használható ötletek, de így legalább nem fogyaszt állandóan áramot és nem megy olyan hamar tönkre a tartalék HDD.