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.

Wednesday, 14 August 2013

Telepítsünk linuxot

A végtelen elmélet után jöjjön egy kis gyakorlat, telepítsünk fel egy rendszert. Első alkalommal ajánlom a virtuális gépben való telepítést, és ha ott működik, akkor meg lehet próbálkozni a fizikai gépen is. Fizikai gépre telepítésnél mindenképp mentsük le a fontos dolgainkat, mert az ördög sohasem alszik.

Indítás

Több lehetőségünk is van. telepíthetünk CD/DVD-ről, vagy pendrive-ról. A CD/DVD talán egyszerűbb, mert csak letöltjük a képfájlt, kiírjuk, és arról indítjuk a gépet. Pendrive-os telepítésnél létre kell hozni a telepítőt, amire elég sok leírás van a neten mindenfelé.

Telepítőmenü

A telepítő elindítása disztribúciónként, sőt azon belül telepítési médiánként változhat.
Ha eljutottunk a telepítőig, akkor az első kérdés általában a megjelenítési nyelv, majd a billentyűzetkiosztás kiválasztása.

Partícionálás

Ez a bonyolultabb része a telepítésnek egy kezdő számára. Az alábbiakban megpróbálok tanácsot adni windows mellé és magában való telepítésre is.

Partícionálás windows mellé telepítéskor

Ebben az esetben érdemes még telepítés előtt a windows lemezkezelőjével elkészíteni a partíciókat. Windows7-8 esetén nagy valószínűséggel lesz legalább 2 elsődleges partíciónk, de elképzelhető, hogy akár 4 is van.
Általában van egy 100MB-os boot partíciója a windowsnak, valamint egy rendszerpartíció (c:\). Ezeken kívül notebookokon lehet még rendszerhelyreállító partíció is.
Tegyük fel, hogy nem csináltunk D: meghajtót, hanem van egy nagy C:
A windows valamilyen belső indíttatásból fakadóan nem hajlandó lecsökkenteni egy partíció méretét  az aktuális méret felénél kisebbre. A rekurzív megoldást nem próbáltam ki (partyció lecskkent, újraindít, megint lecsökkent), helyette az Easeus Partition Managert használom ilyen esetben, ami otthoni használatra ingyenes.
Partíció lecsökkent, majd a nem formázott területre szépen létrehozzuk a logikai partíció(i)nkat.

Legalább egy "/" partícióra szükségünk lesz, 10GB már elég kell hogy legyen.
Jelenleg az egyik legvitatottabb dolog a swap partíció kérdése, amit a linux arra használ, hogy ha fogytán a memória, akkor oda pakolja ki a nem használt/régen használt programokat. Ennek a windows-os megfelelője a c:\pagefile.sys.
Az én véleményem az, hogy ha vincseszterre telepítünk, akkor legyen, méghozzá akkora amennyi memóriánk van. Úgyis többszáz GB helyünk van, és a linux ezt a partíciót használja hibernáláshoz is (a windows a c:\hiberfil.sys-t). SSD-re telepítéskor talán jobban járunk ha később swapfájlt hozunk létre, bár ha notebook és hibernálunk, akkor egyszerűbb a partíció. Vannak akik azon a véleményen vannak, hogy manapság a végtelen memóriák korában már fölösleges.
Első rendszernek véleményem szeint ennyi elég, nem kell tovább darabolni a diszket.
Amikor még párhuzamosan volt két rendszerem, akkor én csináltam egy külön adat partíciót is, ami NTFS fájlrendszerrel működött, és így windowsból és linuxból is el tudtam érni.
Ha létrehoztuk a két partíciót, akkor figyeljünk, nehogy a linux telepítésekor rossz partíciókat válasszunk ki.

Partícionálás csak linuxhoz

Ha nincs a gépen windows, vagy száműzni akarjuk, akkor legyen legalább 3 partíciónk:
  • swap annyi, amennyi memóriánk van
  • 10-20GB root (/) fájlrendszer
  • a maradék /home
Egy otthoni gép esetén a többit nem szükséges külön partícionálni, az inkább csak biztonsági megfontolásokból lehet szükséges.

A telepítés indítása, és további beállítások

A partícionálás befejezése után már csak pár dolog beállítása van hátra. Rendszeridő. időzóna, felhasználó és jelszava, és azt hiszem ennyi. A rendszeridő windows mellép pakolt linux esetén trükkös, már nem emlékszem, hogy melyik opciót kell választani (nekem is volt olyan, amikor mind a 2 állítgatta a rendszerórát, és állandóan elmászott). Na közben utánanéztem, és elméletileg azt az opciót kell választani, hogy a rendszeróra nem UTC-re van állítva.

Telepítés befejezése és az új rendszer elindítása

Ha minden jól ment, akkor a telepítő a végén kiköpi a CD-t, vagy kéeri, hogy vegyük ki a telepítési médiát, majd indítsuk újra a gépet.Újraindítás után az úgynevezett GRUB rendszerbetöltő fogad bennünket, ahol választhatunk, hogy mit szeretnénk indítani. Ha minden jól ment, akkor szépen elidul a friss linux rendszerünk, öröm és boldogság, ennyi.

Partíciók, fájlrendszerek, valamint hogyan néz ki egy linux a vincseszteren?

Alapfogalmak

Partíció: a partíció a wincseszteren kialakítható logikai egység, ami egy fájlrendszert képes tárolni. Ha nagyon leegyszerűsítve akarjuk megfogalmazni, akkor azt modhatjuk, hogy windowsban egy meghajtó (c: d: e: stb.) az egy fájlrendszer, ami egy partíción van. Ha érdekel, hogy néz ki, akkor windowsban Sajátgépre (Computer) jobb klikk -> Kezelés (Manage) -> a felugró ablakban Lemezkezelés (Disk Management).
Ezeknek a partícióknak az adatai úgynevezett partíciós táblában vannak leírva. Több féle létezik, most csak a jelenleg legelterjedtebbet írom le (MBR).
Kétféle partíciónk lehet elsődleges (primary), és logikai (logical). Az elsődleges partíciók száma maximum 4 lehet, a logikai partyciók száma tetszőleges. A trükk az, hogy a logikai partíciók valójában egy speciális elsődleges partíción belül laknak (extended partition). Ezt a windows lemezkezelője nem sorolja fel külön, csak az alsó részen látszik a zöld keret.
Windows lemezkezelés
Linuxban a partíciók betű és szám kombinációkkal jelennek meg. Egy partíció az alábbiak alapján azonosítható:

  • első betű: a csatlakozás típusa, legtöbbször s/h, manapság szinte kizárólag s (SCSI/SATA)
  • második betű: az eszköz típusa d=disk, r=CD-ROM DVD-ROM
  • ha diszkről van szó, akkor van harmadik betű, ez a-tól indul, és a lemezek sorrendjét adja meg. Első vincseszter "a", második "b", stb.
  • 1-től induló szám ami a partíció sorszámát adja meg
Tehát az első vincseszter első partíciója az legtöbbször sda1, régi gépeknél lehet hda1. Első diszk n. partíciója sdaN. A második diszk első partíciója a sdb1, stb. A CD/DVD olvasó legtöbbször sr0 azonosítót kap.


Fájlrendszer: itt laknak a fájlok és könyvtárak ezekből is rengeteg van. A microsoft kettőt használ vincsesztereknél, ezek az NTFS és a FAT32. Linuxon ettől jóval bonyolultabbá tehető a dolog, de nem szükséges :)
Jelenleg a legelterjedtebb linuxos fájlrendszer az ext4. Ha nem akarod bonyolítani az életedet, akor maradj ennél.
Az LVM-ről és softRAIDről majd írok külön.

Fájlok és könyvtárak Windows vs. Linux:

Ez egy nehéz témakör, ugyanis alapvetően különböző módon vannak felépítve, de egy két dolgot megpróbálok összekötni (tipikus telepítések esetén).
Ami fontos különbség, hogy linuxban minden fájl. A könyvtárak, az különböző eszközök, minden.
Pár példa:
első vincseszter: /dev/sda
dvd író: /dev/sr0
hálózati kártya: /sys/devices/pci0000:00/0000:00:03.0

WindowsLinux
"Alapkönyvtár""C:\""/"
Programok telepítési könyvtára"C:\Program Files""/usr"
Felhasználói fiókok"C:\Users""/home"
Ideiglenes fájlok"C:\Windows\Temp""/tmp"

Már a fenti megfeleltetések sem tökéletesek, de még felfedezhetőek hasonlóságok. Az alábbi táblázatban pedig felsorolom egy linux rendszer könyvtárstruktúráját, és megpróbálom elmagyarázni hol mi található.

