Wednesday, January 25, 2006

Freebsd Upgrade *

FreeBSD Upgrade the Easy Way...

En este post escribire sobre como actualizar freebsd de Release a Stable, como actualizar los ports. ports tree, sysinstall y el directorio /etc.

Utilizare letras en ROJO para los comandos que el usuario necesita escribir en el shell y AZUL para los outputs del sistema.


Lo primero es asegurarse de tener CVSup instalado y el Mergemaster, el cvsup lo utilizaremos para bajar los sources del freebsd con el supfile correspondiente y el mergemaster para actualizar el directorio /etc.
Como saber si CVSup y Mergemaster estan instalados? sencillo:

firewax#
pkg_info | grep cvsup

deberia retornar: cvsup-without-gui-16.1h_2 General network file distribution system optimized for CVS

Mergemaster viene instalado en los sistemas freebsd 4.3 en adelante por default pero con un
ls /usr/sbin/mergemaster
nos aseguramos que esta ahi!

Ok, si esta todo ahi we`re ready to start :P

# cd /usr/share/examples/cvsup/
# cp stable-supfile /usr/local/etc/
# cd /usr/local/etc/
# ee stable-supfile

Aqui editaremos el sup-file, lo siguiente es lo mas importante que tenemos que tener en el sup-file
el default host podemos poner cualquiera de nuestra preferencia del mirror list de freebsd.

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

Empezaremos con la actualizacion.

firewax# cvsup stable-supfile

veremos algo asi como:

Connected to cvsup.FreeBSD.org
Updating collection src-all/cvs
Y despues al final:

Checkout doc/zh_TW.Big5/share/sgml/trademarks.ent
Checkout doc/zh_TW.Big5/share/sgml/urls.ent
Finished successfully

Ok ya tenemos todo el system source code :)

Ahora empezaremos a adecuar nuestro codigo para saber que compilar.
Crear si no existe.

# ee /etc/make.conf

Por ejemplo, si no quisieramos instalar el BIND, Sendmail, Perl ni los juegos la configuración correcta de /etc/make.conf seria:

NO_BIND=true
NO_SENDMAIL=true
NOPERL=true
NOGAMES=true


Ready, Ahora a compilar e instalar el source code.

# cd /usr/src
# make buildworld

Ahora compilamos el Kernel

# make buildkernel KERNCONF=MYKERNEL

Entonces Instalamos el nuevo kernel

# make installkernel KERNCONF=MYKERNEL

Hacemos un reboot, no es necesario pero si muy recomendable

# reboot


Una vez que reinicie nos logueamos como root y nos ponemos en /usr/src e intalamos todo

# make installworld

Esto lo que hace es instalar todos los binarys que compilamos hace un momentico, este proceso no deberia durar tanto como el anterior :), al terminar esto entonces nos faltaria actualizar nuestro directorio /etc.

El directorio etc es extremadamente importante y extremadamente peligroso tambien
antes de hacer el upgrade de este directorio es muy recomendable hacerle backup.

# cp -pr /etc /root

Ahora si estamos ready para correr el mergemaster, hay varias opciones ahi asi que recomiendo leerse el man del mergemaster.
El mergemaster lo que hara es una comparacion archivo por archivo del directorio /etc y hara lo que le digamos como por ejemplo replace el file, unir el nuevo file al viejo, etc etc etc.


Las posibles opciones que podemos realizar sobre los archivos del /etc son:

(d) para borrar el archivo
(m) para unir el archivo nuevo con el viejo
(i) para instalar el archivo nuevo y deshacer el archivo viejo
(v) para ver las diferencias entre el archivo viejo y nuevo

yo por mi parte puse la opcion -i del mergemaster en /usr/src;

# mergemaster -i
# reboot

Al reiniciar damos un uname -a para ver el cambio:

# uname -a
FreeBSD firewax.multicomputos.com 6.0-STABLE FreeBSD 6.0-STABLE #0: Thu Jan 26 17:18:54 AST 2006 fuhgawz@firewax.multicomputos.com:/usr/obj/usr/src/sys/BEEXWAX i386

y asi finalizamos la primera parte de la actualizacion :)

DOCUMENTATION UPGRADE

Lo primero es que hay que instalar un puerto SGML-to-HTML Converter:
# cd /usr/ports/textproc/docproj-nojadetex
# make install clean
ready
# cd /usr/doc
# make install clean

y listo con el update de la documentacion.

PORTUPGRADE

Seguire con lo del portupgrade despues, ya son las 6:19 PM Viernes fin de semana largo :P



6 comments:

cloklis said...

yo soy brutisima:P

Kiki A.Ortiz said...

si,lei el titulo victor,debe ta interesante lo otro q dice abajo

tu ta vivo mano<
te quiero mucho

Mr. Ortiz said...

Victor, vuelvo y te lo repito. YO QUIERO APRENDER FREEBSD O LINUX!

Beexwax said...

bueno dago lo primero es quu te des una leidita del handbook de freebsd y despues instalalo :)

Lynn Marie said...

ufff entendi todo tan rapido y tan facil!!

Gracias vics!!

E CIERRRRRTO!

yo quiero taco bell!!

Beexwax said...

el taco bell ta prometio, tu ere la que no aparece :S