[[oktatas:linux|< Linux]] ====== Apró linuxos tippek ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2011, 2013, 2019 * Licenc: GNU Free Documentation License 1.3 * Web: http://szit.hu ===== Pendrive parancssorból ===== Ma már a grafikus felületek automatikusan csatolják a pendrive-ot. Tisztán konzolos felületen is lehetővé tehetjük a felhasználók számára a pendrive elérését a pmount csomaggal. Telepítés: apt-get install pmount Használat: pmount /dev/sda1 cd /media/sda1 pumount /dev/sda1 ===== Nagios2 ===== Rendszerfigyelõ. Webes felület? apt-get install nagios2 nagios2-plugin nagios2-images apt-get install nsca htpasswd -c /etc/negios2/htpasswd.users jozsi Egy szövegszerkesztõvel szerkesztem a cgi.cfg fájlt: cat /etc/nagios2/cgi.cfg | sed s/nagiosadmin/joszi/g lynx http://localhost/nagios2 ===== Logrotate más néven archivál ===== A logrotate program feladata, hogy a naplófájlokat archiválja. A régebbi napló bejegyzés, az archivált fájl nevében kap egy számot. Például: fájlnév.1 A következő ciklusban ez lesz a fájlnév.2.gz, utána fájlnév.3.gz, stb. Alapértelmezésként fájlnév.5.gz már nem szokott lenni, ezt az állományt törli. Célunk, hogy a logrotate ne számozza az archivált fájlok neveit, hanem dátumot tegyen oda. /var/log/apache2/www.weboldalam.hu/*.log { daily rotate 10 compress compresscmd /usr/bin/bzip2 compressoptions -9 compressext .bz2 create 640 root adm olddir /var/log/apache2/www.weboldalam.hu/logs ifempty sharedscripts prerotate /www/www.weboldalam.hu/cgi-bin/awstats.pl -update -config=www.weboldalam.hu endscript postrotate if [ -f /var/run/apache2/apache2.pid ]; then killall -HUP apache2 > /dev/null fi if [ -f /var/log/apache2/www.weboldalam.hu/logs/access.log.1.bz2 ] && [ -f /var/log/apache2/www.weboldalam.hu/logs/error.log.1.bz2 ]; then mv /var/log/apache2/www.weboldalam.hu/logs/access.log.1.bz2 /var/log/apache2/www.weboldalam.hu/logs/access.log.`date -d yesterday +%Y-%m-%d`.bz2 mv /var/log/apache2/www.weboldalam.hu/logs/error.log.1.bz2 /var/log/apache2/www.weboldalam.hu/logs/error.log.`date -d yesterday +%Y-%m-%d`.bz2 fi endscript } ===== A screen ===== Ha bejelentkezünk egy linuxos rendszerbe, az ott indított programok leállnak kijelentkezéskor. A screen paranccsal elindított programok kilépés után is futnak tovább. Például: screen make ^ Billentyűkombinációk ^^ | C-a c | új terminál nyitása (create) | | C-a C-a | váltogat a terminálok között | | C-a d | kilépés | Néhány kapcsoló: * screen -r kapcsolódunk újból a folyamathoz (detach) * screen -r [azonosito] * screen -ls screen folyamatok listázása ===== Az ssh-agent ===== A ssh-agent eltárolja a privát kulcsunk kinyitásához egyszer beírt jelszót, ezért utána nem szükséges. Az ssh-agent Debian esetén automatikusan elindul az X előtt, így annak indításáról nem kell gondoskodnunk. Elég kiadnunk az ssh-add parancsot és rá kerül a titkos kulcsunk erre a "kulcskarikára": ssh-add Több kulcs esetén adjuk meg a kulcsfájl nevét: ssh-add titkoskulcsfajl A hozzáadott kulcsok lekérdezhetők: ssh-add -L A használathoz az ssh parancsnak szüksége van a -A opcióra, de beállítható az ~/.ssh/config állományba beállíthatjuk a ForwardAgent tulajdonságot yes értékre: ForwardAgent yes ===== Watch ===== Egy program végrehajtása többször. A példa kedvéért szeretnénk figyeltetni fut-e még a screen program. screen make + + watch "ps ax | grep screen" ===== wget ===== Kapcsolódás https protokollal, azonsítással wget --no-check-certificate --http-user jozsi --http-passwd titok https://valahol.hu ===== nvram-wakup ===== apt-get install nvram-wakup Beállítása: nvram-wakeup 0, 04:00:00 Négy órakor bekapcsol a gép ===== SSH ne szakadjon meg ===== Kliensoldalon a következőt tehetjük: Döntsük el, a kliensen központilag minden felhasználónak beállítjuk vagy csak adott felhasználónak: /etc/ssh/ssh_config ~/.ssh/config Egy keep-alive csomagot kell küldenünk, például 5 másodpercenként: ServerAliveInterval 5 Írjuk a fenti fájlok valamelyikébe. ===== Felhasználók kitiltása ===== touch /etc/nologin Így üzenetet is kap a felhasználó: echo karbantartás > /etc/nologin ===== Hozzáférések ===== /etc/host.deny ALL:ALL Minden szolgáltatás tiltása mindenhonnan. Adott hálózatról engedélyezés: ALL:127.0.0.1 ALL:192.168.1. A 192.168.1.0 hálózatról érhető el a gép. De ezek csak az inetd szolgáltatásaira, és a /usr/bin/tcpd által felügyelt programokra vonatkozik. ===== Portok ===== Nyitva tartható portok: cat /proc/sys/net/ipv4/ip_local_port_range Csere: echo "32768 61000" > /proc/sys/net/ipv4/ip_local_port_range ===== Távoli gépek különböző kódrendszerekkel ===== Például a távoli gépen a kódrendszer ISO 8859-2: luit -encoding 'ISO 8859-2 -- ssh jozsi@valahol.hu További információk: man luit ===== Mi foglalja az eszközt? ===== fuser -vm /amit_nezunk fuser -km /emit_nezunk Ez utóbbi még ki is lövi a folyamatot. További információ: man fuser ===== Fájlok és könyvtárak attribútumai ===== lsattr ------------------- ./fajl1.txt ------------------- ./fajl2.txt ------------------- ./fajl3.txt chattr -A /utvonal/fajl ===== Hardver cím megváltoztatása ===== ifconfig eth0 hw 001966f0ae66 Ezek után ellenőrizzük, IP címet kérhetünk rá, majd a kapcsolatot is ellenőrizhetjük: ifconfig dhclient eth0 ping külsőIPcím ===== Szép magyar fontok Linuxra ===== * http://numbertext.org/linux/ Ehhez nem kell sok kommentár ===== Unicode karakterek beillesztése Linuxon ===== Ctrl+Shift+u Beírom a Unicodot és szóköz vagy Enter és kész. ===== Firefox Java ===== ==== Bevezetés ==== A Java telepítése után egy Java plugin is rendelkezésünkre áll. Ha a Firefox böngészővel szeretnéd használni a Java-át, akkor létre kell hoznod egy szimbolikus linket a pluginre. Ha az összes felhasználónak be szeretnéd állítani, akkor a Firfox plugins könyvtárában kell létrehoznod a szimbolikus linket. Másik alternatíva, ha saját home könyvtáradban hozod létre azt: ~/.mozilla/plugins Linux rendszerek számára a belinkelendő plugin: /lib/i386/libnpjp2.so Ha 32 bites Firefoxot használsz, akkor a plugin linkelhető a lib/i386 könyvtárból. A Firefox verziójának kiderítéséhez kattintsunk: Súgó -> A Mozilla Firefox névjegye ==== A telepítés lépései ==== - Leállítjuk a Firefoxot - Töröljük az előzőleg telepített Java plugint. - töröljük a javaplugin-oji.so és a libnpjp2.so szimbolikus linkeket a Firefox könyvtárából. - Létrehozzuk az új szimbolikus linket a Firefox plugins könyvtárában cd /plugins ln -s /lib/i386/libnpjp2.so . - Elindítjuk a Firefox böngészőt about:plugins Ellenőrizzük az about:plugins böngésző címsorába írásával a Java plugin telepítettségét. Vagy ugyanezt Java Console felületen is megtehetem. ==== Forrás ==== * http://www.oracle.com/technetwork/java/javase/manual-plugin-install-linux-136395.html ===== Leállítás engedélyezése ===== ==== Bevezetés ==== Sokszor gond, hogy új felhasználók GNOME környezetben nem tudják leállítani az otthoni gépet. A Policy Kit rendszerben kell megtenni a beállításokat. A ConsoleKit egy keretrendszer, amely követi a felhasználók és különböző munkamenetek tevékenységeit. A konfigurációban beállított változásokra reakciókat, illetve válaszokat generál. ==== Beállítások ==== [Leallitas] Identity=unix-user:joska Action=org.freedesktop.consolekit.system.stop ResultAny=no ResultInactive=no ResultActive=yes ==== Teljes fájl tartalma ==== Stop the system System policy prevents stopping the system no yes Stop the system when multiple users are logged in System policy prevents stopping the system when other users are logged in no yes Restart the system System policy prevents restarting the system no yes Restart the system when multiple users are logged in System policy prevents restarting the system when other users are logged in no auth_admin_keep Tevékenységek: * org.freedesktop.consolekit.system.restart-multiple-users * Restart the system when multiple users are logged in * System policy prevents restarting the system when other users are logged in * org.freedesktop.consolekit.system.restart * Restart the system * System policy prevents restarting the system * org.freedesktop.consolekit.system.stop-multiple-users * Stop the system when multiple users are logged in * System policy prevents stopping the system when other users are logged in * org.freedesktop.consolekit.system.stop * Stop the system * System policy prevents stopping the system ==== Irodalom ==== Kézikönyvek: * man pklocalauthority * man polkit * man pkaction * man pkexec Link: * http://www.freedesktop.org/software/ConsoleKit/doc/ConsoleKit.html ===== Billentyűhasználat ===== Előfordulhat, hogy valamiért nem működik az AltGr billentyű és nem tudjuk bevinni magyar környezetben szokásos karaktert. Ekkor lehet segítségünkre konzolos felületen a másik alt billentyű. Az Alt billentyű nyomva tartása mellett begépelhetjük az ASCII kódtábla alapján bármely karaktert. Az alábbiakban a legfontosabbak: ^ ASCII kód ^ Karakter ^ | 33 | ! | | 34 | " | | 35 | # | | 36 | $ | | 37 | % | | 38 | & | | 39 | ' | | 42 | * | | 43 | ~ | | 60 | < | | 62 | > | | 64 | @ | | 91 | [ | | 93 | ] | | 94 | ^ | | 96 | \ | | 123 | { | | 124 | | | | 125 | } | ===== mms letöltés ===== * http://gmms.sourceforge.net ===== Karakterek Linuxon ===== Konzol karaktere dpkg-reconfigure console-setup cat /etc/default/locale LANG="hu_HU.UTF-8" nano /etc/locale.gen Kivesszük a # karaktert azok elől a kódolások elől amire szükségünk van. Majd: dpkg-reconfigure console-setup A használatban lévő karakter készletek (locale) ellenőrzése: locale -a ===== Midnight Commander ===== Könyvtár méret Ctrl + Space Az aktuális útvonal parancssorbamásolása. Ctrl + x p ===== GConf beállítások ===== gconf-editor ===== Videó konvertálás ===== ==== ffmpeg ==== === Telepítés === Debian GNU Linuxon: apt-get install ffmpeg Újabb beszerzése: http://www.deb-multimedia.org mcedit /etc/apt/sources.list: deb http://www.deb-multimedia.org squeeze main non-free apt-get update apt-get install deb-multimedia-keyring apt-get update apt-get install ffmpeg Esetleg a legújabb beszérzése: * http://www.ffmpeg.org/ A legújabb fejlesztői változat: git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg ./configure make A webm formátumot például nem ismeri az ffmpeg Debian Squeeze verziója, ezért a www.deb-multimedia.org tárolót kell használni, vagy a legújabb a git tárolóból. === Adatok lekérése === ffmpeg -i input.mp4 Egy lehetséges eredmény: [matroska,webm @ 0x92f85e0] Estimating duration from bitrate, this may be inaccurate Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.97 (30000/1001) Input #0, matroska,webm, from 'Szamszara.webm': Duration: 02:19:23.15, start: 0.000000, bitrate: N/A Stream #0.0(eng): Video: vp8, yuv420p, 854x480, PAR 1:1 DAR 427:240, 1k fps, 29.97 tbr, 1k tbn, 1k tbc (default) Stream #0.1: Audio: vorbis, 44100 Hz, stereo, s16 (default) === Konvertálások === ffmpeg -i input.webm output.avi ffmpeg -i input.avi output.webm ffmpeg -i input.avi -s 640x360 -b 345k -acodec libvorbis -ac 2 -ab 96k -ar 44100 output.webm OGG/Theora: ffmpeg -i input.mov -acodec libvorbis -ac 2 -ab 96k -ar 44100 \ -b 345k -s 640x360 output.ogv MP4/h264: ffmpeg -i input.mov -acodec libfaac -ab 96k -vcodec libx264 -vpre slower -vpre main \ -level 21 -refs 2 -b 345k -bt 345k -threads 0 -s 640x360 output.mp4 WebM/vp8: ffmpeg -i input.mov -acodec libvorbis -ac 2 -ab 96k -ar 44100 \ -b 345k -s 640x360 output.webm ffmpeg -i input.webm -b 6000k output.avi ===== Partíció felcsatolása képfájlból ===== Adott egy .img kiterjesztésű fájl, amely például a dd paranccsal készült, és néhány partíció mentését tartalmazza. Szeretnénk belenézni, vagy éppen adatokat kinyeri az .img fájlból. A példakedvéért a egy letöltött raspbian képfájlon mutatom be az egészet. Nézzük meg milyen partíciók vannak, és azok hol kezdődnek. fdisk -lu 2013-02-09-wheezy-raspbian.img Eredmény: Beállítandó cilinderek. Ez csak az extra szolgáltatások menüből érhető el. 2013-02-09-wheezy-raspbian.img lemez: 0 MB, 0) bájt 255 fej, 63 szektor, 0 cilinder, összesen 0 szektor Egység: szektorok 1 * 512 = 512 bájt Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Lemezazonosító: 0x00014d34 Eszköz Indítás Eleje Vége Blokkok Az Rendszer 2013-02-09-wheezy-raspbian.img1 8192 122879 57344 c W95 FAT32 (LBA) A(z) 1. partíció nem cilinderhatáron végződik. 2013-02-09-wheezy-raspbian.img2 122880 3788799 1832960 83 Linux A(z) 2. partíció nem cilinderhatáron végződik. Két partíciót látunk, az első a 8192-nél, a második 122880-nál kezdődik. Az is látjuk, hogy 512 bájt a szektorméret. Ezek után hozzunk létre egy csatolási pontot: mkdir /mnt/test Majd csatoljuk fel: mount -o loop,offset=$((122880*512)) 2013-02-09-wheezy-raspbian.img /mnt/test Ezek után tallózhatjuk a /mnt/test könyvtár alatt. Ha már nem kell, lecsatolás: umount /mnt/test ===== Egy kézikönyv exportja PDF formátumba ===== Úgyis mondhatnánk: mantopdf vagy man2pdf Legyen a példa kedvéért az init kézikönyve, amelyet szeretnénk elküldeni másnak, mert az ő Linuxán ez nem magyar nyelven van. Ekkor: man -t init | ps2pdf - init.pdf ===== Linux telepítése pendrivera ===== apt-get install unetbootin Megformázom a pendrivot, például ext4-re, majd futtatom az unetbootin programot. A grafikus felületen értelemszerűen használjuk. Konzolon: dd if=install.iso of=/dev/sdb bs=4M; sync