2016. február 22., hétfő

Ubuntu parancsok

sudo: (Superuser do) Lehetővé teszi, hogy rendszergazdaként vagy más felhasználó nevében hajtsunk végre parancsokat
gksu: A sudo grafikus megfelelője; grafikus felületű programokat ezzel kell indítani, amennyiben rendszergazdai jogok szükségesek
Fájl- és könyvtárkezelő parancsok:

pwd: Kiírja az aktuális munkakönyvtárat (print working directory)
ls: Kilistázza az aktuális könyvtár tartalmát
cd : Segítségével mozoghatunk a könyvtárstruktúrában az alábbi módon:
cd /etc/apt/
Megadhatjuk a teljes elérési utat.
cd ./apt.conf.d/
A ./ használatával nem kell újra és újra begépelnünk ugyanazt (jelen esetben ez a /etc/apt/ elérési utat), ezt egyszerűen kiváltjuk a ./ segítségével.
cd ~
A home mappába ugrunk.
cd ..
Fölfelé ugrunk a könyvtárstruktúrában.(/etc/apt/ → /etc/)
cd -
Visszalépés az előző könyvtárba.
cp : Ezzel a paranccsal tudunk másolni.(cp /file/helye /ahova/másolni/akarod/, cp -r /a/könyvtár/helye /ahova másolni/akarod)
mv : Ezzel adott fájlt vagy könyvtárat tudunk mozgatni (áthelyezni) vagy átnevezni. (mv /a/fájl/helye *fájl új neve, mv /a/fájl/helye /a/fájl/új/helye)
rm : Fájlok törlése. (rm /a/fájl/helye, rm -r /a/fájlok/és/mappák/helye) Az rm -r parancsnál minden törlődni fog a meghatározott helyen.
rmdir : Egy üres könyvtár törlése.
mkdir : Könyvtár létrehozása.
mount : Partíció, képfájl felcsatolása, stb.
umount : Partíció, képfájl leválasztása, stb.
tar : Archiváló alkalmazás. Használata: man tar.
Rendszerinformációs parancsok:

df : Kilistázhatjuk a csatolt partíciók tárterület adatait. Mega-Gigabyte mértékegység használatához használjuk a -h kapcsolót(df -h).
du : A du parancs kilistázza az adott könyvtárra vonatkozó tárterület adatokat. Kétféleképpen használhatjuk:
du /a/könyvtár/helye/ kilistázza az alkönyvtárak és a könyvtár tárterület adatait.
du -sh /a/könyvtár/helye az egész könyvtárra vonatkozó adatok kilistázása.
free: Memóriahasználat kilistázása. Az -m kapcsolóval megabyte-okban tudjuk kiírni az értékeket.
top: Az erőforrások és folyamatok kilistázása.
uname -a : A rendszerere vonatkozó szinte minden adatot kilistáz.
lsb_release -a : Adatokat listáz a disztribúcióra vonatkozóan.(típus, verzió, stb.)
uptime : Megmutatja, hogy mennyi ideje fut a rendszerünk.
users : A bejelentkezett felhasználók kilistázása.
netstat : Hálózat információk.
hostname : A rendszer neve.
cat /proc/"cpuinfo, version stb." : Rengeteg minden megtalálható a /proc mappában, általában az előbb említettekre lesz szükségünk. A cat segítségével kiírathatjuk tartalmukat. ( cpuinfo - cpu adatai, version - kernel verzió)
man : man oldalak előhívása (pl.: man iptables). Bővebben lásd : man man
--help: Rövid használati útmutató. Használata: programnév -h (vagy --help).
info : Némely fejlesztő az info oldalakat preferálja a man-al szemben. Használata: info programnév. Bővebben info info.
Hálózat kezelésére szolgáló parancsok:

ifconfig : Kilistázza a hálózati csatolókra vonatkozó információkat.
iwconfig : Kilistázza a vezeték nélküli hálózati csatolókra vonatkozó adatokat.
ifup : Interfész bekapcsolása.
ifdown : Interfész letiltása.
ifstatus : Interfész állapota. (Szükséges hozzá az ifplugd nevű csomag.)
ifstat : Kiírja hálózati forgalmat interfészekre bontva. (Szükséges hozzá az ifstat nevű csomag.)
ping : Pingelhetjük az adott célt.(pl.: ping 192.168.0.50)
Jogok, felhasználók módosítására szolgáló parancsok:

adduser "felhasználó csoport" : Hozzáadhatjuk a felhasználót az adott csoporthoz.
adduser "új felhasználó neve" : Új felhasználó hozzáadása.
chmod : Jogosultságok beállítása.
chown : Fájl, könyvtár tulajdonosának megváltoztatása.
usermod: A felhasználó accountjűnak módosítása.
chroot: Parancs futtatása egy másik root könyvtárban.
Csomagkezelő használatához szükséges parancsok:

dpkg: Csomagkezelő.
dpkg -l|grep "csomagnév" (megmutatja milyen csomagok vannak telepítve amelyek tartalmazzák a csomagnév -nél megadott értéket)
dpkg -i "/a/csomag/helye/" (Helyi csomag installálása, pl.:/media/Adat/virtualbo.1.6.deb)
aptitude: Frontend a dpkg-hoz.
Programok kezelése aptitude-el:

aptitude install "programnév" (Adott program installálása)
aptitude search "keresendő szó" (Keresés a csomagok között)
aptitude remove "csomagnév" (Eltávolítás a konfigurációs fájlok megtartásával)
aptitude purge "csomagnév" (Adott csomag eltávolítása minden összetevőjével együtt)
aptitude clean (üríti a gyorsítótárat)
aptitude show "csomagnév" (csomag információ)
aptitude reinstall "csomagnév" (csomag újratelepítése)
aptitude update (frissíti a csomaglistát)
aptitude safe-upgrade (a lehető legújabb verzióra frissíti a csomagokat.)
aptitude full-upgrade (a lehető legújabb verzióra frissíti a csomagokat, és telepít vagy eltávolít ha szükséges.)
aptitude dist-upgrade (újabb kiadásra történő frissítéshez)
apt-get: Frontend a dpkg-hoz.
Használata:

apt-get install "csomagnév" (program telepítése)
apt-get remove "csomagnév" (program eltávolítása)
apt-cache search "csomagnév" a csomaglistában)
Egyéb parancsok:

clear: Terminálképernyő tisztítása.
kill: Processz megölése.
halt: A rendszer leállítása.
reboot: A rendszer újraindítása.
shutdown -r vagy -h now: A rendszer leállítása vagy újraindítása. (kapcsolók: -r újraindítás, -h leállítás)
/etc/init.d/start, stop, restart: Itt tudjuk a futó démonokat indítani, leállítani vagy újraindítani. (pl.: /etc/init.d/vsftpd strat)
/bin/bash: Az Ubuntu a Dapper óta Dash-t használ Bash helyett. Ha valamit mégis bash-al szeretnénk futtatni akkor használjuk a
/bin/bash
parancsot. (pl.:
/bin/bash patch.run
)
find: Kereshetünk fájljaink között.
wget: Letölthetünk vele a következő protokollokon keresztül: HTTP, HTTPS vagy FTP.
Billentyűkombinációk:

Tabulátor: Kiegészíti a már részben beírt fájl vagy könyvtárnevet, ha több lehetséges cél van, akkor kilistázza a lehetőségeket.
Fölfelé nyíl vagy Ctrl + p: Az előzőleg kiadott parancs kitallózása.
Ctrl + r: Egy előzőleg beírt parancs keresése.
Ctrl + a vagy home: A sor elejére dob.
Ctrl + e vagy end: A sor végére dob.
Ctrl + b: Az előző vagy az adott szó elejére dob.
Ctrl + k: A kurzortól számítva mindent töröl a sor végéig.
Ctrl + u: Az egész sort törli.
Ctrl + w: Törli az első szót a kurzor előtt.
Ctrl + shift + "x,c,v": A beillesztés, kivágás, másolás használata terminálban shift gomb lenyomása mellett történik.
Ctrl + shift + t: Új lap megnyitása-
Ctrl + shift + n: Új ablak megnyitása.
Ctrl-Page(Up/Down): Tabok (terminál lapok) közötti váltás.
F 11: Teljes képernyő.



alias
Különböző parancsokat saját magunk is "átnevezhetünk", készíthetünk magunknak alias-okat. A /home/felhasználó név/.bashrc fájlban tartjuk ezeket a beállításokat.
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\)"'
Példánk a hosszú ideig tartó terminálfolyamatok befejezéséről ad egy értesítést (a 11.10-es kiadástól ez a parancs az alaptelepítés része). Használata:
sudo apt-get dist-upgrade;alert              # Ekkor a frissítések telepítésének befejezéséről kapunk egy értesítést.
alias rm='rm -i'
Az rm alias végrehajtott parancsa az 'rm -i'. Ilyenkor rákérdez, biztosak vagyunk-e benne, hogy törölni szeretnénk.
unalias
Törli az előzőleg beállított aliast a .bashrc fájlból.
unalias aliasnév
cal
Parancssori naptár
ubi@ubi-desktop:~$ cal
cat
Kiírja a fálj tartalmát. Jelen esetben milyen rendszert használunk.
ubi@ubi-desktop:~$ cat /etc/issue     # Kiírja a használt rendszerünket

ubi@ubi-desktop:~$ cat /proc/cpuinfo  # Rengeteg információt kapunk a processzorról
cd
Könytárváltás. A megadott célkönyvtárba jutunk át.
ubi@ubi-desktop:~$ cd /home/ubi/Letöltések/példa_programok   # a parancs után megadjuk a teljes elérési utat
ubi@ubi-desktop:~/Letöltések/példa_programok$                # látjuk, hogy átléptünk a megadott mappába
cd ..
Egy könyvtárral feljebb ugrunk.
ubi@ubi-desktop:~/Letöltések/példa_programok$ cd ..    # láthatjuk, hogy a Letöltések könytáron belül a példa_programok mappában vagyunk
ubi@ubi-desktop:~/Letöltések$                          # és visszaléptünk a Letöltések könyvtárba
A bárhol kiadott csak cd paranccsal visszajutunk a /home-ba.
chmod
Fájlok, könytárak jogait állíthatjuk be.
Fontos tisztába lennünk jogosultságok jelentésével.
r = read azaz olvasás, számmal kifejezve 4
w = write azaz írás, számmal kifejezve 2
x = executable azaz futtatás, számmal kifejezve 1
tulajdonos  (U)   |   csoport (G)     |   mindenki más (O)
rwx (4+2+1) 7     |   rwx  (4+2+1) 7  |   rwx  (4+2+1)7
Példánkban a fált mindenki (U G O) írhatja, olvashatja és futtathatja, hiszen a jogosultság 777, azaz rwx-rwx-rwx.
Ha azt szeretnénk, hogy fájlunk esetében csak a tulajdonosnak (U) legyen joga minden művelethez, a többiek (G, O) csak olvashassák és futathassák, akkor a jogosultságokat értelemszerűen állítsuk 755 -re, azaz rwx-rx-rx re.
chmod +x fájlnév       # ezzel a paranccsal például futási jogot adunk egy fájlnak
chown
Fájlok, könyvtárak tulajdonosát és csoportját változtathatjuk meg. A tulajdonost és csoportot megadhatjuk névvel és számmal is.
Használata: chown [kapcsoló] Tulajdonos:Csoport /amire/vonatkozik
sudo chown ubi -R /home/ubi/amire/szeretnénk/kiadni       # ekkor a megadott célfájl vagy mappa tulajdonosát változtattuk meg
sudo chown ubi:ubi -R /home/ubi/amire/szeretnénk/kiadni   # ebben az esetben a tulajdonos és a csoport is meg lett változtatva
sudo chown ubi:más -R /home/ubi/amire/szeretnénk/kiadni   # hasonló az előzőhöz, csak a csoport más-ra lett változtatva
chgrp
Fájlok tulajdonosi csoportjának megváltoztatása.
cfdisk
Parancssori partícionáló és lemezkezelő program.
cmp
Fájlok tartalmát hasonlítja össze.
cmp fájl1 fájl2
cp
Másolás.
cp /ahol/van/fájlneve /ahova/szeretnénk/tenni/fáljújneve
A könnyebb érthetőség kedvéért egy példa. Letöltöttünk egy tananyag.pdf fájlt a Letöltések könyvtárba, és ezt szeretnénk átmásolni az asztalra. Ez így néz ki:
cp /home/ubi/Letöltések/tananyag.pdf /home/ubi/Asztal/
cp -r /home/ubi/Dokumentumok/saját_progik /home/ubi/programozás  # a -r kapcsolóval a teljes mappát átmásolja, még a benne lévő rejtett fájlokat is.
clear
"Letörli" a képernyőt.
cut
Bemeneti (stdin) vagy paraméterként megadott fájl minden sorának egy megadott részét vágja ki.
diff
Fájlok tartalmát hasonlítja össze.
diff -u fájl1 fájl2 > eltérés     # összehasonlítja a két fájl tartalmát, a különbséget a megadott (eltérés) fájlba írja.
du
Az aktuális könytárban levő fájlok méretét mutatja meg. A -h kapcsolóval Mega és Gigabájtokban adja meg az értéket.
df
A partíciók lefoglalt területét mutatatja meg. A -h kapcsolóval Mega-és Gigabájtokban adja meg az értéket. A -a kapcsolóval az üres területeket is megjeleníti.
dmidecode
Részletes információkat kaphatunk gépünkről, eszközeinkről, még a Bios verzióról is.
sudo dmidecode | less    # a könnyebb görgetés érdekében érdemes a less parancsot használni, kilépés q -val
echo
Szöveget írathatunk ki vele.
ubi@ubi-desktop:~$echo hello world!
hello world!
fdisk
Parancssori partíció kezelő program.
sudo fdisk -l
find
Keresés.
fgrep
Fájlokban vagy stdin-ben keres szöveget.
fsck
Lemezellenőrző. (Filesystem check)
grep
Szövegrészeket keres megadott fájlokban, és a kimenetekben. Leggyakrabban használt kapcsolói a -i ezzel nem tesz különbséget a kis és nagybetű közt, és a -v amikor is pont azokat a sorokat írja ki, amelyekben nem szerepel az adott kifejezés.
lspci | grep -i vga     # pci csatlakozású eszközeink kilistázása, a szűréssel csak a vga kifejezést tartalmazók jelennek meg.
head
Szűrőeszköz. A megadott fájl első tíz sorát írja ki.
ubi@ubi-desktop:~$ head /var/log/messages             # példánkban a messages fájl első tíz sorát írattuk ki
hdparm
Merevlemezünkről kaphatunk információkat vele.
sudo hdparm -i /dev/sda
lp
Nyomtatás.
lp /ahol/van/a/fájlneve
lp /home/ubi/Dokumentumok/programlista.txt     # ezzel kinyomtatjuk a Dokumentumok könytárban lévő programlista nevű fájlt
less
Szűrőprogram. Fájladatok megjelenítéséhez használjuk.
less /var/log/messages | grep -i vga     # természetesen működik a grep használata nélkül is, de nagyobb fájloknál célszerű a célirányos keresés
ls
A "listázó" parancs. Kiírja az adott könyvtár tartalmát. A -a kapcsolóval a rejtett fájlokat is megjeleníti, a -l kapcsolóval a jogosultságokat is listázza.
ubi@ubi-desktop:~/Letöltések$ls -al
drwxr-xr-x   3 ubi ubi       4096 2012-02-03 20:21 Conky-lua
drwxr-xr-x   8 ubi ubi       4096 2011-05-03 20:41 Conky-lua 2011 next generation
lscpu
A cpu adatait jeleníti meg.
lshw
Hardwer adatok kilistázása.
lspci
A pci csatlakozású eszközök kilistázása.
lsusb
Az usb csatlakozású eszközök megjelenítése.
ln -s
Link létrehozása.
mkfs
Fájlrendszer létrehozása.
mkfs.ext4 /dev/sda1
mkdir
Könyvtár létrehozása.
mkdir /home/ubi/Asztal/mentett_levelek   # ezzel a paranccsal létrehoztunk egy mentett_levelek mappát az asztalon
mv
Fájlok, könyvtárak átmozgatása, átnevezése. Tegyük fel, hogy asztalunkon van egy példa.pdf fájl, amit szeretnénk áthelyeznia a Dokumentumok könyvtárban lévő gyüjtemény mappába.
mv /home/ubi/Asztal/példa.pdf /home/ubi/Dokumentumok/gyüjtemény   # így egyszerűen csak áthelyeztük a fájt
mv /home/ubi/Asztal/példa.pdf /home/ubi/Dokumentumok/gyűjtemény/másikpélda.pdf    # ezzel a paranccsal nemcsak áthelyeztük a fájlt, hanem egyszerre át is neveztük
mount
Eszköz felcsatlakoztatás (CD,partíció, pendrive, hdd, etc.)
sudo mount /amit/akarok/csatolni  /ahová
sudo mount /dev/sda1 /mnt        # példánk a grub helyreállításból származik, amikor Live cd-n felcsatoljuk az sda1 partíciót a /mnt könyvtárba.
Egy példa, egy ntfs fájlrenszerű partíció felcsatolására:
mkdir /média/windows                              # lényeges, hogy mindig meglévő könyvtárba csatoljuk, ezért ha kell, létrehozunk egyet erre a célra
                                                  # (példánkban a /média könyvtárban egy windows mappát)
sudo mount -t ntfs-3g /dev/sda3 /média/windows    # példánkban a Windows tárolója az sda3 -as partíción található
umount
Az adott eszköz leválasztása.
sudo umount /dev/sda3    #leválasztottuk az sda3 -as partíciót.
nano
Parancssori szerkesztő.
pwd
Kiírja az aktuális könyvtár nevét.
ubi@ubi-desktop:~/Dokumentumok$pwd
/home/ubi/Dokumentumok
passwd
Jelszó. Sgítségével megváltoztathatjuk jelszavunkat.
passwd ubi    # ezután bekéri a jelenlegi jelszavunkat, majd ennek megadása után kétszer az új jelszót
rm
Állományok eltávolítása.
rm fájlnév    # a fájl eltávolítása

rm -r  név  # egy könyvtár eltávolítása
rmdir
Könyvtár törlése.
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 másolja át.
-b : Biztonsági mentésekhez használatos.
rsync  -av  /forráskönyvtár  felhasználónév@gépnév/célkönyvtár
sed
Stream editor, folyamatszerkesztő
sudo sed -i "s + hu.archive + de.archive + g" /etc/apt/sources.list     # példánkban megváltoztatjuk a forráslistában a letöltő szervert.
scp
Biztonságos csatornán történő másolás.
scp -r /forráskönyvtár  felhasználónév@gépnév/célkönyvtár
ssh
Secure Shell. Szabványcsalád és egyben protokoll is, amit egy helyi és egy távoli gép közötti biztonságos csatorna kiépítésére fejlesztettek ki.
sync
A Ramból a merevlemezre még ki nem írt adatok szinkronizálása.
shutdown
A rendszer leállítása.
sudo shutdown -h now     # a rendszer leállítása azonnal
shutdown -r    # újraindítás
tail
Egyfajta szűrő. Az utolsó sorokat írja ki, alapesetben az utolsó tíz sort.
tail -f  /var/log/messages   # Ezzel információkat tudhatunk meg rendszerünkről, milyen üzenetek kerültek utoljára a naplóba. Kikapcsolása a Ctrl + c kombinációval.
tar
Arhiváló segédprogram ki és betömörítés
tar -xvzf csomagnév.tar.gz    # a tar.gz állomány kitömörítése
tar -xvjf csomagnév.tar.bz2   # a tar.bz állomány kitömörítése
telnet
kapcsolat másik géppel
ubi@ubi-desktop:~$ telnet valami.hu 80
Trying xx.xx.xxx.xx...
Connected to valami.hu.
Escape character is '^]'.
HEAD / HTTP/1.1

HTTP/1.1 401 Authorization Required
Server: Apache/2.2.16 (Debian)
WWW-Authenticate: Basic realm="ringier"
Vary: Accept-Encoding
Content-Type: text/html; charset=iso-8859-1
Date: Wed, 29 Feb 2012 19:19:07 GMT
X-Varnish: 2101493044
Age: 0
Via: 1.1 varnish
Connection: keep-alive


Connection closed by foreign host.
uptime
Kiírja, mennyi ideje fut a rendszerünk.
ubi@ubi-desktop:~$ uptime
20:22:24 up 13:52,  2 users,  load average: 0.60, 0.80, 0.70
vi
Parancsori szövegszerkesztő.
wc
Az adott fájlban levő karakterek, szavak és sorok számát adja meg.
Kapcsolói:
   -m a karakterek száma
         
   -w a szavak száma
         
   -c a bájtok száma
         
   -l a sorok száma
which
A program futtatható állományának az elérési útját adja meg.
which geany

/usr/bin/geany

who
Kilistázza a bejelentkezett felhasználókat.
whoami
A klasszikus "Ki vagyok én?". Milyen néven is vagyunk bejelentkezve.
users
Kilistázza a rendszeren levő felhasználókat.
groups
Csoportok.
login
Bejelenkezés.
logout
Kijelentkezés.
adduser
Új felhasználó létrehozása.
useradd
Új felhasználó hozzáadása.
useradd -m -G adm lp dialout cdrom plugdev lpadmin admin sambashare systemback -s /bin/bash ubi
deluser
felhasználó törlése.
groupadd
Csoport létrehozása.
groups user


