Friday, 20 December 2013

LDAP

Mostani terv: leváltani a jelenlegi LDAP authentikációt egy személyre szabottabbra.
Követelmények:
  • központi adattárolás - adott mezők legyenek kötelezőek (pl mail)
  • autentikáció és autorizáció  linux rendszerekre, weboldalakra, portálokra, és később talán Radius, esetleg windows
  • emberi módon kezelhető adminisztrációs felület 
  •  fusson linuxon
Jelenlegi tudásom alapján a fenti igényeknek csak az LDAP felel meg, szóval neki is álltam jól egy tesztrendszer összerakásának. Az egyik legnagyobb problémát az adminisztrációs felület okozza. Eddig az alábbiakkal próbálkoztam több-kevesebb sikerrel:

  • gosa - már a telepítése is elég macerás volt, mert a slapd átállt dinamikus konfigurációra, amit a gosa alapesetben nem vesz fel
  • lam - memberOf overlay és kötelező mail mező probléma, nagyon sok dolgot csak a fizetős verzió támogat
  • zentyal - először meg sem találtam, hova dugták az LDAP szervert (Users and Groups), másrészt szintén a kötelező mail mező ami eddig akadályt okoz.
 Update:
Belefutottam a csoporttagság problémájába. Nekem ugye az kell, hogy linux rendszereken működjenek a csoporttagságok. Ehhez egyrészt a csoportoknak kell
Kétféle csoportséma van, az egyik a posixGroup, a másik a groupOfNames. A probléma abból adódik, hogy a két séma együtt nem használható, valamint máshogy tárolják a csoporttagokat.

Monday, 9 December 2013

Oracle RDBMS telepítés Oracle Linuxra

Feladat: telepítsek Oracle RDBMS-t. Az első lépés a host oprendszer kiválasztása. Gondoltam ha már Oracle, akkor bepróbálom az Oracle Linuxot, hátha fájdalommentesebb lesz, mint korábban CentOS-re. Tévedtem.
Korábban az alábbi útmutató alapján telepítettem már egyet grafikus munkaállomásra, köszönet érte a Tecmintnek.

Letöltések listája:

Oprendszer install

Alapvetően olyan, mint bármelyik OS install,kivéve 1-2 dolgot:
  • Hostname beállításnál a Configure Network-panelen állítsuk be a Connect automatically opciót
  • A szerver típusnál ne válasszunk database server opciót, mert az nem Oracle Database-t tesz fel. Én mindent hagytam alapértelmezetten.
Install után pár dolog amit be kell állítani:
  • system-config-network - Device configuration - eth0 - beállít - Ok - Save - Save&Quit
  • /etc/sysconfig/networking/devices/ifcfg-eth0 fájlban: ONBOOT=yes
  •  állítsuk be az ip-t, és hostnevet az /etc/hosts fájlban
  • ellenőrizzük a hostnevet a /etc/sysconfig/network fájlban HOSTNAME=<hostnév>
  • kapcsoljuk ki az IPv6-ot (különben IPv6 localhoston fog csak figyelni):
    • /etc/modprobe.d könyvtárban hozzunk létre egy fájlt (pl. disable-ipv6.conf) a következő tartalommal: install ipv6 /bin/true
    • /etc/syconfig/network fájlba írjuk be a következőket:
      • NETWORKING_IPV6=no
      • IPV6INIT=no
  • állítsuk át az selinuxot engedékenyre (ez most csak teszt, éles esetén lehet konfigurálgatni az selinuxot): /etc/selinux/config: SELINUX=permissive
  • yum update
  • reboot
  • ellenőrizzük a bállításokat
Mivel én virtualboxon csináltam, feltettem a guest additionst is:
  • yum install kernel-uek-devel
  • reboot, hogy az uj kernelt hasznalja a rendszer
  • guest additions cd felcsatol
  • mount /dev/scd0 /media
  • /media/VBoxLinuxAdditions.run
  • umount /media

Java install

