2009. július 31., péntek

# Fájlrendszeri ACL-ekről


Wikipedia link. Az alap "rwx" nem lehet mindig elegendő, ezért ezt kibővíti az Access Control List.
Vajon mivel kezdünk? :)
apt-get install acl
EXT3 esetén az fstab-ban a megfelelő sorban írjuk mount opciónak még az "acl"-t! Ha nem akarjuk újraindítani a gépünket, és például a "/home"-ra állítottuk, akkor:
mount -o,remount /home
-al már is használható lesz. De például XFS esetén nem szükséges az említett plusz mount opciót megadni.
Hozzunk létre egy pár próbafilét:
for j in {0..1}; do echo "hi, ez itt a[z] $j. probafile" > probafile-$j; mkdir valami-$j; cd valami-$j; done; cd ../../
Milyen extra jogok vannak beállítva egy fájlra/vagy mappára?
getfacl probafile-0
# file: probafile-0
# owner: gbor
# group: gbor
user::rw-
group::r--
other::r--
Rekurzívan:
getfacl -R valami-0/
# file: valami-0/
# owner: gbor
# group: gbor
user::rwx
group::r-x
other::r-x

# file: valami-0//probafile-1
# owner: gbor
# group: gbor
user::rw-
group::r--
other::r--

# file: valami-0//valami-1
# owner: gbor
# group: gbor
user::rwx
group::r-x
other::r-x
Az ACL által kezelt jogok ugyan azok, mint a megszokott "rwx", csak ezek kibővítésre kerültek azzal, hogy kinek adhatunk, "rwx" jogosultságokat.
A jogok a következő kulcs szavakhoz vannak rendelve:
  • user: a jogok a felhasználóra vonatkoznak, a felhasználó az állomány tulajdonosa, ha a bejegyzés nem tartalmaz felhasználói nevet, egyébkén pedig a listabejegyzésben olvasható felhasználó.
  • group: a jogok az állomány tulajdonoscsoportjára vonatkoznak, ha a bejegyzés nem tartalmaz csoportnevet, egyébként pedig a bejegyzésben található csoportra.
  • other: a bejegyzésben található jogok azokra a személyekre [folyamatokra] vonatkoznak, amelyekre egyetlen más ACL bejegyzés sem vonatkozik.
  • mask: az ilyen jellegű bejegyzések a megadható legmagasabb jogokat mutatják, amely jog tehát nem szerepel ebben a maszkban, azt nem kaphatja meg senki, hiába szerepel a jog a másik bejegyzésben. Kivételt képez ez alól az állomány tulajdonosa és az other kulcsszóval megadott csoport, akiknek a jogait a maszk nem korlátozza.
Adjunk olvasási és írási jogot egy bizonyos felhasználó számára:
setfacl -m u:gbor2:rw probafile-0
Nézzük meg, mit műveltünk:
getfacl probafile-0
# file: probafile-0
# owner: gbor
# group: gbor
user::rw-
user:gbor2:rw-
group::r--
mask::rw-
other::r--
Tett egy plusz mask sorunk, látszanak a hozzáadott jogok a "gbor2" usernek, és egy "ls -lh" a filére már rak egy "+" jelet ezentúl, jelzésképpen, hogy ott nem csak az alap rwx jogosultságok léteznek:
ls -lh probafile-0 -rw-rw-r--+ 1 gbor gbor 29 2010-01-01 01:01 probafile-0
Most távolítsuk el az imént hozzáadottakat:
setfacl -x user:gbor2 probafile-0
getfacl probafile-0
# file: probafile-0
# owner: gbor
# group: gbor
user::rw-
group::r--
mask::r--
other::r--
Rekurzívan módosítani:
setfacl -R -m u:gbor2:rw valami-0/
Rekurzívan törölni:
setfacl -R -x u:gbor2 valami-0/
Az összes ACL bejegyzés egy paranccsal törölhető:
setfacl -b probafile-0
Ugyan így rekurzívan megint, stb..:
setfacl -R -b valami-0/
Példa: Egy "gbor" nevű felhasználó egy közös munka megkezdésekor egy "gbor2" emberkével szeretne együtt dolgozni, mármint olykor közös fájlokat használni. A felhasználó nevében:
cd /home/gbor/
mkdir kozos
cd kozos
echo "megosztott szoveg" > olvassel.txt
cd ..
"gbor" x jogot ad [ :D:D ] "gbor2"-nek a "/home/gbor"-ra:
setfacl -m user:gbor2:--x $HOME
Most a közös mappa [de másnak ne legyen joga hozzá]:
setfacl -R -m user:gbor2:rwx,other::--- kozos/
De: mivan, ha a "kozos"-ben egy új mappát/fájlt hoz létre valaki? Nem muszáj [ :D ] beállítani újra az ACL-t azon a fájlon, hanem létezik egy "default" kapcsolója a "setfacl"-nek, amivel megadhatunk öröklődést:
setfacl -m d:u:gbor2:rwx,o::--- kozos/
A "user"-t lehet rövidíteni "u"-nek is. "Group"-ot: "g"-nek, "other"-t "o"-nak.
cd kozos
mkdir barmi
getfacl barmi/
# file: barmi/
# owner: gbor
# group: gbor
user::rwx
user:gbor2:rwx
group::r-x
mask::rwx
other::---
default:user::rwx
default:user:gbor2:rwx
default:group::r-x
default:mask::rwx
default:other::---
ui.: Mount options
ui2.: Alap user kezelés

# Wiimote csatlakoztatása és beállítása távirányítóként Linux alatt


Mi az a wiimote? [Röviden, egy sokoldalú távirányító a Wii konzol mellé.]
Anno írtam róla, hogyan lehet helyettesíteni vele egy drága digitális táblát [by: Johnny Chung Lee] [készítettem Magyar feliratot az eredeti videókhoz], pedig csak 10e RMF-be kerül [Rossz Magyar Forint :) ].

Van benne egy nagy felbontású infra érzékelő, és egy infra tollal lehet "hadonászni" :) egy táblára írva, ennyi, ezt érzékeli, és lehet egy projector segítségével olyan hatást elérni, mint ha az infra tollal írnánk. Van benne gyorsulásmérő, és egy rezgő motor is. Kreativitás szabhat csak határt :D

Most csak gyorsan leírom, hogyan lehet csatlakoztatni, mint távirányítót, és megadni neki gombokat, pl.: mplayer-nél az "f"-betű a teljes képernyőre való állításhoz, ESC a kilépés, "o"-betű a kijelzésre, hogy hol tart a videó, szóköz a pause-nak, stb.
Kell egy pár csomag:
apt-get install wminput lswm gtkwhiteboard wmgui
A "wmgui"-t ebből nem használjuk, csak azért kell, hogy pl.: egy szép grafikus felületen lehet látni pl.: az infra érzékelőjének, vagy a gyorsulásmérőjének az adatait, stb., a "gtkwhiteboard"-al pedig lehet a digitális táblás apróságot próbálgatni :) [egy öngyújtó is ad infra jelet, tehát azzal is lehetne írni egy táblára :D ]
Töltsük be egy neki kellő modult:
modprobe uinput
Vajon tényleg betöltődött?
lsmod | grep uinput
Állítsuk be, hogy egy reboot után ne nekünk kelljen újra "modprobe"-olni:
echo "uinput" >> /etc/modules
Ok, most megszerkeszthetjük a config filéjét [Vim-hez segítség itt]:
vim /etc/cwiid/wminput/buttons
Wiimote-ról kép itt. A config fájl csak két oszlopból áll: első része a wiimote-on levő gombok, második rész pedig, hogy mit akarunk hozzájuk rendelni, én ezeket módosítottam:
Wiimote.Minus = KEY_ESC
Wiimote.1 = KEY_SPACE
Wiimote.2 = KEY_O
Wiimote.Home = KEY_F
Az egeret a gyorsulásmérő segítségével irányíthatjuk.. :D
Ok. Csatlakoztassuk Bluetooth-on keresztül:
wminput $(lswm -q)
Az "lswm -q"-val megkapjuk a wiimote MAC address-ét, amit megadunk a "wminput"-nak. Kérni fogja, hogy nyomd meg egyszerre az "1&2"-es gombokat, kéken elkezdenek villogni a rajta levő LED-ek, ekkor kereshető.
ui.: a "wminput"-ot lehet infra érzékelésre is használni, de ~nem a legjobb, inkább "gtkwhiteboard".

# Video out állítása


Ha pl.: van egy S-videó kábeled + mellé audió is, ami pl.: Scart-ban végződik [ezzel próbáltam], akkor hogyan lehet az X újraindítása nélkül clone-módba állítani a kijelzőket?

Előtte egy dolog - ha esetleg fekete-fehér lenne a kép, mert NTSC-re volt állítva, nem pedig PAL-ra:
xrandr --output TV --set TV_FORMAT PAL
Infókat így tudhatsz meg:
xrandr --verbose
Csak ez után dugd össze az S-videó kábelét a videókártyáddal, és:
xrandr --auto
ui.: Mi az aktuális képernyő felbontásom?

2009. július 22., szerda

# Mount options


Csak a felosztásról/mount opciókról, mert így nagyobb biztonság érhető el: LVM-el - dm_crypt [AES 256]-al a teljes HDD titkosítva - kivéve a "/boot":
mount point type options size dump pass
/ xfs defaults,noatime 2 GB 0 1
/boot xfs defaults,noatime,nodev,nosuid,noexec 256 MB 0 2
/home xfs noatime,nodev,nosuid * GB [ami marad] 0 2
/tmp xfs noatime,nodev,nosuid,noexec 10 GB 0 2
/usr xfs noatime,nodev 6 GB 0 2
/var xfs noatime,nodev,nosuid 3 GB 0 2
none swap sw 1 GB 0 0
Ha menet közben szeretnénk "újracsatolni", mert pl.: módosítottunk a mount opcióin:
mount /tmp -o remount
  • Miért XFS-t fájlrendszernek? Mert gyorsabban fut le rajta az esetleges fsck + amit kitörlök, azt nehezebb visszahozni + mert szeretem a feature-jei miatt :D:D
  • Minek a teljes HDD titkosítása? Mert ez esetben a laptop-om volt, nem tárolok rajta jaj de "non-public" dolgokat, egyszerűen csak r*h*djon meg az, aki ellopná :). +Nem mellesleg nagyobb biztonság, miszerint nem fognak tudni csak úgy bebootolni egy LiveCD-t, és hozzáférni az adatokhoz, ergo hitelesség, biztonság növelés.
