Süsteemi uuendamine freebsd-update abil

Allikas: Kuutõrvaja

Lisaks otse CVSist uuendamisele võimaldab FreeBSD ka binaarset baas süsteemi uuendamist ning isegi versioonide vahetust.

Meil on näiteks värske FreeBSD 7.0 install ja sooviks kiirelt paigaldada olulisemad turvalisuse ning stabiilsusega seotud parandused. Ei midagi lihtsamat.

Vaatame ja tõmbame esimesena alla kõik uuendused

# freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching public key from update1.FreeBSD.org... done.
Fetching metadata signature for 7.0-RELEASE from update1.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 28 patches.....10....20.... done.
Applying patches... done.

The following files will be updated as part of updating to 7.0-RELEASE-p5:
/boot/kernel/if_faith.ko
/boot/kernel/if_faith.ko.symbols
/boot/kernel/if_fwip.ko
/boot/kernel/if_fwip.ko.symbols
/boot/kernel/if_stf.ko
/boot/kernel/if_stf.ko.symbols
/boot/kernel/ip_mroute.ko
/boot/kernel/ip_mroute.ko.symbols
/boot/kernel/ipfw.ko
/boot/kernel/ipfw.ko.symbols
/boot/kernel/kernel
/boot/kernel/kernel.symbols
/boot/kernel/pf.ko
/boot/kernel/pf.ko.symbols
/usr/bin/dig
/usr/bin/host
/usr/bin/nslookup
/usr/bin/nsupdate
/usr/include/netinet/tcp.h
/usr/include/netinet6/in6.h
/usr/include/netinet6/nd6.h
/usr/lib/libssh.a
/usr/lib/libssh.so.4
/usr/sbin/dnssec-signzone
/usr/sbin/lwresd
/usr/sbin/named
/usr/sbin/named-checkconf
/usr/sbin/named-checkzone
/usr/sbin/named-compilezone
/usr/sbin/sshd

Ja paigaldame need süsteemi

# freebsd-update install
Installing updates... done.

Peale rebooti on meil juba ees 7.0-RELEASE-p5 versioon

Selline lahendus muidugi nõudlikumaid kasutajaid ei rahulda kes harjunud STABLE haru näiteks kasutama. Aga production süsteemis kus kasutusel vaid RELEASE harud ning vajalik vaid turvauuendusi ja suuremaid veaparandusi paigaldada on see ideaalne

Juhul kui paigaldatud uuendused mingil põhjusel ei sobi saame nad eemaldada kiirelt käsuga

# freebsd-update rollback
Uninstalling updates... done.

Käske võib anda ka kombineeritult näiteks freebsd-update fetch install

Release uuendamine

Binaarselt on võimalik uuendada ka versiooni ennast näiteks

# freebsd-update upgrade -r 7.1-RELEASE

või

# freebsd-update upgrade -r 8.1-RELEASE

Tegeletakse uuenduste allatõmbamisega ja seadistusfailide mergemisega, kasutajalt küsitakse mõned küsimused.

# freebsd-update install
Installing updates...
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.

Ehk peale seda tuleb süsteem bootida uuelt kernelilt jätkamiseks. Kui reboot tehtud installitakse userlandi komponendid

# freebsd-update install

Viimase reboodi järel peaks olema näha uus versioon

# shutdown -r now

Juhul kui tegemist pole release vaid STABLE haruga, näiteks on svni kasutades varasemalt buildworld/buildkernel käsuga süsteemi sellele uuendatud, annab freebsd-update veate, et ei leia mirroreid. Selle vea parandamiseks

siseneme csh shelli ja anname seal käsu

# setenv UNAME_r "9.0-RELEASE"

Lingid

http://www.freebsd.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+6.2-RELEASE