Könyvtár elérési útjaMi van benne
/"Alapkönyvtár"
/bin"binaries" vagyis futtatható programok
/bootrendszerbetöltő
/dev"devices" eszközök
/etcrendszerszintű konfigurációs fájlok
/homefelhasználói könyvtárak
/liba futtatható programokhoz tartozó függvénykönyvtárak
/proca futó programok és szolgáltatásokról tartalmaz információkat
/roota rendszergazda felhasználói könyvtára
/sbin"system binaries" rendszerkonfigurációs futtatható programok
/sys"system" a gépben található eszközök információi
/tmp"temporary files" ideiglenes fájlok
/usr"user programs" felhasználói programok
/var"variable files" gyakran változó fájlok pl: logok, levelezés, backup, cache, stb

A fentieken kívül vannak még könyvtárak, és a felsoroltak között is vannak tovább bonthatóak, de kezdetnek talán elég ennyi.

Thursday, 8 August 2013

TODO

Megpróbálom összeszedni, hogy milyen témákról kellene még írnom. Ha van ötleted, jöhet.

Programtelepítés, csomag, csomagkezelő, grafikus és parancsori telepítés
Linux felépítése, avagy mi ez a sok fura nevű könyvtár gépemen?
Indítsunk programokat parancssorból, mert az jó
Konfigurációs file-ok avagy a programok rejtett tartalékai
Wifi, internet, hálózat, VPN
Hardveresen gyorsított videolejátszás, grafikus teljesítnény, videokártya konfig
Programozás linuxon - mi kell, mit érdemes, mit lehet?

Update1:
A mount parancs, filerendszerek, fstab, hordozható tárolók
Felhasználók, csoportok, jogok, avagy miért kell állandóan jelszavakat gépelnem?

Update2:
Szerverek. mik azok, miért hogyan, milyenek vannak?

Wednesday, 7 August 2013

RouterOS

Ez egy kitérő post, lehet egyszer majd elkerül innen, bár részben van köze a linuxhoz.
Az elsődleges cél, hogy meglegyen, ha később szükségem lenne rá.
Naszóval múlthéten megérkezett a MikroTik routerem, és most annak a konfigurációjához jön pár dolog.

2:portforward:
/ip firewall nat add chain=dstnat dst-address=<publikus IP> protocol=tcp dst-port=<publikusport> \
    action=dst-nat to-addresses=<privát IP> to-ports=<privát port>


Tesztkörnyezet

Egyenlőre Slax LiveCD-krol bootolva probálom megoldani. A két Uplink gépen az eth0 az asztali gép hálókártyájára van bridge-elve, az eth1-ek egy-egy loopback virtuális interface-re (virtualbox hátrányai), amiket a hdwwiz-zel lehet telepíteni win7-en (egy kis segítség). Elméletben úgy fog kinézni, hogy a két GBE linken kapnak IP-t, az egyik uplink az statikus lesz, a másikon az UplinkPC fog DHCP-n címet osztani. A TesztPC és a RouterOS között pedig szintén statikus címek lesznek.

Az Uplink1PC és az Uplink2PC-knél az alábbbiakat kell belőni hogy natolós routerként működjenek:

echo 1 > /proc/sys/net/ipv4/ip_forward
ip addr add 192.168.1.1 dev eth1
iptables --table nat --append POSTROUTING --out interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT

Az egyik forward most pöpecül működik, a többbit majd későbbb.

Nekiálltam a második virtgépen is összekalapálni a hálózatot. ehhez kellett egy dhcp szerver, amit telepíteni kell. Doksi alapján elég simán megvolt.
slax activate dnsmasq
Mivel dnsmasq-kal már foglalkoztam, így maradtam annál.


RouterOS telepítés és konfigurálás

Letöltöttem a routerOS 6.2 cd-t a MikroTik oldaláról, virtuál gépre felcsatol, indít. A telepítője nagyon minimalista, kijelölgeted mire van szükséged, nyomsz egy "i"-t, és kész. CD leválaszt, újraindít és ennyi.

A konfigurálás már egy érdekesebb rész volt.
3 hálókártya (ether1-2-3) 
ether1: ez kapcsolódik az Uplink1 felé, statikus IP
ether2: ez kapcsolódik au Uplink2 felé, amin dhcp-n keresztül kap címet
ether3: a "belső hálózat" ebbe az irányba dhcp szerverként funkcionál, és  NAT-ol kifelé

statikus IP-k beállítása:
/ip address add address=192.168.1.2 netmask=255.255.255.0 interface=ether1 disabled=no comment=Uplink1
/ip address add address=192.168.252.1 netmask=255.255.255.0 interface=ether3 disabled=no comment=intranet
dinamikus IP beállítása:
/ip dhcp-client add interface=ether3 disabled=no

DHCP szerver aktiválása:
/ip dhcp-server setup
Feldobálja a kérdéseket, megadogatod a válaszokat, és megy.