Igaz, hogy csak tesztrendszer, de a béke kedvéért maradjunk az Oracle javanál.
  • gépre felmásol (én wgettel húztam le a host webszerverről)
  • rpm -Uvh jdk-7u45-linux-x64.rpm
  • állítsuk be a rendszernek, hogy az oracle linuxot használja alapértelmezetten
  • alternatives --install /usr/bin/java java /usr/java/latest/bin/java 200000
  • alternatives --install /usr/bin/javaws javaws /usr/java/latest/bin/javaws 200000
  • alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 200000
  • alternatives --install /usr/bin/jar jar /usr/java/latest/bin/jar 200000
  • váltás Oracle javara: alternatives --config java - latest-et kiválaszt
  • ellenőrzés: java -version

Oracle Database install

Függőségek telepítése: nagy örömömre az Oracle database 64bites verziója igényli a 32bites csomagokat is, és a hivatalos oracle preinstall package ezeket nem tartalmazza. Az alábbi csomaglista a tartalmazza a függőségeket (van pár csomag, ami már telepítve van, de azt a yum úgyis kihagyja):
yum install oracle-rdbms-server-12cR1-preinstall binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc.i686 glibc glibc-devel glibc-devel.i686 ksh libgcc.i686 libgcc libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio.i686 libaio-devel libaio-devel.i686 make sysstat unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686

A preinstall csomag létrehozza az oracle usert, és az orainstall csoportot, valamint állít jópár kernel paramétert. A leginkább fájdalommentes telepítési megoldás X11-forwardos ssh-n keresztül megoldható. Ehhez hálózati kofiguráció kell (NAT portforward, vagy bridge, vagy hostonly).
  • állítsunk be jelszót az oracle felhasználónak: passwd oracle
  • lépjünk át az oracle felhasználóra (su - oracle, vagy ssh)
  • állítsuk be az oracle usernél az alábbi változókat a /home/oracle/.bash_profile-ban:
    export TMP=/tmp
    export TMPDIR=$TMP
    export ORACLE_HOSTNAME=<hostnév>
    export ORACLE_UNQNAME=DB12cR1
    export ORACLE_BASE=/opt/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
    export ORACLE_SID=orcl
    export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH;
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    
  • reboot
  • hozzuk létre a megadott könvytástruktúrát, és adjuk át az oracle user tulajdonába
    • mkdir -p /opt/app/oracle/product/12.1.0/dbhome_1
    • chown -R oracle:oinstall /opt/app
  • másoljuk fel az adatbázis telepítő zipeket  a gépre, és csomagoljuk ki (unzip)
    . Az egész installert egy database mappába csomagolja ki.
  • hostról lépjünk be X11-forwarddal: ssh -X oracle@<IP>
  • lépjünk be a kicsomagolt database mappába, és onnan indítsuk el a telepítőt: ./runInstaller
  • telepítés után módosítsuk a /etc/oratab fájlban az adatbázis instance indítását (N->Y)
  • dbstart $ORACLE_HOME
  • állítsunk a tűzfalon, hogy el tudjuk érni az adatbázist. A /etc/sysconfig/iptables fájlba az első REJECT sor elé vegyük fel az alábbi sort: -A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT

Oracle adatbázis indítása automatikusan

A neten több indítóscriptet is találni, én az ezt a scriptet módosítottam kissé.
 #!/bin/sh  
 # chkconfig: 345 99 10  
 # description: Oracle auto start-stop script.  
 #  
 # Set ORA_HOME to be equivalent to the $ORACLE_HOME  
 # from which you wish to execute dbstart and dbshut;  
 #  
 # Set ORA_OWNER to the user id of the owner of the   
 # Oracle database in ORA_HOME.  
 ORA_HOME=/opt/app/oracle/product/12.1.0/dbhome_1  
 ORA_OWNER=oracle  
 if [ ! -f $ORA_HOME/bin/dbstart ]  
 then  
   echo "Oracle startup: cannot start"  
   exit  
 fi  
 case "$1" in  
   'start')  
     # Start the Oracle databases:  
     # The following command assumes that the oracle login   
     # will not prompt the user for any values  
     # Remove "&" if you don't want startup as a background process.  
     su $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME &"  
     touch /var/lock/subsys/dbora  
     ;;  
   'stop')  
     # Stop the Oracle databases:  
     # The following command assumes that the oracle login   
     # will not prompt the user for any values  
     su $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"  
     rm -f /var/lock/subsys/dbora  
     ;;  
   *)  
      echo $"Usage: $0 {start|stop}"  
     ;;  
 esac  
  1. Ahhoz, hogy ez automatikusan lefusson, másoljuk be a /etc/init.d könyvtáron belül egy új fájlba (pl. dbora).
  2. Tegyük futtathatóvá: chmod 750 /etc/init.d/dbora
  3. Adjuk hozzá az indulásnál lefuttatott scriptekhez: chkconfig --add dbora
