Perguntas mais freqüentes sobre FreeBSD 2.X, 3.X e 4.X
Anterior |  | Próxima

# Capítulo 7. Aplicações de Usuário

7.1. Então, onde estão todas as aplicações de usuários?
7.2. Onde eu encontro a libc.so.3.0?
7.3. Por que eu estou tendo problemas cuja mensagem de erro mostra Error: can't find libc.so.4.0?.
7.4. Por que o ghostscript gera um monte de erros no meu 386/486SX?
7.5. Por que aplicações do SCO/iBCS2 bombardeiam o ``socksys''? (FreeBSD 3.0 e anteriores, apenas).
7.6. Como eu configuro um sistema de INN (Internet News) na minha estação?
7.7. Qual versão do Microsoft FrontPage eu devo usar?
7.8. O FreeBSD suporta Java?
7.9. Por que eu não consigo compilar determinado `port` na minha estação 3.X-STABLE?
7.10. Onde posso encontrar o arquivo ld.so?
7.11. Eu atualizei meus fontes. E agora, como eu atualizo meus `Ports` instalados?
7.12. Por que o `/bin/sh` é tão pequeno? Por que o FreeBSD não usa o `bash` ou outro interpretador de comandos (shell)?
7.13. Por que o Netscape e o Opera demoram tanto para iniciar?

7.1. Então, onde estão todas as aplicações de usuários?

Por gentileza, dê uma olhada na página do `Ports` para informações sobre pacotes de programas disponíveis na Coleção de `Ports` do FreeBSD. A lista atualmente ultrapassa 20,000 aplicações e está crescendo diariamente, então retorne à página e verifique freqüentemente as aplicações, ou entã inscreva-se na lista de discussão `freebsd-announce` mailing list para atualizações periódicas ou novas adições.

A maioria dos `ports` devem estar disponíveis para as versões 2.2, 3.x e 4.x, e muitos deles devem funcionar também em sistemas 2.1.x. Cada vez que um lançamento do FreeBSD é produzido, um snapshot da árvore do `ports` do momento da lançamento também é incluída no diretório `ports/`.

O FreeBSD também suporta o conceito de pacote, que essencialmente nada mais é do que uma distribuição binária compactada com o gzip e com um pouco de inteligência extra embutido nesse pacote, para fazer o trabalho que é requerido para uma instalação customizada. Um pacote pode ser instalado e desinstalado repetidas vezes de forma fácil, sem ter que se conhecer os detalhes horrendos dos arquivos que ele inclui.

Use o menu de instalação de pacotes em `/stand/sysinstall` (sobre a opção do pos-configuration menu) ou invoque o comando pkg_add(1) nos arquivos de pacotes específicos que voc;ê quer instalar. Os pacotes podem ser identificados normalmente pelo sufixo `.tgz` e o pessoal da distribuição em CDROM tem um diretório `/packages/All` no cd que conté esses arquivos. Eles podem também ser baixados pela rede para várias versões do FreeBSD nos seguintes endereços: do (sobre a opção PostConfiguration do menu) ou invoque o comando pkg_add(1)

para o 2.2.8-RELEASE/2.2.8-STABLE

  ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-2.2.8/

para o 3.X-RELEASE/3.X-STABLE

  ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/

para o 4.X-RELEASE/4-STABLE

  ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/

para o 5.X-CURRENT

  ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current

ou em um sítio espelho mais perto de você.

Note que nem todos os `Ports` podem estar disponíveis em formato de pacotes, visto que a atualização da Coleção de `Ports` do FreeBSD é muito freqüente, e novos programas são constantemente adicionados, e outros são atualizados. É sempre bom verificar periodicamente quais pacotes estão disponíveis no servidor FTP mestre do projeto FreeBSD, o ftp.FreeBSD.org.

7.2. Onde eu encontro a libc.so.3.0?

Você está tentando usar um pacote construído para o FreeBSD 2.2 ou para versões posteriores, em um sistema 2.1.X. Por gentileza, dê uma olhada na seção anterior e pegue o `port`/pacote correto para o seu sistema.

7.3. Por que eu estou tendo problemas cuja mensagem de erro mostra Error: can't find libc.so.4.0?.