apt-get update
A csomaglista frissitése.
sudo apt-get update    # a csomaglista frissítése
apt-get upgrade
A frissítések letöltése és telepítése.
sudo apt-get upgrade    # a frissitések letöltése és telepítése
apt-get dist-upgrade
A rendszerszintű frissítések letöltése és telepítése.
Az apt-get dist-upgrade annyival több, mint a sima apt-get upgrade, hogy akkor is frissíti csomagokat, ha a művelet plusz csomagok telepítését, vagy már telepítettek eltávolítását igényli.
Ezért alkalmas például kernelfrissítésre, vagy kiadásfrissítésre, de ez utóbbit magától nem lépi meg, csak ha az új tárolók fel vannak véve.
sudo apt-get dist-upgrade
apt-get install
Csomag letöltés és telepítése.
sudo apt-get install csomagnév
apt-get remove
Csomag eltávolítása.
sudo apt-get remove csomagnév
apt-get remove --purge
Csomag eltávolítása beállító fájljaival együtt.
sudo apt-get remove --purge csomagnév
apt-get install -f
Törött csomagok javítása.
sudo apt-get install -f
apt-cache search
Keresés
apt-cache search név
apt-cache showpkg
Megmutatja a csomag függőségeit.
apt-cache policy
Megmutatja a csomag telepített és telepíthető verzióit.
ubi@ubi-desktop:~$ apt-cache policy geany
geany:
  Telepítve: 0.18-1
  Jelölt: 0.18-1
  Verziótáblázat:
 *** 0.18-1 0
        500 http://archive.ubuntu.com/ubuntu/ lucid/universe Packages
        100 /var/lib/dpkg/status
apt-get autoclean
Nem használt csomagok eltávolítása. Törli a régi letöltött archív fájlokat, amelyek már nem érhetők el a tárolóban.
apt-get clean
Törli a letöltött archívum-fájlokat.
dpkg -i
Csomag telepítése.
dpkg -i csomagnév.deb
dpkg -r
Csomag eltávolítása.
dpkg -S
Megkeresi, hogy a fájl melyik csomag része.
dpkg -S fájl




arp
ARP cache manipulálása.
ifconfig
Hálózati információk lekérdezése.
iwconfig
Vezeték nélküli hálózati interface-k adatainak lekérdezésére és módosítására szolgál.
ifdown és ifup
Lekapcsolás és felkapcsolás.
ifdown eth0    # az eth0 eszköz lekapcsolása
ifup eth0      # az eth0 eszköz felkapcsolása
iptables
A Netfilter (hálózati csomagok feldolgozására szolgáló eszköz) kezelője.
ethtool
Ethernet kártya beállítások megjelenítése, változtatása.
host
Lekérdezéseket kezdeményez a DNS kiszolgáló felé, tartományokról, zónákról.
host -t ns valami.hu : valami.hu nameserverét adja meg
host -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.
netstat
Információkat ír ki a hálózati alrendszerről.
nload
Hálózati terhelés vizsgálat.
nsed
Hálózati csomagok valós idejű megváltoztatására alkalmas program.
ping
Jel küldése.
ping -c 3 valami.hu
route
Az IP routing tábla kiíratása/megváltoztatása.
sudo route
ssh
Secure Shell. Szabványcsalád és egyben protokoll is, amit egy helyi és egy távoli gép közötti biztonságos csatorna kiépítésére fejlesztettek ki.
scp
Biztonságos távoli fájl átvitel.
sntop
Top-szerű hálózati forgalom figyelő szoftver.
tcpdump
Hálózaton átmenő forgalmat figyeli.
traceroute
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.
tsclient
Terminal Services Client.
proftpd
FTP kiszolgáló démon.
pureftp
FTP kiszolgáló.
rdesktop
Remote desktop kliens.
stunnel
Titkosított csatornát hoz létre két gép között, szerver és kliens oldali tanusítvánnyal.
squid
Proxy kiszolgáló.
vconfig
virtuális eth eszközök létrehozására alkalmas program.
vsftpd
Very Secure FTP daemon.
wireshark
Hálózati forgalom figyelő. (GUI)
wondershaper
Egyszerű sávszélesség korlátozásra használatos program.