Újraindítás után ellenőrizzük, hogy minden rendben elindult-e, és elérjük-e a db-t tábolról (pl. Oracle SQL Developerrel).

Friday, 6 December 2013

Felhasználók, csoportok, avagy jogosultságkezelés

Linux rendszereken ha valami nem működik megfelelően, akkor sok esetben a megfelelő jogosultság hiánya miatt van.
A unixokat alapvetően többfelhasználós rendszereknek tervezték, emiatt elég szerteágazó a jogosultságkezelése. Szinte minden szolgáltatásnak külön felhasználója, és csoportja van, és csak akkor tudjuk használni az adott erőforrást, ha van megfelelő jogosultságunk (pl: tagjai vagyunk az adott csoportnak).
 Korábban már említettem, hogy linuxban minden dolog file. A file-ok típusát pl az ls -l paranccsal tudjuk kideríteni. ilyenkor megjelenik soksok információ a file-név előtt (pl: lrwxrwxrwx 1 root root 8 Nov 22 16:47).

File tulajdonságok:

 példa: lrwxrwxrwx 1 root root 8 Nov 22 16:47 net -> self/net
  • lrwxrwxrwx - típus, és jogok (Read,Write,eXecute)
  • 1 - méret
  • root - tulajdonos felhasználó
  • root - tulajdonos csoport
  • 8 Nov 22 16:47 - utolsó módosítás dátuma
 Minden fájlnak van egy tulajdonos felhasználója, és egy tulajdonos csoportja. a típus és jogok rész ehhez kapcsolódik.
  • első karakter: file típusa
  • 2-4. karakter: tulajdonos felhasználó jogai (user rights)
  • 5-7. karakter: tulajdonos csoport jogai (group rights)
  • 8-10. karakter: bárki más jogai (other rights)

File típusa:

Mivel linuxon minden file-ra képződik le, valahogy meg kell különböztetni őket, erre van a típus.
  • - : nincs speciális típusa, ez a hagyományos értelemben vett file
  • b : blokkos eszköz
  • c: karakteres eszköz
  • d: könyvtár/mappa
  • l: link 

Jogosultságok: 

 A típusjelző utáni 9 karakter a jogokat jelöli 3x3-as blokkban.
  • 2,5,8. karakterek: van-e olvasási joga a felhasználónak/csoportnak/bárki másnak
  • 3,6,9. karakterek: van-e írási joga a felhasználónak/csoportnak/bárki másnak
  • 4,7,10. karakterek: van-e végrehajtási joga a felhasználónak/csoportnak/bárki másnak. A végrehajtási jog típusonként eltérő dolgot jelent. Fájl esetén futtatás, könyvtár esetén belépés a könyvtárba.

 Felhasználók, csoportok

Linuxon többféle felhasználó létezik a legfontosabb a root, akinek mindenhez van joga,  és mindig létezik ( windows-on az Administrator felhasználó a megfelelője). Léteznek system felhasználók, ezek valamilyen szolgáltatáshoz tartoznak (adatbázis, webszerver, naplózás, stb.). A normál felhasználók 500-tól, vagy 1000-től szoktak kezdődni.
A rendszer helyi felhasználóinak listáját leggyorsabban a /etc/passwd file-ban tudjuk megnézni. Ennek struktúrája:
eff:x:1000:1000:eff,,,:/home/eff:/bin/bash
  • felhasználónév: az a név amivel azonosít a rendszer
  • authentikációs indikátor: általában x, ami azt jelenti sok rendszeren, hogy máshol van a jelsző/authentikáció tárolva. Ez tipikusan a shadow fájl.
  • uid (user identifier): a felhasználó azonosító száma. több féle felhasználó van, a 0-100 értékek tipikusan speciális rendszerszintű felhasználókat jelölnek (pl: root=0), más rendszerekben 0-499-ig, debian és ubuntu esetén pedig 0-999-ig.
  • gid (group identifier): a felhasználó elsődleges csoportjának szonosítója
  • felhasználói adatok: név,kapcsolattartó,telefonszám,egyéb elérhetőségek
  • home könyvtár: a felhasználó saját könyvtárának elérési útja
  • shell: az alapértelmezett shell
