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
- Boot com o dvd ou cd do FreeBSD
- Nesta tela pode selecionar a primeira opção ou esperar ele carregar.
- Nesta tela temos que selecionar o idioma. Movimentação é pelas cetas e pelo TAB, Selecione 31 Brazil
- Nesta tela selecione a opção padrão.
- Nesta tela selecione o tipo de instalação vamos selecionar Express
- Nesta tela vamos utilizar a opção do sistema nesta tela pressione A e depois Q
- Nesta tela selecione a primeira opção instalar o gerenciador de boot na MBR
- Nesta tela vamos utilizar as opções do sistema pressione A e depois Q
- Nesta tela vamos selecionar o tipo da nossa instalação Mininal navegue até ela com as setas depois pressione ESPAÇO, agora selecione OK
- Nesta outra tela selecione a origem da midia de instalação Vamos selecionar a primeira opção, e selecionar OK
- Nesta outra tela selecione yes e pressione ENTER.
- Agora aguarde alguns minutos dependendo da origem da midia
- Após ser terminado a copia dos arquivos podemos ir para a configuração do sistema selecione yes
- Agora selecione Root Password vamos setar a senha do root, informe a senha e confirme
- Agora selecione Time Zone, a primeira opção pode selecionar yes para setar o relogio da CMOS para UTC
- Agora selecione a sua região no nosso caso 2 America – North and South
- Agora selecione a opção 9 Brazil
- Agora selecione a opção 8 S & SE Brazil
- Agora na proxima opção selecione yes
- Agora voltamos ao menu principal vamos selecionar agora Networking
- selecione agora interfaces
- Primeira opção se vamos utilizar ipv6 no meu caso no
- Segunda se vamos utilizar dhcp no meu caso no
- 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.
- na proxima tela selecione voltar.
- Agora selecione User management.
- Na proxima tela selecione User
- 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.
- Agora selecione X exit
- Agora no menu principal selecione X exit
- Nessa outra tela selecione X Exit Install
- Nesta outra tela informe yes
- Agora so remover a midia de istalaçao e selecionar OK
- 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
- Selecione Configure
- Agora selecione Distributions
- Agora selecione man,catman,info
- Selecione também src
- Agora selecione base e sys agora selecione ok
- selecione ok novamente
- Agora selecione de onde vão ser obtidos esses arquivos do dvd de instalação ou do FTP
- Vou selecionar ftp
- Agora main site
- Depois só confirme a próxima pergunta
- Por que selecionar do ftp, la vamos ter as ultimas versões das manpages e do kernel.
- Porem dependendo do link de internet isso pode demorar.
- Agora já podemos sair do sysintall selecione X exit
- 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