LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> 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 7005×

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

pridej.cz

 

DISKUZE

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 ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze