Differences

This shows you the differences between two versions of the page.

Link to this comparison view

instalacao_e_configuracao_inicial_do_freebsd_9.0_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Instalação do FreeBSD 9.0 ======
  
 +
 +O **<​nowiki>​FreeBSD</​nowiki>​** é 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, <​nowiki>​PowerPC</​nowiki>​ 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 <​nowiki>​FreeBSD</​nowiki>​. 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 <​nowiki>​FreeBSD</​nowiki>​ 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 <​nowiki>​FreeBSD</​nowiki>​ 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 <​nowiki>​StarOffice</​nowiki>,​ Netscape, Adobe Acrobat, <​nowiki>​RealPlayer</​nowiki>,​ VMware, Oracle, <​nowiki>​WordPerfect</​nowiki>,​ 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 <​nowiki>​FreeBSD</​nowiki>​.
 +
 +**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 <​nowiki>​FreeBSD</​nowiki>,​ 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 <​nowiki>​FreeBSD</​nowiki>​.
 +
 +O lema do <​nowiki>​FreeBSD</​nowiki>​ é The Power to Serve, ou seja, "O Poder de servir",​ obviamente se referindo a sua aplicação como servidor.
 +
 +**História e desenvolvimento do <​nowiki>​FreeBSD</​nowiki>​**
 +
 +O projeto <​nowiki>​FreeBSD</​nowiki>​ 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 <​nowiki>​FreeBSD</​nowiki>​ 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 <​nowiki>​FreeBSD</​nowiki>,​ 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 <​nowiki>​FreeBSD</​nowiki>,​ 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 <​nowiki>​FreeBSD</​nowiki>​ 1.1.5.1.
 +
 +O <​nowiki>​FreeBSD</​nowiki>​ 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 <​nowiki>​FreeBSD</​nowiki>​ 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 <​nowiki>​FreeBSD</​nowiki>​ 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 <​nowiki>​FreeBSD</​nowiki>​ 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 <​nowiki>​FreeBSD</​nowiki>​ 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 <​nowiki>​FreeBSD</​nowiki>​ 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 <​nowiki>​FreeBSD</​nowiki>​ 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 <​nowiki>​UltraSPARC</​nowiki>​® 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 <​nowiki>​FreeBSD</​nowiki>​ 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 <​nowiki>​FreeBSD</​nowiki>​**
 +
 +  * Darwin, o núcleo do Mac OS X é em grande parte baseado no <​nowiki>​FreeBSD</​nowiki>​.
 +  * <​nowiki>​OpenDarwin</​nowiki>,​ um projeto completamente separado da Apple que foi inicialmente baseado no Darwin.
 +  * PC-BSD é uma distribuição do <​nowiki>​FreeBSD</​nowiki>​ projetada para uso desktop com instalador e gerenciador de pacotes simplificado.
 +  * BSDeviant é uma distribuição live CD que cabe em um Mini-CD
 +  * <​nowiki>​ClosedBSD</​nowiki>​
 +  * GNU/​k<​nowiki>​FreeBSD</​nowiki>​
 +  * Debian GNU/​k<​nowiki>​FreeBSD</​nowiki>​
 +  * Ging é uma distribuição live CD baseada no Debian GNU/​k<​nowiki>​FreeBSD</​nowiki>,​ indiretamente baseada no <​nowiki>​FreeBSD</​nowiki>​.
 +  * <​nowiki>​DragonFly</​nowiki>​ BSD
 +  * Firefly BSD
 +  * O projeto <​nowiki>​FreeSBIE</​nowiki>​ está produzindo distribuições live CD do <​nowiki>​FreeBSD</​nowiki>,​ similares à distribuição Knoppix do Linux. O projeto <​nowiki>​FreeSBIE</​nowiki>​ também inclui um conjunto de ferramentas para ajudá-lo a fazer seus próprios live file systems e CDROMs <​nowiki>​FreeSBIE</​nowiki>​.
 +  * Frenzy é outro live CD baseado no <​nowiki>​FreeBSD</​nowiki>,​ direcionado principalmente para usuários russos.
 +  * <​nowiki>​PicoBSD</​nowiki>​ é uma versão em disquete do <​nowiki>​FreeBSD</​nowiki>​.
 +  * m0n0wall é um pacote de firewall baseado no <​nowiki>​FreeBSD</​nowiki>​.
 +  * pfSense é um firewall/​roteador basedo no m0n0wall e no <​nowiki>​FreeBSD</​nowiki>​.
 +  * <​nowiki>​FreeNAS</​nowiki>​ é um servidor NAS baseado no <​nowiki>​FreeBSD</​nowiki>/​m0n0wall.
 +  * <​nowiki>​TrustedBSD</​nowiki>​
 +  * Gentoo/<​nowiki>​FreeBSD</​nowiki>​
 +  * <​nowiki>​DesktopBSD</​nowiki>​
 +
 +Podemos obter o <​nowiki>​FreeBSD</​nowiki>​ em [[http://​www.freebsd.org/​where.html | Mirrors]]
 +
 +Vamos instalação inicial do sistema ​
 +  - Boot com o dvd ou cd do <​nowiki>​FreeBSD</​nowiki>​
 +  - Nesta tela pode selecionar a primeira opção ou esperar ele carregar.
 +  - Nesta tela temos que selecionar o que vamos fazer selecione Install
 +  - Agora o sistema nos questiona sobre a configuração do teclado selecione YES
 +  - Agora temos selecionar qual o teclado eu estou utilizando abnt2, então vou escolher Brazilian 275 ISO-8859-1 (accent keys)
 +  - Agora precisamos informar o nome da máquina, vou informar freebsd
 +  - Agora temos que selecionar o que vamos instalar em nosso sistema, vamos selecionar somente deixar de fora somente games, as outras opções doc,​lib32,​ports e src deixe marcado.
 +  - Agora precisamos configurar as partições,​ selecione Guided
 +  - Agora precisamos selecionar Entire Disk
 +  - Se for questionado,​ que o disco vai ser apagado todos os dados do disco selecione YES
 +  - Aqui o <​nowiki>​FreeBSD</​nowiki>​ já montou as partições de acordo com o tamanho do disco definido, aqui vamos selecionar Finish.
 +  - Agora vamos selecione COMMIT para confirmar as alterações.
 +  - Depois que o sistema foi instalado temos que informar a senha do root.
 +  - Agora se a placa de rede, foi detectada vamos poder configurar ela selecionando ok
 +  - Agora selecione yes para configurar o ipv4
 +  - Agora podemos selecionar yes para configurar o freebsd para obter ip em um servidor dhcp ou no para definirmos, vou selecionar no
 +  - Agora temos que informar o endereço ip, mascara de sub-rede e o gateway.
 +  - Agora vamos ser questionados sobre a configuração de ipv6, como não vou utilizar selecione no.
 +  - Agora precisamos informar o domínio de pesquisa, e o ip dos servidores dns.
 +  - Agora vamos selecionar yes para configurar o timezone.
 +  - Agora selecione 2 America -- North and South
 +  - Agora selecione 10 Brazil
 +  - Como eu estou no Paraná vou selecionar 8 porém selecione de acordo com a sua região.
 +  - Agora selecione yes para configurar a abreviação.
 +  - Agora vamos deixar marcados quais serviços vão ser inicializados no boot selecione sshd.
 +  - Agora se você quer ajudar a equipe de desenvolvimento do <​nowiki>​FreeBSD</​nowiki>​ com o crash dumps selecione yes eu vou selecionar no.
 +  - Agora vamos selecionar yes para adicionar um usuário comum no sistema.
 +  - Informe um nome pra ele por ex: douglas
 +  - Agora informe o nome completo pra ele ex: Douglas Quintiliano dos Santos
 +  - Vamos deixar o uid que o sistema gerar então somente ENTER
 +  - Vamos deixar o login group do default então somente ENTER
 +  - Agora vamos adicionar esse usuário no grupo wheel, informe wheel
 +  - Vamos deixar o login class como default, então somente ENTER
 +  - Agora podemos selecionar qual shell vamos utilizar vou informar csh
 +  - Agora podemos informar qual o diretório home do usuário, vou deixar o padrão.
 +  - As permissões vamos deixar as padrões, então somente ENTER
 +  - Aqui vamos ser questionados sobre a autenticação com senha, então somente ENTER
 +  - Aqui vamos ser questionados sobre o uso de senha vazia, então somente ENTER
 +  - Aqui vamos ser questionados sobre o uso de senha randomica, então somente ENTER
 +  - Agora vamos informar a senha
 +  - Agora confirme a senha
 +  - Agora vamos ser questionados sobre o bloqueio da conta, então somente ENTER
 +  - Agora para confirmar a criação do usuário vamos informar yes
 +  - Agora vamos ser questionados sobre a criação de mais uma conta, informe no
 +  - Agora temos um menu de configuração principal, vou selecionar Exit, pois são os passos que efetuamos até o momento.
 +  - Agora temos a opção de efetuar alguma configuração adicional no sistema, eu vou selecionar no.
 +  - Vamos selecionar agora reboot.
 +  - Agora vamos remover a mídia de instalação,​ e aguarde o sistema ser inicializado.
 +
 +
 +** Depois do reboot **  ​
 +
 +Agora depois do boot log no sistema com o usuario root e a senha que você definiu. ​
 +
 +Aqui eu vou habilitar o root a efetuar sshd para o <​nowiki>​FreeBSD</​nowiki>,​ então vamos lá
 +<sxh bash>
 +
 +vi /​etc/​ssh/​sshd_config
 +[...]
 +PermitRootLogin yes
 +</​sxh>​
 +
 +Agora vamos reiniciar o ssh
 +<sxh bash>
 +
 +/​etc/​rc.d/​sshd restart
 +</​sxh>​
 +
 +Agora vamos instalar o ports do nosso sistema para podermos instalar as nossas aplicacoes. ​
 +<sxh bash>
 +
 +portsnap fetch && portsnap extract && portsnap update
 +</​sxh>​
 +
 +Agora vamos instalar o portaudit para fazer auditoria em nossos ports então vamos procurar a localização do portaudit no ports 
 +<sxh bash>
 +
 +whereis portaudit
 +portaudit: /​usr/​ports/​ports-mgmt/​portaudit -> este é o caminho no ports 
 +</​sxh>​
 +
 +Agora vamos acessar o diretório ​
 +<sxh bash>
 +
 +cd /​usr/​ports/​ports-mgmt/​portaudit
 +</​sxh>​
 +
 +
 +Vamos compilar ele e instalar o portaudit
 +<sxh bash>
 +
 +make install distclean
 +</​sxh>​
 +
 +
 +Agora vamos atualizar as variáveis de nosso ambiente  ​
 +<sxh bash>
 +
 +source /​root/​.cshrc
 +</​sxh>​
 +
 +Agora vamos fazer uma auditoria de nosso ports 
 +<sxh bash>
 +
 +portaudit -Fda
 +</​sxh>​
 +
 +Agora vamos instalar o portmanager para que ele possa atualizar as nossas aplicações que foram instaladas apartir do ports 
 +<sxh bash>
 +
 +whereis portmanager
 +portmanager:​ /​usr/​ports/​ports-mgmt/​portmanager
 +</​sxh>​
 +
 +Vamos acessar o diretório do portmanager ​
 +<sxh bash>
 +
 +cd /​usr/​ports/​ports-mgmt/​portmanager
 +</​sxh>​
 +
 +Agora vamos compilar e instalar o portmanager ​
 +<sxh bash>
 +
 +make install distclean ​
 +</​sxh>​
 +
 +Deixe as opções padrões nos questionamentos ​
 +
 +Agora vamos atualizar as variaveis de nosso ambiente. ​
 +
 +<sxh bash>
 +
 +source /​root/​.cshrc
 +</​sxh>​
 +
 +Agora vamos mandar atualizar as aplicações instaladas apartir de nosso ports 
 +<sxh bash>
 +
 +portmanager -u -f
 +</​sxh>​
 +
 +Agora vamos mandar instalar o vim
 +<sxh bash>
 +
 +pkg_add -r vim
 +</​sxh>​
 +
 +Agora vamos configurar o vim o arquivo de exemplo do vim 
 +<sxh bash>
 +
 +cp /​usr/​local/​share/​vim/​vim73/​vimrc_example.vim /​usr/​local/​share/​vimrc
 +</​sxh>​
 +
 +Vamos carregar as variáveis do ambiente ​
 +<sxh bash>
 +
 +source /​root/​.cshrc
 +</​sxh>​
 +
 +Agora vamos editar o arquivo do vim para o root vou disponibilizar o vimrc que eu utilizo que tem algumas customizações
 +<sxh bash>
 +wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​scripts/​vimrc -O /​root/​.vimrc
 +</​sxh>​
 +
 +Agora vamos ajustar o vim
 +<sxh bash>
 +vim /​root/​.vimrc
 +
 +<ESQ> :set ff=unix
 +</​sxh>​
 +
 +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 
 +<sxh bash>
 +cp /​root/​.vimrc /​usr/​share/​skel/​dot.vimrc
 +</​sxh>​
 +
 +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. ​
 +<sxh bash>
 +
 +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.kbd"​
 +#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=""​
 +#Acertando o NTP
 +ntpdate_enable="​YES"​
 +ntpdate_config="/​etc/​ntp.conf"​
 +ntpdate_hosts="​ntp.usp.br"​
 +</​sxh>​
 +
 +Vamos configurar o arquivo do syslog insira a configuração no final do arquivo ​
 +<sxh bash>
 +
 +vim /​etc/​syslog.conf
 +[...]
 +*.*       /​var/​log/​syslog
 +</​sxh>​
 +
 +Agora vamos criar o arquivo do syslog e configurar as permissões dele 
 +<sxh bash>
 +
 +touch /​var/​log/​syslog
 +chmod 600 /​var/​log/​syslog
 +</​sxh>​
 +
 +Agora vamos reiniciar o serviço do syslog para que ele possa utilizar a nova configuração ​
 +<sxh bash>
 +
 +/​etc/​rc.d/​syslogd restart
 +</​sxh>​
 +
 +Como reiniciar o serviço de rede 
 +<sxh bash>
 +
 +/​etc/​netstart restart
 +</​sxh>​
 +
 +Adicionando uma nova rota statica manualmente ​
 +<sxh bash>
 +
 +route add -net 172.29.0.0 -netmask 255.255.255.0 -gateway 10.0.0.254
 +</​sxh>​
 +
 +Adicionando uma rota padrão manualmente ​
 +<sxh bash>
 +
 +route add default 10.0.0.254
 +</​sxh>​
 +
 +Verificando agora as rotas 
 +<sxh bash>
 +
 +netstat -rn
 +</​sxh>​
 +
 +Agora vamos configurar algumas variaveis do nosso ambiente ​
 +<sxh bash>
 +
 +vim /​root/​.cshrc
 +#Vamos adicionar alguns alias
 +alias ls        ls -G
 +alias grep      grep --color
 +alias egrep     egrep --color
 +alias df        df -Th
 +
 +
 +#Aguns acertos de sistema
 +setenv ​ CLICOLOR true
 +setenv ​ EDITOR ​ vim
 +setenv ​ PAGER   less
 +setenv ​ BLOCKSIZE ​      K
 +</​sxh>​
 +
 +Agora vamos importar essas configurações ​
 +<sxh bash>
 +
 +source /​root/​.cshrc
 +</​sxh>​
 +
 +Agora digite exemplo ls já vai aparecer os arquivos coloridos ​
 +
 +** Opcional ** 
 +
 +Agora vamos instalar o shell bash, vamos procurar ele no ports 
 +<sxh bash>
 +
 +whereis bash
 +bash: /​usr/​ports/​shells/​bash
 +</​sxh>​
 +
 +Agora vamos compilar e instalar ele 
 +<sxh bash>
 +
 +cd /​usr/​ports/​shells/​bash
 +make install distclean
 +</​sxh>​
 +
 +Agora vamos trocar o shell do root 
 +<sxh bash>
 +
 +chsh -s /​usr/​local/​bin/​bash root 
 +</​sxh>​
 +
 +Agora vamos instalar o ls colorido, vamos procurar ele no ports 
 +<sxh bash>
 +
 +whereis gnuls
 +gnuls: /​usr/​ports/​misc/​gnuls
 +</​sxh>​
 +
 +Agora vamos compilar e instalar ele 
 +<sxh bash>
 +
 +cd /​usr/​ports/​misc/​gnuls/​
 +make install distclean
 +</​sxh>​
 +
 +Agora vamos acertar o PS1 e o nosso ls 
 +<sxh bash>
 +
 +vim /​root/​.profile
 +#No Final do Arquivo
 +PAGER=less
 +EDITOR=vim
 +export PAGER EDITOR
 +PS1='​\[\033[01;​31m\]\u@\h\[\033[00m\]:​\[\033[01;​34m\]\w\[\033[00m\]#​ '
 +alias ls="​gnuls --color=auto"​
 +alias df="df -Th"
 +alias grep="​grep --color"​
 +alias egrep="​egrep --color"​
 +</​sxh>​
 +
 +
 +Agora faça logout e logue novamente.
 +<sxh bash>
 +
 +logout
 +</​sxh>​
 +
 +Temos mais uma opção muito show de bola pra shell, para quem trabalha muito com o shell precisamos sempre de ferramentas que nós ajudem então temos o [[http://​en.wikipedia.org/​wiki/​Z_shell|zsh]]
 +
 +Vamos instalar ele
 +<sxh bash>
 +pkg_add -r zsh
 +</​sxh>​
 +
 +Agora vamos mudar o shell do usuário root
 +<sxh bash>
 +chsh -s /​usr/​local/​bin/​zsh root
 +</​sxh>​
 +
 +Agora vamos obter um arquivo personalizado dele eu peguei o padrão que eu utilizo do Arch Linux
 +<sxh bash>
 +wget -c http://​www.douglas.wiki.br/​Downloads/​scripts/​zshrc -O /​root/​.zshrc
 +</​sxh>​
 +
 +Agora vamos fazer logout e logar novamente
 +<sxh bash>
 +logout
 +</​sxh>​
 +
 +Agora pense que você não mandou instalar o kenel do sistema. Então a gente precisa obter ele, vamos fazer este processo com o cvsup, vamos mandar instalar ele.
 +
 +Podemos mandar instalar ele com o pkg_add da seguinte forma
 +<sxh bash>
 +pkg_add -r cvsup-without-gui
 +</​sxh>​
 +
 +Podemos mandar instalar tambem via ports aqui escolhemos as opções padrões do sistema.
 +<sxh bash>
 +
 +cd /​usr/​ports/​net/​cvsup
 +make && make install clean
 +</​sxh>​
 +
 +
 +Agora vamos acertar a configuração dele.
 +<sxh bash>
 +
 +cp -Rfa /​usr/​src/​share/​examples/​cvsup/​cvs-supfile /​etc/​supfile
 +</​sxh>​
 +
 +Agora vamos acertar a configuração dele
 +<sxh bash>
 +
 +vim /​etc/​supfile
 +[...]
 +#Vamos acertar o host que vamos obter os fontes podemos obter os hosts em http://​www.freebsd.org/​doc/​handbook/​cvsup.html#​CVSUP-MIRRORS
 +*default host=cvsup.br.FreeBSD.org
 +#Vamos acertar aonde vamos inserir os fontes
 +*default prefix=/usr
 +#Agora vamos comentar o src-all que iria obter todo o sistema
 +#src-all
 +[...]
 +#Agora vamos descomentar o src-sys que são os fontes do kernel.
 +src-sys
 +#Agora vamos comentar o ports-all pois já obtemos com o portsnap
 +#ports-all
 +#Agora vamos comentar o doc-all que é a documentação do sistema eu ja mandei instalar na instalação do FreeBSD caso não tenha instalado podemos obter com essa opção
 +#doc-all
 +#Vamos comentar o www que recupera a arvore www dos repositórios do freebsd
 +#www
 +#Agora vamos comentar a coleção de projetos
 +#​projects-all
 +#Agora vamos comentar os arquivos de controles do cvsroot
 +#​cvsroot-all
 +</​sxh>​
 +
 +Agora vamos obter os fontes
 +<sxh bash>
 +
 +cvsup /​etc/​supfile
 +</​sxh>​
 +
 +Agora vamos compilar o kernel para habilitar o ipfw 
 +
 +Agora vamos fazer alguns acertos ​
 +<sxh bash>
 +
 +cd /​usr/​src/​sys/​amd64/​conf
 +mkdir /​root/​kernels
 +cp GENERIC /​root/​kernels/​douglas
 +ln -s /​root/​kernels/​douglas
 +</​sxh>​
 +
 +Agora vamos habilitar o ipfw dai tem opcional: compatibilidade com linux, quota, balanceamento de carga 
 +<sxh bash>
 +
 +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
 +
 +#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
 +</​sxh>​
 +
 +
 +Agora vamos testar a configuração do nosso kernel ​
 +<sxh bash>
 +
 +/​usr/​sbin/​config douglas
 +</​sxh>​
 +
 +Agora vamos mudar o diretório como pedido ​
 +<sxh bash>
 +
 +cd ../​compile/​douglas
 +</​sxh>​
 +
 +Agora vamos compilar as dependências do kernel ​
 +<sxh bash>
 +
 +make cleandepend && make depend
 +</​sxh>​
 +
 +Agora vamos compilar o kernel ​
 +<sxh bash>
 +
 +make
 +</​sxh>​
 +
 +Agora vamos mandar instalar o kernel ​
 +<sxh bash>
 +
 +make install
 +</​sxh>​
 +
 +Vamos limpar os objetos temporários da compilação ​
 +<sxh bash>
 +
 +make clean
 +</​sxh>​
 +
 +Agora é so reiniciar o servidor ​
 +<sxh bash>
 +
 +reboot ​
 +</​sxh>​
 +
 +Vamos testar o ipfw 
 +<sxh bash>
 +
 +ipfw show
 +65535 3153 352259 allow ip from any to any
 +</​sxh>​
 +
 +Forma 2 de compilar o kernel ​
 +
 +Fazer alguns acertos ​
 +<sxh bash>
 +
 +cd /​usr/​src/​sys/​amd64/​conf
 +mkdir /​root/​kernels
 +cp GENERIC /​root/​kernels/​douglas
 +ln -s /​root/​kernels/​douglas
 +</​sxh>​
 +
 +Agora vamos habilitar o ipfw dai tem opcional: compatibilidade com linux, quota, balanceamento de carga 
 +<sxh bash>
 +
 +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
 +
 +#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
 +</​sxh>​
 +
 +Agora vamos compilar o nosso kernel ​
 +<sxh bash>
 +
 +cd /usr/src
 +make buildkernel KERNCONF=douglas
 +</​sxh>​
 +
 +Agora vamos instalar ele 
 +<sxh bash>
 +
 +make installkernel KERNCONF=douglas
 +</​sxh>​
 +
 +Agora vamos reiniciar o servidor ​
 +<sxh bash>
 +
 +reboot
 +</​sxh>​
 +
 +Vamos testar o ipfw 
 +<sxh bash>
 +
 +ipfw show
 +65535 3153 352259 allow ip from any to any
 +</​sxh>​
 +
 +Agora vamos instalar o htop para monitorarmos o sistema, mas antes vamos fazer alguns ajustes
 +<sxh bash>
 +
 +mkdir -p /​usr/​compat/​linux/​proc
 +ln -s /usr/compat /compat
 +</​sxh>​
 +
 +Agora vamos adicionar a entrada da compatibilidade com linux no final do arquivo /etc/fstab
 +<sxh bash>
 +
 +vim /etc/fstab
 +[...]
 +linproc /​compat/​linux/​proc linprocfs rw 0 0
 +</​sxh>​
 +
 +Agora vamos montar essa partição
 +<sxh bash>
 +
 +mount linproc
 +</​sxh>​
 +
 +Agora vamos procurar no ports o htop
 +<sxh bash>
 +
 +whereis htop
 +htop: /​usr/​ports/​sysutils/​htop
 +</​sxh>​
 +
 +Agora vamos acessar ele e vamos mandar compilar e instalar, responda as perguntas com as opções padrões.
 +<sxh bash>
 +
 +cd /​usr/​ports/​sysutils/​htop
 +make install distclean
 +</​sxh>​
 +
 +Agora se tiver utilizando o enterpretador de shell csh temos que atualizar ele 
 +<sxh bash>
 +
 +source /​root/​.cshrc
 +</​sxh>​
 +
 +Agora já podemos chamar o nosso htop 
 +<sxh bash>
 +
 +htop
 +</​sxh>​
 +
 +** Opcional **
 +
 +Fazendo um update de nosso <​nowiki>​FreeBSD</​nowiki>,​ o processo de update do <​nowiki>​FreeBSD</​nowiki>​ é bem mais simples do que o processo do <​nowiki>​OpenBSD</​nowiki>​ aonde temos que obter os códigos fontes e compilar tudo e instalar.
 +
 +O processo para um update do nosso <​nowiki>​FreeBSD</​nowiki>​ é o seguinte.
 +
 +Vamos obter os patchs
 +<sxh bash>
 +
 +freebsd-update fetch
 +</​sxh>​
 +
 +Agora vamos mandar instalar os patchs
 +<sxh bash>
 +
 +freebsd-update install
 +</​sxh>​
 +
 +Podemos deixar este processo agendado no crontab da seguinte forma
 +<sxh bash>
 +
 +echo "​@daily ​                                 root    freebsd-update cron" >> /​etc/​crontab
 +</​sxh>​
 +
 +Caso tenha algum problema com a atualização podemos voltar o ponto anterior da seguinte forma
 +<sxh bash>
 +
 +freebsd-update rollback
 +</​sxh>​
 +
 +Agora podemos mandar instalar o portupgrade,​ para fazermos um upgrade dos nossos ports.
 +<sxh bash>
 +
 +cd /​usr/​ports/​ports-mgmt/​portupgrade && make install distclean
 +</​sxh>​
 +
 +Agora vamos fazer o upgrade do nosso ports
 +<sxh bash>
 +
 +portupgrade -af
 +</​sxh>​
 +
 +====== Referências ======
 +  - http://​www.freebsd.org/​doc/​handbook/​
 +  - http://​www.freebsd.org/​doc/​handbook/​book.html