A rendszer általt használt csoportok a /etc/group fájlban vannak felsorolva. Ennek struktúrája:
sudo:x:27:eff
  • csoportnév: a csoport neve
  • jelszó: általában x, ami külső authentikációt jelent. Én még soha nem láttam csoportjelszót beállítva
  • gid (group id): csoport azonosító
  • felhasználók: ide kerülnek azoknak a felhasználóknak a nevei vesszővel elválasztva, akik beletartoznak a csoportba, de nem ez az elsődleges csoportjuk
A jelszavakat a linuxok legtöbbször az úgy nevezett shadow fájlban tárolják. Ez a /etc/shadow, amihez csak a root felhasználó,  és a shadow csoport fér hozzá.

Friday, 22 November 2013

Vim

A vimmel először AIX miatt kerültem komolyabb kapcsolatba, és azóta parancssorban gyakorlatilag csak ezt használom. A vim a vi-ból fejlődött ki, és elég sok kényelmi funkciót tartalmaz. Sokan gyűlölik, mivel nem a notepad és a hagyományos szövegszerkesztők elvén működik. Ami miatt mégis megéri megtanulni pár alap parancsot használni, az a less, ami egy filenéző program, és például a man is lessben nyitja meg a manualokat (a klasszikus unixok more-ban, de azzal nagyon kevesen fognak találkozni).

Konfiguráció:
A vim rendszerszintű konfigurációs fájlja a /etc/vim/vimrc. Ebben két dolgot szoktam bekapcsolni: syntax=on, és background=dark. Az első bekapcsolja a syntax highlightot, a második átállítja a színsémát.

Következzen egy kis gyorstalpaló.
A vimnek két módja van: parancs (command), és szerkesztő (edit) mód. Mindig command módban indul. Ekkor a beütött dolgok nem kerülnek be a file-ba, hanem parancsokként értelmezi a dolgokat. Az általam legsűrűbben használt parancsok:
Keresés:
  • /kifejezés : előrefelé keres a file-ban a megadott kifejezésre
  • ?kifejezés : visszafelé keres a kifejezésre
  • n : megismétli az előző keresést, vagyis a következő találatra ugrik abban az irányban, amerre utoljára kerestünk
  • N : megismétli az előző keresést fordított irányban
  • :szám : a megadott sorszámú sorra ugrik (a sorok számozása 1-től kezdődik)
Mozgás:
vimben mindkét módban tudunk mozogni, vi-ban viszont csak command módban
  • egyik lehetőség a kurzorok használata, ez egyértelmű
  • a másik lehetőség a h-j-k-l gombokkal:
    h=bal, j=le, k=fel, l=jobb
Szerkesztés:
  • i : insert - az aktuális pozíciónál átkapcsol szerkesztés módba
  • a : append - az aktuális pozítió mögött átkapcsol szövegszerkesztő módba
  • o : az aktuális sor alatt kezd egy új sort, és átkapcsol szerkesztés módba
  • O : az aktuális sor fölé illeszt be egy új sort, és aátkapcsol szerkesztő módba
  • Esc : visszalép parancs módba
