Aktualizace FreeBSD

Z Wiki@FreeBSD.cz
Přejít na: navigace, hledání

Aktualizace FreeBSD ze zdrojového kódu

Nejprve přes cvsup stáhneme zdrojové kódy Stahovací soubor pro cvsup by měl vypadat nějak takto:

*default host=cvsup.sk.freebsd.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress
src-all
*default host=cvsup.sk.freebsd.org

Zde je definován server, ze kterého se budou stahovat zdrojáky systému.

*default base=/var/db
Toto je adresář databáze (neměnit)
*default prefix=/usr

Tady je definován prefix, čili místo, kde budeme zdrojáky synchronizovat se serverem (doporučuji neměnit)

*default release=cvs tag=.
Na tomto místě je nejdůležitější ono
tag=
což definuje jakou verzi budeme stahovat. RELEASE, STABLE, CURRENT a jaké verze. Samotná tečka (.) je pro CURRENT verzi. Stable verzi verze 6 získáte tagem RELENG_6, pro RELEASE verze 6.2 napište RELENG_6_2.
*default delete use-rel-suffix
*default compress
src-all

Tímto (src-all) definujeme, že stahujeme všechny zdrojáky (pokud chcete jen některé, tak kategorie jsou zakomentovány v souboru /usr/share/examples/cvsup/standard-supfile) Tento soubor uložte například do /root/cvsup-update. Cvsup můžete spouštět buď pomocí příkazu

cvsup -g -L 2 /root/cvsup-update

(kde /root/cvsup-update je cesta k cvsup souboru), nebo si můžete vytvořit shellový skript vypadající nějak takto:

#!/bin/sh
cvsup -g -L 2 /root/cvsup-update

, ten nakopírovat do /usr/bin jako update, udělat jej spustitelným (chmod +x /usr/bin/update) a spouštět jej jednoduše příkazem update. Cvsup Vám zesynchronizuje zdrojové kódy s cvs serverem. Po stažení zdrojáků můžeme (ale nemusíme) přepsat konfigurák jádra na naše jádro (pokud jedete na CURRENT, nebo se prostě spokojíte s GENERIC jádrem, pak tento krok přeskočte): Nyní následuje konfigurace jádra. Po ní následuje:

Soubor pro konfiguraci jádra je v
/usr/src/sys/i386/conf
a jmenuje se GENERIC. Tento soubor nakopírujeme (jako root) do stejné složky (čili /usr/src/sys/i386/conf) (můžete i jinak a sem jen udělat link) třeba pod jménem NASEJADRO. Pak jej editujeme. Soubor je velmi dobře okomentován a tak si nemyslím, že je nutné jej zde výrazně probírat.

Nyní přistupme k samotné kompilaci. Následující postup užívám klaždý týden a nesetkal jsem se s problémy:

# cd /usr/src

přesuneme se do adresáře se zdrojovými kódy systému

# make clean

vyčistíme podadresáře od zbytečných souborů vzniklých při kompilaci

# make buildworld

tímto příkazem zkompilujeme "svět" čili celý systém (bez jádra)

# make buildkernel KERNCONF=NASEJADRO
poté tímto příkazem zkompilujeme jádro (parametr KERNCONF můžeme vynechat pokud chceme zkompilovat GENERIC jádro)
# make installkernel KERNCONF=NASEJADRO
nainstalujeme nové jádro
# reboot

restartujeme do single-user módu. Při zobrazení bootovací obrazovky zmáčkneme klávesnici čísla 4 nebo nabootujeme s parametrem -s. V single user módu musíme přepojit kořenový oddíl (/) pro zápis a to pomocí posloupnosti těchto příkazů:

# fsck -p
# mount -u /
# mount -a -t ufs

doporučuji připojit swap pomocí

# swapon -a
# cd /usr/src
# mergemaster -p
# make installworld

Připraví k instalaci systému a nainstaluje systém

# mergemaster

Zkontroluje a nainstaluje (se zeptáním se) nové soubory /etc.

# reboot 

Reboot do nového systému

Binární bezpečnostní aktualizace FreeBSD

V případě, že nechcete provádět bezpečnostní aktualizace FreeBSD pomocí zdrojového kódu, lze využít systému FreeBSD Update. Nejprve je tedy třeba ověřit, zda je nainstalovaný klient freebsd-update (od verze FreeBSD 6.2 je již součástí systému). Pokud ne, lze to napravit například takto:

# cd /usr/ports/security/freebsd-update
# make install clean

Pro jednorázové provedení aktualizace stačí provést:

# freebsd-update fetch
# freebsd-update install

Pro automatizované provádění aktualizací je lepší použít:

# freebsd-update cron

Externí odkazy