NAT beállítás:
/ip firewall nat add chain=srcnat action=masquerade out-interface=ether1
/ip firewall nat add chain=srcnat action=masquerade out-interface=ether2

És következik a lényeg, a Dual Uplink Failover, ami annyit tud, hogy két lábon csatlakozik a netre, és ha az egyik elhal, akkor automatikusan átáll a másikra. Itt a leírása.
Bibi van: ellátok a fizikai routerig, de azon kívülre nem, ami azért érdekes, mert mindezt távoli asztalon kereszül csinálom épp. Routing szabály azért nem lehet, mert a router belső IP-jét pingelve kapok választ, tehát visszatalál a csomag. Hohó megvan. Ott a gond, hogy a gatewayek nem lehetnek ethernet interface-ek.

Egyenlőre nem nagyon akar működni ez az átállásos dolog. Átírtam IP-re a gateway-eket, mostmár lehet pingelni mindent, de hiába lövök mel az egyik uplinket, nem akar átállni a másikra.
Soksok próba után úgy tűnik az lesz a gond, hogy interface-t akarok megadni gatewaynek, és ezt nem szereti.
Emelett mint kiderül a routing-mark is problémát okozott, mert ha nem volt jelölve a csomag, akkor nem ment kb semerre.
Próbálkoztam olyan megoldással, hogy minél általánosabb szabályt adjak, de nem akarta szeretni.
Most ami működik az az alábbi:
/ip firewall mangle add chain=prerouting action=mark-routing new-routing-mark=Uplink1 src-address=192.168.252.0/255.255.255.0
Ezt még ki kell kisárletezni, hogy milyen korlátozásokkal hajlandó megjelölni a csomagokat (0.0.0.0/0-ás címtartománynál sem működik, sőt már 192.168.0.0/255.255.0.0-val sem).



Tuesday, 6 August 2013

Programok

Nagyon sok embernek az első problémája, hogy milyen programmal tudom ezt vagy azt a dolgot megcsinálni linuxon.
Az alábbiakban megpróbálom összegyűjteni, hogy milyen alternatívák vannak a különböző programtípusokra. Ezeknek egy része magában telepíthető, egy részük valamelyik asztali környezethez tartozik.
A táblázat első oszlopa a program típusa, utána a különböző asztali környezetek alapértelmezett/javasolt programjai vannak, végül az egyéb oszlopban a független/külön telepíthetőek közül a népszerűbbek/ismertebbek.
Ha egy adott környezetet telepítesz, akkor nagy valószínűséggel a hozzá tartozó programot meg fogod találni. Ha nincs, akkor legtöbbszor az Egyéb oszlopban levő programok valamelyike kerül telepítésre egy komplett disztribúció esetén.

Program típusa Gnome/Unity KDE XCFE LXDE Egyéb grafikus Egyéb karakteres
Fájlkezelő Nautilus Krusader Thunar PCManFM Midnight Commander
Böngésző Epiphany Konqueror Midori nincs Firefox, Chromium, Google Chrome links, links2
Levelező Evolution Kmail nincs nincs Thunderbird, Claws-mail, Sylpheed pine, mutt
Zenelejátszó Banshee Amarok nincs nincs XMMS, Rythmbox, Songbird, Audacious xmms2
Médialejátszó Totem Kaffeine nincs nincs mplayer, VLC, Gnome-mplayer player, cvlc
Szövegszerkesztő nincs Kword nincs nincs OpenOffice Writer, LibreOffice Writer, Abiword
Táblázatkezelő nincs Kspread nincs nincs OpenOffice Calc, LibreOffice Calc, Gnumeric
CD/DVD író Brasero K3b Xfburn nincs grafikus nem nagyon van más cdrecord
Fájlszerkesztő gedit kate, kwrite mousepad/leafpad nincs gvim, emacs, scite vi, vim, nano, mcedit, joe
Terminál emulátor gnome-terminal konsole xfce4-terminal lxterminal terminator, xterm, sakura screen (nem igazán az, de ráfogható)

Próba 1