Törlés, kijelölés: 
Törölni vi-ban csak parancs módban lehet, vimben szerkesztő módban működik a Del és Backspace. Ha parancs módban törlünk, akkor a törölt rész bekerül a vim bufferébe, amiket be tudunk illeszteni. Parancs módban az alábbi törléseket szoktam használni.
  • dd : törli az aktuális sort
  • d<szám>d: töröl <szám> darab sort az aktuális sortól kezdve lefelé
  • d$ : az aktuális pozíciótól kezdve töröl a sor végéig
  • dw : delete word - töröl az aktuális pozíciótol a szó végéig
  • d<szám>w: törli a következő <szám> szót
  • dl: törli a következő karaktert
  • d<szám>l: törli a köetkező <szám> karaktert
  • v : kijelölés kezdete - ezután mozgással kijelölhetjük a kívánt részt
  • V : sorok kijelölésének kezdete - ezután mozgással kijelölhetjük a kívánt sorokat
  • y : kijelölés befejezése, és bufferbe másolása
Beillesztés:
Beilleszteni lehet a vágólapról, vagy a vim saját bufferéből. Vágólapról illesztésnél figyeljünk arra, hogy szerkesztő módban legyünk különben elkezdi parancsként értelmezni a beilleszteni kívánt szöveget, és csak az első megfelelő karaktertől kezdi beilleszteni a szöveget (i,a,o,O, stb.).
A bufferbe kétféleképpen kerülhetnek dolgok. Törléssel (dd, dw, d$, dl, stb.), vagy másolással (v/V - y).
  • p : a bufferben levő dolgokat beilleszti az aktuális karakter után
  • P : a bufferben levő dolgokat beilleszti az aktuális karakter elé
Kilépés és mentés:
  •  :q - kilépés. Ha változott a file, akkor figyelmeztet, hogy változott, és nem lép ki
  • :q! - kilépés mentés nélkül
  • :w - mentés
  • :x - kilépés mentéssel (:qw is ugyanezt csinálja)
A fentieken kívül még végtelen dolgot tud a vim, de kezdetnek ennyit is elég megjegyezni, és megszokni.

Wednesday, 20 November 2013

Hasznos dolgok

Ez most nem a kezdőknek szól elsősorban. Felsorolok pár programot / tippet trükköt, amik megkönnyítik az életemet parancssori környezetben. A későbbiekben valószínűleg bővülni fog a lista.
  • colortail: ugyanaz mint a tail, csak konfigurálható, hogy milyen kulcsszavak esetén milyen színnel jelenítse meg az adott sort / szót.

  • vim: :set background=dark Ha van syntax highlight, akkor ez a parancs átállítja az alapértelmezett sötétzöld/bordó színkombinációt cián / sárga színkombinációra. Igen tudom, perverz vagyok, hogy vimet használok. Ez elsősorban az AIX nevű csodarendszernek köszönhető, ahol bármilyen más parancssori szövegszerkesztő csak nagy küzdelmek árán telepíthető
  • terminator: többpaneles grafikus terminál. Amiért szerintem jobb, mint a többi, hogy tud osztott panelen két terminált futtatni. Egyikben mehet a tail -f a logra, a másikban lehet dolgozni.
  • powershell: igen, a windowsba épített powershellről van szó. Ami a nagy előnye a sima parancssorral szemben, hogy működnek benne az alap linuxos parancsok: ls, cd /, stb.
  • baretail.exe: logok követéséhez nagyon jó kis progi, freeware, nem kell sem cygwint sem mást telepíteni, tud sorokat szinezni kulcsszavak alapján, és a nagy előnye a powershell Get-Content filenév -Wait paranccsal szemben, hogy nem kell megvárni, amíg beolvassa a teljes file-t. Simán működik remote desktopon felcsatolt mappából (\\tsclient\mappanév).

Tuesday, 19 November 2013

Programok telepítése a.k.a. csomagkezelés

Elérkeztünk a linux rendszerek számomra egyik legszimpatikusabb részéhez, a csomagkezeléshez. Nem kell azzal küzdeni, hogy hol van az adott programnak a telepítője, ha véletlen nincs CD a gépben, akkor hogyan fogom feltelepíteni, melyik meghajtóra tettem a telepítőt, stb. Kell net, és onnantól pár parancs vagy kattintás, és a program fent van a gépen, használható, nem kell újraindítani sem a gépet.

Csomag

Linuxban a csomag egy program, vagy programkomponens telepítője. Gyakorlatilag bármilyen programot telepítesz, az egy vagy több csomagból fog állni. Van amelyik egy windows-os dll-nek felel meg, mások egy kisebb, vagy akár egészen nagy programnak (pl: Libreoffice).
Két nagyon elterjedt csomagtípus van:

  • deb: Debian és leszármazottai
  • rpm: Redhat, Fedora, openSUSE és leszármazottai

