Főbb változások az UHU-Linux 1.2-ben
Új kernel
A rendszer ezentúl a 2.6-os kernelen alapul. A glibc változásának (lásd
lejjebb) mellékhatásaként 2.4-es kernel nem képes futtatni az új UHU
csomagjait, így a 2.4-es kernel használatát a legkisebb mértékben sem
támogatja a disztribúció.
Eszközkezelés
A /dev fájlrendszer tartalmát a korábbi devfs helyett az udev rendszer
kezeli. Az eszközök jogait az /etc/udev/permissions.d könyvtárban
állíthatjuk be, lehetőség szerint ne az 50-udev.permissions fájlt
szerkesszük át, hanem hozzunk létre újat, nagyobb sorszámmal és .permissions
kiterjesztéssel (például 60-sajat.permissions).
CD-írás
Az ide-scsi modul helyett az ide-cd modult használjuk, így CD-íráskor
például a cdrecord programban ATA:1,0,0 típusú azonosítóval, vagy az eszköz
közvetlen nevével (például /dev/cdwriter) kell az eszközre hivatkozni.
Szerencsére erre általában nem is lesz szükségünk, mivel a cdrecord és a
cdrdao alapértelmezésben a /dev/cdwriter eszközt használja.
Modulok betöltése
A korábbi /etc/modules/AUTOLOAD fájlt átkereszteltük /etc/modules.load
névre. Hasonlóan az /etc/modules.skip fájlban olyan modulokat sorolhatunk
fel, melyek betöltését a boot során nem kérjük a rendszertől.
A korábbi /etc/modules.conf fájl immár /etc/modprobe.conf névre hallgat.
NPTL
A glibc-ben a többszálúság támogatására szolgáló ősrégi LinuxThreads
könyvtárat, mely minden szálat külön processzben hajtott végre, kicseréltük
a 2.6-os kernelben újonnan megjelent kernel szintű szálazás lehetőségeit
kihasználó NPTL-re. Ennek eredményeképp 2.4-es kernellel a disztribúció
csomagjai sajnos nem futtathatók. Ez nemcsak a fő rendszerre van hatással,
hanem értelemszerűen tetszőleges chroot rendszerre is, így például az
uhubuild sem képes 2.4-es futó kernel esetén az UHU 1.2-höz illeszkedő
csomagok elkészítésére.
Új POSIX szabvány
Az új glibc újabb POSIX verziót definiál, amely bizonyos rendszerprogramok
esetén elutasítja a régi típusú argumentumok használatát. Többek között az
alábbi programok érintettek:
Elavult használat | Javasolt használat |
head -10 | head -n 10 |
tail -5 | tail -n 5 |
tail +3 | tail -n +3 |
sort +2 | sort -k 3 |
sort +2 -5 | sort -k 3,5 |
nice -19 | nice -n 19 |
nice --20 | nice -n -20 |
Az elavult használati módok ezen programok esetén még működnek, de
figyelmeztetést írnak ki. Ajánlott saját szkriptjeinket minél előbb átírni,
ugyanis más disztribúciók, illetve későbbi UHU verziók esetén a régimódi
kapcsolók már nem fognak működni. Egyes jóval ritkábban használt programok
esetén már most sem működik egy-egy elavult opció, a program kiírja a
helyette használandó szintaxist. Megjegyzendő, hogy mindezen programok
rávehetők a régi módon, figyelmeztetés nélkül történő működésre a
_POSIX2_VERSION=199209 környezeti változó beállításával.
sleep
A sleep parancs immár képes tört másodpercet is várni, a parancssorban a
törtszámot a használt nyelvtől függetlenül tizedesponttal kell megadni. Az
usleep parancsot idővel el fogjuk távolítani, erre már most figyelmeztet.
Optimalizáció
A gcc programot beállítottuk, hogy alapértelmezésben az i586 architektúra
utasításkészletét használva, i586-ra optimalizálva fordítson (vagyis
-march=i586 -mcpu=i586 az alapértelmezett érték, de ez természetesen
parancssorból felülbírálható). Ezzel összhangban a disztribúció legtöbb
csomagját is így optimalizáltuk.
Grafikus felület
Az X Window grafikus felületet lecseréltük XFree86-ről a dinamikusabban
fejlődő, más disztribúciók által is kedveltebb X.Org-ra.
Az X immár közvetlenül kezeli az egeret, nem a gpm-en keresztül. A
konfigurációs fájlban (/etc/X11/xorg.conf) nem szerepel az egérre utalás, az
X szerver alap értelmezésben megtalálja az egeret.
Tovább fejlesztettünk az X.Org konfigurációs fájljának tartalmán.
Újdonságként a Device szekción belül „auto” nevű videokártya-meghajtó
(Driver) is megadható, ilyenkor az xdriver program kimenetét helyettesíti
ide az X. Az xdriver program automatikusan kideríti a videokártya típusát,
és előnyben részesíti az nVidia és ATI gyári meghajtóit, amennyiben azok
telepítve vannak.
Rendszerbetöltő
A /boot/grub/menu.lst fájlban a korábbi cp852 helyett UTF-8 ékezetkódolást
kell használni, amennyiben magunk kívánunk ékezetes szöveget felvenni és azt
a rendszerbetöltő grafikus képernyőjén ékezethelyesen látni szeretnénk.
Sajnos ezek a bejegyzések szöveges módba váltás esetén meglehetősen
olvashatatlanok, mivel a szöveges mód a PC alapértelmezett cp437 kódolását
használja. Az UHU által alapból létrehozott bejegyzések mind angolul
szerepelnek a menu.lst-ben (például Memory Test), ezeket a grafikus
képernyőt megjelenítő program fordítja le magyarra.
A grafikus betöltő által használt témafájl (például /boot/themes/uhu) az UHU
1.1-ben használt azonos nevű fájllal inkompatibilis formátumú.
/media
A Filesystem Hierarchy Standard (FHS) ajánlásához igazodva az eszközök
automatikus csatolása a korábbi /mnt helyett a /media könyvtár alá történik.
A /media könyvtár alatt ramfs fájlrendszer található, így az itt létrehozott
plusz könyvtárak vagy fájlok a rendszer újraindítása során elvesznek. Ezért
a kézi csatolások számára továbbra is az /mnt-t ajánljuk.
Felhasználói csoportok
Megszűnt a korábbi floppy, cdrom és cdwriter csoport, mivel manapság ennél
lényegesen többfajta csatolható eszköztípus létezik, és értelmetlenség volna
mindegyik számára külön csoportot felvenni. Ehelyett egyetlen media nevű
csoport vette át a szerepüket. A csatolható eszközök (floppy, CD, USB
adattárolók stb.) eszközfájljai root.media 660 jogosultsággal jönnek létre.
A /media könyvtár tartalma, vagyis az eltávolítható eszközök felcsatolt
fájlrendszere szintén csak a media csoport tagjai, vagyis a helyileg
bejelentkezett felhasználók számára érhető el.
PATH, su és su -
Grafikus belépés esetén UHU 1.1-ben a grafikus rendszer PATH változója nem
volt helyesen beállítva, így például Gnome-ban vagy KDE-ben az Alt+F2-t
követően beírt parancsot, vagy egy ikon által indított programot másmilyen
PATH mentén kereste meg a rendszer, mint a terminálban indított programot.
Hasonlóan például nem-interaktív ssh belépés esetén is hibás PATH állítódott
be. A PATH beállítását a shellből áthelyeztük a PAM autentikációs rendszerbe
a pam_envfeed.so modul, /sbin/pam_envfeed szkript és /etc/envfeed.d könyvtár
használatával. Így most már mindenütt ugyanazt az értéket kapja a
felhasználó.
A PATH beállítás eredményeképpen a sima „su” parancs a rendeltetésének
megfelelően csak root jogosultságokat nyújt, nem root környezetet, vagyis a
korábbi UHU disztribúciókkal ellentétben a PATH változót nem állítja át, így
a /root/bin, /sbin és /usr/sbin könyvtárak sem kerülnek bele, viszont ennek
megfelelően például a /home/felhasználó/bin sem kerül ki belőle. A „su -”
parancs nyújt rendszergazdai környezetet, ez átállítja a PATH-t is. A sima
„su” parancsra a régi viselkedés (PATH beállítása) elérhető az /etc/pam.d/su
fájl megszerkesztésével, vagy a shell inicializációs fájljaiba a PATH
beállításának visszarakásával.
dhcp és ntp
A dhcp kliens immár csak akkor írja felül az ntp konfigurációs fájlját, ha
kapott ilyen adatot a szervertől.
UTF-8
Az UTF-8 karakterkészlet támogatása terén a következő főbb változások
történtek:
- A kernel a VFAT és hasonló fájlrendszereken a fájlnevek ékezeteit
ezentúl nem Latin2-re, hanem UTF8-ra alakítja.
- Az mkisofs alapértelmezésben UTF-8 kódolású fájlnevekre számít.
- Az „u” nevű szkript segítségével ideiglenesen UTF-8 környezetre
állhatunk át. A program, amennyiben gnome-terminal vagy konsole alatt
indítjuk, a terminál viselkedését is átállítja UTF-8 módra az általa
indított program futásának idejére. (Ez sajnos linux konzolban csak
részlegesen, xterm-ben pedig egyáltalán nem működik.) Használatára példa:
„u mc”.
- Több program immár képes UTF-8 kódolású fájlokkal, valamint UTF-8
terminál fölött is helyesen dolgozni. Néhány példa: mc, mcview, mcedit, joe,
pico, pine, mutt.
- A tetex-unicode csomaggal elérhető az [utf8]{inputenc} modul, mellyel
UTF-8 karakterkészletű LaTeX fájlokat tudunk lefordítani. A csomag csak
ideiglenesen van jelen a teTeX 2-es verziója mellett, a 3-as teTeX
hivatalosan is tartalmazni fogja az UTF8-támogatást.
Színes grep
A grep programban a --color=auto opciót alapértelmezetté tettük, így
amennyiben terminálra ír, a találatot színezi. A GREP_COLOR környezeti
változóban állítható be a szín, melyet például az /etc/env.d könyvtár alatt
egy újonnan létrehozott fájlban állíthatunk be. A változó értéke az ANSI
escape-szekvenciának a tényleges színkód része, például:
„GREP_COLOR=1;33;42”.
Csomagátszervezések
Az alábbi főbb csomagátszervezések történtek:
- A modutils helyét átvette a module-init-tools, a devfsd helyét pedig az
udev.
- Az XFree86 -> X.Org váltásnak megfelelően xfree86* és fonts-xfree86*
csomagjaink ezentúl x.org* és fonts-x.org* névre hallgatnak.
- A Java implementációt Blackdown-ról Sun-ra cseréltük. A csomagnév
blackdown-j2re volt, java-jre lett.
- A fam fájlállapotváltozás-figyelőt gamin-ra cseréltük, amely nem igényel
rendszerszintű központi démont.
- A gimp2 csomag megszűnt, gimp néven a program 2-es verziója érhető el.
- Az mrproject program új neve planner.
- Megszűnt a gnome2-user-docs-hu csomag, tartalma a gnome2-user-docs
csomagban szerepel.
- A régi quanta csomag ezentúl kdewebdev néven található meg.
- A libpopt csomagot átkereszteltük popt-ra.
- Megszűnt az rsync-fuzzy csomag, funkciója az rsync csomagban elérhető.
uhubuild
Az uhubuild használói egy főbb változással találkozhatnak: a ccache
tartalmát ezentúl nem ömlesztve tároljuk, hanem lefordított csomagonként
külön .tar.gz-ben. Habár van néhány hátránya is az új megközelítésnek,
kétségtelen előny a jobb karbantarthatóság, hiszen magunk is könnyedén
törölni tudjuk egyes csomagok ccache-ét, valamint az uhubuild rendszer is
egy csomag sikeres újrafordításakor törli a régi, nem használt ccache
fájlokat.