[[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