ui.: Filerendszer felcsatolása
ui2.: Debian 5 Lenny telepítés - Hogyan.org

2009. július 18., szombat

# Kernel forgatás [alap leírás]


Mindenkinek a saját felelősségére. Nem annyira jellemző Debian alatt. De vannak disztribúciók, esetleges célok/igények, amikor mégis kellhet. Olvasd végig az egészet, és csak utána kezdj bele.
Lenny alatt jelenleg a "2.6.26-2"-es kernel van gyárilag, de mi a példa kedvéért alá szeretnénk rakni a jelenlegi legfrissebb stable kernelt, a "2.6.30-1"-est.
Töltsük le a forráskódot, tömörítsük ki, lépjünk bele a mappájába, majd másoljunk neki egy configot:
cp /boot/config-2.6.26-2-686 ./.config
Mielőtt elkezdenénk, kell egy pár csomag a gépre [figyelmeztet, hogy mégis mi hiányzik még a gépről]:
apt-get install gcc make libncurses5-dev
Most, ha akarsz/kell:
make menuconfig
-ban módosíthatod a config-ot, miszerint pl.: mi legyen "modulként", mi legyen "built-in"-ként, vagy mi ne legyen az elkészülő kernelben. Ez után már lehet kezdeni fordítani. A "make" parancsnak van egy "-jX" kapcsolója, ahol az "X" egy számot jelent, hogy hány szálon fog dolgozni/forgatni. Tehát pl.: csak tipp: két magos procinál:
time make -j2
legyen a parancs [azért a "time" elé, mert így a végén megtudhatjuk, hogy mennyi ideig tartott - nálam az első alkalommal: "real: 50m11.194s" - T7100-as C2D procival]. Ekkor rákérdezhet rengeteg dologra, egyszerűen üssünk entert [illetve tartsuk folyamatosan lenyomva azt, mivel említetten sok dologra kérdez rá, a default válaszok jók. A te régi kerneled configja, és az új közötti különbségek miatt teszi csak ezt]. A forgatás eltarthat egy jó darabig, gép/config file beállítástól nagyon függ. [Egy esetleges "megszakítás" esetén a "make"-nél ott kezdi, ahol "abbahagyta".] Kernel lefordulva, telepítsük [csak is innentől _kell_ "root" jog]:
time make modules_install install
Másoljuk az elkészült "fájlt" a helyére ["x86" helyett lehet, pl.: "x86_64", amilyen architektúrád van]:
cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.30-1
initrd image:
time mkinitramfs -o /boot/initrd.img-2.6.30-1 2.6.30.1
Ha nem akarod kézzel szerkeszteni a GRUB beállításait, akkor csak ezt a parancsot add ki:
update-grub
De viszont figyelj arra, hogy biztos ~így nézzen ki a "/boot/grub/menu.lst"-ed megfelelő része:
title
root
kernel
initrd
kernel 2.6.30.1-barminev
(hd0,1)
/boot/vmlinuz-2.6.30-1 root=/dev/hda2 ro
/boot/initrd.img-2.6.30-1
Mármint az "update-grub" az "initrd"-részt nálam kihagyta. A "/dev/XdXX", "(hdX,X)", mindenkinek változó lehet, ezt majd látni fogod [az "update-grub" azt legenerálja]. Szerkesztéshez használj pl.: Vim-et.
Kész, reboot.
ui.: Kernel forgatás - hupwiki, itt pedig egy sulinetes írás, itt pedig egy a cyberciti-ből. ""Bagoj úr blogja"". És még egy Hup.hu link.
ui2.: Pl.: Gentoo-sok szerintem több tucat/száz oldalt beszélhetnének kernel forgatásról, majd még később bővítem esetlegesen ezt az alap írást :D
ui3.: Csak egy megjegyzés.
ui4.: Roll a kernel Debian, Ubuntu way
ui5.: The Kernel Newbie Corner - csak hátha talál itt valaki valami "érdekeset" :) .
ui6.: Program fordítás Linuxon
ui7.: Saját Kernel Fordítása Ubuntu 9.04 Rendszeren
ui8.: KernelCheck: kernel compiling process as easy as the click of a button
ui9.: Kernel compile and install on Debian 5.0 for newbies
ui10.: Kernel Compilation & Installation on Ubuntu - KernelCheck
ui11.: Kernel forgatás, hup, egy és kettő.

2009. július 14., kedd

# Mely fájlok mikor módosultak a gépen?


Legfeljebb egy perccel ezelőtt módosultak:
find / -mmin 1
Az elmúlt ötödik, és tizedik perc közt módosult fájlok:
find / -mmin +5 -mmin -10
Az elmúlt 24 órában:
find / -mtime 0
Az elmúlt 24 órában:
find / -mtime -1
Az elmúlt 24, és 48 óra közt:
find / -mtime 1
48 óránál több ideje:
find / -mtime +1

2009. július 2., csütörtök

# Vágólap használata terminálból [xclip]


Telepíteni..:
apt-get install -fy --force-yes xclip
Pár tipp - szöveg vágólapra vitele:
echo -e "valami-elso-sora\nvalami-masodik-sora" | xclip
állományban levő szöveg vágólapra vitele [amúgy "-i filenev" lenne, de így is jó]:
xclip filenev
vágólapra vitel, de úgy, hogy GUI alól is be lehessen illeszteni [különböző karakterkészleteket "nem szereti" :) ]:
echo -e "valami-elso-sora\nvalami-masodik-sora" | xclip -selection c
beillesztés:
xclip -o
ui.: Ezzel az "X vágólapjáról" is illeszthetünk be szövegeket, pl.: egy GUI-s böngészőben jobbegér-másolás-al "elmentünk" egy URL-t, azt egy terminálban "xclip -o" kiadása után viszont láthatjuk.
ui2.: Innen és innen.
ui3.: Kell futnia x-session-nak a működéséhez...

2009. június 27., szombat

# tcpdump


Innen! [Wiki]: Mi "zajlik" az 53-as porton? [DNS]
tcpdump -i eth0 'udp port 53'
IPv4 alatt az összes be és kimenő HTTP forgalom [80-as port], de csak az olyan csomagokat írja ki, amik tartalmaznak adatokat [pl.: a SYN, FIN, ACK-only -kat ne]
tcpdump -i eth0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
Egy adott IP cím FTP kapcsolatait [20-as, és 21-es port] írassa ki [202.54.1.5]
tcpdump -i eth0 'dst 202.54.1.5 and (port 21 or 20)'
Az összes 192.168.1.5-höz tartozó HTTP forgalmat
tcpdump -ni eth0 'dst 192.168.1.5 and tcp and port http'
A 80-as porton átvitt fájlok [használj Wireshark-ot részletesebb infókért]
tcpdump -n -i eth0 -s 0 -w output.txt src or dst port 80
ui.: Promiscuous mode ui2.: Egy rövid írás még itt.

2009. június 20., szombat

# SHA512 használata


Szóval mivel.. pont. :) [Más - egy régebbi.] Ezért a SHA512.

