Upgrade na FreeBSD 6.1
Vždy mně chyběly články popisující místo nových verzí upgrady v praxi. Podíváme se na upgrade z FreeBSD 5.4 na FreeBSD 6.1
a dojde i na novinky řady 6 jako takové.
8.9.2006 06:00 |
Radim Kolář
| Články autora
| přečteno 7479×
FreeBSD 6.1
V květnu 2006 vyšly dvě verze FreeBSD, jednak novější FreeBSD 6.1, ale také
definitivně poslední verze z pětkové řady FreeBSD 5.5. Bezpečnostní team sice
vyhlásil May 31, 2008 jako datum ukončení podpory 5.X, ale podle aktivity
developerů po vyjití 5.4 mně bylo jasné, že pětková řada byla již odstavena na
vedlejší kolej a 5.5 vyjde jen aby se neřeklo.
Navíc šestková řada byla koncipována tak, aby byl upgrade z 5.X co nejsnazší,
žádná nepříjemná překvapení např. ve formě kompilátoru s nekompatibilním ABI by
se neměla konat, takže stávající programy nebude nutné všechny překompilovat a
BSD systémy jsou přece známé snadnými upgrady a jedna paní na IRC povídala...
Tak jsem se dal přesvědčit i když jsem měl systém fungující ke své úplné
spokojenosti a začal aktualizovat.
Jdeme upgradovat
Postup upgrade FreeBSD pomocí zdrojových kódů je snadný a je popsán zde.
CVS tag pro strom verze 6.1 (release + fixy) je RELENG_6_1, pokud chcete větev
6-STABLE tag je RELENG_6.
Ačkoliv to na první pohled nevypadá, jde o nejjednodušší způsob upgrade pokud
neupgradujete z hodně staré verze na které nejde nová verze přeložit. Kompilace trvá na 1 GHz počítači
zhruba hodinu.
Přidal jsem tedy do své konfigurace kernelu volbu options COMPAT_FREEBSD5, což není
nutné pokud použijete standardní kernel GENERIC, jelikož již tuto volbu obsahuje. Pokud nepotřebujete
volby, které nejsou ve standardním kernelu zahrnuty, je jeho použití dostačující. Ručním "ořezáním"
kernelu získáte zhruba 3,5 MB volné paměti navíc, což se vyplatí snad jen u počítačů s 32MB RAM.
Před překladem nazapomeňte na mergemaster -p, který překontroluje /etc/passwd a vytvoří případné chybějící systémové
uživatele. Pak následuje standardní přeložení/nainstalování nového světa (make build|install world) a jádra (make build|install kernel).
Nakonec je
potřeba aktualizaovat konfigurační soubory pomocí utility mergemaster, která zobrazuje rozdíly mezi
vaší a dodanou konfigurací. Jde o poměrně nudnou a zdlouhavou činnost, kdy odklepáváte volbu nainstalovat novou verzi konfiguračního souboru. Z nudy vás vytrhne jedině zjištění, že jste omylem
odsouhlasili přepsání /etc/passwd nebo konfigurace nameserveru. Zde bych upozornil na jednu hezkou
vlastnost FreeBSD verzí 5+, kterou jsou snapshoty filesystému. Pokud si před upgradem vytvoříte
snapshoty programem mksnap_ffs bývá časově rychlejší vytáhnout přepsané soubory
ze snapshotu než z pásky.
Utilita freebsd-upgrade
Pokud si přeložíte FreeBSD v defaultním nastavení, bez optimalizace pro váš procesor pomocí volby
CPUTYPE v /etc/make.conf, s kernelem GENERIC a z CVS větve RELENG_6_1 můžete využívat
utilitu FreeBSD-update, která slouží
ke stažení a následné aplikaci binárních patchů. S její pomocí můžete udržovat FreeBSD 6.1 aktuální
s minimální námahou t.j. bez nutnosti překompilovávat jádro/systém pokud se objeví security nebo
errata patche. Program je rychlý a stahuje zanedbatelné množství dat (používá bspatch).
Vítejte v 6.1
Systém naběhl víceméně vpořádku. V kernelu byla podpora pětky a instalační
procedura nemaže staré systémové binárky a knihovny. Všiml jsem si několika
změn: moused nenašel myš neboť se změnily názvy zařízení a také se změnilo bootovací
logo. Zmizel chlapík s vidlemi a byl nahrazen politicky korekním, nicméně značně
ošklivým, nápisem FREEBSD.
FreeBSD se dělí na základní systém a porty. Základní systém je převážně v / a
/usr a porty se umisťují do /usr/local případně /usr/X11R6. Jelikož byla
nedávno přidána do FreeBSD vlastnost odmazávat soubory ze starých FreeBSD ze
základního systému, rozhodl jsem se jí vyzkoušet a nainstaloval jsem balíčky
compat5x a localedata-5.4 obsahující sdílené knihovny a locales z předchozí
řady abych pak následně smazal ty, co zbyly v systému.
Pokud používáte aplikace pracující s locales a nechce se vám je
překompilovávat, tak je nainstalování těchto balíčků z ports nutné, jelikož se
změnil formát locales.
Po následném cd /usr/src && make delete-old && make delete-old-libs a rebootu
jsem byl nemile překvapen. Služby, které se měly spustit při bootu se nespustily, neboť nenalezly staré verze knihoven. Po bootu šly již spustit ručně bez
problémů.
Toto chování souvisí s další novinkou. Dříve se soubory v adresáři
/usr/etc/rc.d spouštěly podle abecedního pořadí, čehož se využívalo a
startovací scripty dostávaly taktická jména jako například 010.pgsql.sh. Nyní
se o tyto závislosti stará program rcorder, který si prohlédne startovací
scripty a podle nalezených klíčových slov ``REQUIRE'', ``PROVIDE'', ``BEFORE'',
``KEYWORD'' určí jejich pořadí při startu systému.
Výše zmíněný problém, který je již v současnosti odstraněn, jsem vyřešil metodou nejmenšího odporu a problematický apache s php překompiloval. Dále přestaly
pracovat aplikace, které přistupují přímo do paměti kernelu s využitím
libkvm např. identd identd[62341]: kvm_getprocs: Unknown error: 0, a aplikace
využívající pseudoterminály např. midnight commander protestoval
Cannot open master side of pty: Invalid argument (22). Jako obvykle, rekompilace
problematických aplikací problém odstranila.
Novinky FreeBSD řady 6
Hlavní body jsou: nová podpora PowerPC, ukončení podpory 80386/7, mnohem lepší podpora WiFi včetně posledních šifrovacích standardů a zoptimalizované zamykání filesystému nepoužívající již kernel-wide Giant zámek, které je hlavním trhákem šestky.
V userlandu proběhla tradiční aktualizace importovaného software: bind 9.3.2,
hostapd 0.4.8, sendmail 8.13.6, gcc 3.4.4, IPFilter 4.1.18, Heimdal 0.6.3, pf 3.7, ssh 4.1p1, OpenSSL 0.9.7e, tcpdump v3.9.1 a mnohé další.
Mnohem zajímavější než aktualizace jsou nové programy. Bsdiff/bspatch umožńuje
výrobu a následnou aplikaci binárních patchů. Jejich autor tvrdí, že jsou lepší (míněno menší) než
xdelta nebo RTP patche společnosti Pocket Soft. Pravda ovšem je, že tyto
programy potřebují velmi hodně paměti, takže patche typu
FreeBSD-6.0.ISO -> FreeBSD-6.1 ISO se nekonají pokud náhodou nevlastníte desítky GB RAM.
Další zajímavostí je, že
bsdtar umí nyní rozbalovat i ISO image a ZIP archivy, což rozhodně potěší.
Dalším užitečným programem, který se objevil v základním systému, je
portsnap. Slouží k aktualizaci stromu /usr/ports a je mnohem rychlejší než
klasický cvsup nebo jeho C verze csup, která se také objevila jako novinka v základním systému. Pokud jste portsnap již používali dříve v jeho verzi z portů, přesuňte /usr/local/portsnap -> /var/db/portsnap a pak jej smažte.
Sbohem uptime
Ne všechny věci se změnily k lepšímu. Kmitočet kernelu ze změnil z 100 na 1000 Hz (stejně jako u Linuxu). Toto
přineslo zhruba o 2-3% větší zátěž na pomalejších strojích, obvykle
používaných jako routery. Tento kmitočet se používá k časovým značkám
protokolu TCP a tyto značky používá Netcraft k měření uptime. Proto
touto změnou končí vláda FreeBSD systémů v tabulce největších uptimů, jelikož největší uptime, který lze teď touto metodou detekovat je zhruba 40 dní. Tato tabulka se používala jako oblíbený argument pro dokazování stability BSD systémů v FreeBSD vs Linux flamewarech.
ULE scheduler nefunguje
V BSD jsou od řady 5 dva schedulery, klasický BSD a novější ULE. ULE je
modernější, neboť narozdíl od BSD zohledňuje logické procesory. ULE měl v
raných verzích problémy se stabilitou (Kernel panic), ale hlavní jeho problém
byl nedotažený algoritmus pro dynamické přidělování CPU času v závislosti na
chování programů.
Tento algoritmus nebyl zase tak úplně špatný, v řadě 5 se dal na desktopech
používat, pokud jste mu prominuly občasné přestupky. Například chování
prohlížeče Opera se mu nelíbilo a nepřiděloval jí téměř žádný CPU čas. Při
zatížení, které je běžné na serverech, byl ULE nepoužitelný - některé programy
se pod ním prakticky zastavily.
ULE měl jednu zajímavou vlastnost.
Pokud byla nice priorita procesu nastavena na 19-20 tak proces běžel jen když
byl procesor idle a neokrádal procesy s nice 0 o CPU čas jak tomu bylo v
případě BSD scheduleru, který dával aplikacím s nice 20 zhruba 15 procent CPU
času vzhledem k úloze s nice 0. Toto chování ULE bylo ideální pokud jste rádi
používali nice 20 k uklizení úloh u kterých nehrál čas dokončení roli.
Ve verzi 6.1 se ULE scheduling výrazně zhoršil a to natolik, že se stal
úplně nepoužitelným. Doufejme, že se mu dostane v budoucnu trochu pozornosti
a bude přepracován. Slovo doufejme bych podtrhl, neboť v BSD komunitě
se HTT zásadně zakazuje.
Upgradovat z 5.X či ne?
Upgrade na verzi 6 lze doporučit. Systém je celkově bystřejší, MySQL je
díky změnám ve fs rychlejší, snad i stabilnější díky opravám chyb v threadingu, zlepšila se podpora ACPI u notebooků, upgrade je
snadný a žádná nepříjemná překvapení se nekonají.
Verze pro tisk
|
Nejsou žádné diskuzní příspěvky u dané položky.
Příspívat do diskuze mohou pouze registrovaní uživatelé.
|
|

Vyhledávání software

Vyhledávání článků
28.11.2018 23:56 /František Kučera Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz 22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz 20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
16.7.2018 1:05 /František Kučera Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář
Více ...
Přidat zprávičku
 Poslední diskuze
31.7.2023 14:13 /
Linda Graham iPhone Services
30.11.2022 9:32 /
Kyle McDermott Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš Re: zavináč
2.12.2018 23:56 /
František Kučera Sraz
5.10.2018 17:12 /
Jakub Kuljovsky Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?
Více ...
|