Na akkor folytassuk. Az előzőek alapján többé kevésbé sikerült leszűkíteni, hogy melyik linux lenne jó. Akkor próbáljuk is ki.
Első körben én javaslom a virtuális gépen való futtatást LiveCD verzióval (ehhez nem kell háttértárat sem rakni a virtgép alá). LiveCD/telepítő letölt (sok helyen ugyanaz a kettő), virtuális gépbe felcsatol, elindít, kipróbál. Így működés közben is meg tudod nézni, melyik disztribúció mit tud, mennyire csillog, megtalálsz-e mindent viszonylag fájdalommentesen.
Ha nagyjából belőtted, melyik tetszik leginkább, akkor jöhet a fizikai gép LiveCD-ről való indítása. Ez azért lényeges, hogy lásd, elindul-e a rendszer a gépeden, és megtalál-e minden hardvert.
Ha ez is megvolt, és úgy gondolod, hogy jó lesz, és működik, akkor jöhet a telepítés. Azt javaslom, először ezt is virtuális gépen csináld, hogy lásd a lépéseket. Ha valamit nem értesz, akkor érdemes egy tapasztalt ismerőst megkérdezni. Ha ez megvan, és nem történt semmi probléma, akkor jöhet a fizikai gépre való telepítés (USB-ről, CD-ről, DVD-ről, te választod). Ha egyetlen gép, akkor mindenképp hagyd meg a korábbi rendszeredet.

Hogy megértsd miért javaslom a fentieket, elmesélem az én történetemet. Asztali gép sok-sok évvel ezelőtt. Barát segítségével felküzdöttünk egy Gentoo linuxot ("informatikus vagyok, úgyis menni fog" alapon). Egy pár napig-hétig használtam, aztán amikor nem volt valamilyen progi, és nem értem el ismerősömet, kényelmesebb volt visszatérni Windowsba. Pár hét után eljutottam oda, hogy megint csak windowst használtam. Eltelt pár év, megvettem az első notebookomat, amihez csak freedost adtak. Volt fél napom összepakolni, és eljutni táborba, ahova megígértem, hogy viszem a gépet, és arról megy majd a zene, ergo kellett egy gyorsan felhúzható működő rendszer. XP feltelepít, nincs hang. Drivereket vadászni meg nem volt időm, úgyhogy Ubuntu cd bele, elindít, van hang, van médialejátszó, király! Feltelepítettem, zenéket áttoltam rá, aztán irány a tábor. Az ezutáni időszak picit kaotikus, de ha jól emlékszem, akkor az asztali volt a windows gép, a noti pedig linux maradt magában, hogy rákényszerítsem magam a linux használatára. Itt voltak összevissza dolgok, az először telepített ubuntut (talán 9.04) sikeresen hazavágtam pár hét után. A következő telepítéseknél valami mindig félresikerült (hol videókártya, hol más gondok voltak). Ismerős javaslatára jött egy rövid Debianos időszak. Ezután megint következett egy kis Ubuntu, majd amikor előkerült a Unity, akkor elkezdtem körbenézni a világban, hogy mi van még, mert azt tuti nem. Használtam egy darabig ArchLinuxot, Xubuntut, Lubuntut, Fedorát, megpróbálkoztam a Unity-s Ubuntuval ismét, sőt amikor előkerült a windows7, akkor az ment fel a notebookra, és az asztaliból lett kisérletezgetős gép. Felkerült rá egymás mellé egyOpenSUSE, egy Fedora, és egy Gentoo. 2011-ben vettem egy új notebookot Windows7-tel. Na uccu neki, partíció átméretez, ubuntu szerver verzió fel, és talán XFCE volt először, utána LXDE, OpenBox, meg ki tudja még mi. Egy darabig keresgéltem, aztán belefutottam a Cinnamonba, ami akkoriban egy új asztali környezet volt, és annyira bejött, hogy elég sokáig maradt is. Voltak kisebb gondjai (pl: billentyűzettel a menü bal szélén levő ikonokat nem lehet elérni), de sokáig elnéztem neki, mert ez állt legközelebb ahhoz, amit szerettem volna. A Windows maradt, egyrészt mert adták hozzá, másrészt játék miatt, harmadrészt azért, mert rendszerüzemeltető és desktop-support munkakörben dolgozom, és időnként kell tesztelni pár dolgot win alól is.
Egy idő után beleuntam, hogy lassan indul a windows, uccu neki gépen levő helyreállító elindít, windows újratelepít. Ez persze hazavágta a rendszerbetöltőt, úgyhogy megint nem volt egy darabig linux. egyszer helyreállítottam, aztán az egyik windows frissítés megint felülírta. Ekkor lett elegem a dologból, és telepítettem windows alá egy virtuális gépen linuxot. Ennek több előnye is van. Egrészt nem kell újraindítgatni a gépet a két rendszerhez, a windows is boldog, mert ő az alap rendszer, a linux meg nem eszik olyan vérmesen sokat, hogy megakadjon. Jelenleg is ez a felállás van, nem tökéletes, de működik.
A fordított verzióval több gond is van. Egyrészt a géphez adott windows licensz nem használható virtuális gépben, másrészt a játékok még mindig windows-t igényelnek a seggük alá, és a natív jobb, mint a wine-os.