Készítése:
sha512sum VIZSGALANDO-FILE > KIMENETI-FILE
Leellenőrizni:
sha512sum -c KIMENETI-FILE
Ha van egy mappánk, és a benne levő fájlokról [rekurzívan] szeretnénk hash összegeket egy állományba készíteni:
find . -type f -exec sha512sum {} \; > sha512sum-${PWD##*/}
[A "${PWD##*/}" csak az adott mappa neve, hogy ne nekünk kelljen beírni.] Leellenőrizni:
sha512sum -c sha512sum-${PWD##*/} | grep -i fail
Egyet jelez "hibásnak" [amiben letároltuk az összegeket], dehát AZ amikor készítettük még módosult [mármint miután magáról is készített összeget], nem arról lett utoljára hash "generálva", viszont ő tárolta le azokat. Tehát az nem baj.
ui.: "Otthoni felhasználásra hova"? Rengeteg helyre. Például publikus kulcs ellenőrzésére, az én jelenlegimről itt van.
ui2.: Megint más, de hasznos végigolvasni.
ui3.: És még egy :)

# tar, gzip, bzip2, zip, rar, arj, 7z, unace-nonfree-ről


A "tar, gzip" az esetek bő többségében alapból fent van, a maradék említetteket pedig így telepítheted fel, ha "apt"-t használsz [de azért beleraktam a többit is]:
apt-get install -fy --force-yes tar gzip bzip2 zip unzip rar unrar arj p7zip-full unace-nonfree
Legyen egy mappánk, kis tartalommal [hogy legyen min "próbálgatni"]:
MAPPA=$(date +%F-%Hh-%Mm-%N)
mkdir $MAPPA
cd $MAPPA
dd if=/dev/zero of=barmi.barmi bs=1024 count=1024
cd ..
legyen egy külön fájlunk is [~mint előzőleg, itt is egy "generált tartalmú", 1 MByte-os]:
FAJLNEV=barmi.barmi
dd if=/dev/zero of=barmi.barmi bs=1024 count=1024

tar

[Wikipedia]
tar-al összefűzhetsz több fájlt [pl.: mappát - a benne lévő állományokkal, vagy több fájlt egybe]. A tar "NEM TÖMÖRÍT", "hacsak":
  • Nem használsz mellé valamilyen tömörítést, pl.: ".tar.bz2" -nél.
  • Vagy pedig láthatsz esetleg a ".tar"-olt fájlok méretében egy kis különbséget [mármint az eredeti fájlok összesített méretéhez képest], DE ez azért van, mert az utolsó foglalt adatblokkban fellép valamekkora veszteség, ha az állomány mérete nem egész számú többszöröse a fájlrendszerbeli blokkméretnek, mivel a könyvtárbejegyzéseknek mindig az adatblokk elején kell kezdődniük. Magyarul sok kis fájl/könyvtár ".tar"-olásánál végeredményben előjöhet méretbeli különbség!
A tar parancs pár "kapcsolója":
  • c - csomagolás
  • x - kicsomagolás
  • z - gz
  • j - bz2
  • --lzma - lzma
  • v - szokásos, több infót mutasson, verbose
  • vv - [egy "v" helyett kettő] - még több infó a "kezelt" fájlokról
  • f - fájl [végére írd]
.tar
tar -cf $MAPPA.tar $MAPPA
kicsomagolni [.tar]:
tar -xf $MAPPA.tar
.tar.gz
tar -czf $MAPPA.tar.gz $MAPPA
kicsomagolni [.tar.gz]:
tar -xzf $MAPPA.tar.gz
.tar.bz2
tar -cjf $MAPPA.tar.bz2 $MAPPA
kicsomagolni [.tar.bz2]:
tar -xjf $MAPPA.tar.bz2
.tar.lzma
tar --lzma -cf $MAPPA.tar.lzma $MAPPA
kicsomagolni [.tar.lzma]:
tar --lzma -xf $MAPPA.tar.lzma
Egy példa: a "/var/log" könyvtárban levő ".log"-ra végződő fájlokat csomagoljuk be "bzip2"-vel, egy fájlba, aminek a neve: "log-mentes-YYYYMMDD.tar.bz2"
cd /var/log
tar -cjf log-mentes-$(date +%Y%m%d).tar.bz2 *.log

gzip

[Wikipedia]
.gz [mappát nem tud, használd a fent említett tar-t! Az eredeti fájl eltűnik!]:
gzip $FAJLNEV
kicsomagolni [.gz] [A tömörített fájl eltűnik!]:
gzip -d $FAJLNEV.gz
letesztelni a tömörített fájlt:
gzip -t $FAJLNEV.gz
Egy mappán belüli fájlokat egyesével gzip-elni [Eredeti fájlok eltűnnek!]
gzip -r $MAPPA

bzip2

[bzip2 csomag legyen fent!][Wikipedia]
.bz2 [mappát nem tud, használd a fent említett tar-t! Az eredeti fájl eltűnik!]:
bzip2 $FAJLNEV
kicsomagolni [.bz2] [A tömörített fájl eltűnik!]:
bzip2 -d $FAJLNEV.bz2
letesztelni a tömörített fájlt:
bzip2 -t $FAJLNEV.bz2

zip

[zip, unzip csomag legyen fent!] [Wikipedia]
.zip
zip -r $MAPPA.zip $MAPPA
kicsomagolni [.zip]:
unzip $MAPPA.zip

rar

[rar, unrar csomag legyen fent!] [Wikipedia]
.rar
rar a $MAPPA.rar $MAPPA
kicsomagolni [.rar]:
unrar x $MAPPA.rar
letesztelni a tömörített fájlt:
rar t $MAPPA.rar

arj

[arj csomag legyen fent!] [Wikipedia]
.arj
arj a $MAPPA.arj $MAPPA
kicsomagolni [.arj]:
arj x $MAPPA.arj

7z

[p7zip-full csomag legyen fent!] [Wikipedia]
.7z
7z a $MAPPA.7z $MAPPA
kicsomagolni [.7z]:
7z x $MAPPA.7z

unace-nonfree

[unace-nonfree csomag legyen fent!] [Wikipedia]
kicsomagolni [.ace]:
unace x $MAPPA.ace $MAPPA

ui.: Fájl "kiterjesztések" Nautilus alatt
ui2.: Mi lehet az az "ismeretlen fájl"? [Mármint ha pl.: nincs kiterjesztése]
ui3.: windows alatt, ha kapnál egy pl.: ".tar", ".tar.gz", vagy ".tar.bzip2", stb fájlt, akkor azokat a PeaZip nevezetű programmal kezelheted.
ui4.: "Linux" alatt, ha GUI-t használsz, akkor már nagyon szépen integrálva van, pl.: a Nautilusban a "tömörítés kezelés" - jobb egér egy fájlra, és "Create Archive..." vagy "Extract Here"...
ui5.: Hogy mit ajánl az ember a tömörítéshez? Adott cél/körülmények döntik el [Sávszél? Fájlméret? Elég csak egy összefűzés - mennyi idő van rá?]. Általánosságban, ha "Linuxosnak" [non-MS] küldesz "valamit", akkor a ".tar.bz2", ha windowsosnak, akkor ".zip" [bz2 igen jól tömörít, windowsos meg.. kompatibilitás miatt]. Ha a célban szerepel a jelszavazás... jobban jársz, ha titkosítod egy 4096 bit-es GPG-al :) [már amennyiben egy embernek küldöd].
ui6.: Több fájl kitömörítése egyszerre Linuxon

2009. június 4., csütörtök

# Mennyi az operatív memória mérete Linux alatt?


MByte-ban adja meg az értékét [csak írd egy terminálba]:
free -m | awk '/Mem/ {print $2}'
ui.: Infók az adott gépről

# Mennyi a videómemória mérete Linux alatt?


Linux find out my VIDEO Card Memory RAM size using command line utility.
Előtte esetleg ezt futtasd le ezt root-ként:
apt-get install -yf --force-yes pciutils; update-pciids
Majd MByte-ban ezzel kiíratod:
lspci -v | awk '/, prefetchable/ {print $6}'
ui.: Infók az adott gépről

2009. május 28., csütörtök

# IPv6


Csak egy apró kezdeményezés. Mivel belátható időn belül négykézláb/kötelező ötlet lenne váltani/felkészülni az IPv6-ra, így ide fogok gyűjtögetni egy-két linket a "témáról". Remélem hasznosak lesznek az itt felsorolt hivatkozások, már akinek [nekem Igen :)]. Az IPv6 nem egy hype, vagy "jajdejó, új feature", egyszerűen nincs/nem lesz más választás [lásd: NIIF videók]. Akit ez egyáltalán Nem Érdekel, az az "idő eljövetelekor" vulgárisan szólva sz*rb*n lesz [már tényleg elnézést].
Egy sacc előtte: Mikor fogynak el az IPv4-es címek? - Pontosan úgy se tudja senki, több helyen lehet olvasni sokfélét, annyi a legbiztosabb, hogy el fognak fogyni rövid időn belül. Ha átlagolni kéne, azt mondaná az ember, hogy ha ~igaz amiket manapság írnak, akkor ~kb a mai dátumhoz [2009.05.28] képest ~2 év, azaz érdekes lesz visszanézni ezt az írást 2011 felénél :).

Hogyan lehetne esetleg terjeszteni az IPv6-ot ["átlag ember szempontjából"]? A mai oprendszerekben [de már évekkel ezelőtt is] volt/van IPv6 támogatás. ~~SOHO routerekben ~~is. Tehát aki akarja/van ilyenre "pénze" [mármint EGY telefonhívásra], egyszerűen hívja fel az internet-szolgáltatóját, és kérdezze meg, hogy mettől kaphat IPv6-os címet, mert ő [mármint TE] igen is akar!! [Mármint amennyiben érdekel.] Csak egy tipp volt. [Sok lúd ISP-t győz :)]
Egy pár adat: Akkor a lényeg - Hasznos linkek [idővel bővítem]: Indítottam egy fórum topicot, ahol felteheted extra kérdéseidet [és remélhetőleg válasz is jön rá :) ]: ui.: ISP - Hupwiki

2009. május 22., péntek

# Mi az a 8 MByte particionálatlan terület?


Egy pl.: xp telepítésekor

ui.: ez a legvalószínűbb [Dynamic Disk]
ui2.: Setup Reserves Disk Space for Upgrading to Dynamic Disk

# MBR törlése [tudd, hogy mit csinálsz! - mert ezzel kárt okozhatsz]


fdisk -l
-el megnézni, hogy mik a HDD-k elnevezései, majd a törlés:
dd if=/dev/zero of=/dev/sda count=1 bs=512
Ha nem akarod az MBR-ből kitörölni a partíciók adatait tartalmazó részt, akkor csak az első 446 Byte-ját nullázd:
dd if=/dev/zero of=/dev/sda count=1 bs=446
ui.: LiveCD-vel [pl.: SystemRescueCD].
ui2.: MBR-ről a Wikipedia-n.
ui3.: Biztonsági mentés az MBR-ről.

# Biztonsági mentés az MBR-ről


fdisk -l
-el megnézni, hogy mik a HDD-k elnevezései
dd if=/dev/sdX of=mbr.backup count=1 bs=512
-el pedig elmenteni egy fájlba az MBR-t.
dd if=mbr.backup of=/dev/sdX count=1 bs=512
-el pedig visszaállítani, esetleg egy "sync" parancs utána.

2009. május 21., csütörtök

# ~m3u "generálása" az adott mappában [generate m3u]


find . -maxdepth 1 -name "*.mp3" -type f > "Playlist_${PWD##*/}".m3u
Ugyan az, csak ha vannak a kiinduló [. - azaz ahol ki lett adva a parancs] könyvtárban almappák, akkor azokba is készítsen megfelelő Playlist-et:
find . -type d | while read MAPPANEV; do $(cd "$MAPPANEV"; find . -maxdepth 1 -name "*.mp3" -type f > "Playlist_${PWD##*/}".m3u;); done
find . -name "*.m3u" -size 0 -type f -exec rm -i {} \;
ui.: a legutolsó sort óvatosan ad ki!

# Konvertálás karakterkészletek közt [pl.: ISO-8859-1-ből UTF-8-ba]


iconv -f ISO-8859-1 -t UTF-8 filenev
vagy pl.:
sh script_aminek_szoveges_kimenete_lesz | iconv -f ISO-8859-1 -t UTF-8 > filenev
ui.: Convert DOS newlines CR-LF to Unix/Linux format
ui2.: egy hup.hu link

2009. május 18., hétfő

# OpenWrt #0 - Flash the Firmware


#!/bin/bash
# tested on ASUS WL 500 GPv2 [OpenWrt Kamikaze 8.09]

clear
echo "It will take 7 easy steps: "
echo "1/7: To run this script, you have to be root. If you aren't then press Ctrl+C. If you have root privileges, press any key."
read
clear

echo '2/7: If you have internet connection press any key [I want to download the firmware].'
read
wget --timeout 10 --tries=2 "http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/openwrt-brcm-2.4-squashfs.trx"
echo "--------------------"
echo "Press Ctrl+C if it didnt download the firmware..."
read
clear

echo "3/7: If you have internet connection press any key [I want to install atftp on you're PC]."
read
apt-get install -fy --force-yes atftp
echo "--------------------"
echo "Press Ctrl+C if it didnt find the package from you're repository..."
read
clear

echo "4/7: Now unplug you're MODEM from the router, then press any key."
read
clear

echo "5/7: Put you're OpenWrt router in DIAGNOSTIC mode, then press any key. "
echo
echo "Make sure you're IP is eg.: 192.168.1.5, and you're gateway is 192.168.1.1"
echo "And don't forget to check that atftp isn't blocked by a firewall, then press any key."
read
atftp --trace --option "timeout 1" --option "mode octet" --put --local-file openwrt-brcm-2.4-squashfs.trx 192.168.1.1
clear
for i in {1..180}; do sleep 1; clear; echo "[$i/180 sec...] Please wait... meanwhile you can set you're connection back to DHCP."; done
clear

echo "6/7: ...OK! Please turn OFF then turn ON the router, then press any key."
read
clear
for i in {1..50}; do sleep 1; clear; echo "[$i/50 sec...] Waiting for router to boot... Please wait..."; done
dhclient
clear

echo '7/7: ...Now I will telnet the router then you MUST CHANGE the password ["passwd root" command], then reboot it [with the "reboot" command]!!!'
echo "After you changed the root password and rebooted the router, were done! Bye."
echo 'If a "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" sign appear, when you want to SSH to the router, then you need to delete eg.: the "~/.ssh/" dir... '
echo "--------------------"
echo
telnet 192.168.1.1

ui.: ASUS WL 500 GPv2 -n lett tesztelve, mert az van a kezemben, de azért lehetne mást is választanih... [pl.: a v2-ből én FTP-n tudtam max kihozni 3 MByte/sec-et...]
ui2.: ha nem lenne elérhető flashelés után, akkor link

# OpenWrt #1 - Disable httpd [+move default port] & telnet for sure


#!/bin/ash
chmod 444 /etc/init.d/httpd
sed -i "s/80/48732/g" /etc/config/httpd
chmod 444 /etc/init.d/telnet
sync
ui.: Megfelelő port kiválasztása.

# OpenWrt #2 - Move default Dropbear port


sed -i "s/22/52316/g" /etc/config/dropbear
ui.: Megfelelő port kiválasztása.

# OpenWrt #3 - Set firewall policy to DROP


sed -i "s/REJECT/DROP/g" /etc/config/firewall
ui.: Mer' a REJECT túl RFC barát :D:D [mármint ez esetben ez ""baj""]

# OpenWrt #4 - Install openntpd & Set Hungarian TZ


#!/bin/ash
opkg update && opkg install openntpd
sed -i "s/UTC/UTC-2/g" /etc/config/system
sync

# OpenWrt #5 - Schedule something with cron [e.g.: upgrades, etc.]


#!/bin/ash

echo "1 4 * * 6 opkg update && opkg upgrade
0 4 * * * echo -e \"nameserver 208.67.222.222\\nnameserver 208.67.220.220\" > /tmp/resolv.conf.auto" > /etc/crontabs/root
chmod 755 /etc/crontabs/root
sync
pkill cron
/etc/init.d/cron restart

ui.: Jó, tudom, ütemezni [minden péntek reggel] egy repo frissítést & upgrade-et, hátha adtak ki valami frissítést nem a legbölcsebb rendelkezésre állás szempontjából, csak példa.

# OpenWrt - How to set automount@boot & SWAP@boot [USB HDD]


#!/bin/ash
# tested on ASUS WL 500 GPv2 [OpenWrt Kamikaze 8.09]
# echo "USB HDD: partition1: 512 MByte swap; partition2: * MByte for data... [EXT3]"

# Automount@boot #1
mkdir -p /mnt/hdd/
opkg update && opkg install kmod-usb2 kmod-usb-storage kmod-fs-ext3 fdisk screen e2fsprogs
clear
echo "Now use fdisk, and mkfs to make partitions on the USB HDD:"
echo "partition1: 512 MByte [SWAP]; partition2: * MByte for data... [EXT3]"
echo
fdisk -l
read
screen
sync
clear

# Automount@boot #2
echo "mkdir /mnt/hdd; mount "$(fdisk -l | awk '/Linux/ && /83/ {print $1}')" /mnt/hdd" > /etc/init.d/hdd
ln -s ../init.d/hdd /etc/rc.d/S45hdd
chmod 755 /etc/init.d/hdd
sync
/etc/init.d/hdd

# Set SWAP@boot on USB HDD
opkg install swap-utils
echo 'mkswap '$(fdisk -l | awk '/swap/ && /82/ {print $1}') >> /etc/init.d/hdd
echo 'swapon '$(fdisk -l | awk '/swap/ && /82/ {print $1}') >> /etc/init.d/hdd
sync
/etc/init.d/hdd
clear
mount
echo
free
read
ui.: előfordulhat egy-két apróság _néha_ egy USB HDD felismerésében
ui2.: Az fdisk-hez segítség [a példa alapján]:
fdisk /dev/scsi/host0/bus0/target0/lun0/disc

n
p
1
enter
+512mb
t
82

n
p
2
enter
enter
t
2
83

w
Hozzuk is létre a filerendszert:
mkfs.ext3 /dev/scsi/host0/bus0/target0/lun0/part2
ui3.: aki nem ismerné a screen-t, annak link

# OpenWrt - How to set NFS [on LAN]


Goal: Share videos/music on a network with an OpenWrt router [read only, anonym, UTF8 characters in file names too, router runs 24h a day, clients always connected]. Kamikaze 8.09.
On the router [if the shared folder is "/mnt/hdd/megosztas/" ]
#!/bin/ash
mkdir -p /mnt/hdd/megosztas/
chmod 555 -R /mnt/hdd/megosztas/
opkg update && opkg install unfs3
echo '/mnt/hdd/megosztas/ 192.168.1.0/255.255.255.0(ro)' >> /etc/exports
/etc/init.d/unfs3 enable

echo '#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=50

start() {
/etc/init.d/portmap restart
/usr/sbin/unfsd
}

stop() {
killall unfsd
}

restart() {
stop
sleep 1
start
}' > /etc/init.d/unfs3

sync
sleep 60

/etc/init.d/portmap stop
/etc/init.d/unfs3 restart
Client side [NFS related firewall settings]
#!/bin/bash
IPTABLES=$(which iptables)
$IPTABLES -A INPUT -i lo -s 127.0.0.1 -p udp --dport 111 -j ACCEPT
$IPTABLES -A INPUT -i lo -s 127.0.0.1 -p tcp --dport 111 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m multiport --dport 111,2049 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -m multiport --dport 111,2049 -j ACCEPT
Client side
#!/bin/bash
FELHNEV=$(w | awk '/x-session/ && /tty/ {print $1}')
mkdir -p /home/$FELHNEV/Desktop/Megosztas/
mount -vvv -t nfs 192.168.1.1:/mnt/hdd/megosztas/ /home/$FELHNEV/Desktop/Megosztas/ -o ro,noexec,nosuid,nodev,noatime,nolock,nfsvers=3
Client side - fstab
#!/bin/bash
FELHNEV=$(w | awk '/x-session/ && /tty/ {print $1}')
mkdir -p /home/$FELHNEV/Desktop/Megosztas/
echo "192.168.1.1:/mnt/hdd/megosztas/ /home/$FELHNEV/Desktop/Megosztas/ nfs ro,noexec,nosuid,nodev,noatime,nolock,nfsvers=3 0 0" >> /etc/fstab
mount -a

ui.: boccs az angol miatt, gyorsabb volt így
ui2.: A lazy unmount hasznos lehet egy esetleges ro NFS meghajtó lecsatoláskor: "umount -l /home/valaki/Desktop/Megosztas", miszerint aranyos dolgok történhetnek, ha nincs kapcsolat a routerrel.. :)

# OpenWrt - How to change WAN Mac address


Because the WAN part is the last one in the config file:
#### WAN configuration
config interface wan
option ifname "eth0.1"
option proto dhcp
Just append a line like this:
echo "option macaddr XX:XX:XX:XX:XX:XX" >> /etc/config/network
sync

# OpenWrt - How to set fixed IP for given Mac address [static lease]


echo "XX:XX:XX:XX:XX:XX 192.168.1.120" >> /etc/ethers.local sync

# OpenWRT - How to set OpenDNS, and block some FQDNs


OpenDNS:
#!/bin/ash
echo 'echo -e "nameserver 208.67.222.222\nnameserver 208.67.220.220" > /tmp/resolv.conf.auto' > /etc/init.d/opendns
chmod 755 /etc/init.d/opendns
ln -s ../init.d/opendns /etc/rc.d/S99opendns
Block a few FQDNs:
wget "http://pastebin.com/pastebin.php?dl=f585ae167" -O /etc/hosts.local

# OpenWRT - Where can I see the log's?


Just type:
logread

2009. május 12., kedd

# Security Tools List


http://securitytoolslist.domandhost.com/
http://backtrack.offensive-security.com/index.php?title=Tools

2009. május 9., szombat

# audio from wmv to mp3


#!/bin/bash
INPUT_WMV=valami.wmv
OUTPUT_MP3=$(echo $INPUT_WMV | sed "s/.wmv//g")
mencoder -ovc frameno -oac mp3lame -o temporary.avi $INPUT_WMV
mplayer -dumpaudio temporary.avi
mv stream.dump $OUTPUT_MP3.mp3
rm -f temporary.avi
ui.: Forrás

2009. május 2., szombat

# MAC address megállapítása scriptől [akár helyi, akár hálózaton]


