Instalação do FreeBSD 8.2

O FreeBSD é um sistema operacional livre do tipo Unix descendente do BSD desenvolvido pela Universidade de Berkeley.

Está disponível para as plataformas Intel x86, DEC Alpha, Sparc, PowerPC e PC98 assim como para as arquiteturas baseadas em processadores de 64bits IA-64 e AMD64.

Considerado como robusto e estável, geralmente é utilizado em servidores, como de Internet ou Proxies, mas também pode ser utilizado como estação de trabalho.

Ports O Sistema de Ports, também chamado de Coleção de Ports ou simplesmente Ports, é um “sistema de instalação” de pacotes prático e eficiente utilizado pelo FreeBSD. Consiste numa estrutura de diretórios, os quais possuem arquivos (Makefiles) que especificam todos os pré-requisitos da instalação, como se deve compilar o código fonte, e o necessário para a instalação dos binários criados de um determinado pacote no sistema. Isto de forma praticamente automática, com pouca ou nenhuma intervenção do usuário.

O suporte do Ports é tão abrangente, possuindo atualmente mais de 20.000 softwares (abril/2009), que dificilmente é necessário procurar programas em outras fontes.

Arquivos binários pré-compilados do Ports são chamados de “pacotes” e estão disponíveis para download. Eles podem ainda ser automaticamente instalados sabendo-se o nome do pacote e passando este como parâmetro para o comando “pkg_add -r”.

Compatibilidade binária com Linux

O FreeBSD fornece compatibilidade binária com muitas outras variações do Unix. O mesmo também é compativel com o OS GNU/Linux. A razão por trás disso está em poder utilizar programas desenvolvidos para Linux, geralmente comerciais, que só são distribuídos em forma binária e que por isso não podem ser portados para o FreeBSD sem a vontade de seus criadores.

Esta extensão permite que os usuários usem a maioria dos programas que são distribuídas apenas em binários Linux. Quando comparado com o número de programas nativos disponíveis pelo Ports, a quantidade desses programas é insignificante.

Alguns aplicativos que podem ser utilizados sobre a compatibilidade Linux incluem StarOffice, Netscape, Adobe Acrobat, RealPlayer, VMware, Oracle, WordPerfect, Skype, Doom 3, Quake 4, a série Unreal Tournament, Beonex e outros.

Geralmente não há perda de desempenho na utilização de binários Linux em vez de programas nativos do FreeBSD.

Mascote e lema

Os derivados do BSD em geral tem como mascote um diabinho vermelho chamado Daemon que significa demônio em grego, mas na realidade se refere a programas que rodam na memória autonomamente para servir requisições.

Até 2005, o Beastie era o “logotipo” do FreeBSD, quando foi aberta uma competição para escolher um novo símbolo para o projeto. Em 8 de outubro, ganhou o desenho feito por Anton K. Gural para ser o novo símbolo do FreeBSD.

O lema do FreeBSD é The Power to Serve, ou seja, “O Poder de servir”, obviamente se referindo a sua aplicação como servidor.

História e desenvolvimento do FreeBSD

O projeto FreeBSD teve seu nascimento no início de 1993, em parte como uma consequência do conjunto de manutenção não-oficial do 386BSD (Unofficial 386BSD Patchkit). O primeiro lançamento oficial foi o FreeBSD 1.0 em dezembro de 1993, coordenado por Jordan Hubbard, Nate Williams e Rod Grimes.

O objetivo original era produzir um snapshot intermediário do 386BSD, de forma a poder corrigir uma série de problemas com este sistema, que o mecanismo de manutenção não era capaz de resolver. Alguns se lembrarão do nome inicial do projeto que era 386BSD 0.5 ou 386BSD Interim em referência a este fato.

