31.10  
Inicio arrow Artigos arrow Atualizando seu FreeBSD (sistema e Ports) por código fonte.
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histórico da Lista
Forum
Keyserver
PC-BSD: Artigos
PC-BSD: Notícias
Galeria de Imagens
Contador Usuários FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introdução
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usuário

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma
Histórico da Lista
  • [FUG-BR] Ferramentas para anÃlise de performance
  • [FUG-BR] algum exemplo de Altq PF
  • [FUG-BR] [OFF-TOPIC] Aula Configurando Racoon no pfSense®
  • [FUG-BR] Handbook - byvhe
  • Re: [FUG-BR] Handbook - byvhe
  • Re: [FUG-BR] Handbook - byvhe
  • Re: [FUG-BR] Handbook - byvhe
  • Re: [FUG-BR] Handbook - byvhe

  • Alertas em Ports
  • jenkins -- slave-originated arbitrary code execution on master servers
  • twiki -- remote Perl code execution
  • libssh -- PRNG state reuse on forking servers
  • libpurple/pidgin -- multiple vulnerabilities



  • Por bsdinfo
  • Mudanças entre o FreeBSD 10.0-RELEASE e o futuro 10.1-RELEASE
    Muitas melhorias foram feitas na árvore 10.0-STABLE que logo virará o 10.1-RELENG e 10.1-RELEASE. Nesse link foi feito um sumário de todas as mudanças realizadas até agora. É muito importante ler o conteúdo e conhecer o que está sendo feito para melhorar cada vez mais esse OS que nos trás tantas alegrias.  Boa leitura para […]

  • Anunciado oficialmente o FreeBSD 9.3-RELEASE
    Saiu o anúncio oficial do 9.3-RELEASE e abaixo um descritivo de todas as novidades: FreeBSD 9.3-RELEASE Announcement The FreeBSD Release Engineering Team is pleased to announce the availability of FreeBSD 9.3-RELEASE. This is the fourth release of the stable/9 branch, which improves on the stability of FreeBSD 9.2-RELEASE and introduces some new features. Some of […]

  • Começa a árvore FreeBSD 9.3-STABLE e inicia o processo de Upcoming do 10.1
    Boas novas para todos nós, povo BSD: Ontem começou a árvore do FreeBSD 9.3-STABLE. Para quem utiliza o STABLE basta atualizar os fontes para a revisão 268592, compilar e instalar o sistema, que terá a nova versão STABLE do 9.3. Lembrando que ainda não saiu o anúncio oficial do 9.3-RELEASE que está previsto para 16/07 […]

  • Por freebsdnews
  • Instalando o Drupal no FreeBSD
    Este tutorial por Enrico Crisostomo nos mostra como instalar o Drupal no FreeBSD. Drupal portas têm estado disponíveis no FreeBSD desde muito tempo, e pacotes binários podem ser instalados muito rapidamente. No entanto, a configuração manual é necessária para se...

  • FreeBSD 10,1 RC3 já está disponível
    A terceira versão RC do ciclo de lançamento de 10.1-RELEASE já está disponível nos servidores de FTP para as arquiteturas amd64, ARMv6, i386, ia64, PowerPC, PowerPC64 e sparc64. As somas de verificação de imagem siga no final deste e-mail. Imagens...

  • Como instalar o Nano / Pico no FreeBSD
    Este tutorial por techtipz.biz nos mostra como instalar Nano / Pico em FreeBSD a partir da coleção de ports. Eu nunca tenho que agarra com o uso de 'vi' para editar arquivos a partir da linha de comando. Assim, uma...

  • Atualizando seu FreeBSD (sistema e Ports) por código fonte. PDF Imprimir E-mail
    Por Christopher Giese   
    15/06/2006
    Índice de Artigos
    Atualizando seu FreeBSD (sistema e Ports) por código fonte.
    Parte 2

    ImageNesse artigo Christopher Giese e Reginaldo Russinholi, com complementos de Renato Botelho, instruem o leitor durante o processo de atualização do FreeBSD por código fonte, abordando atualização do sistema operacional, das definições da Coleção de Ports local e das próprias aplicações (ports) instaladas localmente, neste caso por código fonte ou através de pacotes pré-compilados.

    O artigo aborda o uso do csup ao invés do tradicional cvsup, e do portupgrade, ferramentas mais modernas e rápidas, disponíveis nas últimas versões do FreeBSD e que começam se tornar padrão desde os últimos dois releases do FreeBSD. Leitura recomendada.

    FreeBSD

    ATUALIZANDO O CÓDIGO DE SEU FREEBSD 6.x VIA CSUP

    Inicialmente iremos baixar os source do FreeBSD, neste howto faremos isto utilizando o csup.

    Dependendo da sua versão atual do FreeBSD, o csup já pode fazer parte da base do sistema,
    não necessitando instalação, para checar isso basta verificar se o arquivo /usr/bin/csup

    Para instalar o binario do csup caso ele não esteja ainda no sistema, temos aqui 2 opcoes....
    escolha a sua preferida:

    Por pacote pré-compilado:

    pkg_add -r csup
    rehash

    Pela Coleção de Ports:

    cd /usr/ports/net/csup
    make install clean
    rehash 

    Agora iremos criar um arquivo supfile que servira para o nosso csup como um "arquivo de configuracao". Como o nosso objetivo inicial e' atualizar o nosso FreeBSD para a ultima versao STABLE do FreeBSD 6.X
    (Quando escrevi este howto era 6.1 STABLE), voce usaria este supfile:

    #--------- INICIO DO ARQUIVO ----------#
    *default host=cvsup12.FreeBSD.org
    *default base=/var/db
    *default prefix=/usr
    *default release=cvs tag=RELENG_6
    *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 e' um Top Level Domain, ou seja, os primeiros servidores que são atualizados do cvs
    oficial. Para obter informacoes sobre outros mirrors consulte a pagina oficial do FreeBSD http://www.freebsd.org
    ou instale o fastest_cvsup ( cd /usr/ports/sysutils/fastest_cvsup && make install clean ), com ele voce
    conseguira ver qual o servidor mais rapido 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 tera que reecompilar o seu FreeBSD, para fazer isso faca:

    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 observacoes:
    Obs.: O "make -j4 buildworld" demora muito pode ir tomar uma cervejinha
    - Se sua maquina for rapida = umas 4 cervejinhas
    - Se sua maquina for nao tao rapida = 10 cervejas + bisteca na chapa
    - ... agora se sua maquina for lerda.... logo apos o enter..... coloque a COSTELA no celofane ;)

    Depois de tudo atualizado, é hora de fazer uma limpeza no sistema, pra remover programas, mans e libs
    que foram removidas do sistema, mas permanecem na sua máquina.

    ATENÇÃO: Se você atualizou da série 5.x pra 6.x por exemplo, as libs do sistema tiveram sua versão alterada,
    então, antes de executar os procedimentos abaixo, atualiza *TODOS* os seus ports (portupgrade -fa)
    e recompile programas que foram instalado por fora do ports, para garantir que nada irá parar de
    funcionar.

    # cd /usr/src
    # make check-old

    Faça um backup de todos os arquivo que o make check-old retornar

    # make delete-old
    # make delete-old-libs

    Esses dois comandos irão perguntar pra você antes de apagar cada arquivo e/ou cada lib. Caso você tenha
    conferido bem a saída do make check-old e tenha certeza de que vai apagar tudo, utilize-os da seguinte
    maneira:

    # make -DBATCH_DELETE_OLD_FILES delete-old
    # make -DBATCH_DELETE_OLD_FILES delete-old-libs


    PARTE 2 - ATUALIZANDO PORTS

    Depois de atualizar seu FreeBSD para o último 6-STABLE, aí vão dicas para manutenção dos ports.

    Para atualizar a árvore do ports:

    Foi adicionada ao FreeBSD uma ferramenta chamada portsnap, ela serve para atualizar a arvore do
    ports, veja bem, isso nao atualiza os ports, apenas a arvore de diretorios.

    Na primeira vez eh meio demorado, mas depois se torna mais rapido e consome menos recursos que
    o metodo mais conhecido, via cvsup, ou agora, csup.

    Execute isso na primeira vez

    # portsnap fetch extract

    Nas proximas vezes isso basta

    # portsnap fetch update

    E se voce for colocar no crontab

    # portsnap cron update

    Isso atualiza de deixa a sua arvore do ports com tudo zerado, agora, antes de atualizar qualquer port
    e' necessario ler o arquivo /usr/ports/UPDATING. Quando um port necessita de algo diferente na sua
    atualizacao, isso fica anotado nesse arquivo, e deve ser lido com atencao, principalmente para
    servidores em producao, nao queremos parar nenhum servico desnecessariamente.

    Antes de instalar qualquer pacote via ports, existe uma ferramente que deve ser instalada para
    garantir a segurança dos produtos que vão ser instalados nesse server, é o portaudit. Ele faz
    consulta a base de Vulnerabilidades (VuXML) e vai te alertar quando você tentar instalar um port
    que tem uma falha, e, também, se você tem um port instalado e uma vulnerabilidade é encontrada nele,
    o portaudit também avisa você no email que é enviado diariamente para o root.

    Para instalar o portaudit:

    # cd /usr/ports/security/portaudit
    # make install clean
    # rehash

    Para baixar a base de dados e checar:

    # portaudit -Fa

    O portaudit será incorporado ao /etc/periodic, e baixará diariamente a base atualizada e fará uma
    checagem.


    Uma ferramenta extremamente util para atualizacao de ports e' o portupgrade, para instala-lo

    # cd /usr/ports/sysutils/portupgrade && make install clean

    Depois de instalado, se voce quiser saber quais ports necessitam de atualizacao:

    # portversion -vL=

    Se voce quiser atualizar um pacote

    # portupgrade pacote1 pacote2 pacote3

    Se voce quiser atualizar tudo

    # portupgrade -a

    Atualizar tudo usando pacotes pre-compilados, se for possivel

    # portupgrade -Pa

    Usar apenas pacotes pre-compilados

    # portupgrade -PPa

    Infinitas opcoes existem no portupgrade, lendo o man voce tera uma nocao mais ampla de tudo o que
    ele pode fazer, mas o mais interessante e' que quando voce roda um portupgrade pacote e ele vai
    atualizar o pacote de 1.2 pra 1.3, antes dele instalar a nova versao 1.3, ele faz um pacote de
    backup do 1.2, se no momento da instalacao der problema, ele restaura o pacote da 1.2 e tudo fica
    como antes.

    Uma outra dica interessante e' a respeito de atualizacao do perl, quando a mudanca for algo como
    perl-5.8.7 para perl-5.8.7_1, essa dica nao serve de nada, pois a versao do perl e' a mesma, o que
    mudou foi a versao do port, agora quando for 5.8.7 -> 5.8.8, ai sim anote essa, para nao precisar
    recompilar todos os ports que salvam libs dentro de /usr/local/lib/perl/5.8.7, para que elas movam
    tudo para o novo diretorio 5.8.8, foi escrito um script que faz as mudancas sozinho sem precisar
    recompilar nada, e' o perl-after-upgrade. Entao basta executar:

    # portupgrade perl
    # perl-after-upgrade -f


    Bom pessoal e' isso, nao tem segredo.

    Espero ter ajudado :-)

    # Sample By
    # Christopher Giese <skywarrior at bsdux.com.br>
    # Renato Botelho <garga at FreeBSD.org>
    # Thanks to: Reginaldo Russinholi
    # www.bsdux.com.br


    Este artigo foi submetido à lista FUG-BR por Christopher Giese, e publicado originalmente aqui .

     

    Comentários
    Faltou falar do portaudit...
    Por Joao Paulo - 0v3rm1nd em 15/06/2006 20:41:49
    Como 'portversion -vL=' foi mencionado, senti que faltou falar do portuadit, essa ferramenta que faz a diferenca entre sysadmins FreeBSD e outros...
    Muito bom
    Por Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo em 16/06/2006 17:01:18
    Muito bom o Artigo. 
    Vai direto ao assunto. 
     
    Parabéns Giese :-)
    Legal, mas ...
    Por Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo em 16/06/2006 23:37:45
    Realmente, o que nosso amigo Ov3rm1nd falou é fundamental, mas não deixa de ser mais um artigo de qualidade, parabéns amigo Christopher Giese! :)
    Legal
    Por Joao Paulo - 0v3rm1nd em 09/07/2006 23:58:57
    A ultima revisao fala do portaudit, fico feliz com a dedicacao dos autores.
    portsnap
    Por Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo em 25/07/2006 21:13:04
    Gostaria de saber como indico o repositório de onde o portsnap deve baixar os ports ?
    Server para baixar atualizações
    Por garga em 26/07/2006 07:50:39
    Oi Flávio, isso pode ser feito pelo parâmetro -s no portsnap ou então editando o /etc/portsnap.conf. Lembrando que o portsnap não tem nada a ver com csup ou cvsup, então você não poderá usar os repositórios. 
     
    Acredito que manter portsnap.FreeBSD.org seja a melhor opção, ele desvia você pro portsnap1 ou pro portsnap2, que acho que são os únicos servers disponíveis no momento. 
     
    []s
    Thin Update
    Por Leonardo em 01/12/2006 08:24:37
    Senhores, 
     
    Gostaria de saber como indentificar quais os repositórios são necessários para que o meu sistema funcione. 
     
    Se eu utilizar o tag "src-all" ele vai baixar e compilar um monte de recursos (softwares) que atualmente eu não tenho instalado no sistema. 
     
    Abs
    Por Zemair em 08/12/2006 03:29:57
    Muito bom! Excelente documentação, porém o tempo passou, FreeBSD 6.2 Beta já está no "forno" e esse tutorial transforma em 6.2-PRERELEASE. Para termos STABLE é necessário "isolar" a versão, usando RELENG_6_1 ao invés de somente RELENG_6. Mais uma vez, parabéns. (Corrijam-me se eu estiver errado).
    PRERELEASE ao invés de STABLE
    Por Zemair em 08/12/2006 03:32:04
    Muito bom! Excelente documentação, porém o tempo passou, FreeBSD 6.2 Beta já está no "forno" e esse tutorial transforma em 6.2-PRERELEASE. Para termos STABLE é necessário "isolar" a versão, usando RELENG_6_1 ao invés de somente RELENG_6. Mais uma vez, parabéns. (Corrijam-me se eu estiver errado).
    Atualização e Ports
    Por Ali Faiez Taha em 16/01/2007 13:08:56
    Muito bom seu artigo. 
    Creio que posso contribuir mais com o seguinte 
    texto sobre o assunto: 
    http://143.107.200.101/Ports.e.Packages.html 
     
     
    abraços.
    teste
    Por teste em 06/08/2009 11:29:58
    teste \afddasfasdf a asdf asdf



    Última Atualização ( 29/06/2006 )
     
    < Anterior   Próximo >
    FUG-BR - Espalhando BSD
    Dicas Rápidas:

    Para remover os caracteres ^M de um arquivo de texto de MS-DOS (e Windows), use o tr(1):

    tr -d \\r < arquivo_dos > arquivo_unix

     

     

     






    Wallpapers
    Sua Opiniao
    Online:
    Nós temos 18 visitantes online


    Devil Store - Sua loja BSD
    FreeBSD Brasil LTDA

    FUG-BR: Desde 1999, espalhando BSD pelo Brasil.