Monday, 29 July 2013

Melyiket válasszam?

Már ott járunk, hogy van pár alapfogalmunk, ismerjük a lényegesebb disztribúciókat, most választani kellene egyet. De melyiket?

A válasz: az attól függ :)
  • Szeretnéd megtanulni, hogy hogyan működik a rendszer, vagy csak használod?
  • Zavar, ha sok fölösleges program van telepítve, vagy úgyis elfér?
  • Szeretnél szép animált asztalt, vagy minimalista vagy?
  • Lényeges, hogy mennyi erőforrást eszik a rendszer?
  • Új hardver, vagy régi?
  • Fontos, hogy a legfrissebb verzió legyen fent a programokból?
Íme az én javaslataim:
Kezdetnek mindenképp a barátságosabb disztribúciók közül válassz: Ubuntu, Fedora, Mint Linux, PCLinuxOS, openSUSE
Hogy ezen belül melyiket, azt az alábbi szempontok alapján próbáld meg eldönteni:

  1. mennyire szeretnél csilli-villi asztalt?
    KDE - Unity - Gnome3 - Cinnamon - Gnome2 - MATE - XFCE - LXDE - openbox nagyjából a sorrend a minimalista sztalok felé. Nézz meg pár képernyőképet a különböző disztribúcióknál, és válassz egy szimpatikusat.
  2. Erőforrásigény: milyen erős a géped?
    ha nem egy 5-10éves gép, akkor nincs megkötve a kezed, de ha pl. kevés a memória, akkor lehet, hogy a nagyobb asztali környezetek lassítani fogják a rendszert. A sorrend hasonló az előző ponthoz.
  3. Csak használnád, vagy el is akarsz mélyedni benne?
    Itt kicsit árnyaltabb a dolog, csak használóknak a fent felsorolt disztribúciókat javaslom, de tanulni vágyó emberek is nyugodtan kezdhetik ezeknél, és ha már hozzászoktál a rendszerhez, akkor próbálkozhatsz más disztrókkal (pl: ArchLinux, Debian, CentOS).
A végére egy kakukktojás: CrunchBang ami egy Debian alapú openboxot használó disztribúció.

Szerk: Íme hogy miért nem ajánlok konkrét disztribúciót.

Miből választhatok?

Az előzőekben megpróbáltam összefoglalni a lényeges alapfogalmakat, és hogy kinek érdemes linuxra váltania. Most hogy már van fogalmunk pár alap dologról, jöhet a nagy kérdés, hogy melyiket?
Kissé lehet kaotikus lesz a következő blokk, megpróbálom sorra venni az elterjedtebb disztribúciókat, és felsorolni a fontosabb tulajdonságaikat.

  • Debian:
    az egyik legrégebbi disztribúció, amelyre rengeteg másik épül. Legfontosabb jellemzője a stabilitás, ami miatt leginkább szerver környezetben elterjedt. Nagyjából 2 évente frissül, és átlagosan a megjelenés előtt 7 hónappal "fagyasztják" be a programverziókat, vagyis onnantól csak biztonsági problémákkal foglalkoznak, hiába jön ki frissebb verzió. Leginkább a konfigurálni kell, és onnantól működik kategóriájú rendszer.
  • Ubuntu és variánsai:
    A Debianból leszármaztatott disztribúció, elsődlegesen otthoni felhasználásra. Felhasználóbarát, majdnem mindent meg lehet oldani grafikus felületen. Fontosabb variánsok: Ubuntu (Unity), Kubuntu (KDE), Xubuntu (XFCE), Lubuntu (LXDE).
    Fél évente jelenik meg friss verziója (április, október), a verziószámozás év.hónap formátumú. Feltelepíted és használod típusú rendszer.
  • Linux Mint: két eltérő verziója van, az egyik ág az Ubuntura épülő, a másik közvetlenül Debianra épül. Felhasználóbarát, telepítsd és használd típusú rendszer.
  • Slackware:
    Szintén egy régi rendszer, kevéssé felhasználóbarát, így nem is nagyon elterjedt. Őszintén megmondva, nem sok tapasztalatom van vele.
  • openSUSE:
    bár a Slackwareből származik, de mára a két rendszernek alig van köze egymáshoz. Az openSUSE szintén egy felhasználóbarát rendszer. 8 havonta adnak ki új verziót. Próbáltam, de nekem az alapértelmezett KDE felület túlzottan "csillogós" volt, valamint a csomagkezelőjét sem kedveltem meg.
  • SUSE Linux Enterprise Server (SLES):
    A SUSE Linux nagyvállalati szerver verziója, ingyenesen nem elérhető.
  • Arch Linux:
    Elérkeztünk az első trükkös disztribúcióhoz, ugyanis az Arch-nak nincs verziója. Ez egy úgynevezett "rolling distribution", ami azt jelenti, hogy a csomagfrissítések folyamatosan érkeznek hozzá, és nem megadott időközönként. Alapvetően parancssori konfigurálós rendszer, inkább középhaladóknak és haladóknak való.
  • Red Hat, Red Hat Enterprise Linux (RHEL):
    Nagyvállalati linux disztribúció, ingyenesen nem elérhető.
  • Fedora Core, Fedora:
    A Red Hat másik leszármazottja, felhasználóbarát, széles körben elterjedt disztribúció. Nagyjából 6 havonta adnak ki új verziót belőle.
  • CentOS:
    A RHEL "ingyenes verziója". Ez annyit jelent, hogy a RHEL forrásából fordítják a csomagokat minimális különbségekkel. Ennek köszönhetően stabil, jól használható rendszer. Közepesen felhasználóbarát.
  • Mandrake,Mageia Linux:
    A Red Hatból származó ingyenes rendszer, szintén nincs sok tapasztalatom vele.
  • PCLinuxOS:
    A Mandrake-ből leszármazott linux, szintén ajánlható kezdőknek, sok tapasztalatom nincs vele.
  • Gentoo Linux: az Arch-hoz hasonlóan "rolling distribution", vagyis nincsenek verziói. Csak haladóknak, parancssori telepítővel.

