A dokumentum saját jegyzetem alapját képezi, a teljesség igénye nélkül. Különböző disztribúciókon a parancsok eltérőek lehetnek, jelen leírás Debian GNU/Linux alatt tesztelt és használható parancsokat tartalmaz. A programok, parancsok használatáért semmilyen felelősséget nem vállalok. A dokumentum szabadon terjeszthető a forrás és szerző megjelölésével. Amennyiben hibát találsz, kérlek jelezd! Jó tanulást! Utolsó frissítés.: 2015-06-24 letix
Egy Debian GNU/Linux alaprendszer telepítésének menete részletesen, képekkel illusztrálva az alábbi linkeken található.: Debian GNU/Linux 4.0 rendszer telepítése - Expert módban Debian GNU/Linux 5.0 rendszer telepítése - GUI módban Debian GNU/Linux 5.0 rendszer telepítése - Expert módban A telepítés és sikeres belépés után ajánlatos parancsok.: dpkg-reconfigure debconf # Ha a lehetőségek közül a low-t "alacsonyt" választjuk, a későbbi programok (repository-ból történő) # telepítésekor minden apró részletre, beállításra rákérdez a rendszer. Ajánlatos. apt-get update apt-get upgrade # A rendszer frissítése. (a tárolók (repository) az /etc/apt/sources.list file-ban vannak megadva.)
man parancs # A parancs manual oldalait nyitja meg, rövid, tömör, célratörő leírás apropos szó # Minden olyan parancsot megad, mely manual oldalaiban szerepel a "szó" man -k szó # Az apropos program kimenete parancs --help # Információ a "parancs" használatáról info parancs # Információ a "parancs" használatáról whatis parancs # Egysoros a parancsról. whereis parancs # Hol is van a parancs? which parancs # A program futtatható állományának elérési útvonalát adja meg (általában /usr/bin) file:///usr/share/doc # böngészőbe írva, a legtöbb telepített program leírását megtalálhatjuk # (általában html formátumban is) Fontos! Nem minden (a leírásban felsorolt) parancs tartozéka egy alaprendszernek, előfordulhat hogy telepítenünk kell.
/ # A hierarchikus könyvtárfa kiindulópontja (gyökér könyvtár) /boot # A rendszer indításához szükséges állományok helye (grub, vmlinuz, stb) /bin # A futtatható parancsok könyvtára -binaries /sbin # A rendszergazda parancsai -superuser bin /lib # Az induláshoz szükséges osztott rendszerkönyvtárak -libraries Továbbá tartalmazza a rendszerhez csatolható modulokat, meghajtóprogramokat /dev # A rendszerhez csatlakozott, csatolható különleges állományok -devices /etc # Beállítófájlok, helyi indító parancsok, jelszavak, hálózati-beállítók, etc. helye. /home # Minden felhasználó saját könyvtára itt foglal helyet. (Otthon, édes otthon) /mnt # A felcsatolt (mountolt) perifériák könyvtára. -mount /proc # Itt láthatjuk, ahogy a rendszerünk "él és lélegzik". (szellem a gépben) -process information Érdemes tüzetesebben átnézni, hiszen érdekes dolgokat találhatunk itt. pl.: /proc/cpuinfo fájl kiíratásával információt kapunk processzorunkról. /root # A rendszer gazdájának könyvtára. /tmp # Ideiglenes adatok tárolására használt könyvtár. -temp /usr # Alkalmazások, rendszereszközök tömkelege, a legforgalmasabb könytár. (pl X Window) /var # Változó adatokat tartalmazó állományok könyvtára. /pl.: nyomtatási munkák, levelek, etc) /var/log : napló fájlok, különös jelentőséggel bírnak a rendszer biztonságának szempontjából
alias
# Különböző parancsokat saját elképzeléseink szerint átnevezhetünk.
# /home könyvtárunk .bashrc fájlja tartalmazza beállításainkat.
alias rm='rm -i' : A törlés parancs kiadása után rákérdez, hogy valóban akarjuk e. Ajánlatos!
unalias
# Az előzőekben beállított értékek visszaállítása. (törli a .bashrc-ből.)
cat
# Fájl tartalmát írja ki.
> fájl : várja a bemenetet, amely a "fájl" tartalma lesz. Ctrl + D kombinációval mentjük.
-n fájl : beszámozza a fájl sorait
??.sh : Minden .sh kiterjesztésű, 2 betűs file tartalmát kiírja a képernyőre.
/dev/cdrom > /eleresi/utvonal/cd.iso : A CD-nk tartalmát ISO állományba mentjük.
/etc/passwd |grep "/home" | cut -d: -f1 : A rendszerbe felvett felhasználók kiíratása
cat file.txt 1> file2.txt 2>&1
# A hibacsatornát is a kimenetre keverjük, azaz a file1.txt tartalma ÉS a lehetséges hibák
# is bekerülnek a file2.txt-be.
cd
# Könyvtár váltás parancs.
cd : /home könyvtárunkba jutunk
cd .. : egy könyvtárral feljebb kerülünk
mkdir
# Könyvtár létrehozása (make directory)
-p /home/tibi/1/2/3 : Létre hozza a teljes mappa struktúrát, nem kell egyenként létrehozni 1,2 majd 3-at.
chmod
# Linuxon a fájlok-, könyvtárakra vonatkozó jogokat állíthatjuk be
-R : Rekurzívan változtatja meg a jogosultságokat.
# DAC (háromszintű diszkrécionális maszk) szerinti beállítás.
# r-read (olvasás), w-write (írás), x-executable (futtatás) jogot jelent
#
# tulajdonos (jele:U) | csoport felhasználó (jele:G) | mindenki más (jele:O)
# rwx | rwx | rwx
#
# Adjuk ki az ls -la parancsot és máris világossá válik a dolog.
# A sor elején található "d" a directory, "-" a file jele.
# Jogokat számokkal, vagy szimbólikus jelekkel határozhatunk meg.
#
# Számokkal.: 4-read, 2-write, 1-executable jog, összeadva, külön U,G,O-nak
#
chmod 777 file : UGO-nak egyaránt minden jog. (4+2+1)
chmod 751 file : U-nak minden, G-nek írási, futtatási, O-nak futtatási jog.
# Betűkkel.: kinek+mit
#
chmod u+rwx file : Tulajdonosnak (U) r,w,x jog adása.
chmod g+rx file : Csoport felhasználónak (G) r,x jog adása.
chmod a-rwx : Mindenkitől (A-all) elveszünk minden jogot.
umask
# A file és könyvtár jogok beállítása kapcsán érdemes megemlíteni az umask-ot.
# Az umask meghatározza, hogy milyen jogosultságot kapjanak az újonnan létrehozott file-ok, mappák.
# Értéke alapértelmezés szerint 022.
# Jelentése.: File-ok 644-et, Mappák 755 jogokat kapnak.
# File-ok esetén 666-ból, mappák esetében pedig 777-ből kell levonnunk a 022-t, így kapjuk meg a jogokat.
chown
# Fájlok, könyvtárak tulajdonosának (létrehozójának változtatása)
-R : Rekurzívan változtatja meg a tulajdonos(oka)t
-f : Nem kapunk vissza hibaüzenetet, ha valami nem sikerült
--no-dereference : Szimbólikus linkeknél, a link jogosultságait állítjuk
--dereference : Szimbólikus linkeknél, a file (amire a link mutat) jogait változtatjuk
chgrp
# Fájlok tulajdonosi csoportjának megváltoztatása
-R : Rekurzívan változtatja meg a csoportokat
-f : Nem kapunk vissza hibaüzenetet, ha valami nem sikerült
-c : csak azokat a file-okat írja ki, amelyeknek valóban megváltozott a csoportjuk
lsattr
# Fájlok, könyvtárak attribútumát mutatja meg
-R : Rekurzívan mutatja meg az attribútumokat
-a : minden file-t kilistáz, beleértve a .-al kezdődőeket is
chattr +tulajdonság file
# Fájlok, könyvtárak attribútumát változtatja
# Tulajdonságok.:
A : Nem változtatja meg a fájlok utolsó módosításának dátumát. (rendszergyorsító hatás)
a : Csak hozzáfűzni tudunk a fájlhoz
c : Autómatikusan tömörítve kerül a lemezre, és kitömörítve kerül beolvasásra
d : Ezekről az állományokról nem készül biztonsági másolat a dump parancs futtatásakor
s : Paranoia mód. Törléskor azonnal megsemmisül minden bit-je.
S : Minden változtatás azonnal lemezre íródik (sync hatás)
u : A Fájl törlésekor az adat megmarad, később visszaállítható
cfdisk
# Lemezkezelő, partícionáló
cp -r /honnan/mit /hova/milyen_néven
# Fájl, könyvtár másolás
cmp file1 file2
# Összehasonlítja a file1 és file2 fájlok tartalmát
cut
# Bement (stdin), vagy paraméterként megadott fájl minden sorának egy megadott
# részét vágja ki
-c2 fájl : második mező értéke
-c3,5 : harmadik, ötödik mező, sorrend nem számít
-c-4,6- : negyedik mezőig és a hatodiktól
cut -d: -f1 :
# Kettősponttal elválasztott sorokban az első helyen lévő adatot adja vissza.
Pl.:echo ELSO:MASODIK:HARMADIK | cut -d: -f1
# Kimenete.: ELSO
diff -u file1 file2 > eredmeny
# Összehasonlítja a fájlok tartalmát, a különbséget pedíg az eredmény-be írja
y left-column file1 file2 : file1 és file2 összehasonlítása, az eredményt két
# egymás melletti oszlopba írja, de az egyezőségeket csak a bal oszlopban tűnteti fel.
du
# Az aktuális könyvtár fájljainak méretét adja meg
-h : Emberek számára olvashatóbb formátumban adja meg, azaz MByte, GByte, stb.
--si : A -h helyett már ezt a kapcsolót ajánlatos használni.
--max-depth=1 : 1 könyvtár mélységig vizsgál
df
# Szabad terület számítása, partíciónként
-H : Emberek számára olvashatóbb formátumban adja meg, azaz MByte, GByte, stb.
--si : A -H helyett már ezt a kapcsolót ajánlatos használni.
echo szoveg
# Kiírja a képernyőre a szoveg-et
echo szoveg > file : a szoveg-et file-ba írja
echo VegyEs | tr a-z A-Z : a VegyEs szóban a kis betűket nagyra cseréli.
echo egyesek | tr -d e : az egyesek szóból kiveszi az e betűket
find
# Keresés
find / -name "*.jpg" -print : az összes kép keresése a gyökérben, majd az eredmény kiírása
find / -iname ... : kis és nagybetű különbség nincs!
find -perm 777 : minden 777-es joggal rendelkező állomány keresése
find -perm 4000 : Az összes SUID joggal rendelkező állományt keresi
find /home -size +1024 : 500kb-nál nagyobb állományok keresése a /home-ban
find -type "kapcsoló" : különböző típusú fájlokat keres
-type l : szimbólikus link
-type d : könyvtár
-type f : fájl
find /etc -empty -maxdepth 1 -printf "%p-%m\n"
# Az /etc könyvtárban lévő üres könyvtárakat írja ki, a jogosultságaival együtt.
find /home -size +1024 \( -mtime +365 -o -atime +365 \) -ls -exec file{} \;
# 512kb-nál nagyobb,maximum 365*24 órája módosított állományokat, valamint a file parancs kimenetét
# -exec file{} \; jelenti, hogy az exec után levő parancsnak adja át az eredményt.
find -iname *.avi -a -size +1000M -o -iname *.ISO -a -size +500M
# Keresési feltételek.: avi kiterjesztésű ÉS 1000MB fölötti, VAGY
# ISO kiterjesztéső ÉS 500MB fölötti file-ok. (Kis-nagy betű nem számít a kiterjesztésben.)
file sajt
# megvizsgálja a sajt fájl típusát
-f filelista : Egy létező filelista állományban felsorolt file-okat vizsgálja meg
-L : Követi a szimbólikus link kötést (nem a linket, hanem az arra mutató file-t vizsgálja)
--mime file: A file karakterkódolását mutatja meg.
fsck
# lemezellenőrző
fgrep
# Fájlokban, vagy stdin-ben keresek szöveget
"abc" file.txt : Megkeresi az összes olyan sort a file.txt-ben, ami tartalmat "abc"-t
grep
# Szövegrészleteket keres fájlokban, valamint a kimenetben.
-i : nem tesz különbséget kis és nagybetűk között
-l : nem az előfordulási sorokat, hanem csak a fájl neveket listázza
-L : azokat a fájl neveket adja meg, melyben nem szerepel a "minta".
-v : azokat a sorokat adja meg, amikben nem szerepel a keresett szó
-e : "-" -el kezdődő minta keresésekor hasznos kapcsoló. (nélküle érvénytelen kapcsolót kapunk.)
-x : csak teljes sorokkal való illeszkedést vizsgál.
B.r : azokat a sorokat adja meg, melyekben a "B" és az "r" között bármilyen karakter szerepel.
[ha] : a kimenetben találhatóak meg azok a találatok, melyekben szerepel "h" vagy "a" betű.
[^sajt]: minden sor megtalálható a kimenetben, kivéve amelyben szerepel a "sajt" kifejezés.
^$ : Azokat a sorokat adja meg, melyek üresek.
^h : A sor elején található kis "h" betűre illeszkedik.
# szóközt grep szó" "szó2 -vel ábrázolunk
head
# Szűrő eszköz. A fájl első 10 sorát írja ki
-n 100 fájl : A fájl első 100 sorát adja meg
-n-7 fájl : utolsó 7 sort már nem írja ki
-n+4 fájl : A fájl első 4 sorát írja ki. (megadható "-n 4"-el és "-n4"-el is. Az előjel mindig pozitív.)
-c4 fájl1 fájl2 : mindkét fájl első 4 karakterét írja ki
tail
# Szűrő eszköz. A fájl utolsó sorait írja ki.
-n+2 fájl : A fájl tartalmát a második sortól mutatja meg
tail -n+3 fájl | head -n1
vagy
head -n3 fájl | tail -n1
# Egy fájl harmadik sorát így írhatjuk ki
mc
# Midnight Commander fájlkezelő
mcedit
# Az mc szövegszerkesztője
update-alternatives --config editor
# Alapértelmezett szövegszerkesztőnket a fenti paranccsal tudjuk módosítani (pl mcedit-re)
mkisofs (korábbi verziókban cdrtools csomag tartalmazza!)
# Hasznos segédprogram ISO-k készítéséhez.
-r -o cd.iso /cdrom/ : ISO készítése a CD lemezünkről
mkisofs -J -V "Label" adat/ | sudo cdrecord dev=0,0,0 speed=32 -data -v -eject driveropts=burnfree -
# adat mappa kiírása 32x-es sebességgel, Label nevű, verbose, az írás végén CD kiadással.
cdrecord -scanbus
# dev érték lekérdezése
mkswap
# Swap terület létrehozása
swapon
# Swap bekapcsolása
swapoff
# Swap kikapcsolása
install
# Fájlok másolása, attribútumok módosítása
less
# Szűrőprogram fájlok adatainak megjelenítéséhez.
ls
# A könyvtárstruktúrát jelenít meg
ls -lt : méret szerint sorrendben
ls -ls : utolsó módosítás szerint sorrendben
ls ??????? : minden 7 karakteres állományt jelenít meg
ls -a : a rejtett fájlokat is kiírja
ls -r ? : fordított sorrendben írja ki. pl.: -nr : ABC fordított sorrendjében
ls [aes]? : azokat a 3 betűs fájlokat, melyek középső betűje a,e,s közül bármelyik
ls [nm]* : azokat a fájlokat melyek n,m betűvel kezdődnek
ls *c : amelyek c-betűre végződnek
ls [^s]* : amely fájlok nem s-el kezdődnek
ls I szó : kilistázza a könyvtár tartalmát, de a szó-t kihagyja
lsof
# Nyitott fájlok kilistázása
-p pid : Folyamat azonosító szerinti szűrés
| egrep ":port1|:port2" : A megadott portokat használó fájlokat listázza ki
lspci
# Hardver információk
-v : bőbeszédű
-vv : még bőbeszédűbb
lsusb
# Usb eszközök kiíratása
lshw
# Hardver információk, kicsit bővebben
-X : Grafikus felületű eredmény
-html : HTML formátumban menthetjük a kimenetet
-short : Az eszközök fa-szerű megjelenítése
mv
# Fájlokat könyvtárakat mozgat, vagy nevez át
-i : A módosítások előtt rákérdez, hogy valóban akarjuk-e
-U : Nem mozgatja az újabb (módosítás dátuma szerint) célfájlal rendelkező állományokat.
-f : force, a célfájlok törlése, kérdés nélkül
mkfs
# Fájlrendszer létrehozása
-t filesystem eszköz [blokkméret]
-t ext2 -V /dev/eszköz : ext2-es fájlrendszer létrehozása
slocate -u
# A hdd tartalmáról készít adatbázist.
-e könyvtár1 konyvtár2 : könyvtárakat tudunk kivenni az adatbázisból
updatedb
# Az slocate -u helyett, már ez a parancs használatos.
locate fájl
# Az előzőekben létrehozott adatbázisban megkeresi a fájl-t. (Azonnal meg van az eredmény)
ln -s
# Soft link-et hoz létre
-s fájl1 fájl2 : fájl1 ről készít fájl2 nevű soft-link-et.
mkdir -t ext2 /dev/ram0 4096
mount /dev/ram0 ramdisk/
# 4Mbyte os ramdisk-et hozunk létre, és felcsatoljuk.
mount
# Eszköz felcsatlakoztatás (CD,partíció, pendrive, hdd, etc.)
/dev/hda2 /mnt/usbhdd : hda2-es eszközt csatolja fel a usbhdd könyvtárba (létre kell elötte hozni!)
-o noatime /dev/hdX : noatime attribútummal csatlakoztatja a lemezt. (I/0 művelet csökkentés!)
/eleresi/ut/cdimage.iso /mnt/cdrom -o loop : cdimage.iso felmountolása megtekintésre. (kell /mnt/cdrom mappa!)
-t cifs -ro //server/megosztas /mnt/hova : CIFS fájlrendszert csatolunk read-only módban a server megosztásából
umount /dev/eszköz
# Lecsatlakoztatás
pwd
# Kiírja az aktuális könyvtárat
recode
# file karakterkódolásának konvertárálása
iso-8859-15..utf8 modositando_file : Nyugat európai kódolás konvertálása UTF8-ra
rmdir
# Könyvtár törlés
rm
# Állományok eltávolítása
-d : könyvtárat
-i : rákérdez a törlés előtt (Ajánlott!)
-rf : Könyvtárstruktúrát töröl (akkor is, ha nem üres)
rsync
# Hasznos file másoló, szinkronizáló program
-a : Archive módban másol. Tulajdonosok, attributumok, linkek megmaradnak.
-v : Bőbeszédű a kimenetkor.
-z : Tömörítve küldi el.
-b : Biztonsági mentésekhez használatos. *.~ végű file keletkezik.
--exclude '*~' : kivéve a ~ végü file-ok.
-avz /eleresi/ut/honnan/* 192.168.1.1:/eleresi/ut/hova
# Relatív elérési úttal megadva, archive módban tömörítve menti a hálózati gépre.
sed
# Stream editor, folyamatszerkesztő. A bemenetet a kimenetre másolja miközben megszerkeszti.
echo "hablabda" | sed 's/a/K/g' : kimenete.: hKblKbdK, azaz "a" betűket "K"-ra cseréli
'/ *#/d; /^ *$/d' file : a file-ból kiszűrjük a kommenteket, üres sorokat.
sort
# Sorba rendezés
-b fájl > kimenet : ABC sorrendbe rendezi a fájlt, az eredményt a kimenetbe írja.
-r fájl : fordított sorrendben rendez
-n fájl : a sor elején levő számok szerint rendez
-u fájl : az azonos sorokat csak egyszer írja ki
sync
# A Ramból a merevlemezre még ki nem írt adatok szinkronizálása (Fontos)
touch fájl
# létrehoz egy üres állományt
-t MMDDHHmm fájl : A fájl időbélyegeinek dátumát változtatja meg. MM-Hónap DD-Nap HH-Óra mm-Perc
-r file file2 : file időbélyegei alapján állítja be file2 időbélyegeit.
-a -t 03091315 file : a file létrehozási dátumát állítja Március 9., 13:15-re.
-m -t 03091315 file : a file módosítási dátumát állítja Március 9., 13:15-re.
tree
# Könyvtárstruktúrát írja ki
-d : csak a mappákat adja meg.
-f : teljes path-al kapjuk meg a file-ok elérési útvonalát a fa struktúrában.
tar
# Ki-be tömörítő
Listázás
--------
-tvf file.tar : megmutatja a mentes.tar tartalmát
-tvfz file.tar.gz : megmutatja a mentes.tar.gz tartalmát
-tvfj file.tar.bz2 : megmutatja a mentes.tar.bz2 tartalmát
-tvvf mentes.tar : részletes listázás, jogok, tulajdonos etc.
Betömörítés
-----------
-cvf file.tar /eleresi/ut : az elérési útvonal alatt levő adat tar-ba tömörítése.
-cvfz file.tar.gz /eleresi/ut/amit/mentunk : az elérési útvonal alatt levő adat gzip-be tömörítése.
-cvfj file.tar.bz2 /eleresi/ut/amit/mentunk : az elérési útvonal alatt levő adat bz2-be tömörítése.
Kitömörítés
-----------
-xvf file.tar : Kitmöröíti a tar-t és egy /file mappába teszi
-xvfz file.tar.gz : Kitömöríti a gz-t, majd a tar-t, és egy /file könyvtárba teszi
-xvfj file.bz2 : bzip2-t tömöríti ki
Exclude példa.:
---------------
-cvfz file.tar.gz /home/mit/ --exclude={/home/MIT_NE,/home/MIT_NE2}
# /home/mit mappa tartalmát betömörítjük gzip-be, kivéve /home/MIT_NE, /home/MIT_NE2-t.
uniq
# Több sorból álló szövegben az ismétlődő sorokkal kezd valamit
-c fájl : az egymás utáni azonos sorokból egyet hagy meg, és kiírja a sorok elején hogy hányszor
# ismétlődött az adott sor
vi
# Parancssoros szövegszerkesztő
# Kilépés mentéssel : ESC, majd :wq
# Kilépés mentés nélkül : ESC, majd :q!
vi -b +/mikulas fájl
b : Bináris állomány szerkeszthetőségét teszi lehetővé
+/mikulas : a fájl-ban a mikulas kifejezéshez ugrik
wc fájl
# sor, szó, karakter számítása
-m fájl : a fájlban lévő karakterek száma
-c fájl : a fájlban lévő bájtok száma
-w fájl : a fájlban lévő szavak száma
-l fájl : a fájlban lévő sorok száma
which program
# A program futtatható állományának elérési útvonalát adja meg (általában /usr/bin)
watch cat file
# A file változásait figyeli, 2 másodperces időközönként frissítve.
Apt-vel telepítsük a quota csomagot. quota # Tároló kvótázás programja quota -v # A bejelentkezett felhasználó kvótabejegyzései quotacheck -uagv # Végignézi a fájlrendszert, a tárkorlátok adatainak begyűjtése érdekében # Majd feltölti az adatbázist (aquota.user, aquota.grp) -u : alapértelmezett -a : minden fájlrendszer ellenőrzésre kerül -g : csoportadatok keresése -v : verbose, bőbeszédü quotaon -augv # kvóták bekapcsolása quotaoff -av # kvóták kikapcsolása repquota -av # megtekinthetjük felhasználónként a kvótabejegyzéseket edquota -u user edquota -g group # Felhasználó, csoport kvóták beállítása # Alapértelmezett szerkesztőnk átmeneti állományaként állíthatjuk be # Ezért érdemes: export EDITOR=kedvenc_szerkesztőnk -et beállítani. -p user user2: user2 kvótáit állítja be, user mintájára /etc/fstab file-ban, az adott partícióhoz meg kell adnunk az options-ba a usrquota, grpquota kapcsolókat.
login # Bejelentkezés logout # Kijelentkezés who # Bejelentkezett felhasználók kiíratása whoami # Milyen néven is jelentkeztünk be? users # Kiírja az rendszeren levő felhasználók nevét adduser # Új felhasználó létrehozása (felhasználóbarát) useradd # Új felhasználó hozzáadása # Ha opciókat használunk, a user-nevet a sor végére írjuk! -u szám : felhasználói azonosító megadása (UID) -g csoport : csoport tagság beállítása -d /home/user : A felhasználó HOME mappáját állítjuk be /home/user -re. -s /bin/false : Alapértelmezésként nem kap shell-t bejelentkezéskor. -G csoport1,csoport2 : vesszőkkel elválasztva, ha egyéb csoportnak is tagja a felhasználó -m -k /home/letezo uj : egy létező felhasználó mintájára építi fel az új user home-ját. # Minden fájl és könyvtár is belekerül a fiókba, + a beállítások is. usermod # Felhasználói fiókok módosítása -u érték user : a felhasználó azonosítóját változtatja (UID) -g csoport user : a felhasználó csoportját változtatja -G csoport1,csoport2 : a júzer-t több csoporthoz is rendeli -L user : lock-olja a felhasználó hozzáférését (nem tud belépni) -U user : unlockolja a hozzáférést userdel # Felhasználó törlése -r user : home-al együtt törli deluser # Felhasználó törlése groupadd # Csoport létrehozása -g szám csoportnév : Egyénileg választott csoportazonosítóval (GUID)-el hozunk létre csoportot # /etc/group : csoportlista groups user # A user csoportjait adja meg. id -nG user # Szintén. groupmod # Csoport fiókját változtatja -n név újnév : csoport nevét változtatja gpasswd # Csoport adminisztráció. groupka : groupka nevű csoport létrehozása -a Peti groupka : Peti nevű user-t hozzáadja groupka csoporthoz. -d Peti groupka : Peti-t kitörli groupka csoportból history # Sorszámozottan megadja az utolsó N parancsot, amit az aktuális felhasználó adott ki. (default: 500) cat /home/username/.bash_history # username nevű felhasználó saját history-jának kiíratása, root-ként engedélyezett !n # n-edik sorszámú parancs újra futtatás !-n # n-el korábbi parancs futtatása !! # legutóbbi parancs újra futtatása history -c # clear history export HISTTIMEFORMAT='%F %T ' history # "EV-HONAP-NAP Ora:Perc:Masodperc Parancs" formátumban kapjuk meg a history kimenetét unset export HISTTIMEFORMAT # visszaállítás az eredeti állapotra/kimenetre export HISTCONTROL=ignoredups # duplikálás kiszűrése. Kikapcsoláshoz szintén unset export.. export HISTSIZE=0 # history kikapcsolása Permanens beállításhoz ---------------------- /home/username/.bash_profile file-ba fel kell venni a fenti sorokat. talk # Felhasználókkal való kommunikálás egyik eszköze finger # Felhasználó információi chfn # Felhasználói információk megváltoztatása (finger kimenete) last # Ki jelentkezett be utoljára és honnan (felhasználó vagy terminál alapján) lastlog # /var/log/lastlog kimenete locale # Kiírja az aktuális lokalizációt dpkg-reconfigure locales update-locale # Újra konfiguráljuk a locales-t, ezáltal új nyelveket használhatunk a rendszeren alapértelmezettként. # A második sor is kötelező. passwd # A bejelentkezett felhasználó jelszavának módosítása # Userként kiadva saját jelszavunkat változtatjuk meg. A régit tudnunk kell hozzá. user : user nevű felhasználó jelszavát változtatja meg. root-ként, nincs szükség a régi jelszó megadására. -l user : lock user account. user jelszavát ideiglenesen megváltoztatja egy random karaktersorra. -u user : unlock user account.: Az eredeti jelszót visszaállítja user számára. -e user : expire. A user jelszavának azonnali lejárata. Következő belépésnél új jelszót kell adnia. -S user : status. Státusz információk kiírása. 7 mezőből áll melynek értékei.: # 1.: Usernév, # 2.: L-locked, NP-No Password, P-Password # 3.: Utolsó jelszó váltás dátuma # 4.: min. év. (napokban) # 5.: max. év (napokban) # 6.: figyelmeztetési periódus (napokban) # 7.: inaktív periódusa a jelszó tekintetében. stat file # File név, relatív elérési útvonal, méret, hozzáférési jogok, access, modify, change, # UID, GID, egyéb hasznos infók kiíratása su - user # Indít egy másik shell-t, user felhasználóként smartctl # HDD vizsgálatára, SMART értékek figyelésére alkalmas program. # smartmontools csomag tartalma, telepítenünk kell repo-ból. -i /dev/sda : Eszközinformációk kiíratása. # Ha a SMART support nincs bekapcsolva az eszközön, az alábbi paranccsal kapcsolhatjuk be.: -s on /dev/eszköz -A /dev/sda : Attributum táblák megjelenítése. Legtöbben ezekre az értékekre vagyunk kíváncsiak. -t long VAGY --test=long /dev/sda : sda eszköz teljes vizsgálata -t short VAGY --test=short /dev/sda : sda eszköz gyors vizsgálata # Az eredményeket utóbbi két esetben az alábbi paranccsal nézhetjük meg.: -l selftest /dev/sda -H /dev/sda : Az sda eszközünk jó-e vagy sem? --all /dev/sda : Minden SMART információ kiíratása. write user tty # Egy Linux gépre bejelentkezett felhasználónak üzenet küldésre szolgáló parancs mesg # A write üzenetküldő aktuális beállítását kérdezhetjük le. (engedélyezve vagy tiltva van) mesg n # A write üzenetküldő tiltása mesg y # A write üzenetküldő engedélyezése
w
# Nemes egyszerűséggel megmutatja, ki van belépve, és mit csinál
pidof folyamat
# A folyamat azonosítóját adja meg (PID)
parancs &
# Parancs futtatása a háttérben
fg : felélesztés, majd előtérben futás
bg : felélesztés, majd háttérben futás
jobs
# Háttérben futó programok kiíratása
ps
# Futó folyamatok kiírása
-u pisti : pisti felhasználó által futtatott folyamatok
aux : minden folyamatot kiír, szinte minden információval
alxww : minden folyamatot, még több infóval (pl.: PPID)
-t1 : tty1-es terminál kilistázása
f : erdő szerű megjelenítés
l : kiírja a folyamatok PID-jét és PPID-jét is. (parent's process identifier)
ww : a programok parancssori kapcsolóit írja ki.
pstree
# Folyamat struktúra fa-szerű ábrázolása.
nice
# Priorítása lekérdezése, beállítása
-n --20 program : a rendszer a legtöbbet ezzel a programmal fog foglalkozni. (+19-től -20 ig)
renice -10 1124
# 1124-es folyamat -10-es prioritásra állítása
kill "pid"
# Folyamat leállítása PID szerint
-9 pid : erőszakos bezárás
-1 : jelentése SIGHUP, mely a folyamat bezárása, config fájl beolvasása, folyamat újraindítása
-9 : jelentése SIGKILL, folyamat erőltetett bezárása. (Csak végszükség esetén)
-15 : jelentése SIGTERM, szabályos programleállítás
-s "signal" : megadja, hogy milyen jelet küldünk a folyamatnak.
#signal-ok: TERM, QUIT, ABRT, KILL
killall parancs
# Ha több "parancs"-fut (pl.: iceweasel), mindet leállítája
nohup find / name t* > ~/nohup.log &
# A "t" betűvel kezdődő fájlok keresése a háttérben, az eredmény a nohup.log-ba kerül.
init
# Futtatási szint beállítása (run levels)
# Az egész rendszerünk állapotjelzője, ami meghatározza, mely szolgáltatások
# működnek vagy épp indulnak el rendszerindításkor. A futási szinteket számokkal azonosítjuk.
# Definiálhatunk magunknak különböző szinteket annak függvényében, hogy milyen jellegű munkára
# szánjuk éppen a gépünket. Pl ha X-el, bluetooth-al és egyéb erőforrás igényes alkalmazásokkal
# szeretnénk használni a gépünket létrehozhatunk pl egy 4-es init szintet.
# Ezt a szintet az inittab-ban beállíthatjuk alapértelmezettként induláshoz, de akár a rendszer futása
# közben is ugrálhatunk a szintek között. -> Akár több szolgáltatást is indíthatunk vagy
# állíthatunk le egy paranccsal.
#
# Szintek:
# -------
0 : kikapcsolás
1 : single-user mód (speciális rendszeradminisztrációs funkciókra)
2-5 : multi-user mód, (normál működés)
6 : reboot
# /etc/inittab -ban állítható be a gép alapértelmezett indulási init szintje.
# configból.:
The default runlevel.
id:2:initdefault:
# /etc/rcX.d könyvtárak a megfelelő szinteken induló programok linkjeit tartalmazzák.
#
# Új szolgáltatás hozzáadása init szintekhez : Program bemásolása /etc/init.d-be, majd erről
# egy link létrehozása a kiválaszott init szint könyvtárába (pl.: rc2.d)
# Csak akkor indulnak el, ha S betűvel kezdődnek.
# A kezdőbetű után levő számok az induló folyamatok sorrendjét befolyásolják.
Daemonok kezelése.:
-------------------
/etc/init.d/daemon_nev start : daemon indítása
/etc/init.d/daemon_nev stop : daemon leállítása
/etc/init.d/daemon_nev restart : daemon újraindítása
/etc/init.d/daemon_nev status : daemon status infók kiíratása
runlevel
# Megadja, hanyas init szinten voltunk és vagyunk. (kimenet pl.: N 3 , vagy 3 2.) típusú.
# 3 N jelenti, hogy 3-ason voltunk és vagyunk, 3 2 pedíg hogy 3-ason voltunk 2-esen vagyunk
shutdown
# Kikapcsolás
-h now : Azonnali kikapcsolás (időt is megadhatunk)
-h 12:00 & : A gép kikapcsolása 12:00-kor.
-c : Az időzített kikapcsolási folyamat megszakítása
-r 0 : Azonnali újraindítás
at # Megadott időpontban futtathatunk programokat -f todo 23.59 : előre megírt parancsainkat (todo fájlban) 23:59-kor lefuttatja az at. # Idő formátumok # 13.13 01.01.02 : 13 óra 13 perc, 2002, január 1 # 2pm tomorrow : honlap délután 2 # 1am Sun : hajnali 1 óra, vasárnap atq # Az at várakozási sorrendjét ismerteti atrm pid # Az at várakozási sorából való eltávolítás, Process ID alapján cron # A Linux parancs ütemezője # /etc/cron.d ; /etc/cron.daily ; /etc/cron.weekly crontab -l : kilistázza a belépett user beállított ütemezéseit crontab -e : Editáljuk a belépett user ütemezéseit # Crontab paraméterezése.: # ------------------------ # # Perc Óra Hónap napja Hónap Hét napja Parancs # (0-59) (0-23) (1-31) (1-12 v. Jan-Dec) (0-6 v Vas.-Szo.) Parancs # # # Pl.: # # 0 2 12 * 0,6 ping 192.168.1.1 # Minden hónap minden szombatján és vasárnapján amelyek 12.-ére esnek, 2:00-kor megpingeli a címet. # # Pl.: # # 30 10 * * * ping 192.168.1.1 # Minden nap, 10:30 kor megpingeli a címet. # # Alkalmazhatunk például vesszőt is, az első rublikába írva "0,30" jelenti minden óra # 0. illetve 30. percét. # # További példák.: # @reboot parancs : A következő indításnál lefutó parancs. @weekly :"0 0 * * 0" : Hetente egyszer fut le, vasárnap éjfélkor. @daily :"0 0 * * *" : Naponta egyszer fut le, éjfélkor. @midnight :"0 0 * * *" : éjfélkor, ekv. az előzővel. @hourly :"0 * * * *" : Minden egész órakor fut le. date # Dátum kiíratása vagy beállítására használatos program +%F : 2011-11-04 formátumban írja ki az aktuális dátumot. +%Y%m%d : 20111104 formátumban írja ki az aktuális dátumot. -d-2day +%F : 2011-11-02 formátumban írja ki a 2 nappal korábbi dátumot. 11041153 : Beállítja az dátumot aktuális év, November 04., 11:53-ra. sleep 5 parancs # 5 Másodperc múlva indítja a "parancs"-ot. schedutils # Linux rendszer ütemező screen # Ablakkezelő, virtuális terminál emulátorral. # Háttérbeli programok futtatásához alkalmazható program. screen : Egy új VT-t (virtuális terminált) kapunk. Ctrl+a+d : bill. kombinációval tehetjük háttérbe. screen -ls : screen-ek listázása screen -d -m -S name : elindítja a háttérben a screen-t "name" névvel screen -x name : name nevű terminált hozzuk előtérbe screen -R PID : paranccsal tudjuk előtérbe hozni. (PID - processID, ps aux-al megnézhető) # SCREEN-ben kiadható billentyű kombinációk ------------------------------------------- Ctrl+a+d : bill. kombinációval tehetjük háttérbe. Ctrl+a+? : előhozhatjuk a legfontosabb bill. kombinációkat Ctrl+a+c : új ablakot hozhatunklétre. Ctrl+a+p VAGY n : előző vagy következő ablakra ugrás. (previous, next) Ctrl+a :kill : aktuális screen lelövése Ctrl-a :acladd USER : USEr nevű felhasználó engedélyezése becsatlakozásra (lásd MULTIUSER MODE) # MULTIUSER MODE # -------------- # # A screen többfelhasználós üzemmódja # Amennyiben kontrollált körülmények között szeretnék beengedni valakit a gépünkre közös shellt # használva, úgy az alábbi lépéseket kell alkalmaznunk.: screen # screen indítása a kiszemelt többfelhasználós gépen Ctrl+a :multiuser on # Ezt begépelve aktiválhatjuk az adott session-ön a többfelhasználós módot. # Másik oldalnak szükséges ismernie az adott user-ünk nevét/jelszavát, illetve SSH-n be kell tudnia # csatlakozni a gépünkre. Ha mindez megvan, és SSH-n bejött.: screen -x #Voila! time command # A command lefutási idejét méri command & # command háttérbeli futtatása command1 && command2 # command1 visszatérési értékének függvényében command2 is lefuthat. (ha command1 sikeres volt)
lsmod # Betöltött modulok kilistázása rmmod modulnév # Betöltött modul lekapcsolása a kernelből modprobe modulnév # Modult tölt be a kernelbe modinfo modulnév # a modulról kapunk információt ldd program # Kiírja a programhoz szükséges megosztott könyvtárakat, függőségeket # Linux kernel fordítás menete, röviden. (ez csak az egyik módszer)bővebben
# Megfelelő kernel verzió beszerzése (www.kernel.org, pl.: linux-2.6.20.3.tar.bz2) # apt-get install wget bzip2 binutils kernel-package module-init-tools initrd-tools yaird # tar zxvf linux-2.6.20.3.tar.bz2 (érdemes a /usr/src-be) # Belépés a létrejött könyvtárba # make mrproper (ha már próbálkoztunk beállításokal) # apt-get install libncurses5-dev # make menuconfig (az érdemi munka) # make-kpkg clean # make-kpkg --initrd kernel-image kernel-headers # cd .. # dpkg -i *.deb (2db állomány)
./configure make make install # Csomag telepítése forrásból make clean # Ha esetleg valamilyen kapcsolót kihagytunk a fordítás közben, # ezzel a parancsal pucolhatunk az újrafordítás előtt. make uninstall # Forrásból telepített program uninstall-ra használt parancs alien # Csomag konverter program (pl.: .rpm .deb etc.) apt /Advanced Package Tools, A Linux csomagkezelője/ -cache search : keresés -cache showpkg csomag : megmutatja a csomag függőségeit -cache policy csomag : a csomag telepített és telepíthető verzióit adja meg -get install csomag : telepítés -get remove csomag : törlés -get autoclean : nem használt csomagok törlése -get update : frissítás -get upgrade : frissítések telepítése -get dist-upgrade : distro frissítés -get -f install : törött, hiányzó csomagoknál a barátunk. -get clean : apt cache tisztítása -get build-dep csomag : telepítés minden egyes csomagjával együt -get source csomag : a csomag forrásának letöltése -file list csomag : kilistázza a csomag tartalmát -s kapcsoló esetén csak szimulálja a megadott feladatokat. echo "csomag hold" | dpkg --set-selection # csomag nevű csomagot visszatartjuk a frissítések során. # visszaállítása: hold helyett install-al adjuk meg. dpkg --get-selections # feltelepített csomagjaink listáját kapjuk meg, állapotuk feltűntetésével. dpkg /Debian packages/ # .deb csomagkezelő -i csomag : telepítés -r vagy --purge : törlés -reconfigure csomag : csomag újrakonfigurálása -l : csomagok listázása -I csomag : csomag információk megjelenítése -S fájl : megmutatja melyik csomaghoz tartozik a fájl A feltelepített csomaglistánk mentése, majd a mentett listát felhasználva a csomagok állapotának visszaállítása és a csomagok telepítése. dpkg --get-selections > /eleresi/ut/csomagok.txt : TXT-be mentjük a feltelepített csomagok neveit. dpkg --set-selections < /eleresi/ut/csomagok.txt : a TXT-ből kiolvassa a felsorolt csomagokat. apt-get -y update apt-get dselect-upgrade # Első lépésben a feltelepített csomagok listáját a csomagok.txt-be mentjük. # Második, harmadik, negyedik lépésben pedig a telepített sw.-k listájában felsorolt # csomagokat telepítjük rendszerünkre. dselect # A dpkg barátságosabb arca
rpm # Red Hat Package Manager rpm -ivh csomag.rpm # csomag telepítése rpm -Uvh csomag.rpm # Frissítés vagy telepítés. # Ha nincs telepítve , telepíti, ha telepítve van, megpróbálja frissíteni rpm -Fvh csomag.rpm # Csak frissítés. Ha nincs telepítve a csomag, kilép rpm -e csomag.rpm # Törlés rpm -q csomag.rpm # Megvizsgálja, hogy telepítve van e a csomag, és milyen verzió rpm -qa # Az összes telepített csomag vizsgálata
arp # ARP cache manipulálása ifconfig # Hálózati információk lekérése, konfigurálása ifconfig eth0 192.168.10.1 netmask 255.255.255.0 up # 192.168.10.1-es IP-t osztunk az eth0-ra (0-s hálókártya) # 255.255.255.0 a netmask. ifdown eth0 # eth0 eszközt lekapcsolja ifup eth0 # eth0 eszközt felkapcsolja ( dhcp esetén kér IP-t a kiszolgálótól)
# A Netfilter (hálózati csomagok feldolgozására szolgáló eszköz) kezelője.
# Az iptables a hálózati csomagok feldolgozási szabályait szerepük alapján szervezett
# táblák formájában kezeli.
#
# Szerepek (táblák - a feldolgozási folyamat típusát jelentik).:
# Csomagszűrés (filter)
# Hálózati címfordítás (nat)
# Egyéb csomagmódosítás (mangle)
# Ezen táblák mindegyikére feldolgozási szabályok (rules) lánca (chain) vonatkozik.
# A szabályok illesztésekből (match - mely csomagokra vonatkozik,) és célokból (target - mit kell
# tennünk az illeszkedő csomaggal) épülnek fel.
#
# Az iptables öt kapcsolódási pontot határoz meg a feldolgozás során.:
# PREROUTING : A hálózati csatolótol kapott csomag, még az INPUT lánc előtt ide kerül.
# INPUT : Épp mielőtt megérkezne a csomag egy helyi folyamathoz. (itt illik szűrni a bejővő forgalmat)
# FORWARD : Egy átjáró gépen a továbbított csomagok itt áramlanak keresztül
# OUTPUT : Miután egy helyi folyamat létrehozta a csomagot, itt távozik (kimenő csomag szűrés!)
# POSTROUTING : Mielőtt elhagyná a hálózati csatolót a csomagunk, az OUTPUT lánc után.
#
# A táblák, és beépített láncaik:
# filter tábla: FORWARD, INPUT, OUTPUT
# nat tábla: PREROUTING, OUTPUT, POSTROUTING
# mangle tábla: PREROUTING, FORWARD, INPUT, OUTPUT, POSTROUTING
#
# A láncok házirendje (policy).:
# Ezt a policy-t lánconként (INPUT, OUTPUT, FORWARD) a tűzfal szkriptünk legelején fixálnunk kell.
# Azok a csomagok, amelyek a tűzfal láncaiban felsorolt szabályokra nem illeszkednek, azokra a default
# policy vonatkozik, azaz vagy ACCEPT, vagy DROP.
# Pl.: Ha a tűzfalunk INPUT láncában csak a 80-as portot engedéjezzük, a policy-nk pedig DROP,
# akkor minden más porton érkező csomagot (amely nem illeszkedik a 80-as portot definiáló szabályra) eldob.
#
# Lánc műveletek, szabály módosítások:
# -N : új lánc létrehozása
# -X : üres láncok törlése
# -P : default policy beállítása
# -L : a láncok szabályainak megjelenítése
# -F : a lánc összes szabályának törlése
# -A : új szabály hozzáadása egy lánchoz
# -D : törlés az adott láncból
#
# Forrás (-s, --source, --src) és célcímek (-d, --destination, --dst) megadásának módjai.:
# Teljes név használata.: localhost, vagy pl.: www.debian.org
# IP cím alapján a meghatározás.: 127.0.0.1
# IP cím tartomány(ok) alapján.: 192.168.1.0/24 vagy 192.168.1.0/255.255.255.0
# (Mindkét tartomány 192.168.1.1-től 192.168.1.254-ig fedi le az IP címeket.)
# Inverz módon is megadhatunk forrást és célt, "-s !" localhost" formájában.
#
# Protokollok megadása.:
# -p TCP vagy UDP vagy ICMP formájában történik.
# Itt is alkalmazható az inverz, azaz "-p ! TCP", minden csomagra illeszkedik a szabály amely nem TCP.
#
# Interface meghatározása.:
# Az interface maga a fizikai eszköz amelyen bejön, vagy távozik a csomag.
# INPUT láncon "-i eth0" értelmezhető, nincs kimeneti interface-ük.
# OUTPUT láncon "-o eth0" adható meg, "-i" kapcsolóra egy csomag sem fog illeszkedni.
# FORWARD láncon alkalmazhatóak a "-i eth0" és "-o eth0" interface-ek.
# Alkalmazható joker karater az interface-eknél, ez a "+" jel. "-i eth+" -> az összes eth iface.
#
# Portok, port tartományok megadása
# A portok megadhatóak számmal, vagy névvel. (utóbbi esetben.: /etc/services).
# Port tartományokat "port:port" formában kell alkalmaznunk. Invertálás itt is alkalmazható.
# --source-port VAGY --sport : a csomagok forrásportját adjuk meg
# --destination-port VAGY --dport : a csomagok cél portját határozuk meg.
Folytatás később. Addig emésszétek! :)
ipcalc
# TUI felületű IP számláló. (hasznos lehet hálózat tervezés/bővítéskor)
darkstat
# Hálózati statiszkikák gyűjtésére szolgáló program.
host
# Lekérdezéseket kezdeményez a DNS kiszolgáló felé, tartományokról, zónákról.
-t ns valami.hu : valami.hu Name Server-ét adja meg
-t mx valami.hu : valami.hu levelező szervereiről ad információt
hostname
# Beállítja vagy megjeleníti a rendszer host-nevét.
iperf
# Sávszélesség korlátozásra használatos program.
curlftpfs -o allow_other username:password@ftp.domain.dom /csatolasi/pont
# Felcsatolhatunk ftp tárhelyeket, lokális fájlrendszerünkbe. (fusermount segítségével)
# Ha a hiba.:
# "If you don't use udev, you may get this error message:
# fusermount: failed to open /dev/fuse: No such fdevice or address
# Before loading the fuse kernel module, create the device node manually:
# A megoldás.:
mknode -m 666 /dev/fuse c 10 229
echo 0 > /proc/sys/net/ipv4/ip_forward
# Ha gépünket router-ként használjuk, érdemes beállítanunk a csomag továbbítást
# 1-es engedélyezi a tiltást, 0 tiltja a tiltást!
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Beállítjuk, hogy broadcast ping-re ne válaszoljon gépünk
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
# Beállítjuk, hogy ne válaszoljon gépünk a ping-re
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
# Engedélyezzük a hamis csomagok szűrését
...etc
--------------
# Ezek a beállítások rendszerleállításkor elvesznek, érdemes őket valamely induláskor
# lefutó script-be tenni, a hálózati interfészeket konfiguráló script elé.
--------------
etherwake
# Magic packet-et küld a wake-on-lan enabled hálókártyára
ethtool
# Ethernet kártya beállítások megjelenítése, változtatása
iptraf
# Hálózat terhelést figyelő program
iptstat
# Top-szerű hálózat elemző eszköz.
mii-tool
# Hálózati tesztelő
nbtscan
# NetBIOS információkat adja meg, a hálózaton
netstat
# Információkat ír ki a hálózati alrendszerről
-r : route kimenete
-i : interfész tábla
-tp : TCP/IP -t használó processzek listája
netstat -tn|grep ':80'|tr -s ' '|cut -d ' ' -f5|cut -d':' -f1
# kik csatlakoznak a gépünkre a 80-as porton?
netstat-nat
# Nat-olt kapcsolatok megjelenítésére szolgáló eszköz.
-n : Nem fordítja le a megjelenített IP-ket Hostname-ekre.
netcat
# TCP/IP swiss army knife
nload
# Network load - Hálózati terhelés vizsgálat
ngrep
# grep, hálózati forgalomhoz
netsed
# Hálózati csomagok valós idejű megváltoztatására alkalmas program
nslookup www.host.com
# host.com IP címének vizsgálata
nmap
# Elsősorban port scanner, de igen sokrétű alkalmazás
-O ip_cim : Op.rendszer detektálás
-p 1-10 ip_cim : Portok vizsgálata 1-10 ig.
-sP 192.168.10.0/24 : komplett 10.0-s hálózat ping scan.
-p U:53,111,137,T:21-25,80,139,8080 ip_cim : UDP-n 53,111,137, TCP-n 21-25,80,139,8080-at vizsgál.
ping host
# Ping jelet küld a host-nak
-b ip_tartomány : broadcast üzenet küldés
route
# A Linux útválasztó táblájának megjelenítése (Routing table)
route add -net 192.168.10.0 netmask 255.255.255.0 eth0
# A 192.168.10.0-s hálózatra menő csomagokat az eth0-ra irányítja a rendszer
# A hálót így már látnunk kell
route add default gw 192.168.10.254
# 192.168.10.154-es IP-vel rendelkező router (gateway) hozzáadása a routing table-hez.
route del default gw
# Alapértelmezett átjáró törlése a routing table-ből.
Static route hozzáadás
----------------------
up route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1
# Static route hozzáadása az adott eth eszközhöz. ( /etc/network/interfaces ethX szeksziójához hozzáadandó)
# Az ethX eszközünk 192.168.2.0 hálózat felé a 192.168.2.1 legyen a default gateway.
down route del -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1
# A Fenti kikapcsolása.
rsh
# Távoli shell
-l user gepnev parancs : a "parancs"-ot lefuttatja a távoli gépen, user nevében
smbclient
# SMB hálózati erőforrások tallózása
smbclient -M gépnév
# Üzenet küldése Windows-os gépekre (net-send szolgáltatás). Elküldés:Ctrl + D az üzenet végén
echo üzenet | smbclient -M gépnév : azonnal küldi, nem kell Ctrl+D
ssh host /Secure SHell/
# Titkosított hálózati bejelentkezés
# config file-k.: /etc/ssh/sshd_config, /usr/local/etc
ssh-keygen -t rsa : RSA kulcs létrehozása ssh-hoz.
scp
# Biztonságos távoli fájl átvitel
sntop
# Top-szerű hálózati forgalom figyelő szoftver.
tcpdump
# Hálózaton átmenő forgalmat figyeli.
-i ethX : Az ethX csatolón átmenő forgalmat figyeli.
traceroute host
# A hálózati útvonal kiírása a célszerverig (host) /IP hálózaton/
trickle
# Sávszélesség korlátozásra használatos program.
-u 100 -d 200 proftpd : A proftpd démon számára biztosít 100KB fel, 200KB letöltési sávszélt.
tsclient
# Terminal Services Client
proftpd
# FTP kiszolgáló démon
# config file.: /etc/proftpd
pure-ftp
# FTP kiszolgáló
rdesktop
# Remote desktop kliens
stunnel
# SSL (Secure Socket Layer) titkosított kapcsolatba csomagolhatunk protokollokat.
# pl.: POP3, IMAP, etc.
squid
# Proxy kiszolgáló
# config file.: /etc/squid/squid.conf
vconfig
# virtuális eth eszközök létrehozására alkalmas program.
vlan csomag tartalmazza, tehát ezt telepítenünk kell.
vconfig add eth0 1 : az eth0:1 eszköz hozzáadása, majd fel kell vennünk a /etc/interfaces-be!
# Példa config.:
# --------------
...
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.42
netmask 255.255.255.0
gateway 192.168.1.254
auto eth0:0
allow-hotplug eth0:0
iface eth0:0 inet static
address 192.168.1.43
netmask 255.255.255.0
auto eth0:1
allow-hotplug eth0:1
iface eth0:1 inet static
address 192.168.1.44
netmask 255.255.255.0
vsftpd /Very Secure FTP daemon/
# config file.: /etc/vsftpd
# Néhány fontos kérdés.:
-anonymus_enable : anonymus ftp engedélyezése. Szükség van egy ftp nevű user-re.
-local_enable : normal felhasználókat engedjük be. (kell az anonymus hoz is)
-write_enable : engedi az írást
-local_umask : felhasználók autómatikus jogai (default 022)
-anon_upload_enable : anonymusként feltülthetünk
-anon_mkdir_write_enable : anonymusként mkdir engedélyezés
-xferlog_enable : xfer log-ot ír a daemon
-connet_from_port_20 : 20-as portot használ
-chown_uploads : anonymusként feltöltött fájlok tulajdonosának megváltoztatása
-chown_username : Kinek a tulajdona legyen a file
-idle_session_timeout : inkatív kapcsolatok bontási ideje
wireshark
# Hálózati forgalom figyelő (GUI)
wondershaper
# Egyszerű sávszélesség korlátozásra használatos program.
ethX 1024 1024 : Az ethX eszköz részére biztosít 1024Kbit le és feltöltési sávszélt.
ethX clear : Törli a beállításokat.
# A parancsértelmezőnk által ismert parancsokat fűzhetjük össze egy "programba". (lásd .bat) # Programunk első sorában minden esetben meg kell adnunk a futtató programot, jelen esetben a bash-t. # Tehát a fájlunk kezdete legyen: #!/bin/bash # Felkiáltójel nélkül más futtató programot (parancsértelmezőt) is megadhatunk a programunk első sorában. # Futtatási jog nélkül nem tudjuk használni, ezért chmod +x programnev # Programunk futtatásához ./programnev parancsot kell használnunk.
# Escape-karakter: \ Bourne Again Shell escape-karaktere. Többek között ezzel a jellel lehet elérni, hogy az őt követő speciális karakter elveszítse módosító hatását. # Dollárjel: $ Segítségével változó neve és értéke között tudunk különbséget tenni. Ha $valtozo-t írunk, az a változónk értékét fogja visszaadni. # Kétszeres idézőjel: " " Az idézőjelek arra valók, hogy egyes karakterek vagy lefoglalt szavak speciális jellegét feloldják. # Egyszeres idézőjel: ' ' Megakadályozza a héjat (shell), hogy a $-t a változók jelzésének tekintse # Szögletes zárójel: [] Intervallumok megadására szolgáló eszköz # Kérdőjel: ? Egy elem helyettesítésére szolgáló jel # Csillag: * Joker karakter, bármennyi karakter helyettesítésére # Felsővessző: ` (jobbra tartó - AltGr + 7) Operátor, mely a két ` ` között lévő jelsort végrehajtja, és a kimenetét adja vissza úgy, hogy az új sor karakter helyére szőközt rak. # Kettőskereszt: # Kommentezés eszköze. (megjegyzés) # And jel: & Parancsok háttérbeli futtatására szolgáló eszköz. Pl.: updatedb & # Kettős And jel, vagy pontosvessző: && = ; Parancsokat futtathatunk egymás után. Pl.: cp -R /var/www /home/backup && shutdown -h now
EDITOR : Az alapértelmezett szövegszerkesztőnk HOME : Felhasználói könvvtárunk elérési útvonala MAIL : Beérkező email-jeink alapértelmezett könyvtára PATH : Azok az elérési útvonalak, melyekben a shell futtatható állományokat keres OSTYPE : Az operációs rendszerünk típusa PAGER : Az alapértelmezett file nézegetőnk elérési útvonalát kell tartalmaznia PWD : A könyvtár, ahol éppen vagyunk. (Szimbólikus linknél nem egyezik meg a pwd kimenetével!) SHELL : A jelenleg futú shell-ünk teljes elérési útvonala TERM : A Terminálunk típusát tartalmazza Ezek értékeinek kiíratására a következő parancs használható: echo $VALTOZO_NEV
Értékadó utasítással.: valtozo=érték : a változónk értéke legyen "ertek" valtozo=$(echo 2+3 | bc) : a változónk értéke legyen 2+3, bc-vel kiszámolva. export valtozo : shell változónkat környezeti változóvá tesszük # Ha azt szeretnénk, hogy restart után is permanens maradjon változónk, # az /etc/profile -ba is fel kell vennünk. unset valtozo : ha már nincs szükség rá, mint környezeti változó.
echo $0 # A futó program neve echo $$ # A futó program PID-je echo $? # A legutolsó parancs visszatérési értéke
# " | " segítségével tudjuk egy program kimenetét (stdout) egy másik program bemenetére (stdin) csatolni. pl.: ps aux | grep iceweasel # Az összes folyamat kimenetét a grep szűrő bemenetére irányítjuk, amely az iceweasel-t keresi. # stdin - standard input, jele : fd0 (alapértelmezett bemenet, pl.: billentyűzet) # stdout - standard output, jele : fd1 (alapértelmezett kimenet, pl.: monitor) # stderr - standard error, jele : fd2 (alapértelmezett hibacsatorna) ./program 2> hiba.txt # Programunkat lefuttatjuk, az esetleges hibákat (stderr) a hiba.txt-be irányítjuk, # az stdout helyett. ./program 1> kimenet.txt 2>&1 # Programunkat lefuttatjuk, kimenetét (stdout) a kimenet.txt-be mentjük, valamint # az esetleges hibákat (stederr) hozzáfűzzük a kimenet.txt-hez. cat file1 | sort | wc -w > file2 # file1-et tartalmát a sort-nak adja át, az rendezi, majd átadja a wc-nek, majd a wc # kimenete a file2-be íródik
#!/bin/bash echo Hello World! # A szokásos Hello World kiírása, programunk futtatásakor. #!/bin/bash STR="Hello World" echo $STR # Az STR változó deklarálása, majd értékének kiíratása. #!/bin/bash tar -cZf /var/backup.tgz /home/user # /home/user tartalmát menti és tömöríti a /var/backup-ba. #!/bin/bash OF= /home/user/$(date +%Y%m%d).tgz tar -cZf $OF /home/user/sajt # Egyszerű backup script, mely a /hme/user/sajt tartalmát, napi dátummal # ellátva egy .tgz állományba tömörítve menti. #!/bin/bash if ["foo" = "foo1" ]; then echo "a feltétel igaz" else echo "a feltétel hamis" fi # Egyszerű if-else szerkezet
-if szerkezet.:
---------------
#!/bin/bash
T1="foo"
T2="bar"
if [ "$T1" = "$T2" ]; then
echo "a feltetel igaz"
else
echo "a feltetel hamis"
fi
# eldöntjük T1 és T2 értékéről, hogy egyenlőek e.
#!/bin/bash
if [ -f /etc/passwd ]
then
echo "letezik!"
else
echo "nem letezik!"
fi
# eldöntjük, hogy /etc/passwd file létezik-e vagy sem.
# Blokkos eszköz (pl. pendrive) esetén -b kapcsolót kell használni!
#!/bin/bash
test -f /etc/passwd && echo "letezik" || echo "nem letezik"
# A egyel feljebb levő probléma másik megoldása.
# Blokkos eszköz (pl. pendrive) esetén -b kapcsolót kell használni!
-File szintű kapcsolók
if [ -a file ] then ...
-a : igaz, ha létező file
-e : igaz, ha létező file
-b : igaz, ha blokkos eszköz (pl /dev/sda)
-c : igaz, ha "karakterspeciális" file Pl.: (/dev/ttyACM0 - ez egy nokia telefon.)
-d : igaz, ha könyvtár
-f : igaz, ha regular file
-G : igaz, ha a futtató user csoportjáé a file
-N : igaz, ha módosították az utolsó olvasás óta
-O : igaz, ha a futtató useré a file
-r : igaz, ha olvasható?
-L : igaz, ha symbolic link
-s : igaz, hogy nem üres
-z : igaz, hogy üres
-w : igaz, ha írható a scriptet futtató user számára
# Tagadás mindenhol használható, azaz.:
! -f : nem regular file?
-Változó szintű kapcsolók
if [ file == file2 ] then ...
file1 == file2 egyenlőek?
file1 != file2 igaz hogy nem egyenlőek?
if [ "$(cat tibi)" != "$(cat peti)" ]; then
echo "Tibi nem Peti! :)"
exit 1 # Stop!
fi
-Szám szintű kapcsolók
if [ $foo -eq 3 ] then ...
$foo -eq 3 : igaz, ha foo értéke egyenlő 3-al (equal)
$foo -ne 3 : igaz, ha foo értéke nem egyenlő 3-al (not-equal)
$foo -gt 3 : igaz, ha foo értéke nagyobb 3-nál (greater than)
$foo -ge 3 : igaz, ha foo értéke nagyobb egyenlő 3-al (Greater or equal)
$foo -lt 3 : igaz, ha foo értéke kisebb 3-nál (Less than)
$foo -le 3 : igaz, ha foo értéke kisebb egyenlő 3-al (less than or equal)
"$foo" == "10" foo értéke 10?
# Dupla zárójellel használhatóak ==, !=, >=, >, <, <=..
(($foo <= 3)) foo értéke nagyobb egyenlő 3-nál
-while szerkezet.:
------------------
#!/bin/bash
COUNTER=0
while [ $COUNTER -lt 10 ]; do
echo a szamlalo erteke: $COUNTER
let COUNTER=COUNTER+1
done
# COUNTER változónkat 1-el növeljük addíg, amíg el nem éri a 10-et.
-until szerkezet.:
------------------
#!/bin/bash
COUNTER=20
until [ $COUNTER -lt 10 ]; do
echo a szamlalo erteke: $COUNTER
let COUNTER-=1
done
# COUNTER változónkat 20-as kezdőértékről 1-el csökkentjük, amíg el nem éri a 10-et.
-for ciklus (C szerű)
---------------------
#!/bin/bash
for i in `seq 1 10`;do
echo $1
done
# az i változónkat felveszi 1-től 10-ig az értékeket, majd ki is írjuk a képernyőre
-for ciklus (a könyvtár elemeire)
---------------------------------
#!/bin/bash
for i in $( ls );do
echo a konyvtar elemei: $i
done
# kiíratjuk a képernyőre az aktuális könyvtár elemeit
#!/bin/bash
function quit {
exit
}
function hello {
echo Hello!
}
hello
quit
echo foo
# Egyszerű fv. deklarálás, majd az értékek kiíratása ( a 10. sor sosem fut le!)
#!/bin/bash
function quit {
exit
}
function e {
echo $1
}
e Hello
e World
quit
echo foo
# Egyszerű fv. deklarálás, majd az értékek kiíratása ( a 11. sor sosem fut le!)
#!/bin/bash echo "Most `w -h | wc -l` felhasználó van bejelentkezve." # Kiíratjuk programunk segítségével, hogy hány felhasználó van bejelentkezve #!bin/bash test -d /home/user && echo "van" || echo "nincs" # Megvizsgáljuk, hogy van e /home/user könyvtár, két kimenetű elágazással (&&) # Ha van.: van # Ha nincs.: nincs # -d : van-e ilyen? #!/bin/bash if [ -d /home/user ]; then echo "van"; else echo "nincs"; fi # Ugyanaz mint az előző példa, csak kicsit másként. # [-test parancs, ]-test zárás #!/bin/bash if [ -s /etc/motd ]; then echo "nagyobb"; else echo "zerus"; fi # Megvizsgáljuk, hogy a /etc/motd nagyobb e nullánál, vagy zérus. # -s akkor ad IGAZ-at, ha a fájl létezik és nagyobb 0-nál. #!/bin/bash for i in *.mp3; do mpg123 "$i"; done # Az aktuális könyvtárban az összes mp3 kiterjesztésű állományt, az mpg123 # nevű programmal lejátszuk. # Egyéb érdekes/hasznos shell parancsok ömlesztve. # ----------------------------------------------- < /dev/urandom tr -dc A-Za-z0-9_ | head -c8 # 8 karakteres random jelszó generátor for i in $(ls); do cat $i >> 123.txt; done # aktuális könyvtárban található file-ok 123.txt file-ba összefűzése. host -t mx mydomain.com nslookup -q=mx mydomain.com dig -t mx mydomain.com # MX record check-re használható parancsok net rpc shutdown -I IP -U DOMAIN/user # shell-ből Windows klienst állíthatunk le távolról. (ha tudjuk a local admin jelszavát..) net rpc shutdown -I IP -U DOMAIN/user -f -t 60 # Előbbi parancs, időzítve 60sec-re. echo tartalom | mailsend -to sendto@domain.dom -from from@domain.dom -starttls -port 587 -auth -smtp STMP.server.address -sub targy +cc +bc -v -user Username -pass Password # 587-es porton (TLS) levélküldés. A fenti változók jelentései: # # tartalom : az levél tartalma # sendto@domain.dom : címzett # from@domain.dom : feladó # SMTP.server.address : milyen SMTP-n keresztül # targy : az üzenet tárgya # user/pass : SMTP user neve, jelszava.
abook # Address book. antiword # Microsoft .DOC nézegető amsn # MSN kliens (GUI) acpi # ACPI eszközök információi acpid # acpi program démonja audacious # xmms utód, grafikus felületre mp3 lejátszó program bitchx # IRC kliens (TUI) -volt- badblocks # Lemez ellenőrző (Bad sectorokat keres) -o file_nev : a hibás sectorokat a file_nev állományba menti cal # Szöveges naptár -y : az aktuális év teljes naptárát mutatja meg clamav # víruskereső szoftver clear # Törli a képernyőt dict # Szótár program opendict dict-freedict-hun-eng : magyar-angol dict-freedict-eng-hun : angol-magyar elinks # Konzolos böngésző. false # Nem csinál semmit, sikertelenül. (1-es visszatérési értékkel) finch # Konzolos Instant messenger, pidgin, .. firestarter # Tűzfal konfiguráló fsck # Filesystem check. # Lemez-ellenőrző (helytelen leállítás után autómatikusan lefut.) # A helyre nem hozott állományokat a lost+found könyvtárba teszi. fwbuilder # Tűzfal beállító gaim # MSN, irc, etc, kliens gpg -c file # Fájl titkosítása (OpenPGP) gpg file # Fájl kititkosítása gparted # Lemez partícionáló hdparm # Merevlemes információk -i /dev/hdx : Merevlemezünkről ad információt -Tt /dev/hdx : Sebességmérő eszköz hddtemp /dev/hdx # Lemez hőmérséklet figyelő irssi # IRC kliens program, konzolos felületre. k3b # KDE alapú cd-dvd író program (GUI) kopete # MSN kliens lynx # Konzolos böngésző mbmon # Motherboard monitoring memtest86 # Memória tesztelő alkalmazás mp3blaster # Konzolos mp3 lejátszó, tracklist support-al. mplayer # Média lejátszó mutt # Konzolos levelező kliens qemu # Processzor emulátor setterm # Konzol beállításai tpconfig # Touchpad konfiguráló tpctl # IBM ThinkPad hardver konfiguráló true # Nem csinál semmit, sikeresen. (0-ás visszatérési értékkel) thosutils # Toshiba laptop programok reset # Visszaállítja a konzol beállításait vlc # Média lejátszó xchat # IRC kliens (GUI) xmms # Audió lejátszó program xmms-liveice # Audió kimenetet küldi a southcast-nek xdpyinfo # X kiszolgáló információk yes > file # Csupa y-t ír a file-ba, elég gyorsan. :) zgv # Konzolos képznézegető
Linux software RAID 1 készítése, élő Debian/GNU Linux (Etch) rendszeren Az alábbi leírást mindenki csak saját felelősségére használja! A folyamat elindítása előtt javasolt biztonsági mentést készíteni az adatokról, hiszen bármely elütés, figyelmetlenség következtében az adatok elveszhetnek! RAID technológiáról bővebben.: ------------------------------RAID Wikipedia
/dev/sda - élő rendszerem lemeze /dev/sdb - a majdani RAID1 másik lába. # Az én élő rendszerem partíciói.: (nálad ez valószínűleg egészen más) # A lemez/partíció elnevezéseket saját rendszeredhez kell igazítani. Csak megfontoltan. # # Eszököz csatolási pont file rendszer # ------- -------------- ------------- # /dev/sda1: /boot ext3 # /dev/sda2: swap # /dev/sda3: / ext3 # A procedúra végén (az én esetemben) ilyen felállást szeretnék elérni.: # # Eszököz csatolási pont file rendszer résztvevők # ------- -------------- ------------- ---------- # /dev/md0: /boot ext3 (/dev/sda1 és /dev/sdb1-ből) # /dev/md1: swap (/dev/sda2 és /dev/sdb2-ből) # /dev/md2: / ext3 (/dev/sda3 és /dev/sdb3-ból) apt-get install initramfs-tools mdadm # Két szükséges csomag telepítése, mdadm kérdésénél érdemes ALL-t választani. modprobe md modprobe linear modprobe multipath modprobe raid0 modprobe raid1 modprobe raid5 modprobe raid10 # Töltsük be az összes modult. sfdisk -d /dev/sda | sfdisk /dev/sdb # /dev/sda lemezünk partíciós tábláját /dev/sdb lemezünkre másoljuk! fdisk -l # Ellenőrizzük le, hogy valóban sikerült-e. fdisk /dev/sdb # Készítsük el a file rendszereket a partíciókra. # A gombok lenyomásának sorrendje a következő.: m : manual t : partíció rendszer id változtatása 1 : első partíció L : listázás fd : Linux Raid Autodetect filerendszer (ezt be kell gépelni!) t : .. 2 : második partíció fd : .. t : .. 3 : harmadik partíció fd : .. w : kiírás. # Ha már korábban próbálkoztunk RAID építésével a /dev/sdb lemezzel, az alábbi parancsokat adjuk ki. mdadm --zero-superblock /dev/sdb1 mdadm --zero-superblock /dev/sdb2 mdadm --zero-superblock /dev/sdb3 # Error-al elszállhat a dolog, de ez nem ad okot aggodalomra. # Most pedig hozzuk létre a "féllábú" (degraded) tömbünket a /dev/sdb lemezre. # Mivel a rendszer jelenleg a /dev/sda lemezről fut, egyelőre azt nem tudjuk a tömbhöz adni, csak utólag. mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1 mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb2 mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb3 cat /proc/mdstat # Ellenőrizzük le, hogy sikerült-e # [_U] jelzi hogy jelenleg fállábú a tömbünk (sdb) mkfs.ext3 /dev/md0 mkswap /dev/md1 mkfs.ext3 /dev/md2 # Hozzuk létre a file rendszereket a tömbökre. cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig mdadm --examine --scan >> /etc/mdadm/mdadm.conf # Mentés készítése az mdadm.conf-ról # Az új "helyzet" elmentése az mdadm.conf-ba. mkdir /mnt/md0 mkdir /mnt/md2 # md0, md2 mappák létrehozása, ahova majd felmountoljuk a tömböket. mount /dev/md0 /mnt/md0 mount /dev/md2 /mnt/md2 # Mountoljunk!. mount # Az utolsó sorokban leellenőrizhetjük, hogy sikerült-e a csatolás cp /etc/fstab /etc/fstab-orig # fstab-ról backup készítése mcedit /etc/fstab # Az fstab-ban cseréljük ki a következőket.: /dev/sda1 /dev/md0 -ra /dev/sda2 /dev/md1 -ra /dev/sda3 /dev/md2 -ra # Majd mentsünk rá a configra. cp /etc/mtab /etc/mtab-orig # mtab-ról backup készítése mcedit /etc/mtab # Az mtab-ban cseréljük ki a következőket.: /dev/sda1 /dev/md0 -ra /dev/sda3 /dev/md2 -ra # Majd mentsünk rá a configra.
cp /boot/grub/menu.lst /boot/grub/menu.lst-orig
# menu.lst mentése.
mcedit /boot/grub/menu.lst
# Az alábbi változtatásokat állítsuk be.:
[...]
default 0
fallback 1
[...]
# A config végén készítsünk az első (title-savedefault közötti) részről egy új bekezdést.
# valamint, a /dev/sda3 -at cseréljük /dev/md2 re
# a root (hd0,0) -t (hd1,0)-ra. (Ha különbözőek a lemezeid elnevezése, itt is légy körültekintő!)
# valahogy így.:
## ## End Default Options ##
title Debian GNU/Linux, kernel 2.6.18-4-486 RAID (hd1)
root (hd1,0)
kernel /vmlinuz-2.6.18-4-486 root=/dev/md2 ro
initrd /initrd.img-2.6.18-4-486
savedefault
update-initramfs -u
# Ramdisk frissítése.
cp -dpRx / /mnt/md2
# Másoljuk a /dev/sda3 tartalmát /mnt/md2-re (Aminek egyelőre csak /dev/sdb3 része.)
cd /boot
cp -dpRx . /mnt/md0
# Másoljuk a /dev/sda1 tartalmát /mnt/md0-ra (Aminek egyelőre csak /devb/sdb1 része.)
grub
root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
quit
# Telepítsük a grub-ot a második lemezünkre.
# A következő indításkor, ha minden sikeres volt, már a második HDD-ről indul a rendszerünk!
# azaz neki állhatunk majd a /dev/sda lemez RAID-be állításához!
reboot
# Restartoljunk.
df -h
cat /proc/mdstat
# Ellenőrizzük le ismét, hogy áll a tömbünk.
fdisk /dev/sda
# hozzuk létre a Linux Raid Autodetect file rendszereket a partícióinkra az alábbi billentyűkkel.:
t 1 fd , t 2 fd, t 3 fd , w
mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda2
mdadm --add /dev/md2 /dev/sda3
# Adjuk hozzá a féllábú (sdb-n álló) tömbünkhöz a /dev/sda partícióit.
cat /proc/mdstat
# Ellenőrizzük le, hogy szinkronizálódnak-e a lemezeink.
# Ilyesmit kellene látnunk.:
Personalities : [raid1]
md2 : active raid1 sda3[2] sdb3[1]
4594496 blocks [2/1] [_U]
[=====>...............] recovery = 29.7%
# Várjuk meg míg befejezi az összes partíció szinkronizálását.
watch cat /proc/mdstat
# 2 másodperces frissítéssel figyelemmel követhezjük a file tartalmát.
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
# Mentés készítése az mdadm.conf-ról
# A legújabb "helyzet" elmentése az mdadm.conf-ba.
mcedit /boot/grub/menu.lst
# Másoljuk le a korábban létrehozott kernel stanza-t és cseréljük
# a (hd1,0) -t hd(0,0) -ra.
# Ez a te esetedben ismét más lehet!
## ## End Default Options ##
title Debian GNU/Linux, kernel 2.6.18-4-486 RAID (hd0)
root (hd0,0)
kernel /vmlinuz-2.6.18-4-486 root=/dev/md2 ro
initrd /initrd.img-2.6.18-4-486
savedefault
# valamint szerkesszük az alábbi sort eszerint, majd mentsük a file-t.:
[...]
# kopt=root=/dev/md2 ro
[...]
update-initramfs -u
# Ramdisk frissítése
reboot
# ha mindent jól tettünk, a RAID1-ünk aktív, és használható.
Forrás .: Howtoforge
# Hamarosan: # # Elhasalt/elromlott HDD cseréje élő RAID1 alatt.
Előfordulhat, hogy Linux alatt létrehozott sw. RAID1 kötetet alkotó HDD-t egy másik gépben szeretnénk menteni.
Alábbi leírás ehhez a procedúrához nyújt segítséget. (a dev. elnevezések nálad egészen mások lehetnek!)
dmesg |grep Attached
# Mi az újonnan behelyezett disk neve?
# Pl.:
[ 2.628336] sd 1:0:0:0: [sdb] Attached SCSI disk
[ 2.629248] sd 0:0:0:0: [sda] Attached SCSI disk
[ 2.644424] sd 2:0:0:0: [sdc] Attached SCSI disk
fdisk -l /dev/sdc
# Milyen file rendszerrel rendelkezik a /dev/sdc?
# Valami ilyesmit kellene látnunk.:
Device Boot Start End Blocks Id System
/dev/sdc1 1 243202 1953513472 fd Linux raid autodetect
mdadm --examine /dev/sdc1
# újabb ellenőrzés, a HDD sdc1 partícióját illetően. A RAID partícióra vonatkozik+
mkdir /mnt/raid1
# hozzunk létre egy csatolási pontot a RAID1-et alkotó HDD-nek.
mdadm -A -R /dev/md9 /dev/sdc1
# Hozzunk létre egy md9 nevű féllábú tömböt, melyet /dev/sdc1 alkot.
# Amennyiben sikeres, ilyesmit kellene látnunk:
mdadm: /dev/md9 has been started with 1 drive (out of 2).
mount /dev/md9 /mnt/raid1
# csatoljuk a féllábú tömböt /mnt/raid1 mappába.
# a HDD-n található adatokat mostantól el tudjuk érni.
Ha már nincs rá szükség.:
umount /dev/md9
# a tömb lecsatolása a file-rendszerből.
mdadm -S /dev/md9
# Az ideiglenes RAID tömb leállítása.
Ha a RAID1-et alkotó HDD-t szeretnék visszahelyezni eredeti helyére a RAID tömbbe.:
(dev és md elnevezésekre ügyeljünk!)
mdadm -a /dev/md0 /dev/sdb1
# md0 tömbhöz adjuk hozzá a /dev/sdb1 partíciót
# Ha sikeres volt:
mdadm: re-added /dev/sdb1
cat /proc/mdstat
# ellenőrizzük a tömb állapotát.
# Kimenet:
Personalities : [raid1]
md0 : active raid1 sdb1[0] sdc1[1]
1953512312 blocks super 1.2 [2/1] [_U]
[=======>.............] recovery = 36.9% (721315776/1953512312) finish=154.1min speed=133211K/sec
# A fenti kivastagított sor jelzi, hogy egyelőre még féllábú (degraded) a tömbünk.
# Ha a sync lefutott, [UU]-t kell kapnunk.
A cél.: Egy saját repository készítése a lokális hálózaton figyelő gépek számára (http-n), a hálózati forgalom csökkentése érdekében. (magyarul a teljes tartalmat (~70Gb.) letöltjük egyszer, a későbbiekben pedig csak frissítenünk kell, ezt a /etc/cron.d/apt-mirror kikommentelésével érhetjük el.) apt-get install apt-mirror apache2 # A majdani tároló-gépünkön kell telepítenünk. # Mivel http-n fogjuk elérni a repo.-t, ezért egy web server alkalmazást is telepítünk. mcedit /etc/apt/mirror.list # Állítsuk át az alábbi címekre.: (innen fogja a "server" összeszedni az adatot) deb http://ftp.hu.debian.org/debian squeeze main contrib non-free deb-src http://ftp.hu.debian.org/debian squeeze main contrib non-free deb http://security.debian.org/debian squeeze/updates main contrib non-free deb-src http://security.debian.org/debian squeeze/updates main contrib non-free clean http://ftp.hu.debian.org/debian clean http://security.debian.org ------------------------------------------------ Az alábbi parancsot érdemes éjszakára ütemezni.: ------------------------------------------------ su - apt-mirror -c apt-mirror # Most pedig töltsük le a csomagokat, az alapértelmezésben beállított helyre (mirror.list ben van a config.) # Ha kész a letöltés, a /var/spool/apt-mirror/mirror/ftp.hu.debian.org/debian alatt ott lesznek a fájlok. /bin/bash /var/spool/apt-mirror/var/clean.sh # Fölösleg pucolása ln -s /var/spool/apt-mirror/mirror/ftp.hu.debian.org/debian /var/www/debian ln -s /var/spool/apt-mirror/mirror/security.debian.org/ /var/www/security # Két symlinket kell létrehoznunk, hogy a kliensek be tudják frissíteni csomaglistájukat Majd a kliens oldalon a sources.list-et kell editálni.: deb http://SZERVERUNK_CIME/debian squeeze main contrib non-free deb-src http://SZERVERUNK_CIME/debian squeeze main contrib non-free deb http://SZERVERUNK_CIME debian squeeze/updates main contrib non-free deb-src http://SZERVERUNK_CIME/debian squeeze/updates main contrib non-free apt-get update apt-get upgrade # Kliens oldali tesztelés.
Ezen leírás bemutatja távoli mappák biztonságos felcsatolásának módját a helyi fájlrendszerbe SSHFS (Secure Shell FileSystem) segítségével. A felcsatolás FUSE-on (Filesystem in Userspace) keresztül valósul meg. apt-get install sshfs # A kliensre szükséges telepíteni az SSHFS csomagot, ahova felcsatolásra kerül a távoli mappa. # A szerverre természetesen szükséges SSH szervert is telepíteni. lsmod |grep fuse # Kliens oldalon szükség lesz a fuse nevű kernel modulra is, szóval ellenőrizzük. Üres kimenet esetén nincs betöltődve! apt-get install fuse-utils # Amennyiben a fenti modul hiányzik, a fuse-utils csomag telepítésével pótolni szükséges. useradd sshbackup # A szerveren az sshbackup felhasználó létrehozása. Az ő nevében jelentkezünk be SSH-n keresztül a kliensről. passwd sshbackup # Jelszó beállítása sshbackup felhasználónak. gpasswd -a sshbackup dirgroup # A távoli mappához szükséges a távoli sshbackup usernek hozzáférnie. Ezt szerver oldalon tisztázni kell. # Egy példa.: # sshbackup user hozzáadása a dirgroup csoporthoz, melynek jogosultsága van (vagy lesz) a távoli mappához. # Ez természetesen kikerülhető, amennyiben a felcsatolandó mappa tulajdonosa már az sshbackup user. sshfs -o idmap=user -p 22 sshbackup@192.168.1.1:/home/sshbackup /home/user/sshbackuplink # sshbackup nevében felcsatoljuk a távoli szerver (192.168.1.1) /home/sshbackup mappáját, tcp22-es portot használva. # A csatolási pont a helyi fájlrendszerben /home/user/sshbackuplink mappa lesz. mount # Bizonyosodjunk meg a kliensen a mount-olás sikerességéről. Valami ilyesmit kellene látnunk.: sshbackup@192.168.1.1:/home/sshbackup on /home/user/sshbackuplink type fuse.sshfs (rw,nosuid,nodev,max_read=65536) df --si # Megbizonyosodás2 sshbackup@192.168.1.1:/home/sshbackup ... fusermount -u /home/user/sshbackuplink # Lecsatolás Forrás .: Howtoforge
Ha a Föld hozzánk szólna, biztos megkérne minket arra...... hogy ne terheljük Őt feleslegesen. A háztartások elektromos energia fogyasztásának átlagosan 10 százaléka készenléti állapotban (standby mode) hagyott berendezésektől származik (Energy Saving Electronics), tehát feleslegesen megy el energia, feleslegesen szennyezzük a környezetet és feleslegesen adunk ki pénzt. Kapcsold ki teljesen készülékeidet, így Te is tehetsz egy keveset a Földért - és pénzt is spórolhatsz a villanyszámlán...
|