Ha már volt egy "Külső IP cím megállapítása scriptből", legyen esetleg egy MAC-re is :) .
root-ként helyi:
ifconfig eth0 | awk '/HWaddr/ {print $5}'
"felhasználóként", helyi [link!!]:
cat /sys/class/net/eth0/address
root-ként, gyűjtse be ami elérhető az adott hálózaton [IPv4]: [timeout kell - ez az egy tipp [package] volt egy mailing listről]
#!/bin/bash
timeout 15 netdiscover -r 192.168.1.0/24 > netdisc.tmp
awk '/192./ {print $1"-"$2}' netdisc.tmp | grep -v "scanning" | sort -u >> netdisc.list
rm -f netdisc.tmp
ui.: ha a terminál az előbbi script lefutása után "érdekesen" viselkedne :D akkor olvasd el ezt :D
root-ként, IPv4 cím szerint a hálózaton ["tuning" :D]:
arping -c 1 192.168.1.1 | awk '/192.168.1.1/ && /:/ {print $4}'
vagy:
ping -c 1 192.168.1.1 >/dev/null; arp -a | awk '/192.168.1.1/ {print $4}'
"felhasználóként", IPv4 cím szerint a hálózaton:
ping -c 1 192.168.1.1 >/dev/null; awk '/192.168.1.1/ {print $4}' /proc/net/arp
ui.: Forrás!!

2009. április 24., péntek

# Magic SysRq


Leírás róla itt! Hasznos dolognak tűnik :)

2009. április 17., péntek

# hdparm


hdparm -tT
Nem ad 100%-os pontosságot a valósághoz képest, de azért valami.
ui.: The -T option takes advantage of the Linux disk cache and gives an indication of how much information the system could read from a disk if the disk were fast enough to keep up. The -t option also reads the disk through the cache, but without any precaching of results. Thus -t can give an idea of how fast a disk can deliver information stored sequentially on disk.

2009. április 16., csütörtök

# Két rootkit kereső


Egyik: chkrootkit
Másik: rkhunter

frissíteni:
rkhunter --update
lefuttatni:
rkhunter --check
Tehát időnként [egy sorba írtam :) ] lefuttatni root-ként mindkettőt:
apt-get update; apt-get upgrade -y; apt-get install -y chkrootkit rkhunter; rkhunter --update; rkhunter --check; chkrootkit

2009. április 12., vasárnap

# Ha költöztetni kell egy másik fizikai HDD-re, kiesés nélkül [LVM]


Ha azt látjuk, hogy szeretne meghalni egy HDD, amin éppenséggel a rendszerünk van... és anno LVM-et használtunk telepítéskor, akkor vegyünk egy másik, pl.: legalább ugyan akkora HDD-t, tegyük bele a gépbe és helyezzük át az adatokat az új HDD-re [kiesés nélkül, a futó szolgáltatások kellenek], és később bootolni is lehessen az új HDD-ről, mivel a régi vinyót kivesszük, ha végzünk.
A példában a VG-ban [vg] van két LV ["root", és "swap"]. Az LVM a régi vinyón a "hda2"-őn volt. [Debian Lenny-t használtam, de az tetszőleges ^ ^ ]. Mielőtt elkezdi az ember, BACKUP!
Eredetileg a "/dev/hda1" volt EXT3-ban a "/boot", és a "/dev/hda2"-n az LVM:
fdisk -l # felismerte, az új HDD-t? OK
pl.: fdisk-el hozzunk létre két partíciót, egyet a "/boot"-nak, és még egyet a későbbi LVM-nek:
fdisk /dev/hdb
n
p
1
enter
+256M
t
83

n
p
2
enter
enter
t
2
8e

w
mkfs.ext3 /dev/hdb1
Ok, az új HDD rendesen particionálva fdisk-el [hdb1: EXT3 - 256 MByte; hdb2: LVM - maradék hely], most adjuk hozzá az új HDD-t a PV-khez:
pvdisplay # mi volt előtte?
pvcreate /dev/hdb2
pvdisplay # hozzáadta? OK
Adjuk hozzá a VG-hoz:
vgdisplay # mi volt előtte?
vgextend vg /dev/hdb2
vgdisplay # hozzáadta? OK
Most:
pvdisplay
Az utolsó paranccsal egyben megtudjuk, hogy mik a PV-ok nevei, tehát mozgassuk át az adatokat a régi HDD-ről, az újra:
pvmove /dev/hda2 /dev/hdb2 -i 10
Ez előbbi parancs sok ideig futhat [ezért a "-i 10" kapcsoló]. Esetleg előzetesen infót tudhatunk meg az adatok elhelyezkedéséről a következővel:
pvdisplay -m
Ok. A LV-ok át lettek helyezve a "hda"-ról a "hdb"-re.
A /boot
Akkor még a "/boot". A GRUB még nem tud bootolni LVM-ről, ezért kell külön "/boot" [a GRUB2 elvileg támogatja amúgy], szóval egyelőre marad az, hogy külön "partíción" van [említetten] a "/boot" [pl.: EXT3 filerendszerrel].
Szóval azzal külön kell foglalkozni, ezért is hagytam particionáláskor egy külön "/dev/hdb1"-et, vagy anno "/dev/hda1/"-et.

Csatoljuk fel a "hdb1"-en levő EXT3-as partíciót, "ujboot"-nak:
mkdir ujboot
mount /dev/hdb1 ujboot/
A régi "/boot" lemásolása:
cp -a /boot/* ujboot/
Csatoljuk le az "/ujboot"-ot, töröljük az ideiglenesen létrehozott könyvtárát, majd a régi "/boot"-ot is csatoljuk le [menet közben nem okoz gondot - FIXME].
umount /dev/hdb1
rmdir ujboot/
umount /boot
Ekkor esetleg egy "mount|grep hda" paranccsal nézzük meg, hogy biztos nincs már semmi felmountolva rá, csak hogy azzal már ne kelljen később törődni.
Most csatoljuk a "/boot"-ot a "hdb1"-re:
mount /dev/hdb1 /boot
Még az fstab-ban írjuk át a "/boot" helyét:
vim /etc/fstab # és ne a "/dev/hda1"-en legyen a "/boot", hanem a "/dev/hdb1"-en!
Még nincs kész!:

Ez után, még FONTOS, szabályosan szedjük ki a VG-ból a régi "hda2" PV-ot, sorrendet betartva [ekkor előtte esetleg még egy "pvmove", hátha írtak azóta rá]:
vgreduce vg /dev/hda2
Most a PV-ból is:
pvremove /dev/hda2
Rakjuk rendbe a GRUB-ot:
grub-mkdevicemap
grub-install /dev/hdb
A régi "hda" HDD-t vegyük ki.
ui.: Virtuális szg.-ben tevékenykedtem, működött ^ ^
ui2.: a man-ok nem írják, de szintén hasznos dolog, akár általánosságban, hogy a "-vvv"
kapcsolók bőbeszédebbűvé teszik a kimeneteket... ^ ^ ..hibakeresésnél ez jól jöhet... ui3.: Egy jó dok. itt.
ui4.: Még egy jó dok itt.
ui5.: LV létrehozása pl.: "lvcreate -L 10G vg -n lvneve"
ui6.: Ha elfogy a szabad terület [LVM] - korábbi LVM-es írás.

2009. április 11., szombat

# Ha elfogy a szabad terület [LVM]


Lassan elfogy a szabad terület, de viszont kiesés nélkül kell hogy menjen állandóan a gép/elérhetőek legyenek a szolgáltatások:
Rakjunk be egy új, esetleg nagyobb HDD-t, ami majd "/dev/hdb" lesz. Anno az os telepítésekor LVM-et használtunk XFS-el, kivéve a "/boot"-ra, az maradt EXT3-on. Ez csak egy alap példa lesz, ki lehetne még használni pl. úgy ezeket az előnyöket, hogy külön /var, /home, stb lenne LV-k-ban.
A példában, amikor régen telepítettük az os-t, akkor VG-nak a "vg" név lett adva kreatívan :D LV-oknak pedig pl.: "root", "swap" - értelemszerűen rajtuk felcsatolva az azonos nevű mount point-ok.
Előtte azért legyen friss BACKUP!
fdisk -l # felismerte, az új HDD-t? OK
Adjuk hozzá a PV-hoz:
pvdisplay # mi volt előtte?
pvcreate /dev/hdb # partíciót is hozzá lehet adni, nem csak "eszközt"
pvdisplay # hozzáadta? OK
Adjuk hozzá a VG-hoz:
vgdisplay # mi volt előtte?
vgextend vg /dev/hdb
vgdisplay # hozzáadta? OK
Innentől már van plusz szabad hely a VG-ban. Adjuk hozzá ahhoz a LV-hoz, amelyikhez szükséges, és amennyi kellhet.
lvdisplay # nézzük meg, mik a LV-ok nevei
lvextend /dev/vg/root --size=+10G
lvdisplay # hozzáadta? OK
Mivel azért választottunk XFS-t, hogy kihasználjuk azt az előnyét, hogy menet közben, lecsatolás nélkül lehet megnövelni a fájlrendszer méretét, növeljük is meg:
df -h # mekkora volt előtte?
xfs_growfs /
df -h # hozzáadódott? OK
És már ténylegesen hozzáadódott on-the-fly a plusz terület [az új fizikai HDD-ről] a már hely szűkében levő eredeti "/"-hez.
ui.: Forrás innen!! +még egy link, és még egy link ^ ^
ui2.: Egy youtube videó..: link itt.
ui3.: XFS méretét csökkenteni ha jól tudom nem lehet, de olvastam, mintha már készített volna valaki egy patch-t hozzá, amivel mégis lehetséges - FIXME [mert ez nem biztos..]
ui4.: Ha költöztetni kell egy másik fizikai HDD-re, kiesés nélkül [LVM] - későbbi LVM-es írás

2009. április 9., csütörtök

# Infók az adott gépről [hardware info Linux]


#!/bin/bash
lshw > lshw-info # összes eszköz listázása
lspci > lspci-info # pci-ba csatlakoztatott eszközök
lsusb > lsusb-info # usb portban levő eszközök
hwinfo > hwinfo-info # hasonló az lshw-hoz, csak bővített
dmesg > dmesg-info # "boot üzenetek" kiírása

A kimenetként kapott adatok abba a mappába kerülnek, amelyikben kiadtad a parancsot, amikor a terminálban voltál [adott parancs, utána "-info" nevű fájlokat keress]. Ha csak a képernyőre szeretnéd kiíratni az infókat, akkor nem kell átirányítani ">" a parancsok kimenetét egy fájlba.
man a következőkre:
ethtool [innen]
mii-tool
xdpyinfo [innen]
dmidecode [innen]
update-pciids
fdisk -l
xvinfo
hal-device

pl.: lshw -html > lshw.html

ui.: Mennyi a Videómemória mérete Linux alatt?
ui2.: Mennyi az operatív memória mérete Linux alatt?
ui3.: Grafikusabb megoldást keresőknek: gnome-device-manager
ui4.: Az lshw is maga egy csomag, szóval legyen fent! :)
ui5.: Mint általában, a -v kapcsoló több infót mutathat, pl.: "lspci -v"
ui6.: Milyen disztribúciót használok épp?
ui7.: Mi az aktuális képernyő felbontásom?
ui8.: Video out állítása

2009. április 7., kedd

# Mi az aktuális képernyő felbontásom?


xdpyinfo | grep -i dimensions: | sed 's/[^0-9]*pixels.*(.*).*//' | sed 's/[^0-9x]*//'

ui.: Egy compiz-hoz tartozó shell scriptben találtam :)
ui2.: Talán ide tartozik: Eszközök, gép infó listázása

2009. március 30., hétfő

# Képernyőkép készítése


Ha nem a normál printscreen gombot akarja használni az ember, akkor itt egy parancs a helyettesítésére ^ ^
import -border -frame kep.png
vagy pl.:
import -windows root kep.png

2009. március 25., szerda

# Sávszél korlátozás win alá


Q: Hogyan korlátozzuk a sávszélt az egyes win-es klienseknek egy mezei [SOHO] wifi-s routeren?
A: Ha csak nincs a routeren külön QoS, akkor kliensoldalra vannak pl.: szolgáltatásként is futó programok, lásd: TrafficShaperXp.
ui.: kérésre

2009. március 24., kedd

# Kvóta


apt-get install quota quotatool
Miután feltelepítetted [én xfs-t használtam a "/home" partícióra]:
vim /etc/fstab
adott értelemszerű sorát módosítsd egy kicsit:
/dev/hdb1 /home ext3 defaults,usrquota,grpquota 0 0
Csak a root férjen hozzá [rw] az "aquota.user", és "aquota.group" filékhez, reboot.
edquota -u username
vagy ami éppen kell:
edquota -g groupname
Ha group-ra állítasz be quota-t, akkor a kívánt usernek/usereknek legyen az elsődleges csoportja az előbb beállított group:
usermod -g groupname username
A limitek KByte-ban értendők.
edquota előtt esetleg egy "export EDITOR=vim", mer' az jobb ^ ^

egyéb:
man edquota
man quotacheck
man repquota
apropos quota :)

ui.: Könyvtárra quota
ui2.: Egy primitív, de gyors/egyszerű plusz ellenőrzése lehet a kvótának pl.: a /home/korlatozott_user/-ben kiadott "yes > valami" az adott felhasználóval.

2009. március 22., vasárnap

# Streaming media leszedése


mplayer mms://a351.v373741.c37374.g.vm.akamaistream.net/7/351/37374/1.0/clipdownloads.bbc.co.uk/realmedia/news/media/avdb/news/uk/video/258000/nb/258376_16x9_nb.wmv -dumpstream -dumpfile bbc-botnet-ddos-spam.wmv
ui.: mert

2009. március 21., szombat

# VirtualBox on windows


Korábban már írtam róla: VirtualBox install on Debian Lenny. Szóval most csak igazán röviden:
1.) Töltsd le, telepítsd innen [x86/amd64].

2.) A "hálózatról" - két eset:
  • Ha van routered [tehát van DHCP]: a Guest OS-eknél [a hálózati beállításaiknál] csak annyi a módosítás, hogy legyenek "Bridged Adapter"-en, Ne "NAT"-on.
  • Ha nincs routered [pl.: mobilnet esetén]: oszd meg a netet [jobb egér - fül - pipa] azon a hálózati interfészen, amin van az internet kapcsolat. Utána még állíts be a Host OS-en a VirtualBox telepítésekor létrejött hálózati interfésznek ["VirtualBox Host-Only Network" az "ncpa.cpl"-ben] fix IP címet: 192.168.56.1. A Guest OS-en névszervernek add meg, amit az ISP-edtől kapsz, vagy pedig az OpenDNS címeit: 208.67.222.222 és 208.67.220.220.
A Guest Additions-t el ne felejtsd feltelepíteni a Vendég [Guest] oprendszeren [korrekt felbontás, könnyebb egérátmenet a Host OS, és a Guest OS közt]: "Eszközök-Guest Additions telepítése"
ui.: kérésre
ui2.: További infókat [gyorsbillentyűk, esetleges tippek] találhatsz az említett korábbi írásomban.

2009. március 14., szombat

# Convert DOS newlines CR-LF to Unix/Linux format


apt-get install -fy --force-yes tofrodos
Értelemszerűen:
fromdos file.txt
todos file.txt
Ha például egy mappán belüli összes ".sh", és ".html" végződésű állományt szeretnénk konvertálni úgy, hogy lehessen windows alól is jól látni, akkor:
find . -type f \( -name '*.txt' -o -name '*.html' \) -exec todos -v {} \;
ui.: link, link, link
ui2.: tofrodos [apt]
ui3.: Non-ms alatt csak egy "új sor" jel van, amíg windows alatt van egy "kocsi vissza", és "új sor" jel eol-nak. Azért van, hogy a Linux alatt létrehozott fájlok ~kb egy sorban látszanak windows alatt, fordítva pedig pl.: egy shell script nem fog lefutni, ha windows-os sorvégekben van [érdekes, és megmagyarázhatatlan hibákat tud ez okozni, ha nem tudjukh :S].
ui4.: Konvertálás karakterkészletek közt [pl.: ISO-8859-1-ből UTF-8-ba]
ui5.: Linux alatt létrehozott szövegfájlok olvasása windows alatt

2009. március 10., kedd

# Asztali hátterek időzített váltása


Linux alatt ott a Drapes, win alá pedig ott az AutoWallpaper [ez utóbbihoz még külön kell a .net framework..].
ui.: kérésre

2009. március 5., csütörtök

# Képek visszaállítása pl.: memóriakártyáról [Restore deleted pictures]


Először a legfontosabb, _NE_ írd felül a lemezen található [már letörölt, stb] adatokat!!!
Telepítése:
apt-get install testdisk
és ezzel feltelepül a PhotoRec program [is], terminálon elindít: "photorec", és már is egy menü vezérelt, egyszerű felületű program indul.
A visszaállított képeket persze egy másik meghajtóra kell menteni, mint amiről vissza lettek állítva, max még "Phatch"-al csoportosan konvertálni/mármint menteni a képeket szabvány JPG-be, normális névvel, hátha sérültek a visszaállított képek.
Esetleg előtte fsck az adott partícióra [de gondold meg, hogy ezt is használod-e], [az itt felsorolt eszközök nevei nálad mások lehetnek! "fdisk -l" paranccsal nyomozhatod ki, mik a megnevezések pontosan]:
e2fsck -f -y -v /dev/sdb1
vagy FAT16, FAT32 esetén:
dosfsck -a -w -v /dev/sdb1
olvass utána, és készülj fel előre, mit kell tenni "adatvesztéskor", és ahogy szól a nóta ^ ^ :
"BADBLOCKS, BADBLOCKS, Watcha gonna do, whatcha gonna do when they come for you ..."
ui.: Testdisk wiki, ddrescue, dd
ui2.: Idézet: "Egyszer, Egy helyen tárolt adat _NEM_ adat."
ui3.: A SystemRescueCD-n alapból fent van a testdisk.
ui4.: Érdemes néha leformázni dig.fényképezőgéppel a memóriakártyát :)
ui5.: Ha a fájlnevek a visszaállítás után nem az eredetiek :) , akkor max annyi tipp, hogy EXIF infók [JPG] alapján nevezd át őket, a készítésük dátumára. A jhead nevű csomag kell ehhez:
apt-get install jhead
ez az a program, amivel megoldható az átnevezés. Add ki a megfelelő helyen/megfelelő parancsot:
jhead -n%Y%m%d-%H%M%S *.jpg
ui.: Ha videó is van a kártyán, akkor testdisk :)
ui2.: BACKUP, BACKUP, BACKUP, mert ocsó' a HDD manapság...
ui3.: Rescuing rm-ed file from EXT3

2009. március 4., szerda

# Helyi DNS gyorsítótár a névfeloldás gyorsításához


#!/bin/bash
apt-get update && apt-get install -fy --force-yes dnsmasq
cp /etc/dhcp3/dhclient.conf /etc/dhcp3/dhclient.conf.backup-$(date +%Y%m%d)
echo "prepend domain-name-servers 127.0.0.1;" >> /etc/dhcp3/dhclient.conf
sed -i s/#listen-address=/listen-address=127.0.0.1/g /etc/dnsmasq.conf
/etc/init.d/dnsmasq restart && dhclient
Ellenőrizni, hogy működik:
dig google.hu
Amit erre dob, pl.: Query time: 28 msec
De ha még egyszer lefuttatod, akkor pl.:
Query time: 0 msec

SERVER: 127.0.0.1#53(127.0.0.1)
ui.: bővebben
ui2.: Esetleg még állítsd az Iceweasel-ben a "network.dns.disableIPv6;"-t "true"-ra.

2009. február 27., péntek

# Lighttpd-vel mappák/fájlok listázása otthon


Telepítése:
su
apt-get update && apt-get install -yf lighttpd
Nyisd meg a beállítófájlját [vim helyett nano-t is használhatsz, ha akarsz...]:
vim /etc/lighttpd/lighttpd.conf
  • Módosítsd ezt a sort, az általad kívánt mappára, amit majd "meg akarsz osztani" - példa:
server.document-root = "/home/felhasznalonev/www/"
  • A fájl végéhez fűzd ["ne tudják meg" a nevét/verziószámát a webservernek]:
server.tag = ""
  • A lighttpd által használt portot át lehet állítani [ne alapból a 80-as legyen], pl.:
