FreeBSD ATUALIZANDO O CÓDIGO DE SEU FREEBSD 8.x .....VIA CSUP Inicialmente iremos baixar os source do FreeBSD, neste howto faremos isto utilizando o csup. ### Iremos criar um arquivo supfile que servirá para o nosso csup como um "arquivo de configuração". Como o nosso objetivo inicial é atualizar o nosso FreeBSD para a última versao STABLE do FreeBSD 8.X (Quando escrevi este howto era 8.0 STABLE), voce usaria este supfile: #--------- INICIO DO ARQUIVO ----------# *default host=cvsup.FreeBSD.org *default base=/var/db *default prefix=/usr *default release=cvs tag=RELENG_8 *default delete use-rel-suffix *default compress src-all #---------- FIM DO ARQUIVO ------------# OBS: salve com o nome/local "/usr/local/etc/src-supfile" . Vale lembrar que podemos escolher o servidor que desejamos "baixar" os sources, neste exemplo foi utilizado o cvsup12.FreeBSD.org que é um Top Level Domain, ou seja, os primeiros servidores que são atualizados do cvs oficial. Para obter informações sobre outros mirrors consulte a página oficial do FreeBSD http://www.freebsd.org ou instale o fastest_cvsup ( cd /usr/ports/sysutils/fastest_cvsup && make install clean ), com ele você conseguirá ver qual o servidor mais rápido no momento. Depois de tudo configurado basta digitar: # csup -g -L 2 /usr/local/etc/src-supfile Com este comando sera iniciado o "download" do novo codigo do FreeBSD. Depois que tudo acabar, voce terá que reecompilar o seu FreeBSD, para fazer isso: cd /usr/src make -j4 buildworld (* antes de dar o enter.... leia o * ali para baixo) make buildkernel KERNCONF=GENERIC make installkernel KERNCONF=GENERIC mergemaster -p make TMPDIR=/var/tmp installworld mergemaster -Pi reboot NOTA: sobre o mergemaster O `mergemaster -p` irá comparar os usuários/grupos atuais da máquina com os necessários pelo sistema. Muitas vezes usuários novos são incorporados ao sistema, e são necessários até mesmo para que o installworld seja executado corretamente. Por isso a necessidade de executá-lo antes do mesmo. Tome muito cuidado pois se for feita a escolha errada você poderá perder todos os usuários/grupos que foram cadastrados após a instalação. Na maioria dos casos, a opção ideal para ser usada no `mergemaster -p` é a opção "merge". Essa opção permite que você junte as novas alterações necessárias pelo sistema, mais as suas alterações, ou seja, os usuários/ grupos que você adicionou. Antes de selecionar a opção "i" para que o seu merge seja instalado, utilize a opção "v" e dê uma conferida no novo arquivo gerado. O `mergemaster -Pi` irá comparar o seu /etc com o /usr/src/etc, essa comparação não é feita por conteúdo, e sim pela versão do arquivo no CVS. Essa versão pode ser vista em cada arquivo em uma linha, no comço do mesmo, que possui a string "$FreeBSD:", portanto, se tem um arquivo que você não quer atualizar e não quer que apareça na hora da comparação, como por exemplo, o /etc/pf.conf, basta copiar essa linha do arquivo mais novo (/usr/src/etc/pf.conf) substituindo a do atual (/etc/pf.conf), estando os dois com a mesma versão, serão considerados iguais. O parâmetro -i faz com que arquivos novos que foram incorporados ao sistema sejam adicionados automaticamente, e o -P faz uma cópia de cada arquivo que você selecionar a opção "i" para instalar o mais novo e guarda isso em "/var/tmp/mergemaster", essa opção é extremamente importante, pois caso você substitua um arquivo que não deveria, você tem um backup. Execute *SEMPRE* o mergemaster, e com muito cuidado, essa é uma parte fundamental da atualização, e, se não for feita corretamente, seu servidor pode não inicializar mais os aplicativos corretamente no próximo boot. * Aqui a mais importantes de todas as observações: Obs.: O "make -j4 buildworld" demora muito pode ir tomar uma cervejinha - Se sua máquina for rápida = umas 4 cervejinhas - Se sua máquina for não tao rapida = 10 cervejas + bisteca na chapa - ... agora se sua maquina for lerda.... logo após o enter..... coloque a COSTELA no celofane ;) Espero ter ajudado :-) # Sample By # Christopher Giese # www.bsdux.com.br