Csomakezelő

A csomagkezelő az a program, ami figyeli és karbantartja a csomagjaidat. Ezzel tudsz telepíteni, eltávolítani, frissíteni, vagy akár korábbi verzióra visszaállítani adott csomagokat. Alapvetően parancssori, de soknak létezik grafikus megfelelője is.
Pár darab felsorolásszerűen:
  • dpkg, apt, aptitude: debian, és leszármazottai használják.
  • yum: fedora rpm alapú csomagkezelője
  • zypper, YaST: openSUSE rpm alapú csomagkezelője
  • pacman: Archlinux csomagkezelője
  • rpm: Redhat csomagkezelő

Példák

Az alábbiakban leírok egy-egy példát, hogyan lehet programokat keresni, telepíteni, törölni.
Tegyük fel, hogy nem tetszik a beépített médialejátszó, és szeretnénk telepíteni egy másikat.

Keresés

A keresőben az a jó, hogy nem csak a csomag nevében, hanem a leírásában is keres, vagyis ha tudjuk, hogy milyen típusú programot keresünk, de nem tudjuk a konkrét nevét, akkor is meg tudjuk találni.
  • apt-cache search "media player"
  • yum search "media player"
  • zypper search "media player"
Itt arra kell figyelni, hogy rengeteg csomagot fog kiadni a keresési eredmény. Nagyrésze ezeknek a csomagoknak egy adott programhoz tartozó függvénykönyvtár, vagy épp egy plugin. Ami lib előtaggal kezdődik, azok függvénykönyvtárak, és a legritkább esetben fogjuk őket kézzel direkt telepíteni.

Telepítés

Mondjuk megtetszett a VLC Media Player, mert azt már úgyis ismerjük windows-os korszakunkból.
  • apt-get install vlc
  • yum install vlc
  • zypper install vlc
A parancs kiadása után a csomagkezelő kiírja, hogy milyen plusz csomagokat (függőségeket) kell telepítenie ahhoz, hogy működjön a vlc, esetleg felsorol pár javasolt csomagot (recommended packages) is, amik extra funkcionalitást adhatnak a programhoz. Ha elfogadjuk a javasolt telepítést, akkor elkezdi letölteni a csomagokat, majd telepíti azokat. Amikor végzett, akkor a vlc ikonja megjelenik a menüben, és rákattintva már használhatjuk is.

Fissítés

A frissítés menete két lépésből áll. Első lépésben a csomagkezelő letölti a teljes csomaglistát, és a verziókat összehasonlítva meg tudja mondani, miből került fel frisebb verzió.
  • apt-get update
Második lépésben történik a tényleges frissítés, ami a telepítéssel megegyező. Felsorolja, melyik comagokat fogja frissíteni, telepíteni, törölni.
  • apt-get upgrade
  • yum update
  • zypper update
Az rpm alapú csomagkezelők általában automatikusan frissítik a csomaglistát adott idő elteltével.

Törlés

Ha egy programot nem akarunk már használni, akkor egyszerűen eltávolíthatjuk.
  • apt-get remove vlc
  • yum remove vlc
  • zypper remove vlc
Ezzel a vlc-t sikeresen leszedtük a gépről, azonban pár függőség valószínűleg telepítve maradt. Ezeket az alábbi parancssal tudjuk eltávolítani:
  • apt-get autoremove

Thursday, 17 October 2013

Virtualizáció

Ez most egy hirtelen felindulásból elkövetett bejegyzés lesz.
Ha virtuális gépet akarsz futtatni linuxon, akkor marajd a virtualbox / vmware valamelyikénél.
Ma több órán keresztül küzdöttem, hogy megpróbáljak windows 8-at felkalapálni egy qemu/kvm virtuális gépre tesztelési céllal, több kevesebb sikerrel.

Virtualboxban ez kb 10perc volt.

Ha sikerül is, a telepítés valami katasztrofálisan lassú, a többit inkább fel sem sorolom.