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