386BSD era o sistema operacional de Bill Jolitz, que já estava naquele instante sofrendo quase um ano de negligência. Como o mecanismo de manutenção patchkit se tornava mais e mais desconfortável a cada dia que passava, foi decidido que algo tinha que ser feito ao que ofereceram a ele este snapshot interim. Tais planos foram bruscamente interrompidos quando Bill Jollitz decidiu repentinamente retirar sua sanção ao projeto sem nenhuma indicação clara do que deveria ser feito. Não levou muito para ficar claro que o objetivo continuava a valer a pena, mesmo sem a ajuda de Bill, e foi adotado o nome FreeBSD, sugerido por David Greenman.

O Início da divulgação e distribuição do sistem

Por volta desta época (1994), conforme a Novell e U.C. Berkeley acertaram ao longo do processo penal entre ambas, a respeito da situação legal da fita contendo o Net/2 de Berkeley. Uma das condições do acordo eram as concessões da U.C. Berkeley que implicava que grandes trechos do Net/2 fossem códigos impedidos e de propriedade da Novell, que havia por sua vez adquirido-os da AT&T algum tempo antes.

O que a Berkeley recebeu em retribuição foi a bênção da Novell para o lançamento da versão 4.4BSD-Lite que, quando acontecesse, seria declarado como impedido e todos os usuários do Net/2 seriam fortemente encorajados a mudar de sistema para a nova versão. Isso incluiu o FreeBSD, ao projeto foi dado o prazo final de julho de 1994 para parar de distribuir seu produto baseado na versão Net/2. Sob tais termos de acordo, o projeto poderia lançar uma última versão antes do prazo em questão, o que originou o FreeBSD 1.1.5.1.

O FreeBSD definiu então a árdua tarefa de literalmente se reinventar a partir de um sistema completamente novo e consideravelmente incompleto, o 4.4BSD-Lite. As versões Lite continham grandes blocos de código a menos, removidos pelo CSRG de Berkeley (devido a várias decisões legais), códigos necessários para a construção de um sistema inicializável e que podia ser utilizado em produção e o fato é, que a conversão do 4.4 para a plataforma Intel era altamente incompleta.

O projeto levou até novembro de 1994 para concluir esta transição, quando lançou a versão 2.0 do FreeBSD na rede mundial e em CDROM (em dezembro). Apesar de um pouco bruta naquele instante, a versão teve um sucesso significante, e foi seguida pelo FreeBSD 2.0.5, mais robusto e de mais fácil instalação, em junho de 1995.

Breve histórico de versões

Foi lançado o FreeBSD 2.1.5 em agosto de 1996, que foi bastante popular entre os provedores de internet (ISP) e as empresas a ponto de justificar a viabilidade de outra versão no ramo 2.1-STABLE. Esta versão foi o FreeBSD 2.1.7.1, lançado em fevereiro de 1997, que marcou o término do desenvolvimento mainstream do 2.1-STABLE. Agora em manutenção, apenas aperfeiçoamentos de segurança e outras correções críticas são realizadas neste ramo (RELENG_2_1_0). O ramo 2.2 do FreeBSD foi iniciado a partir da série parcial de desenvolvimento (-CURRENT) em novembro de 1996, foi intitulado ramo RELENG_2_2, e a primeira versão completa (2.2.1) foi lançada em abril de 1997. Versões posteriores ao longo do ramo 2.2 foram criadas no verão e outono de 1998, sendo a última delas (2.2.8) lançada em novembro de 1998, marcando o início do fim do ramo 2.2.

A árvore foi ramificada mais uma vez, em 20 de janeiro de 1999, iniciando os ramos 4.0-CURRENT e 3.X-STABLE. A partir da 3.X-STABLE, a versão 3.1 foi lançada, em 15 de fevereiro de 1999; a versão 3.2 foi lançada em 15 de maio de 1999; a 3.3 em 16 de setembro de 1999; a versão 3.4 em 20 de dezembro de 1999, e a 3.5 em 24 de junho de 2000, que foi complementada um pouco depois com uma pequena atualização de segurança, o 3.5.1, que incorporava algumas correções de segurança de última hora para o Kerberos. Esta se tornou a versão final para o ramo 3.X.