w
Megmutatja, hogy ki van belépve, mióta, és mit csinál.
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ó folyamatok kilistázása.
ps
Futó folyamatok kiírása.
-u felhasználónév : a 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.
ps aux | grep firefox    # kiíratjuk a futó Firefox folyamatokat és pid számukat
pstree
Folyamat struktúra fa-szerű ábrázolása.
nice
Priorítás lekérdezése, beállítása.
renice
A folyamatok priorításának megváltoztatása.
renice -10 1872    # az 1872 számú folyam priorítása -10-re lett átállítva
kill
Egy folyamat leállítása.
kill -9 1276   # Az 1276 Pid számú folyamat erőszakos leállítása
killall
Leállítás. Amennyiben több folyamat is fut egyidőben, mindet leállítja.
init
Futtatási szint beállítása.
0 : kikapcsolás
1 : single-user mód
2-5 : multi-user mód
6 : reboot
/etc/inittab -ban állítható be a gép indulási init szintje.
 A futási szintet lekérdezhetjük a who -r paranccsal is

ubi@ubi-desktop:~$ who -r
         futási szint 2 2012-02-28 06:37
runlevel
Futási szint. Megadja, hányas init szinten voltunk és vagyunk.
ubi@ubi-desktop:~$ runlevel
N 2                                   # Ubuntuban az alpértelmezett futási szint 2
reboot
Újraindítás
shutdown
Leállítás
shutdown -h now    # azonnali leállítás


lsmod
Betöltött modulok kilistázása.
rmmod
Betöltött modulok lekapcsolása a kernelből.
sudo rmmod modulneve
modprobe
Modul betöltése a kernelbe.
sudo modprobe modulneve
modinfo
A modulról kapunk információkat.
modinfo modulneve  # nézzünk például egy nyomtatási modult

ubi@ubi-desktop:~$ modinfo lp
filename:       /lib/modules/2.6.32-33-generic-pae/kernel/drivers/char/lp.ko
license:        GPL
alias:          char-major-6-*
srcversion:     84EA21D13BD2C67171AC994
depends:        parport
vermagic:       2.6.32-33-generic-pae SMP mod_unload modversions 586TSC
parm:           parport:array of charp
parm:           reset:bool

A Debian parancsok!

dpkg-reconfigure debconf
# Ha a lehetőségek közül a low-t "alacsonyt" választva 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.)

Sok keresgéléstől kímélheted meg magad, ha a következő parancsokat elsajátítod.:


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ása megtalálható,
# általában html formátumban is.

Fontos! Nem minden (a leírásban felsorolt) parancs tartozéka egy alaprendszernek, előfordulhat hogy telepítened kell.



Könyvtárszerkezet       top

/ # 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átható, ahogy a rendszer "é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 kaphatsz processzorodró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



Állománykezelés       top


alias
# A parancsok saját elképzelések szerint átnevezhetőek.
# /home könyvtár .bashrc fájlja tartalmazza beállításokat.
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 menthető.
-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 tartalmának ISO-ban örténő mentése.
/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 hibacsatorna is a kimenetre keverhető, azaz a file1.txt tartalma ÉS a lehetséges hibák
# is bekerülnek a file2.txt-be. A hibacsatornáról a bash programozás részben bővebben.

cd
# Könyvtár váltás parancs.
cd : az aktuális felhasználó /home könyvtárába való belépéshez
cd .. : az aktuális könyvtárhoz képest egy szinttel feljebb lépés a könyvtár fában.

pwd
# Az éppen aktuális könyvtár munkakönyvtár kiíratása

mkdir
# Könyvtár létrehozása (make directory)
-p /home/user/1/2/3 :  A teljes struktúra létrehozása, almappákkal együtt.

chmod
# Linuxon a fájlokra, könyvtárakra vonatkozó jogok állíthatóak 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
#
# Általános jogosultság lista felépítése: (ls -la paranccsal lekérdezhető)
# tulajdonos (jele:U) | csoport felhasználó (jele:G) | mindenki más (jele:O)
#         rwx         |            rwx               |          rwx
#
# A sor elején található "d" a directory, "-" a file jele.
# Jogok nem csak szimbólikus jelekkel de számokkal is meghatározhatóak.
#
# 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 4+2+1 4+2+1)
chmod 751 file : U-nak minden, G-nek írási és futtatási, O-nak futtatási jog.

# Betűkkel.: kinek+mit
#
chmod u+rwx file : Tulajdonosnak (U) r,w,x jog adása az adott file-ra.
chmod g+rx file  : Csoport felhasználónak (G) r,x jog beáll.
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 levonni 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 küld vissza hibaüzenetet a rendszer, ha valami nem sikerült
--no-dereference : Szimbólikus linkeknél a link jogosultságainak beállítása
--dereference    : Szimbólikus linkeknél a file (amire a link mutat) jogok változtathatóak meg.

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
# Fájl, könyvtár másolásra használható program
file1 file2     : file1 állományból készít file2 nevű másolatot file1 megtartásával
-R /honnan/mit /hova : rekurzívan mindent másol a /honnan/mit-ből a /hova mappába


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      : Olvashatóbb formátumban írja ki a méreteket (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     : Olvashatóbb formátumban írja ki a méreteket (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 $HOME : $HOME nevű változó értékét adja meg, ami az aktuális user home-ja. pl /home/letix

tr
# karakterek lecserélése, változtatása adott karaktersorban
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 kitörli az e betűket

cat file.txt | tr -cs '[a-zA-Z0-9]' '[\n*]' > file2.txt
# ha a file.txt több szóból álló szöveget tartalmaz, a szavak mögötti szóközt újsor karakterre cseréli,
# azaz minden szó új sorba kerül egymás alá, a file2.txt-be irányítva

cat file.txt | tr -s '\n' > file2.txt
# Ha a file.txt-ben több üres sor is van, az összes újsor karaktert összevonja, azaz üres sorokat töröl.

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.


Kvóták beállítása Linux alatt


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.





Rendszeradminisztráció       top

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





Folyamatok       top

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





Időzített parancsfeldolgozás       top

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)






Kernel,modulok,fordítás       top

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)



Csomagkezelés       top

./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-selections
# 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
A Red Hat csomagkezelője


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



Hálózat       top

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)
iptables

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




Bash programozás       top

# 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.
Írásjelek

# 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

Dedikált környezeti változók


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

Shell változók

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

Belső változók


echo $0
# A futó program neve

echo $$
# A futó program PID-je

echo $?
# A legutolsó parancs visszatérési értéke

Csővezetékek (pipe-ok)


# " | " 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

Néhány egyszerű példa.:


#!/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


Egyszerű szerkezetek.: if, while, until, for

-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



Egyszerű függvények.:

#!/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!)




Érdekes/hasznos bash scriptek -experimental-       top


echo "Most `w -h | wc -l` felhasználó van bejelentkezve."
# Kiíratjuk programunk segítségével, hogy hány felhasználó van bejelentkezve



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?



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



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.


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.



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





Egyéb programok       top

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ő



RAID1 készítése élő rendszeren       top

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
Software RAID Linux alatt
mdadm Wikipedia - eng


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

Figyelem!

Amennyiben már Grub2-vel rendelkezünk, az alábbi linkről állítsuk be a bootloadert .: Link

Egyébiránt mehetünk tovább.

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.





Adatmentés sw. RAID1-et alkotó HDD-ről       top

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.







Local repository készítése apt-mirror segítségével       top



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.






Távoli mappák felcsatolása SSHFS használatával       top

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