Hlavní navigace

Pojďte testovat FreeBSD 5.3!

Radim Kolář

První stabilní beta verze z 5.x řady - FreeBSD 5.3 - před několika dny přešla do stádia beta testů. Zůčastněte se jejího testování i vy.

Po čtyřech letech vývoje (verze 4.0 vyšla v březnu 2000) se řada 5.x konečně dopracovala do stádia beta testů. Byla uznána za dostatečně stabilní i pro produkční nasazení. Ačkoliv předchozí verze 5.2 nebyla officiálně uznána za stabilní, byla zhruba od května t.r. poměrně často instalována i na produkční servery, jak je vidět ze statistik OS použitých na serverech.

Instalace

Přestože je na Open Issues stránce upozorněno na možné problémy při překladu 5.3 ze zdrojových kódů na 5.2.1 systému, u mně to vždy proběhlo bez sebemenších problémů. Popis update FreeBSD ze zdrojových textů byl již mnohokrát popisován, takže místo nošení sov do Athén vás odkáži na článek na ROOTu nebo na FreeBSD.cz.

Důležité je takticky zvolit správný CVS tag. Větev 5-STABLE má tag RELENG5 a větev 5.3, jejíž vytvoření se plánuje na 17. září, bude mít RELENG5_3. Pokud zvolíte tag netakticky, cvsup, jinak docela chytrý program, místo chybové hlášky zvýší volné místo na disku.

Vzhledem k tomu, že cvsup tahá jen rozdíly a nikoliv celé soubory, je možné provést upgrade 5.2–5.3 v rozumném čase i přes dialup. Plná rekompilace ze zdrojových textů zabere zhruba 10 hodin na Pentiu 200 Mhz. K dispozici jsou i CD-ROM image a rozbalená CD, takže nic kompilovat nemusíte, pokud nechcete.

Překlad

Verzi 5.2 vybavenou překladačem gcc 3.3 bylo možné přeložit i s optimalizací -O2. Překladač protestoval jen na profiled libraries. 5.3 beta ovšem obsahuje i nové gcc 3.4. Toto gcc je mnohem vybíravější a volbu -O2 v kombinaci s FreeBSD zdrojovým kódem na několika málo místech odmítá. Pokud chcete optimalizovat, použijte klasiku -fomit-frame-pointer -march=pentium2.

S překladem souvisí ještě jedna věc. Kromě gcc byl aktualizován i gdb, a to na verzi 6.1.1. Tento bagr zatím neumí, narozdíl od předchozího, vybagrovat kernel crash dumpy, takže frame pointer je nám stejně na nic.

Debugging

Pokud nepatříte mezi skalní přiznivce testovaní, je možné debug volby deaktivovat. Testování tím nepomůžete, ztratíte tak možnost hlásit Lock Order Reversal problémy. Žádoucí je také aktivovat kernel crash dump, který se potom vytvoří do swapu v případě, že velikost swapu je větší než velikost operační paměti. Aktivace se provádí přidáním řádky dumpdev=„/dev/a­d2s1b“ do /etc/rc.conf, kde ad2s1b označuje swap partition. Detailnější informace o vykuchávání crash dumpu najdete v Developers Handbooku sekce III.11.

Zapnuté debug volby v kernelu způsobují 50% ztrátu výkonu na pomalých 200–300Mhz počítačích. Na rychlejších strojích není rozdíl tak znatelný. No však testujeme, ne?

A jeho deaktivace

V konfigurace kernelu /usr/src/sys/i3­86/conf/GENERIC zakomentovat # WITNESS a INVARIANTS. INVARIANTS_SUPPORT je sám o sobě převážně neškodný. Vypnout též v userspace debug flagy pro funkci malloc, což se dělá pomocí nastavení symlinku:

sanatana# ll /etc/malloc.conf
lrwxr-xr-x  1 root  wheel  3 Aug 19 23:43 /etc/malloc.conf -> ajr 

Mergemaster

Nejotravnější část z celé upgrade procedury je spouštění programu mergemaster. Před make installworld je nutné spustit mergemaster -p, který nabídne vytvoření nových uživatelů a skupin. Důležité je použít volbu merge a nikoliv install, aby nedošlo k nahrazení lokální databáze uživatelů distribuční. Po provedení make installworld je nutné spustit mergemaster znovu a potvrdit, případně zamítnout aktualizace konfiguračních souborů v /etc. Aktualizovaných souborů je docela dost. Kromě nezbytné zálohy /etc je důležité je během mergemasterování neztratit ostražitost a nepřepsat si vlastní konfiguraci distribuční.