Outro ramo foi iniciado em 13 de março de 2000, de forma emergencial na metade do ramo 4.X-STABLE, considerado agora o ramo -STABLE corrente. Posteriormente houve várias versões desta série: 4.0-RELEASE foi apresentado ao mundo em março de 2000, e a versão mais recente, 4.10-RELEASE surgiu em maio de 2004. Existiriam versões adicionais ao longo do ramo 4.X-STABLE (RELENG_4) ainda em 2003.

A versão 5.0-RELEASE, muito aguardada, foi anunciada em 19 de janeiro de 2003. O resultado culminante de aproximadamente três anos de trabalho, esta versão colocou o FreeBSD no caminho do suporte avançado a multiprocessamento simétrico, suporte avançado a aplicações multithread e apresentou ao público suporte às plataformas UltraSPARC® e IA64. Esta versão foi seguida pela 5.1 em junho de 2003.

Além de um número muito grande de novas funcionalidades, as versões 5.X do FreeBSD contém ainda uma série de trechos em desenvolvimento em todas as arquiteturas de sistemas relacionadas. Por tal razão, as versões 5.X são consideradas versões de Nova Tecnologia, enquanto a série 4.X atua como versões de Produção. No momento apropriado, a série 5.X será declarada estável e o trabalho mais recente será destinado ao próximo ramo de desenvolvimento, o 6.0-CURRENT.

Por hora, projetos de desenvolvimento que requerem mais tempo continuam sendo realizados no ramo 5.X-CURRENT, e versões SNAPshot da série em CDROM (e lógico, na rede) estão contínuamente sendo disponibilizadas a partir do servidor de snapshots e apresentado como trabalho em progresso.

Produtos baseados no FreeBSD

  • Darwin, o núcleo do Mac OS X é em grande parte baseado no FreeBSD.
  • OpenDarwin, um projeto completamente separado da Apple que foi inicialmente baseado no Darwin.
  • PC-BSD é uma distribuição do FreeBSD projetada para uso desktop com instalador e gerenciador de pacotes simplificado.
  • BSDeviant é uma distribuição live CD que cabe em um Mini-CD
  • ClosedBSD
  • GNU/kFreeBSD
  • Debian GNU/kFreeBSD
  • Ging é uma distribuição live CD baseada no Debian GNU/kFreeBSD, indiretamente baseada no FreeBSD.
  • DragonFly BSD
  • Firefly BSD
  • O projeto FreeSBIE está produzindo distribuições live CD do FreeBSD, similares à distribuição Knoppix do Linux. O projeto FreeSBIE também inclui um conjunto de ferramentas para ajudá-lo a fazer seus próprios live file systems e CDROMs FreeSBIE.
  • Frenzy é outro live CD baseado no FreeBSD, direcionado principalmente para usuários russos.
  • PicoBSD é uma versão em disquete do FreeBSD.
  • m0n0wall é um pacote de firewall baseado no FreeBSD.
  • pfSense é um firewall/roteador basedo no m0n0wall e no FreeBSD.
  • FreeNAS é um servidor NAS baseado no FreeBSD/m0n0wall.
  • TrustedBSD
  • Gentoo/FreeBSD
  • DesktopBSD

Podemos obter o FreeBSD em Mirrors

Vamos instalação inicial do sistema

  1. Boot com o dvd ou cd do FreeBSD
  2. Nesta tela pode selecionar a primeira opção ou esperar ele carregar.
  3. Nesta tela temos que selecionar o idioma. Movimentação é pelas cetas e pelo TAB, Selecione 31 Brazil
  4. Nesta tela selecione a opção padrão.
  5. Nesta tela selecione o tipo de instalação vamos selecionar Express
  6. Nesta tela vamos utilizar a opção do sistema nesta tela pressione A e depois Q
  7. Nesta tela selecione a primeira opção instalar o gerenciador de boot na MBR
  8. Nesta tela vamos utilizar as opções do sistema pressione A e depois Q
  9. Nesta tela vamos selecionar o tipo da nossa instalação Mininal navegue até ela com as setas depois pressione ESPAÇO, agora selecione OK
  10. Nesta outra tela selecione a origem da midia de instalação Vamos selecionar a primeira opção, e selecionar OK
  11. Nesta outra tela selecione yes e pressione ENTER.
  12. Agora aguarde alguns minutos dependendo da origem da midia
  13. Após ser terminado a copia dos arquivos podemos ir para a configuração do sistema selecione yes
  14. Agora selecione Root Password vamos setar a senha do root, informe a senha e confirme
  15. Agora selecione Time Zone, a primeira opção pode selecionar yes para setar o relogio da CMOS para UTC
  16. Agora selecione a sua região no nosso caso 2 America – North and South
  17. Agora selecione a opção 9 Brazil
  18. Agora selecione a opção 8 S & SE Brazil
  19. Agora na proxima opção selecione yes
  20. Agora voltamos ao menu principal vamos selecionar agora Networking
  21. selecione agora interfaces
  22. Primeira opção se vamos utilizar ipv6 no meu caso no
  23. Segunda se vamos utilizar dhcp no meu caso no
  24. Aqui nesta tela temos que definir, o nome da maquina, dominio, gateway, dns server, ip e mascara. depois de informar tudo isso na proxima opção selecione yes.
  25. na proxima tela selecione voltar.
  26. Agora selecione User management.
  27. Na proxima tela selecione User
  28. Aqui nesta tela informe o login do usuario, o uid pode deixar o padrão o group informe wheel → para podermos passar para root, informe a senha e confirme e no shell selecione /bin/csh informe ok.
  29. Agora selecione X exit
  30. Agora no menu principal selecione X exit
  31. Nessa outra tela selecione X Exit Install
  32. Nesta outra tela informe yes
  33. Agora so remover a midia de istalaçao e selecionar OK
  34. A Instalação esta ok agora vamos ter que preparar o sistema.

Depois do reboot

Agora depois do boot log no sistema com o usuario root e a senha que voce definiu.

Agora vamos instalar o ports do nosso sistema para podermos instalar as nossas aplicacoes.

portsnap fetch && portsnap extract && portsnap update

Agora vamos instalar o portaudit para fazer auditoria em nossos ports então vamos procurar a localização do portaudit no ports

whereis portaudit
portaudit: /usr/ports/ports-mgmt/portaudit 

Agora vamos acessar o diretório

cd /usr/ports/ports-mgmt/portaudit

Vamos compilar ele e instalar o portaudit

make install distclean

Agora vamos atualizar as variáveis de nosso ambiente

source /root/.cshrc

Agora vamos fazer uma auditoria de nosso ports

portaudit -Fda

Agora vamos instalar o portmanager para que ele possa atualizar as nossas aplicações que foram instaladas apartir do ports

whereis portmanager
portmanager: /usr/ports/ports-mgmt/portmanager

Vamos acessar o diretório do portmanager

cd /usr/ports/ports-mgmt/portmanager

Agora vamos compilar e instalar o portmanager

make install distclean 

Deixe as opções padrões nos questionamentos

Agora vamos atualizar as variaveis de nosso ambiente.

source /root/.cshrc

Agora vamos mandar atualizar as aplicações instaladas apartir de nosso ports

portmanager -u -f

Agora vamos instalar os manuais e infos do FreeBSD e o kernel para mais tarde efetuarmos modificações nele

sysinstall
  1. Selecione Configure
  2. Agora selecione Distributions
  3. Agora selecione man,catman,info
  4. Selecione também src
  5. Agora selecione base e sys agora selecione ok
  6. selecione ok novamente
  7. Agora selecione de onde vão ser obtidos esses arquivos do dvd de instalação ou do FTP
  8. Vou selecionar ftp
  9. Agora main site
  10. Depois só confirme a próxima pergunta
  11. Por que selecionar do ftp, la vamos ter as ultimas versões das manpages e do kernel.
  12. Porem dependendo do link de internet isso pode demorar.
  13. Agora já podemos sair do sysintall selecione X exit
  14. Agora selecione X Exit Install

Agora vamos mandar instalar o vim

pkg_add -r vim

Agora vamos configurar o vim o arquivo de exemplo do vim

cp /usr/local/share/vim/vim73/vimrc_example.vim /usr/local/share/vimrc

Vamos carregar as variáveis do ambiente

source /root/.cshrc

Agora vamos editar o arquivo do vim para o root

vim ~/.vimrc
set nocompatible
syntax on
set autowrite aw " Salva a cada alteração.
set expandtab et " Troca tab por espacos.
set hidden hid " Preserva o buffer.
set hlsearch hls " Elumina a última procura.
set ignorecase ic " Case insensitive na busca.
"set incsearch is " Ilumina procura enquanto digita.
set laststatus=2 " Mostra linha de estado.
set lazyredraw lz " Não redesenha em macros.
set magic " Usar mágicas na procura de padrões.
set report=0 " Mostra aviso quando N linhas mudaram (0=sempre).
set showcmd " Mostra o comando que se está fazendo.
set showmatch sm " Mostra o casamento de {},[],().
set smartcase scs " Assume "noic" quando tiver maiúsculas.
set textwidth=80 " Quebra de linha do texto.
set vb t_vb= " => Retira o "beep" de erro.
set backspace=indent,eol,start "Controle do backspace
set ruler "régua de navegação
set title "titulo do arquivo aberto

Caso ache necessário copie o arquivo ~/.vimrc para o /usr/share/skel para que novos usuários já tenham esse arquivo de configuração faça da seguinte forma

cp /root/.vimrc /usr/share/skel/dot.vimrc

Agora vamos habilitar o ssh

vim /etc/rc.conf
[...]
sshd_enable="YES"

Agora vamos iniciar o serviço de ssh

/etc/rc.d/sshd start

Agora podemos configurar para o usuário root efetuar login via ssh

vim /etc/ssh/sshd_config
[...]
PermitRootLogin yes

Agora é só reiniciar o serviço

/etc/rc.d/sshd restart

Configuração de endereço ip e alguns serviços básicos

No meu caso como estou utilizando uma interface de rede Intel e a identificação dela para o sistema é em0 a configuração fica como abaixo.

vim /etc/rc.conf
[...]
#Configuração da loopback
ifconfig_lo0="inet 127.0.0.1"
#Configuração da interface de rede
ifconfig_em0="inet 10.0.0.23 netmask 255.255.255.0"
#Configuração do GW
defaultrouter="10.0.0.254"
#Configução do hostname da maquina
hostname="freebsd.douglasqsantos.com.br"
#Configurando uma interface de rede virtual opcional
ifconfig_em0_alias0="inet 192.168.10.1 netmask 255.255.255.0"
#Configurando mais uma interface de rede virtual opcional
ifconfig_em0_alias1="inet 192.168.11.1 netmask 255.255.255.0"
#Habilitando a maquina para trabalhar como gateway
gateway_enable="YES"
#Habilitando o syslog
syslogd_enable="YES"
syslogd_program="/usr/sbin/syslogd"
#Habilitar a checagem de sistema de arquivo na inicilização
fsck_y_enable="YES"
fsck_y_flags="-p"
#Habilitando o cron
cron_enable="YES"
cron_program="/usr/sbin/cron"
cron_dst="YES"
#Teclado abnt2
keymap="br275.iso"
#Limpeza de tmp
clear_tmp_enable="YES"
#Lista de modulos para carregar na inicialização
#kld_list="if_bwn if_bwi bwi_v3_ucode bwn_v4_ucode runfw ng_ubt cuse4bsd sem ntfs ntfs_iconv udf udf_iconv ext2fs"
#Desabilitando o PF
pf_rules="/etc/pf.conf"
pf_enable="NO"
pf_flags=""

Vamos configurar o arquivo do syslog insira a configuração no final do arquivo

vim /etc/syslog.conf
[...]
*.*       /var/log/syslog

Agora vamos criar o arquivo do syslog e configurar as permissões dele

touch /var/log/syslog
chmod 600 /var/log/syslog

Agora vamos reiniciar o serviço do syslog para que ele possa utilizar a nova configuração

/etc/rc.d/syslogd restart

Como reiniciar o serviço de rede

/etc/netstart restart

Adicionando uma nova rota statica manualmente

route add -net 172.29.0.0 -netmask 255.255.255.0 -gateway 10.0.0.254

Adicionando uma rota padrão manualmente

route add default 10.0.0.254

Verificando agora as rotas

netstat -rn

Agora vamos configurar algumas variaveis do nosso ambiente

vim /root/.cshrc
alias h         history 25
alias j         jobs -l
alias la        ls -a
alias lf        ls -FA
alias ll        ls -lA
alias ls        ls -G
alias grep      grep --color
alias egrep     egrep --color
alias df        df -Th
# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)

setenv  CLICOLOR true
setenv  EDITOR  vim
setenv  PAGER   less
setenv  BLOCKSIZE       K


if ($?prompt) then
        # An interactive shell -- set some stuff up
        switch ($TERM)
        case "xterm*":
                set prompt = '%{\033]0;%n@%m:%~\007%}[%B%n@%m%b] %B%~%b%# '
                breaksw
        default:
                set prompt = '[%B%n@%m%b] %B%~%b%# '
                breaksw
        endsw
        set filec
        set history = 100
        set savehist = 100
        set mail = (/var/mail/$USER)
        if ( $?tcsh ) then
                bindkey "^W" backward-delete-word
                bindkey -k up history-search-backward
                bindkey -k down history-search-forward
        endif
endif

Agora vamos importar essas configurações

source /root/.cshrc

Agora digite exemplo ls já vai aparecer os arquivos coloridos

Opcional

Agora vamos instalar o shell bash, vamos procurar ele no ports

whereis bash
bash: /usr/ports/shells/bash

Agora vamos compilar e instalar ele

cd /usr/ports/shells/bash
make install distclean

Agora vamos trocar o shell do root

chsh -s /usr/local/bin/bash root 

Agora vamos instalar o ls colorido, vamos procurar ele no ports

whereis gnuls
gnuls: /usr/ports/misc/gnuls

Agora vamos compilar e instalar ele

cd /usr/ports/misc/gnuls/
make install distclean

Agora vamos acertar o PS1 e o nosso ls

vim /root/.profile
#No Final do Arquivo
export PS1='\[\033[01;31m\][\[\033[01;37m\]\t\[\033[01;31m\]] \[\033[01;32m\]\u\[\033[01;31m\]@\[\033[01;32m\]\h \[\033[01;31m\][\[\033[01;33m\]\w\[\033[01;31m\]] \[\033[01;37m\]# \[\033[00m\]'
alias ls="gnuls --color=auto"

Agora faça logout e logue novamente.

logout

Agora vamos compilar o kernel para habilitar o ipfw

Agora vamos fazer alguns acertos

cd /usr/src/sys/amd64/conf
mkdir /root/kernels
cp GENERIC /root/kernels/douglas
ln -s /root/kernels/douglas

Agora vamos habilitar o ipfw dai tem opcional: compatibilidade com linux, quota, balanceamento de carga

vim douglas
[...]
options         SMP                     # Symmetric MultiProcessor Kernel
#habilitar o IPFW
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=1000
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_FORWARD
options IPFIREWALL_NAT # Aqui é ativo o NAT no kernel
options LIBALIAS # Necessário para o NAT
options IPDIVERT
options DUMMYNET