Alapfogalmak linux választáshoz

Megpróbálom elmagyarázni a linux választásához szükséges alapfogalmakat.


Ablakozó rendszer (window manager)

Ez a része a rendszernek kezeli az ablakokat. ez határozza meg az effektek nagyrészét (animált lecsukás, görgetés, mozgatás, ablakkeret, ablakvezérlő gombok, stb). A legsűrűbben használtak: Metacity, Kwin, Compiz, xfwm
Legtöbbször valamelyik asztali környezettel együtt fejlesztik, és települ.

Asztali környezet (desktop environment)

Az egyik legfontosabb része a választásnak. Ez nagyon leegyszerűsítve egy programgyűjtemény. Rengeteg alap, és esetleg opcionális dolgot tartalmaz, amelyek együtt települnek: háttérbeállító, grafikus környezet beállító, menü, tálcák, óra, fájlkezelő, médialejátszó, képszerkesztő, fájlszerkesztő, stb.
A különböző környezetek különböző mennyiségű programot tartalmaznak.
A legelterjedtebbek (mellettük az alapértelmezett ablakozó):

  • Gnome2 (Metacity): régi asztali környezet, nagyon sok extra programmal. Van benne terminál, médialejátszó, játékok, torrent kliens, hálózatkezelő, DVD író, zenelejátszó, stb.
  • Gnome3 (Metacity): a Gnome2 utódja.
  • Unity (Metacity): Az Ubuntu alapértelmezett környezete, Gnome3-ra épül
  • KDE (Kwin): a másik elterjedt nagyméretű asztali környezet.
  • XFCE (xfwm): egy kisebb erőforrásigényű asztali környezet kevesebb alapértelmezetten települő programmal, és kevésbé "csillogó" felülettel (értsd: kevesebb, egyszerűbb asztali animáció).
  • LXDE (openbox): egy kifejezetten alacsony erőforrásigényű asztali környezet, ennek megfelelően a médialejátszót és egyéb extrákat alapból nem tartalmazza, valamint szinte semmilyen animált effektet nem tartalmaz.
  • openbox (openbox): az openboxhoz létezik egy alap minimalista asztali környezet, ami egy üres asztalból, és jobb kattintásra egy menüből áll.
  • MATE: a Gnome2-ből kialakított asztali környezet
  • Cinnamon: A Gnome3-ből kialakított asztali környezet, a konfigurálhatóság volt az elsődleges szempont.