Nakonec reboot a vítejte v 5-STABLE!

sanatana# uname -a
FreeBSD sanatana.dharma 5.3-BETA1 FreeBSD 5.3-BETA1 #1: Tue Aug 24 14:21:29 CEST 2004
root@sanatana.dharma:/usr/obj/usr/src/sys/UP i386 

Opravené chyby oproti 5.2

Během podrobného testování 5.3 jsem nezaznamenal žádné změny k horšímu oproti 5.2. GVinum volume manager již nepadá, to samé platí pro snapshoty filesystému. Scheduler ULE se měřitelně vylepšil a více přibržďuje úlohy se zvýšeným nice levelem, což je ideální pro nasazení na desktopech. Výrazných změn doznala podpora ACPI, která již pracovala bezchybně na všech testovaných strojích. Zlepšila se také disková write cache, která nyní dělá writeback i při nízském zatížení diskového subsystému.

Změn doznala i podpora USB mass storage. Po odpojení disku bez odmountování již nedochází k okamžitému pádu systému. Ten se přesunul do závěrečné části shutdown sekvence, do místa, kde se synchronizují vnody. Některé, zejména novější, flash disky, které dříve nepracovaly vůbec, již pracují maximální možnou rychlostí. Naopak u starších kousků se přenosová rychlost oproti 5.2 nezměnila a jsou pořád pomalé 90 KB/Sec vs 650 v Linuxu.

Podrobější výkonnostní testy jsem ještě neprováděl, ani testy na SMP strojích.

GCC 3.4

Se změnou systémového kompilátoru z gcc 3.3 na gcc 3.4 souvisí jistá nepříjemnost. Ne každý program z portů lze přeložit s pomocí gcc 3.4. Na potřebných patchích pro gcc 3.4 se však intenzivně pracuje a situace se zlepšuje každým dnem. Všechny důležité porty již s gcc 3.4 přeložíte.

Druhá, nepříjemnější věc je ta, že C++ ABI se změnilo, a tak je nutné veškeré C++ programy přeložit novým kompilátorem. Naštěstí je většina programů psaná v C a nikoliv v C++.

Ještě horší věc, pokud bude clověk updatovat z 5.2, je změna threadovacích knihoven, tudíž je nutné znovu přelozit nejen všechny C++ programy, ale i všechny programy používající thready!

Reportování chyb

Nalezené chyby lze reportujte do FreeBSD GNATs databáze, případně do freebsd-current mailing listu.

FreeBSD 5.3beta1 mohu všem uživatelům FreeBSD 5.x NA TESTOVÁNÍ jen doporučit.

Našli jste v článku chybu?

13. 9. 2007 16:11

Fritol (neregistrovaný)
Atény byly považovány za kulturní a vědecké centrum celého světa. A sova je dodnes symbolem moudrosti. Takže... ano, nosit dříví do lesa.:)

8. 9. 2004 19:39

killer (neregistrovaný)

http://rabarber.fruitsalad.org/

DigiZone.cz: R2B2 a Hybrid uzavřely partnerství

R2B2 a Hybrid uzavřely partnerství

120na80.cz: Boreliózu nelze žádným testem prokázat

Boreliózu nelze žádným testem prokázat

DigiZone.cz: V Plzni odstartovalo Radio 1

V Plzni odstartovalo Radio 1

Vitalia.cz: 7 originálních adventních kalendářů pro mlsné

7 originálních adventních kalendářů pro mlsné

120na80.cz: Rovnátka, která nejsou vidět

Rovnátka, která nejsou vidět

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Podnikatel.cz: E-Ježíšek si zařádí: nákupy od 2 do 5 tisíc

E-Ježíšek si zařádí: nákupy od 2 do 5 tisíc

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

120na80.cz: 5 nejčastějších mýtů o kondomech

5 nejčastějších mýtů o kondomech

Měšec.cz: Exekuční poradna: ptejte se online

Exekuční poradna: ptejte se online

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

DigiZone.cz: Sat novinky: slovenská TV8 HD i ruský NTV Mir

Sat novinky: slovenská TV8 HD i ruský NTV Mir

Vitalia.cz: Pamlsková vyhláška bude platit jen na základkách

Pamlsková vyhláška bude platit jen na základkách

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie