Capítulo 6. Aplicativos do Usuário

6.1. Onde estão todas as aplicações de usuário?
6.2. Como faço para baixar a coleção de ports? Eu deveria estar usando o Subversion?
6.3. Por que não posso compilar esse port na minha máquina 11.X - ou 12.X -STABLE?
6.4. Acabei de tentar compilar o INDEX usando o comando make index, e ele falhou. Por quê?
6.5. Eu atualizei os fontes, agora como faço para atualizar meus ports instalados?
6.6. Preciso recompilar todos os ports sempre que realizo uma atualização de versão principal?
6.7. Preciso recompilar cada port toda vez que faço uma atualização de versão secundária?
6.8. Por que o /bin/sh é tão pequeno? Por que o FreeBSD não usa o bash ou outro shell?

6.1.

Onde estão todas as aplicações de usuário?

Consulte a página dos ports para informações sobre pacotes de software portados para o FreeBSD.

A maioria dos ports deve funcionar em todas as versões suportadas do FreeBSD. Aqueles que não funcionam, estão especificamente sinalizados como tal. Cada vez que uma release do FreeBSD é construída, um snapshot da coleção de ports no momento da construção também é incluída no diretório ports/.

O FreeBSD suporta pacotes binários compactados para facilitar a instalação e desinstalação dos ports. Use o comando pkg(7) para controlar a instalação de pacotes.

6.2.

Como faço para baixar a coleção de ports? Eu deveria estar usando o Subversion?

Qualquer um dos métodos listados aqui funciona:

  • Use o portsnap para a maioria dos casos de uso. Consulte a seção Usando a coleção de ports para obter instruções sobre como usar essa ferramenta .

  • Use o Subversion se for necessário a aplicação de patches customizados na árvore de ports ou se estiver rodando FreeBSD-CURRENT. Consulte a seção Usando o Subversion para obter detalhes.

6.3.

Por que não posso compilar esse port na minha máquina 11.X - ou 12.X -STABLE?

Se a versão do FreeBSD instalada estiver significativamente atrás do -CURRENT ou do -STABLE, atualize a coleção de ports usando as instruções disponíveis na seção Usando a coleção de ports. Se o sistema estiver atualizado, alguém pode ter feito uma alteração no port que funciona para -CURRENT mas que quebrou o port para o -STABLE. Envie um relatório de bug, já que a Coleção de Ports deve funcionar tanto para o branch -CURRENT e quanto o -STABLE.

6.4.

Acabei de tentar compilar o INDEX usando o comando make index, e ele falhou. Por quê?

Primeiro, certifique-se de que a Coleção de Ports esteja atualizada. Erros que afetam a compilação do INDEX a partir de uma cópia atualizada da coleção de ports são de alta visibilidade e, portanto, quase sempre são corrigidos imediatamente.

Existem casos raros em que o INDEX não será compilado devido a casos estranhos envolvendo a variável OPTIONS_SET sendo definida em make.conf. Se você suspeitar que este é o caso, tente fazer o INDEX com estas variáveis desativadas antes de reportar o erro para a Lista de discussão de ports do FreeBSD.

6.5.

Eu atualizei os fontes, agora como faço para atualizar meus ports instalados?

O FreeBSD não inclui uma ferramenta de atualização de ports, mas possui algumas ferramentas para facilitar o processo de atualização. Ferramentas adicionais estão disponíveis para simplificar o manuseio dos ports e são descritas na seção Atualizando Ports no Handbook do FreeBSD .

6.6.

Preciso recompilar todos os ports sempre que realizo uma atualização de versão principal?

Sim! Apesar de um sistema recente ser capaz de executar os softwares compilados em uma versão mais antiga, as coisas irão falhar aleatoriamente e deixar de funcionar quando outros ports forem instalados ou atualizados.

Quando o sistema é atualizado, várias bibliotecas compartilhadas, módulos carregáveis ​​e outras partes do sistema serão substituídas por versões mais recentes. Os aplicativos vinculados às versões mais antigas podem não iniciar ou, em outros casos, não funcionar corretamente.

Para obter maiores informações, consulte a seção sobre atualizações no Handbook do FreeBSD.

6.7.

Preciso recompilar cada port toda vez que faço uma atualização de versão secundária?

Em geral, não. Os desenvolvedores do FreeBSD fazem o máximo para garantir compatibilidade binária em todos os releases com o mesmo número de versão principal. Quaisquer exceções serão documentadas nas Release Notes, e os conselhos dados lá devem ser seguidos.

6.8.

Por que o /bin/sh é tão pequeno? Por que o FreeBSD não usa o bash ou outro shell?

Muitas pessoas precisam escrever shell scripts que serão portados para muitos sistemas. É por isso que o POSIX® especifica os comandos shell e utilitários em grande detalhe. A maioria dos scripts são escritos em Bourne shell (sh(1)) e porque várias interfaces de programação importantes (make(1), system(3), popen(3) e análogos em linguagens de script de alto nível como Perl e Tcl) são especificados para usar o Bourne shell para interpretar comandos. Como o Bourne shell é usado com tanta frequência e em larga escala, é importante que ele seja iniciado rapidamente, que seja determinístico em seu comportamento e que ocupe o menor espaço possível na memória.

A implementação existente é resultado do nosso melhor esforço para atender simultaneamente o quanto pudermos desses requisitos. Para manter o /bin/sh pequeno, não fornecemos muitos dos recursos de conveniência que os outros shells possuem. É por isso que outras shells com mais recursos, como o bash, o scsh, o tcsh(1), e o zsh estão disponíveis. Compare a utilização de memória desses shells observando as colunas VSZ e RSS em uma listagem gerada com o comando ps -u.

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.