server.port = 29187
Jogok a "megosztott" fájlokra/mappákra, [rekurzívan] legyen [mappáknak futási jogot is!]:
find /home/felhasznalonev/www/ -type f -exec chmod 704 {} \; find /home/felhasznalonev/www/ -type d -exec chmod 705 {} \;
  • A végén indítsd újra a lighttpd-t:
/etc/init.d/lighttpd restart
ui.:Lighttpd FasCGI PHP, MySQL chroot jail installation under Debian Linux [egyéb..]
ui2.: psad, snort
ui3.: Ha nem látszódik a géped neve a hálózaton [mármint a Hostname - Debian alatt]
ui4.: lighttpd conf link
ps5.: It's important to choose a port that nmap doesn't show by default:
nmap -sS -A 192.168.1.1

# Reset win passwords


SystemRescueCD berak, majd [csak egy pár értelemszerű kérdést tesz fel]:
  • Írd be, hogy: "ntpasswd" [még mielőtt a LiveCD "külön elindult volna" - "mármint boot paraméternek add meg"]
  • Hol van a win telepítés? Válaszd ki, pl.: "1"
  • _Opcionális_ kérdés - [Ha esetleg nem szabályosan lett kikapcsolva korábban az NTFS fájlrendszerű gép, akkor lesz egy plusz menü] - "z" -betű, mármint angol. bill.-en válaszolsz "y"-el.
  • Registry mappája hol van? [~alapból csak Enter]
  • Mit akarsz betölteni a reg.ből: 1 - "Password reset [Sam system security]"
  • 1 - "Edit user data and passwords"
  • Válaszd ki a felhasználót [Enter = Rendszergazda], vagy külön felhasználó nevet írj.
  • User Edit Menu - "1" - [Clear (blank) user password]
  • Password cleared! - hurrah..
Ez után _NEhogy_ pl.: reseteld a gépet, mert még nincsenek elmentve a változtatások, tehát:
  • "Shift + 1" - azaz angol billentyűzeten a felkiáltójel - Quit
  • Még egyszer "q"
  • Write files back? - "y" [mármint angol bill. tehát "z"]
  • Edit Complete! - New Run? - "n"
  • reboot [ezt a parancsot írd be, újraindul a gép, vedd ki a cd-t, kész]

ui.: érdemes elbarangolni a menükben, vannak érdekes dolgok :)
ui2.: Reset Linux Passwords

2009. február 26., csütörtök

# Beépített wifi életre keltése a 6510b notin, Lenny [Intel Corporation PRO/Wireless 3945ABG]


#!/bin/bash
apt-get update; apt-get install -fy --force-yes firmware-iwlwifi
echo "iwl3945" >> /etc/modules
  • Most kapcsold be a wifi-t, mármint "pöttyints" egyet a wifi bekapcsoló "gombjára" [F4-F5 feletti kis "anterna".. jelre]. Kéken világít [ha lehet ne piszkáld többet, hagyd bekapcsolva].
  • Újraindít, és lépj be a BIOS-ba [F10], ahol a "System Configuration/Built-in Device Options"-ban a "LAN/WLAN Switching"-et "Disable"-re állítsd [más néven ~kill switch, a wifi "bekapcsolója" - a kék kis led......]. Mentsd el a BIOS-ban a változtatásokat [F10!!] és bootold a gépet, kész.

2009. február 25., szerda

# Filerendszer felcsatolása [fstab - mount NTFS]


Ha újraindítás után is azt szeretnénk, hogy legyen automatikusan felcsatolva az adott partíció, akkor ne a "mount" parancsot használjuk a megfelelő kapcsolókkal, hanem írjuk bele a felcsatoláshoz szükséges adatokat a "/etc/fstab"-ba:
A root-ként kiadott "fdisk -l" paranccsal tudhatod meg pl., hogy mi a felcsatolni kívánt partíciód "elérése" [pl.: /dev/sdb2].
A fájl szintaktikája:

[Device] [Mount Point] [File_system] [Options] [dump] [fsck order]

Szóval pl.: NTFS fájlrendszer esetén [ezt a sort értelemszerűen módosítsd, és fűzd hozzá a /etc/fstab szöveges file végére]:
/dev/hda1 /media/valami ntfs-3g defaults,locale=hu_HU.utf8 0 0
  • A "/dev/hda1" - amit az "fdisk -l" adott értelemszerűen kimenetként [IDE-s vinyóknál hdaX, hdbX, stb. lesz, SATA-s vinyóknál sdaX, vagy sdbX, stb.].
  • "/media/valami" - a mappa, ahová felcsatolod a partíciót [mount point], tehát ezt előtte hozd létre. Ez az a hely, ahonnan kezdődően látszani fog a beillesztett állományrendszered.
  • ntfs-3g - ez által tudsz írni/olvasni is NTFS fájlrendszert. Ide kerül tehát az állományrendszer típusa.
  • defaults,locale=hu_HU.utf8 - mount opciók, ~ékezetes fájlnevek is jók lesznek. Ide jönnek az állományrendszerre vonatkozó opciók.
  • 0 - Az ötödik oszlopot a dump nevű archiválóprogram használja, annak eldöntésére, hogy mely állományrendszereket kell archiválni. Ha az oszlop értéke 0, akkor a program az állományrendszert nem menti, ha attól különböző, akkor igen.
  • 0 - A hatodik mezőt az fsck parancs használja, annak eldöntésére, hogy mely állományrendszereket mikor kell ellenőrizni a rendszer indítása során: Magyarázat: 0: A legelső szakaszban a betöltött rendszermag beilleszti a gyökérkönyvtárat tartalmazó állományrendszert. A beillesztés csak olvasható módban történik. Erre a szakaszra azért van szükség, mert a rendszerindításhoz, az állományrendszerek ellenőrzéséhez és a további állományrendszerek beillesztéséhez szükséges programok és beállítóállományok ezen az állományrendszeren találhatók. A beillesztés csak olvasható formában történik, hogy az állományrendszert ellenőrizni lehessen. Írható formában beillesztett állományrendszert ellenőrizni nem lehet, hiszen az ilyen állományrendszer az ellenőrzés során megváltozhat. Magyarul nincs még ellenőrzés [érdemes azokra a filerendszerekre alkalmazni, amit az fsck amúgy sem tudna induláskor leellenőrizni, pl.: CD-ROM, hajlékonylemez, mivel nem mountolódnak automatikusan pl.].
    Ha 1: A következő szakaszban a Linux elvégzi a gyökérkönyvtárat tartalmazó állományrendszer ellenőrzését és az esetleg szükséges helyreállítását. Ha az állományrendszer ellenőrzése nem talált hibát, vagy sikeresen helyreállította az állományrendszert, a gyökér könyvtárat tartalmazó állományrendszer újraillesztése is megtörténik írható és olvasható formában. Használatos a pl.: "/"-re, hogy azt ellenőrizze le először a gép.
    Ha 2: Az állományrendszer-táblázatban található bejegyzések alapján az egyéb állományrendszerek ellenőrzése is megtörténik. Pl.: a "/home"-ra szokás használni, hogy az említett "/" után történjen az ellenőrzése. Ergo egyfajta "sorrend".
Természetesen az ntfs-3g csomag [és az ntfsprogs is] legyen fent!!!
ui.: HupWiki - Fstab, Wiki - Fstab
ui2.: Az fstab szerkesztéséhez használj pl.: nano-t, tehát "nano /etc/fstab", vagy vim-et, stb...
ui3.: NTFS filerendszer felcsatolása [mount NTFS USB HDD].

ui4.: Ext2/3 írása, olvasása Windows alatt

# HDD-n levő adatok annihilálása


Mielőtt eladná az ember a saját merevlemezét, érdemes lenne letörölni róla az adatokat, de nem csak normál törléssel, hanem többszörösen, véletlen adatokkal felülírni. Szóval: pl.: LiveCD-vel bebootolni, "fdisk -l"-el root-ként megnézni, hogy mi az adott merevlemez megnevezése, majd: "Nullákkal" felülírni: [gyorsabb, mint ha véletlen adatokkal írnánk felül, viszont még esetlegesen ~talán vissza lehet hozni az adatokat, de már nem igazán valószínű] - notebook sata merevlemeznél nálam ~kb 40 MByte/s volt a sebessége.
dd if=/dev/zero of=/dev/sda bs=4096
Véletlen adatokkal felülírni: Esetleges többszörös lefuttatása már tényleg bőven "örökre" megsemmisíti a rajta levő adatokat... - notebook sata merevlemeznél nálam ~kb 4 MByte/s volt a sebessége.
dd if=/dev/urandom of=/dev/sda bs=4096
A lefutást Ctrl+C-vel lehet félbeszakítani. Fontos!! Ezeket a parancsokat akkor add ki, ha tisztában vagy vele, hogy biztos azt a merevlemezt/partíciót "nullázod", amit szeretnél! - Az említett "fdisk -l"
ui.: link
ui2.: link az fdisk-ről, hogyan lehet console-on partíciót létrehozni, stb..
ui3.: Ten Ways To Destroy a Hard Disk

2009. február 23., hétfő

# Ip cím meghatározása scripttel [what's my IP script]


IPv4
Publikus [külső] [link]:
wget -q checkip.dyndns.org -O - | grep -o "[0-9|.]*"
vagy [link]:
curl -s http://checkip.dyndns.org | grep -o "[0-9|.]*"
Adott interface-en a "belső":
ifconfig eth0 | grep -o "inet addr:[0-9.]*" | cut -d : -f2
"Belső", nem root-ként: [link]
netstat -nt | awk '{print $4}' | grep -o "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" |grep -v "127.0.0.1" | sort -u
ui: MAC address megállapítása scriptől [akár helyi, akár hálózaton]
ui2.: return external ip

2009. február 21., szombat

# CD/DVD-ből ISO fájl


dd if=/dev/cdrom of=/home/felhasznalonev/Desktop/valami.iso
Vagy automatikusan olyan ISO fájlnevet adjon, ami a cimkéje volt a CD/DVD-nek:
dd if=/dev/cdrom of=/home/felhasznalonev/Desktop/"$(volname)".iso
ui.: man dd vagy wikipedia
ui2.: A "felhasznalonev" helyére írd a saját felhasználói neved.
ui3.: link.

