< Linux

Apró linuxos tippek

Szerző: Sallai András

Copyright © 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:

<JRE>/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
<Firefox>/plugins
ln -s
<JRE>/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

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd"> <!-- Policy definitions for ConsoleKit --> <policyconfig> <action id="org.freedesktop.consolekit.system.stop"> <description>Stop the system</description> <message>System policy prevents stopping the system</message> <defaults> <allow_inactive>no</allow_inactive> <allow_active>yes</allow_active> </defaults> </action> <action id="org.freedesktop.consolekit.system.stop-multiple-users"> <description>Stop the system when multiple users are logged in</description> <message>System policy prevents stopping the system when other users are logged in</message> <defaults> <allow_inactive>no</allow_inactive> <!-- Eredeti tartalom: auth_admin_keep --> <allow_active>yes</allow_active> </defaults> </action> <action id="org.freedesktop.consolekit.system.restart"> <description>Restart the system</description> <message>System policy prevents restarting the system</message> <defaults> <allow_inactive>no</allow_inactive> <allow_active>yes</allow_active> </defaults> </action> <action id="org.freedesktop.consolekit.system.restart-multiple-users"> <description>Restart the system when multiple users are logged in</description> <message>System policy prevents restarting the system when other users are logged in</message> <defaults> <allow_inactive>no</allow_inactive> <allow_active>auth_admin_keep</allow_active> </defaults> </action> </policyconfig>

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