#Compatibilidade com linux
options COMPAT_LINUX
options COMPAT_43
options PSEUDOFS
options LINPROCFS

#Habilitar quota
Options QUOTA

#Habilitar balanceamento de carga e priorizacao de pacotes
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_PRIQ
options ALTQ_NOPCC

Agora vamos testar a configuração do nosso kernel

/usr/sbin/config douglas

Agora vamos mudar o diretório como pedido

cd ../compile/douglas

Agora vamos compilar as dependências do kernel

make cleandepend && make depend

Agora vamos compilar o kernel

make

Agora vamos mandar instalar o kernel

make install

Vamos limpar os objetos temporários da compilação

make clean

Agora é so reiniciar o servidor

reboot 

Vamos testar o ipfw

ipfw show
65535 3153 352259 allow ip from any to any

Forma 2 de compilar o kernel

Fazer alguns acertos

cd /usr/src/sys/amd64/conf
mkdir /root/kernels
cp GENERIC /root/kernels/douglas
ln -s /root/kernels/douglas

Agora vamos habilitar o ipfw dai tem opcional: compatibilidade com linux, quota, balanceamento de carga

vim douglas
[...]
options         SMP                     # Symmetric MultiProcessor Kernel
#habilitar o IPFW
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=1000
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_FORWARD
options IPFIREWALL_NAT # Aqui é ativo o NAT no kernel
options LIBALIAS # Necessário para o NAT
options IPDIVERT
options DUMMYNET

#Compatibilidade com linux
options COMPAT_LINUX
options COMPAT_43
options PSEUDOFS
options LINPROCFS

#Habilitar quota
Options QUOTA

#Habilitar balanceamento de carga e priorizacao de pacotes
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_PRIQ
options ALTQ_NOPCC

Agora vamos compilar o nosso kernel

cd /usr/src
make buildkernel KERNCONF=douglas

Agora vamos instalar ele

make installkernel KERNCONF=douglas

Agora vamos reiniciar o servidor

reboot

Vamos testar o ipfw

ipfw show
65535 3153 352259 allow ip from any to any

Agora vamos instalar o htop para monitorarmos o sistema, mas antes vamos fazer alguns ajustes

mkdir -p /usr/compat/linux/proc
ln -s /usr/compat /compat

Agora vamos adicionar a entrada da compatibilidade com linux no final do arquivo /etc/fstab

vim /etc/fstab
[...]
linproc /compat/linux/proc linprocfs rw 0 0

Agora vamos montar essa partição

mount linproc

Agora vamos procurar no ports o htop

whereis htop
htop: /usr/ports/sysutils/htop

Agora vamos acessar ele e vamos mandar compilar e instalar, responda as perguntas com as opções padrões.

cd /usr/ports/sysutils/htop
make install distclean

Agora se tiver utilizando o enterpretador de shell csh temos que atualizar ele

source /root/.cshrc

Agora já podemos chamar o nosso htop

htop

Opcional

Fazendo um update de nosso FreeBSD, o processo de update do FreeBSD é bem mais simples do que o processo do OpenBSD aonde temos que obter os códigos fontes e compilar tudo e instalar.

O processo para um update do nosso FreeBSD é o seguinte.

Vamos obter os patchs

freebsd-update fetch

Agora vamos mandar instalar os patchs

freebsd-update install

Podemos deixar este processo agendado no crontab da seguinte forma

echo "@daily                                  root    freebsd-update cron" >> /etc/crontab

Caso tenha algum problema com a atualização podemos voltar o ponto anterior da seguinte forma

freebsd-update rollback

Agora podemos mandar instalar o portupgrade, para fazermos um upgrade dos nossos ports.

cd /usr/ports/ports-mgmt/portupgrade && make install distclean

Agora vamos fazer o upgrade do nosso ports

portupgrade -af

Referências