# VirtualBox install on Debian Lenny [egy virtualizációs megoldás Linuxon]


Használd mindig a legfrissebbet!!! És olvasd VÉGIG ezt a bejegyzést, ha fel akarod telepíteni/használni a VirtualBox-ot.

Két fogalom [átvitt értelemben írtam, lehetne vitatkozni, igen...most nem az a lényeg]:
  • guest os: az az oprendszer, ami a virtuális gépben fut [támogatott os-ek]
  • host os: ami futtatja a guest, azaz vendég os-eket, az eredeti géped

Telepítése


  1. Legyen rendben a "/etc/apt/sources.list" fájlod. Erről írtam egy bejegyzést itt. Hivatalos oldal itt.
  2. A következő szürke színű szöveget rakd egy "szöveges állományba", majd a terminálban, egy "su" parancs után "sh scriptneve" - a script neve, a "szöveges állomány" neve, elérési úttal [pl.: "/home/user/Desktop/valaminev"]:
    apt-get update; apt-get install -fy --force-yes virtualbox-3.0
    A guest/virtuális oprendszereken levő USB támogatáshoz kell a host-on ez a parancs:
    echo "none /proc/bus/usb usbfs devgid="$(grep vboxusers /etc/group | cut -d ":" -f 3)",devmode=664 0 0" >> /etc/fstab
  3. Ez után jelentkezz ki a hoston, majd be [vagy indítsd újra az X-et: "Alt+Ctrl+Backspace"-el]. [Szerkesztve: Köszönet Rt711-nek, hogy szólt, újraindítást nélkülözve is telepíthető, csak egy ki-bejelentkezés kell.]
    Bejelentkezés után az "Alkalmazások/Rendszereszközök"-ben elérhető lesz [Sun VirtualBox néven].
  4. A Hardware-es Virtualizáció ~alapesetben ki van kapcsolva a BIOS-okban, kapcsold be [mármint a hoston]!

Röviden a hálózatról VirtualBox [3.0]-ban


Körülírás a célról: a host OS "netre van kötve", és azt szeretnénk, hogy tudjon kommunikálni a guest OS-ekkel hálózaton, és a guest OS-ek is tudjanak egymással kommunikálni hálózaton, és "legyen rajtuk net"...
  1. Ha a host OS/gép egy router mögött van, és a routerben van DHCP: az adott guest OS beállításainál a "Networking" résznél állítsd be a "Bridged Network"-öt, és kész [mindegyik guest OS-en].

  2. Ha a host OS/gép közvetlen a netre van csatlakozva, pl.: mobilnet esetén: A host OS-en tudd meg, mi az IP címe a "vboxnet0"-nak, "ifconfig"-al, az lesz majd a gateway a guest OS-en. Majd engedélyezd a továbbítást:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    majd két tűzfalszabály :) [itt találhatsz scriptet tűzfalhoz]
    iptables -P FORWARD ACCEPT
    iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
    Nem kötelező! - Ha te akarod megadni a "vboxnet0" IP-jét [még mindig a host OS-en]:
    ifconfig vboxnet0 192.168.56.1
    Ez után a guest OS-en ["Host-only network"-re legyen állítva!] egy olyan statikus IP címet adj, ami ugyan abban az alhálózatban van, mint az említett "vboxnet0", Pl.:
    ifconfig eth0 192.168.56.2
    DGW-ről is gondoskodj:
    route add default gw 192.168.56.1
    DNS címnek állítsd be azt, amit az ISP-edtől kapsz, vagy az OpenDNS-t:
    echo -e "nameserver 208.67.222.222\nnameserver 208.67.220.220" > /etc/resolv.conf
    Ha a guest OS-en ezt a "/etc/network/interfaces" fájlba szeretnéd, akkor:
    auto eth0
    iface eth0 inet static
    address 192.168.56.2
    netmask 255.255.255.0
    network 192.168.56.0
    broadcast 192.168.56.255
    gateway 192.168.56.1

    Megjegyzés: a VirtualBox-ban van alapból beépítetten egy DHCP server, nem muszáj statikusra [de én javaslom], viszont a routingja a guesten:
    route add default gw 192.168.56.1
    És a dns feloldása legyen jó:
    echo -e "nameserver 208.67.222.222\nnameserver 208.67.220.220" > /etc/resolv.conf

Megosztott mappák, Guest Additions GUI nélkül


Linuxos Guest oprendszerek-ek esetén a "Guest additions" telepítésekor szükséges az:
apt-get install build-essential linux-headers-$(uname -r)
megléte. Tehát ez utóbbit a vendég "Linuxos" os-re kell telepíteni, utána még a guest additions-t, ha pl.: rendes képernyőfelbontást szeretnénk a vendég oprendszeren, vagy éppen "könnyebb egérátmenetet" a host os-ből [ne kelljen szórakozni "jobb ctrl"-al], vagy éppen a VirtualBox-os shared folders-hez kell a Guest Additions.. Ha fent vannak azok az előbb említett csomagok, amik kellenek a guest addition-hoz, akkor Nyomozd ki, mi a cdrom:
dmesg | grep -i cd
pl.: "hdc: VBOX CD-ROM, ATAPI CD/DVD-ROM drive".
Nyomj egy "CTRL+D"-t, hogy "virtuálisan" bekerüljön a Guest Additions cd a meghajtóba, majd csatold azt fel:
mount /dev/hdc -t iso9660 -r /media/cdrom
Ok, most értelemszerűen:
cd /media/cdrom
sh VboxLinuxAdditions-amd64.run
"amd64" helyett pl.: "x86" is lehet, amit használsz.
A Guest additions fel van telepítve, ok. Kell neki egy reboot!!!
Most a host os-re visszatérve hozzunk létre egy mappát, amit majd láthat/írhat a guest os:
mkdir -p /home/uservalaki/vboxshare
A "uservalaki" helyére a user neve.

Visszatérve a VirtualBox-hoz, a guest os ablakának menüjében keress olyat, hogy "Devices/Shared Folders...". Ide belépve a feljövő ablakban katt a kis plusz jelre a mappán, majd a "Folder Path"-ban add meg a nemrég létrehozott mappát, adj neki egy nevet: "vboxshare", utána rakj pipát a "Make Permanent"-re.

Csatoljuk fel a megosztott mappát [már a guest-ben vagyunk]:
mkdir -p /media/valami
mount -t vboxsf vboxshare valami
Azért ha egy reboot után is azt akarjuk, hogy ne kelljen kézzel felcsatolni újra, akko írjuk hozzá az fstab végére:
file system mount point type options dump pass
vboxshare /media/valami vboxsf rw 0 0
Tehát:
echo -e "vboxshare\t/media/valami\tvboxsf\trw\t0\t0" >> /etc/fstab

Ha frissül a hoston a kerneled


Ha FRISSÜL a kerneled [mármint a host os-en], és hibát írna ki a VirtualBox, akkor futtasd le a következő parancsot [terminálba írd, és előtte egy "su" parancs, hogy root jogod legyen lefuttatni]:
/etc/init.d/vboxdrv setup

Gyorsbillentyűk


A Host billentyű = alapból a jobb oldali Ctrl
  • Host - Önmagában leütve elengedi az egérmutatót a virtuális gépből
  • Host+F - Teljes képernyő
  • Host+Del - Ctrl+Alt+Del
  • Host+Backspace - Ctrl+Alt+Backspace [X restart]
  • Host+P - Pause
  • Host+S - Pillanatfelvétel készítése [SnapShot]
  • Host+R - Reset
  • Host+F1 - Ugyan az, mint a "Ctrl+Alt+F1", csak éppen a virtuális gépen belül.. [F2, F3, stb]
ui.: További disztribúciókhoz letöltése itt. Itt van a User Manual is. HTML formátumban pedig itt.

ui2.: Azért lehet hasznos virtuális gépen tanulni, mert nincs az ember lekorlátozva a CD, vagy DVD meghajtó másolási sebességére [1X CD = ~150 KByte/s, 1X DVD = ~1350 KByte/s, és akkor egy mai DVD meghajtó pl.: ~18X-os, egy CD meghajtó pedig ~50X...], ráadásul egy gép felhasználásával lehet több ~teljes értékű pc-t "virtuálisan" létrehozni, akár mint említettem hálózaton "összekötve" egymást.

ui3.: Régebbi verziójú VirtualBox-nál még a "vboxusers" csoporthoz hozzá kellett, hogy adja magát az ember, de már nem kell [a nélkül is működött ezen verzióval, legalábbis kipróbáltam, de ha nem, akkor csak [alap user kezelés]:
usermod -a -G vboxusers username

ui4.: Hogyan.org VirtualBox tag
ui5.: http://wiki.debian.org/VirtualBox
ui6.: End-user documentation and Technical documentation and Community
ui7.: Hup.hu link
ui8.: Connect to a remote virtual machine with rdesktop

# Gép felfüggesztése/hibernálása


Innen... Készenlét [standby] A CPU egy alacsony energiafogyasztású állapotba kerül, nem lesz elmentve adat a RAM-ba, vagy a háttértárra. Töredék másodperc alatt végrehajtódik. Az akkumulátort nem szabad eltávolítani laptopoknál. [~Általában egérmozdulatra, vagy billentyűzet-leütésre "újraéled".]

Felfüggesztés [suspend] ""Megfagy"" minden folyamat, és a RAM-ba [operatív memóriába] másolódnak az éppen "használt adatok". Képernyő lekapcsol, alacsony energiafogyasztású állapotba kerül a gép. Pár másodperc alatt végrehajtódik. Az akkumulátort nem szabad eltávolítani.

Hibernálás [hibernate] ~Ugyan az, mint a felfüggesztés, csak nem a RAM-ba, hanem a háttértárra másolódnak az éppen "használt adatok". Minél több memóriád van/több folyamat futott, annál több ideig tart az ebbe az állapotba való "átállás".

A lényeg: Ha nem működne a felfüggesztés/hibernálás, akkor itt egy link, ami talán segíthet :) , vagy egy másik, ~amire mindig számíthatsz: Itt... ^ ^

ui.: wiki: HAL, HAL [software], udev, userspace.