Acidentalmente você pegou um pacote construído para FreeBSD 4.X ou para o 5.X e está tentando instala-lo no seu FreeBSD 2.X ou 3.X. Por favor, pegue a versão correta dos pacotes.

7.4. Por que o ghostscript gera um monte de erros no meu 386/486SX?

Deixe-me adivinhar. Você não tem um co-processador matemático, certo? Será necessário adicionar um co-processador matemático alternativo ao seu kernel; você pode fazer isso adicionando a seguinte linha no arquivo de configuração do seu kernel, e depois recompilá-lo:

    options GPL_MATH_EMULATE

> Nota: Quando você fizer isto, será necessário remover a opção `MATH_EMULATE`

7.5. Por que aplicações do SCO/iBCS2 bombardeiam o ``socksys''? (FreeBSD 3.0 e anteriores, apenas).

Primeiro, é necessário editar o arquivo `/etc/sysconfig` (ou `/etc/rc.conf`, veja o rc.conf(5)) e modificar a última seção, alterando para `YES` a seguinte variável:

    # Set to YES if you want ibcs2 (SCO) emulation loaded at startup
    ibcs2=NO

Essa alteração fará o sistema carregar os módulos de kernel do ibcs2 na inicialização.

Depois, será necessário alterar o /compat/ibcs2/dev para parecer com:

    lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 X0R@ -> /dev/null
    lrwxr-xr-x  1 root  wheel         7 Oct 15 22:20 nfsd@ -> socksys
    -rw-rw-r--  1 root  wheel         0 Oct 28 12:02 null
    lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 socksys@ -> /dev/null
    crw-rw-rw-  1 root  wheel   41,   1 Oct 15 22:14 spx

É necessário que o socksys aponte para `/dev/null` (veja null(4)) para fingir o processo de abertura e fechamento do device. O código mais recente (`-CURRENT`) se encarregará dos outros detalhes. Essa maneira de trabalhar o socksys é bem mais limpa do que a forma que era usada anteriormente. Se você quer que o driver `spx` fique disponível para um socket X local, defina a opção `SPX_HACK` no kernel do FreeBSD quando você o recompilar.

7.6. Como eu configuro um sistema de INN (Internet News) na minha estação?

Depois de instalar o pacote `news/inn` ou o `port`, um excelente lugar para iniciar é Dave Barr's INN Page onde voçe encontrará o `FAQ` do INN.

7.7. Qual versão do Microsoft FrontPage eu devo usar?

Use os `Ports`, Luke! Uma versão previamente corrigida do Apache,`apache13-fp`, está disponível na árvore do `Ports`.

7.8. O FreeBSD suporta Java?

Veja a página http://www.FreeBSD.org/java/.

7.9. Por que eu não consigo compilar determinado `port` na minha estação 3.X-STABLE?

Caso esteja usando uma versão do FreeBSD significativamente mais velha do que o -CURRENT ou o -STABLE, será necessário usar o kit de atualização dos `Ports`, disponível em http://www.FreeBSD.org/ports/. Caso esteja atualizado mas ainda assim você tem dificuldades, é provável que alguém disponibilizou uma versão do programa que funciona perfeitamente no -CURRENT mas que não compila corretamente no -STABLE. Por gentileza, envie um Relatório de Problemas com o comando send-pr(1) porque a coleção de `Ports` deve funcionar tanto no -STABLE quanto no -CURRENT.

7.10. Onde posso encontrar o arquivo ld.so?

Algumas aplicações cujo formato binário é o a.out, como o Netscape Navigator, necessitam das bibliotecas a.out. Uma versão do FreeBSD nativamente construído com bibliotecas ELF não instala as bibliotecas a.out por padrão. Você terá problemas por não ter o `/usr/libexec/ld.so`, se esse for o caso do seu sistema. Estas bibliotecas estão disponíveis embutidas na distribuição compat22. Utilize o sysinstall(8) para instalá-los. Pode-se instalá-lo apartir do código fonte do FreeBSD:

    # cd /usr/src/lib/compat/compat22
    # make install clean