Csomag, Csomagkezelő
A Linux rendszerekben a csomag egy telepíthető program vagy programcsoport. például: LibreOffice, mplayer, VLC media player, Firefox, Chrome. de nagyon sok olyan csomag van, ami nem végfelhasználói programokat tartalmaz, hanem kis segédprogramokat, amelyek szükségesek a rendszer vagy a többi program működéséhez.
A csomagkezelő egy olyan program, amivel ezeket a csomagokat tudjuk telepíteni, frissíteni, vagy eltávolítani (hasonló a Windows Programok telepítése és eltávolítása ponthoz).


Disztribúció

Röviden megfogalmazva a disztribúció egy linux variáns/verzió.
Ez az a rész, amit egy kezdőnek nehéz elsőre átlátnia, íme hogy miért :)
Linux disztribúciók családfája
Megpróbálom elmagyarázni. Egy disztribúció körülbelül olyan, mint egy berendezett szoba. Van egy alap (egy modell szoba), vannak olyan tulajdonságai, amiken egy kicsit tudunk változtatni (ablak, ajtó, stb.), és van a belső tér, amit mi rendezünk be a saját kedvünk szerint. A szoba megfelel a kép bal szélen álló "alap"disztribúcióknak, amik a bázist adják (Debian, Redhat, Gentoo, Arch, Slackware stb. ). Ezekből származhatnak olyan disztribúciók, amik magán a struktúrán is módosítanak (Debian-Ubuntu, Debian-Knoppix, RedHat-Fedora, stb), vagy származhatnak olyanok, amik csak a berendezésen módosítanak (programok). Ezeket Flavor-nek szokták nevezni.

Az alap disztribúciók legjellemzőbben az úgynevezett csomagkezelő típusa alapján különböztethetőek meg (Debian - aptitude, Redhat - rpm, Gentoo - portage, Arch - pacman, stb.).

Az alap disztribúciók és a közepes leszármazottak között legtöbbször olyan módosítások vannak, amik a rendszer működése szempontjából meghatározóak (belenyúlnak alap programok működési elvébe is). Ennek köszönhetően már nem teljesen kompatibilisek egymással.

A kisebb leszármazottak legtöbbször ugyanannak a rendszernek más alapértelmezett programokkal telepített verziói. pl: Ubuntu= Ubuntu alaprendszer + Unity. Kubuntu: Ubuntu + KDE. Xubuntu: Ubuntu + XFCE. Lubuntu: Ubuntu + LXDE. Edubuntu: Ubuntu oktatásban használt programokkal. Mythbuntu: ubuntu médiacenter, CrunchBang: Debian + Openbox

Egy konkrét disztribúció tehát áll egy alap vagy közepes leszármazott disztribúcióból, és egy alapértelmezetten települő programkészletből.

Linux kezdőknek

Akkor lássuk. Egy újabb blog a miért linux, milyen linux, kinek vonalon.

Miért?

Ez az a kérdés, amiről sokat nem kell írni, mert valószínűleg már megvan a válaszod. Érdekel, muszáj, satöbbi.

Kinek?

Na itt már kezd bonyolódni a helyzet. Egyrészt a felhasználó is meghatározó szereplő, másrészt a használt programok is korlátozzák a dolgot. Jelenleg eléggé behatárolja a váltást a használt programok területe.

  • Ha játékos vagy, akkor valószínűleg jobban jársz, ha maradsz Windowson. Egyrészt a játékok nagy része nem jön ki linuxra, (bár ez mostanában változik,) másrészt teljesítményben is egyenlőre inkább a Windows platform a hatékonyabb játékok terén, harmadrészt linuxon nagyobb valószínűségel futsz bele valamilyen problémába.
  • Ha olyan programot használsz, ami csak Windowson fut (munkához való tervezőprogram, videovágó stb-stb.), akkor ismét jobban jársz, ha nem váltasz. Létezik pár megoldás, ami lehetővé teszi hogy ezek a programok linuxon is fussanak, de macerás, és nem is biztos, hogy működik.
  • Ha átlagos felhasználó vagy, aki filmeket néz, zenét hallgat, netezik, stb, akkor viszont nem kerülsz hátrányba a váltással.

Milyen linuxot?

És itt kezd bonyolódni a helyzet, ami miatt sok ember feladja a váltást. A linux világában iszonyatosan sok az úgynevezett disztribúciók száma. Ezeknek nagy része hasonló, de mindegyik más egy kicsit. Van amelyiket általános használatra tervezték, van amit biztonságtechnikához, van amit régi gépekre, vagy éppen multimédiához, vagy oktatáshoz.
Ezek közül nem könnyű választani, még egy haladó felhasználónak sem, nemhogy egy kezdőnek.
A következőkben megpróbálok ebben segíteni pár alapfogalommal, és személyes véleménnyel, tanáccsal.