Se quiser instalar as bibliotecas mais recentes do compat22 sempre que executar o `make world`, edite `/etc/make.conf` para incluir `COMPAT22=YES`. Bibliotecas de compatibilidade antigas raramente sofrem mudanças , as vezes nunca, então geralmente não é necessário.

Também veja as páginas de ERRATAS para o 3.1-RELEASE e 3.2-RELEASE.

7.11. Eu atualizei meus fontes. E agora, como eu atualizo meus `Ports` instalados?

FreeBSD não inclui uma ferramenta de atualização do `ports`, mas existem algumas ferramentas que tornam o processo de atualização dos `Ports` uma tarefa, digamos, fácil. É possível ainda instalar algumas ferramentas adicionais que facilitam o gerenciamento dos `Ports` instalados

O comando pkg_version(1) pode gerar um script que atualizará os `ports` instalados para as últimas versões da árvore de `Ports`.

    # pkg_version -c > /tmp/myscript

O script de saída deve ser editado manualmente antes de ser usado. As versões mais recentes do pkg_version(1) forçam a edição do arquivo, colocando um exit(1) no começo do script.

A saída do script deve ser salva pois ela gera informações sobre os pacotes que são dependências dos que estão sendo atualizados. Tais dependências podem precisar ser atualizadas ou não, dependendo de cada uma delas. Os casos comuns onde as dependências precisam ser atualizadas é quando a versão das bibliotecas compartilhadas foram alteradas, portanto o `port` que usava aquela biblioteca precisa ser atualizado para que a nova versão seja usada.

Caso tenha espaço o bastante em disco , pode ser interessante usar a ferramenta `portupgrade` para automatizar o processo de atualização das aplicações instalados por meio de `ports` ou pacotes. Posto que ele foi programado em Ruby, o `portupgrade` é um candidato improvável à se tornar parte da árvore principal do FreeBSD. Mas isso não evita que qualquer pessoa use o programa. Alias, ele é uma ótima ferramenta. Ele está disponível em `sysutils/portupgrade`.

Se a estação fica constantemente conectada, é interessante usar o sistema periodic(8) para gerar um relatório semanal sobre as versões do `Ports` que podem ser atualizadas. Pra configurar o sistema para isso, insira a linha `weekly_status_pkg_enable="YES"` no `/etc/periodic.conf`.

7.12. Por que o `/bin/sh` é tão pequeno? Por que o FreeBSD não usa o `bash` ou outro interpretador de comandos (shell)?

Porque o POSIX diz que é assim que deve ser um interpretador de comandos (shell)?

A reposta mais complicada: muitas pessoas precisam escrever scripts shell que sejam portáveis através de muitos sistemas. É por isso que o POSIX especifica o interpretador de comandos (shell) e comandos utilitários com tanto detalhe. A maioria dos scripts são escritos para o interpretador de comandos Bourne (Bourne shell), e várias interfaces importantes de programação (make(1), system(3), popen(3) e análogos em linguagens de alto-nível como Perl e Tcl) o usam como interpretador de comandos (shell) padrão. Por ser tão amplamente utilizado é importante que o interpretador de comandos (shell) Bourne seja rápido para carregar, seja determinístico em seu comportamento, e que tenha uma pequena alocação de memória.

A implementação atual é o nosso melhor esforço para encontrar a maior parte destes requerimentos simultaneamente. Como forma de manter o `/bin/sh` do menor tamanho possível, não incluímos muitas das características convenientes que outros interpretadores de comando (shell) possuem. É por isso que a Coleção de `Ports` disponibiliza outros interpretadores de comandos (shell) com características mais abrangentes, como o bash, o csh, o tcsh, e o zsh. (Você pode comparar a utilização de memória entre todos esses interpretadores de comandos (shell), analisando as colunas VSZ e RSS na saída do comando `ps -u`.)

7.13. Por que o Netscape e o Opera demoram tanto para iniciar?

A resposta tradicional é que o DNS no seu computador está mal configurado. O Netscape e o Opera fazem verificação de DNS ao iniciar, e por isso não se tornarão disponíveis até que obtenham uma resposta do servidor DNS ou até que eles determinem que a estação não está conectada na rede.

Anterior | Principal | Próxima
Aplicações Comerciais |  | Configuraçãao do Kernel

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.