Available Languages: | Deutsch | English | Español | Français | 日本語 (Nihongo) | Português | Русский (Russkiy) | 中文 (简) (Simplified Chinese) |

Guia do usuário do Fink

Este documento provê uma visão geral de todas as características do Fink. Os documentos a seguir podem oferecer uma visão mais ampla: Instalação, Formas de uso e o arquivo LeiaMe.rtf (incluído na imagem de disco da distribuição de binários). Verifique também a seção de documentação do site; ela contém alguns outros documentos úteis.

Bem-vindo ao Guia do usuário do Fink. Este guia cobre procedimentos para a instalação inicial e atualizações subsequentes de tanto a distribuição de binários quanto a distribuição de códigos fontes. Instalação e manutenção de pacotes também são discutidas.

Contents

1 Introdução

1.1 O que é o Fink?

O Fink é a uma distribuição de software Unix de código aberto para Mac OS X e Darwin, trazendo uma gama variada de softwares livres, sejam de linha de comando ou gráficos, desenvolvidos para Linux e sistemas operacionais similares, diretamente para seu Mac.

1.2 Requisitos

Você precisará de:

Se você pretende usar a distribuição de códigos fontes (veja abaixo), você também precisará de:

1.3 Sistemas suportados

Mac OS X 10.5 é a plataforma de vanguarda e é considerada como sendo completamente suportada e testada ainda que, por ser um sistema operacional mais recente, ainda haja algumas questões a resolver. A maior parte dos desenvolvedores usa esta versão e aqueles que estão usando a 10.4 possuem usuários na 10.5 para testar seu trabalho.

Mac OS X 10.4 é considerado como sendo completamente suportado e testado apesar de ainda haver alguns problemas de compilação espúrios em alguns pacotes. Muitos dos desenvolvedores usa esta versão e aqueles que não a usam possuem usuários 10.4 para testar seu trabalho.

1.4 Código fonte vs. binário

Software é escrito ("desenvolvido") em linguagens de programação legíveis a seres humanos; este formato é chamado "código fonte". Antes que um computador possa rodar um programa, ele precisa ser transformado em instruções de código de máquina de baixo nível que não são legíveis para (a maioria dos) seres humanos. Este processo é denominado "compilação" e o programa resultante é denominado "executável" ou "binário".

Quando você compra software comercial, você não chega a ver o código fonte - as empresas o consideram um segredo industrial. Você obtém somente o executável que está pronto para ser executado, o que significa que você não pode modificar o programa ou mesmo descobrir o que ele de fato faz quando é executado.

Isto não acontece com software de código aberto. Como o próprio nome indica, o código fonte é aberto para qualquer um ver e modificar. De fato, a maior parte do software de código aberto somente é distribuída por seus autores como código fonte e você precisa compilá-lo no seu computador para obter um programa que possa ser executado.

O Fink permite que você escolha entre os dois modelos. A "distribuição de código fonte" irá baixar o código fonte original, adaptá-lo para o Mac OS X e a política do Fink, e compilá-lo no seu computador. O processo é completamente automatizado mas leva algum tempo. Por outro lado, a "distribuição de binários" irá baixar pacotes pré-compilados do site do Fink e instalá-los, economizando o tempo de compilação. Na verdade, é possível misturar os dois modelos à vontade. O restante deste manual irá mostrar-lhe como.

2 Instalação inicial

Durante a instalação inicial, um sistema básico contendo as ferramentas de gerenciamento de pacotes é instalado em sua máquina. Depois disso você precisa configurar seu ambiente do shell para usar o software instalado pelo Fink. Você só precisa fazer isso uma única vez; você pode atualizar qualquer instalação do Fink in loco, sem que seja necessário reinstalá-lo. Este procedimento é coberto no capítulo Atualizando o Fink.

Uma vez que você possua as ferramentas de gerenciamento de pacotes instaladas, você pode usá-las para instalar mais softwares. Este procedimento é descrito no capítulo Instalando pacotes.

2.1 Instalando a distribuição de binários

A distribuição de binários vem através de um pacote de instalação para o Mac OS X (.pkg) que por sua vez está dentro de uma imagem de disco (.dmg). Depois de baixar a imagem de disco da página de downloads (talvez você precise usar os comandos "Salvar como..." ou "Salvar no disco" no navegador), dê um duplo clique para montá-la. Abra o ícone do disco "Fink 0.x.x Installer" que aparece na sua área de trabalho (ou onde quer que você o haja baixado) depois que o Disk Utility tenha verificado o arquivo. Dentro você encontrará alguma documentação e o pacote de instalação. Dê um duplo clique no pacote de instalação e siga as instruções na tela.

Uma senha de administrador será solicitada e alguns textos serão exibidos. Por favor, leia-os - eles podem estar mais atualizados do que este guia do usuário. Quando o instalador solicitar-lhe um drive para instalação, tenha certeza de escolher o seu volume do sistema (aquele no qual você instalou o Mac OS X). Se você escolher o volume errado, a instalação irá prosseguir mas o Fink não funcionará mais tarde. Quando o instalador tiver terminado, prossiga à seção Configurando seu ambiente.

2.2 Instalando a distribuição de códigos fontes

A distribuição de códigos fontes é disponibilizada como um tarball padrão Unix (.tar.gz). Ela contém somente o gerenciador de pacotes fink e irá baixar os códigos fontes dos pacotes quando necessário. Você pode obter esta distribuição na página de downloads. Versões mais antigas do StuffIt Expander são problemáticas para lidar com nomes longos de arquivos então, se você tiver algum problema, você precisará remover a pasta que ele gera e seguir as seguintes instruções para linha de comando.

A versão em código fonte precisa ser instalada a partir da linha de comando, então abra o Terminal.app e posicione-se no diretório onde você colocou o arquivo fink-0.27.x.tar.gz. Talvez seu navegador Web tenha extraído parcialmente o arquivo; neste caso você terá o arquivo fink-0.27.x.tar no seu diretório de download e deverá pular o primeiro comando abaixo. Os comandos abaixo fazem a extração do arquivo:

gunzip fink-0.27.x.tar.gz
tar -xf fink-0.27.x.tar

Isto cria um diretório com o mesmo nome do arquivo. Continuaremos usando fink-0.27.x aqui, mas este nome pode mudar conforme a versão que você tenha baixado. Agora posicione-se nesse diretório e execute o script de carga inicial:

cd fink-0.27.x
./bootstrap

O script fará algumas verificações no seu sistema e usar o sudo para se tornar root, o que fará com que sua senha seja solicitada. Depois disso, o script lhe perguntará o diretório de instalação. A menos que você possua uma boa razão, use o diretório padrão /opt/sw. Somente essa escolha de diretório lhe permitirá baixar posteriormente pacotes binários. Além disso, todos os exemplos usam esse diretório; esteja certo de fazer a substituição apropriada caso você use um diretório diferente.

A seguir vem a configuração do Fink. Serão solicitadas informações como configurações de proxy e espelhos, e qual o nível de detalhe de mensagens que você deseja. Se você não entender uma pergunta, tecle Return para aceitar a escolha padrão. Você poderá executar novamente este procedimento mais tarde através do comando fink configure.

Quando o script de carga inicial tiver todas as informações de que necessita, ele irá começar a baixar o código fonte do sistema básico e compilá-lo. Nenhuma interação será necessária durante este procedimento. Não se preocupe caso veja alguns pacotes serem compilados duas vezes. Isto é necessário porque, para compilar um pacote binário que pertença ao próprio gerenciador de pacotes, é necessário primeiro ter o gerenciador de pacotes disponível.

Quando a carga inicial tiver terminado, proceda à seção Configurando seu ambiente.

2.3 Configurando seu ambiente

Para usar os softwares instalados na hierarquia de diretórios do Fink, incluindo os programas de gerenciamento de pacotes em si, você precisa ajustar sua variável de ambiente PATH (e algumas outras) de forma apropriada. As versões atuais do Fink fazem isto automaticamente e em geral você só precisará abrir uma nova janela do Terminal.app para garantir que estas configurações sejam aplicadas. Entretanto, em alguns casos você precisará efetuar o procedimento manualmente.

Na maior parte dos casos, você pode fazê-lo através da execução do comando

/opt/sw/bin/pathsetup.sh

em uma janela de terminal.

Observe que em algumas versões antigas do Fink o programa era denominado pathsetup.command, o qual poderia ser executado através de open /opt/sw/bin/pathsetup.command.

Entretanto, se isto não funcionar por algum motivo, você pode configurá-lo manualmente. Isto dependerá do shell que você estiver usando. Você pode determinar qual o shell que esteja usando abrindo um terminal e executando o seguinte comando:

echo $SHELL

Se a resposta for "csh" ou "tcsh", você está usando o C shell. Se for bash, zsh, sh ou algo similar, você está usando uma variante do Bourne shell.

Observe que os scripts init.sh e init.csh também adicionam /usr/X11R6/bin e /usr/X11R6/man à variável PATH e portanto você poderá usar o X11 quando tiver sido instalado. Os pacotes do Fink podem adicionar suas próprias configurações, como por exemplo a variável de ambiente QTDIR que é adicionada pelo pacote qt.

Uma vez que seu ambiente tenha sido configurado, você precisará obter descrições de pacotes conforme o capítulo Atualizando o Fink, na seção Atualizando a distribuição de códigos fontes, e então proceder ao capítulo Instalando pacotes para verificar como efetivamente instalar pacotes úteis usando as várias ferramentas de gerenciamento de pacotes que são parte do Fink.

3 Instalando pacotes

Agora que você tem algo que pode ser chamado de uma instalação do Fink, este capítulo mostra como instalar de fato os pacotes de software que você deseja. Antes de explicarmos como instalar pacotes usando tanto as distribuições de binários quanto as de códigos fontes, listamos alguns itens que são aplicáveis a ambas as distribuições.

3.1 Instalando pacotes binários com o dselect

O dselect é um programa que lhe permite visualizar a lista de pacotes disponíveis e selecionar quais você quer que sejam instalados. Ele é executado dentro de uma janela de Terminal, ocupando-a completamente, e usa uma navegação simples via teclado. Como outras ferramentas de gerenciamento de pacotes, o deselect requer privilégios administrativos, portanto você precisará usar o sudo a partir de uma conta com privilégios administrativos:

sudo dselect

Observação: O dselect possui algumas dificuldades conhecidas quando executado dentro do aplicativo Mac OS X Terminal. Você precisa executar os seguintes comandos antes de usá-lo ou colocá-los no arquivo de inicialização apropriado (e.g. .cshrc / .profile):

setenv TERM xterm-color

usuários do bash:

export TERM=xterm-color

usuários do tcsh:

O menu principal possui várias opções:

Você irá gastar a maior parte do seu tempo no dselect dentro do navegador de pacotes, acessível a partir da opção "[S]eleciona" no menu. Antes de o deselect exibir a listagem dos pacotes, ele lhe apresentará uma tela de ajuda introdutória. Você pode pressionar 'k' para obter uma lista completa com os comandos de teclado ou teclar Espaço para ir à listagem de pacotes.

Você pode se mover através da lista usando as setas para cima e para baixo. Seleções são feitas com '+' e '-'. Quando você seleciona um pacote que precisa de outros pacotes, o dselect irá mostrar-lhe uma sub-lista com os pacotes afetados. Na maior parte dos casos você pode simplesmente teclar Return para aceitar as escolhas do dselect. Você também pode fazer ajustes na sub-lista (por exemplo, escolher outra alternativa para uma dependência de pacote virtual) ou teclar 'R' (i.e. Shift-R) para retornar ao estado anterior. Você pode teclar Return para sair tanto das sub-listas quanto da listagem principal de pacotes. Quando você estiver pronto com suas seleções, saia da lista principal e use a opção de menu "[I]nstalar" para efetivamente instalar os pacotes.

3.2 Instalando pacotes binários com o apt-get

O dselect não faz por si próprio o download dos pacotes. Em vez disso, ele executa o apt para fazer o trabalho sujo. Se você prefere uma interface que seja puramente linha de comando, você pode acessar as funções do apt diretamente através do comando apt-get.

Assim como no caso do dselect, você precisa primeiro baixar a listagem corrente dos pacotes disponíveis através do seguinte comando:

sudo apt-get update

Da mesma forma como na opção "[U]pdate" do dselect, o comando acima não atualiza arquivos no seu computador mas sim apenas a lista de pacotes disponíveis para o apt. Para instalar um pacote, você só precisa fornecer o nome ao apt-get como segue:

sudo apt-get install lynx

Se o apt-get determina que para instalar um pacote são necessários outros pacotes, ele irá mostrar-lhe a lista e pedir confirmação. Ele então baixa e instala os pacotes necessários. Remover pacotes é igualmente fácil:

sudo apt-get remove lynx

3.3 Instalando pacotes dependentes que não estão disponíveis na distribuição de binários

Às vezes, durante uma instalação de binários, você pode ser informado de que uma dependência não pode ser instalada:

Os seguintes pacotes têm dependências desencontradas:
foo: Depende: bar (>= version) mas não é instalável
E: Pacotes quebrados

O que aconteceu é que o pacote que você está tentando instalar depende de um outro pacote que não pode ser distribuído como um binário devido a restrições de licenciamento. Você precisa instalar a dependência através do código fonte (veja a próxima seção).

3.4 Instalando pacotes binários e com código fonte através do fink

A ferramenta fink permite que você instale pacotes que ainda não estejam disponíveis na distribuição de binários.

Em primeiro lugar, você precisará de uma versão apropriada do Developer Tools para o seu sistema. A última versão está disponível para download gratuito após registro em http://connect.apple.com.

Para obter uma lista dos pacotes que estão disponíveis para instalação a partir do código fonte, pergunte à ferramenta fink:

fink list

A primeira coluna lista o status de instalação (branco caso não esteja instalado, i para instalado, (i) para instalado mas não a versão mais recente), seguido pelo nome do pacote, a versão mais recente, e uma descrição curta. Você pode solicitar mais informações sobre um pacote específico usando o comando "describe" ("info" é um apelido para esse comando):

fink describe xmms

Quando você houver encontrado um pacote que queira instalar, use o comando "install":

fink install wget-ssl

O comando fink irá primeiramente verificar se todos os pré-requisitos necessários (dependências) estão presentes e irá perguntar-lhe se pode instalá-los caso estejam faltando. Depois ele baixa o código fonte, descomprime-o, aplica-lhe modificações, compila-o e instala o resultado no seu sistema. Isto pode levar bastante tempo. Caso você encontre erros durante este processo, por favor verifique primeiro as Perguntas frequentes.

Você pode solicitar ao fink que tente baixar pacotes de binários pré-compilados, caso disponíveis, no lugar de compilá-los. Para tal, use a opção --use-binary-dist (ou -b) ao chamar o fink. Isto pode resultar uma grande economia de tempo. Por exemplo, ao executar

fink --use-binary-dist install wget-ssl

ou

fink -b install wget-ssl

será primeiramente feito o download de todas as dependências para wget-ssl que estejam disponíveis na distribuição de binários e apenas o restante será compilado a partir do código fonte. Esta opção também pode ser permanentemente habilitada no arquivo de configuração do Fink (fink.conf) ou através da execução do comando fink configure.

Mais detalhes sobre a ferramenta fink estão disponíveis no capítulo Usando a ferramenta fink a partir da linha de comando.

3.5 Fink Commander

O Fink Commander é uma interface Aqua para as ferramentas apt-get e fink. O menu Binary permite que você faça operações na distribuição de binários e o menu Source faz o mesmo para a distribuição de códigos fontes.

O Fink Commander está incluído no instalador binário do Fink. Para baixá-lo em separado (por exemplo, se você fez a carga inicial do Fink a partir de código fonte) ou para informações adicionais, veja o site do Fink Commander.

3.6 Versões disponíveis

Quando você quiser instalar um pacote, verifique primeiro o banco de dados de pacotes e veja se ele está de fato disponível através do Fink. As versões disponíveis do pacote serão exibidas em várias linhas de uma tabela:

3.7 Lidando com o X11

Muitos dos pacotes que estão disponíveis através do Fink requerem a instalação de algum tipo de X11. Por causa disto, uma das primeiras coisas que normalmente são feitas é escolher uma implementação do X11.

Como há várias implementações do X11 disponíveis para o Mac OS X (X11 da Apple, XFree86, X.org) e várias formas de as instalar (manualmente ou via Fink), há vários pacotes alternativos - um para cada configuração. Aqui está a lista dos pacotes X11 disponíveis e métodos de instalação:

Para mais informações sobre a instalação e execução do X11, consulte o documento X11 no Darwin e no Mac OS X.

4 Atualizando o Fink

Este capítulo cobre os procedimentos usados para atualizar sua instalação do Fink para os pacotes mais recentes.

4.1 Atualizando através de pacotes binários

Caso você use exclusivamente a distribuição de binários, não há um procedimento de atualização separado. Basta solicitar à sua ferramenta predileta que obtenha do servidor a listagem de pacotes mais recentes e proceda à atualização de todos os pacotes.

Para o dselect, basta escolher as opções "[U]pdate" e em seguida "[I]nstalar". É claro que você pode também escolher a opção "[S]eleciona" para conferir quais os pacotes que você selecionou e talvez descobrir novos pacotes.

Para o apt, execute o comando apt-get update para receber a listagem de pacotes mais recente e então execute o comando apt-get upgrade para atualizar todos os pacotes que tenham versões novas disponíveis.

Para o Fink Commander, escolha Binary->Update descriptions para atualizar a listagem de pacotes e em seguida Binary->Dist-Upgrade packages para proceder à atualização para versões novas.

Para mais informações, consulte a Matriz de atualização.

4.2 Atualizando a distribuição de códigos fontes

Se você usa a distribuição de códigos fontes então o procedimento é composto por dois passos. No primeiro passo, você baixa as descrições mais recentes dos pacotes em seu computador. No segundo passo, essas descrições de pacotes são usadas para compilar novos pacotes; o código fonte é baixado quando necessário.

O primeiro passo pode ser feito através da execução do comando fink selfupdate. Este comando verificará no site do Fink se há uma nova versão pontual disponível e irá automaticamente baixar e instalar as descrições de pacotes associadas. Você também tem a opção de obter as descrições de pacotes diretamente do git ou através do rsync. O Git é um repositório com versionamento onde as descrições de pacotes são armazenadas e gerenciadas. A vantagem do Git é que ele é atualizado continuamente. A desvantagem é que há um único servidor Git para o Fink e ele pode não ser muito confiável quando há tráfego intenso. Por esta razão, recomenda-se que usuários em geral usem o rsync. Existem vários espelhos disponíveis para o rsync e a única desvantagem é que as descrições de pacotes levam por volta de uma hora para migrar aos espelhos rsync depois de terem sido adicionadas ao Git.

Caso você encontre problemas na atualização de uma instalação a partir de códigos fontes, consulte estas instruções especiais).

Uma vez que você tenha atualizado suas descrições de pacotes (não importa como), você pode atualizar todos os pacotes de uma vez só através do comando fink update-all.

Para atualizar a distribuição de códigos fontes através do Fink Commander, escolha Source->Selfupdate para baixar as novas descrições de pacotes e em seguida Source->Update-all para atualizar os pacotes.

4.3 Misturando binários e códigos fontes

Caso você use pacotes binários pré-compilados para alguns pacotes e compile outros a partir do código fonte, você precisará seguir os dois conjuntos de instruções acima para atualizar sua instalação do Fink, ou seja: primeiro use dselect ou apt-get para obter as versões mais recentes dos pacotes que estão disponíveis como binários e então use fink selfupdate e fink update-all para obter as descrições de pacotes mais recentes e atualizá-los.

Se você usar a opção UseBinaryDist, configurável através da opção --use-binary-dist (ou -b) ou no arquivo de configuração do Fink, as descrições de pacotes (tanto os binários quanto os de códigos fontes) serão atualizadas se você executar o comando fink selfupdate. Neste caso você não precisa mais executar separadamente o comando apt-get.

Se você estiver usando o Fink Commander, escolha Binary->Update descriptions para atualizar a listagem de pacotes e em seguida Binary->Dist-Upgrade packages para atualizar os pacotes de binários para suas novas versões. Depois disso, escolha Source->Selfupdate para baixar os novos arquivos com informações sobre os pacotes e em seguida escolha Source->Update-all (veja as seções anteriores para mais detalhes).

5 O arquivo de configuração do Fink

Este capítulo explica as configurações disponíveis no arquivo de configuração do Fink (fink.conf) e como elas influenciam o comportamento do Fink, em particular a ferramenta de linha de comando fink, ou seja, focando principalmente o caso de distribuição de códigos fontes.

5.1 Sobre o fink.conf

Na instalação inicial do Fink você teve que responder algumas perguntas cujas respostas são armazenadas no arquivo de configuração, tais como quais espelhos você gostaria de usar para baixar os arquivos e qual método deve ser usado para obter privilégios administrativos. Você pode passar novamente por este processo através da execução do comando fink configure. Entretanto, algumas configurações só podem ser ajustadas através da edição manual do arquivo fink.conf. Normalmente essas configurações são direcionadas a usuários avançados.

O arquivo fink.conf está localizado em /opt/sw/etc/fink.conf e pode ser editado com seu editor de textos predileto. Você precisará de privilégios administrativos para editá-lo.

5.2 A sintaxe do fink.conf

Seu arquivo fink.conf é composto por várias linhas seguindo o formato

NomeDaOpcao: Valor

Cada linha indica uma única opção e o nome da opção é separado de seu valor por : seguido de um único espaço em branco. O conteúdo do valor depende da opção, sendo normalmente um valor booleano ("True" ou "False"), uma string, ou uma lista de strings delimitadas por um espaço em branco. Por exemplo:

OpcaoBooleana: True
OpcaoString: AlgumaCoisa
OpcaoLista: Opcao1 Opcao2 Opcao3

5.3 Configurações obrigatórias

Algumas das configurações no arquivo fink.conf são mandatórias. Sem elas o Fink não consegue funcionar adequadamente. As seguintes configurações pertencem a esta categoria.

5.4 Configurações de usuário opcionais

Há várias configurações opcionais que os usuários podem usar para adequar o comportamento do Fink.

5.5 Configurações de download

Há várias configurações que influenciam a forma como o Fink baixa os dados dos pacotes.

5.6 Configurações de espelhos

Obter software da Internet pode ser tedioso e normalmente os downloads não são tão rápidos quanto gostaríamos. Servidores espelhos hospedam cópias de arquivos disponíveis em outros servidores e podem ter uma conexão mais rápida ou estarem geograficamente mais próximos a você, aumentando a velocidade de download. Eles também ajudam a reduzir a carga nos servidores principais que geralmente estão mais ocupados, como por exemplo ftp.gnu.org, e eles oferecem uma alternativa no caso de um servidor não estar disponível.

Para que o Fink escolha o melhor espelho para você, você precisa informar o continente e país em que reside. Se os downloads de um servidor falharem, o Fink perguntará se você deseja tentar novamente o mesmo espelho, um espelho diferente no mesmo país ou continente, ou ainda um espelho diferente em qualquer lugar do mundo.

O arquivo fink.conf contém as configurações de quais espelhos você gostaria de usar.

5.7 Configurações para desenvolvedores

Algumas opções do arquivo fink.conf são úteis apenas para desenvolvedores. Não recomendamos que usuários convencionais as modifiquem. As seguintes opções estão nesta categoria.

5.8 Configurações avançadas

Há algumas outras opções que podem ser úteis mas requerem algum conhecimento para funcionarem a contento.

5.9 Gerenciando o arquivo sources.list do apt

O arquivo /opt/sw/etc/apt/sources.list, que é usado pelo apt para localizar arquivos binários para instalação, é automaticamente gerenciado pelo fink. O arquivo sources.list padrão, conforme suas próprias distribuições e árvores, se parece com:

# Local modifications should either go above this line, or at the end.
#
# Default APT sources configuration for Fink, written by the fink program

# Local package trees - packages built from source locally
# NOTE: this is automatically kept in sync with the Trees: line in 
# /opt/sw/etc/fink.conf
# NOTE: run 'fink scanpackages' to update the corresponding Packages.gz files
deb file:/opt/sw/fink local main
deb file:/opt/sw/fink stable main crypto

# Official binary distribution: download location for packages
# from the latest release
deb http://us.dl.sourceforge.net/fink/direct_download 10.3/release main crypto

# Official binary distribution: download location for updated
# packages built between releases
deb http://us.dl.sourceforge.net/fink/direct_download 10.3/current main crypto

# Put local modifications to this file below this line, or at the top.

Usando esse arquivo padrão, o apt-get procura primeiro na sua instalação local por binários que já tenham sido compilados, e após procura na distribuição de binários oficial. Você pode alterar este comportamento ajustando os valores no começo deste arquivo (que será lido em primeiro lugar) ou no fim do arquivo (que será lido por último).

Se você alterar a linha Trees do arquivo fink.conf ou a distribuição que estiver usando, o fink irá automaticamente modificar a parte "default" do arquivo para refletir os novos valores. O Fink irá, entretanto, preservar quaisquer modificações locais que você tenha feito no arquivo desde que você as limite ao começo do arquivo (antes da primeira linha padrão) e ao fim do arquivo (abaixo da última linha padrão).

6 Usando a ferramenta fink a partir da linha de comando

6.1 Usando a ferramenta fink

A ferramenta fink usa vários comandos para operar em pacotes de uma distribuição de códigos abertos. Alguns comandos requerem o nome de ao menos um pacote mas podem operar em vários nomes de pacotes de uma vez só. Você pode especificar apenas o nome do pacote (por exemplo, gimp) ou um nome completamente qualificado com o número da versão (por exemplo, gimp-1.2.1) ou com os números de versão e revisão (por exemplo, gimp-1.2.1-3). O Fink irá escolher automaticamente a última versão e revisão disponível caso não tenham sido especificadas. Outros comandos possuem opções diferentes.

Apresentamos a seguir a lista de comandos da ferramenta fink.

6.2 Opções globais

Há algumas opções que são aplicáveis a todos os comandos do fink. Se você digitar fink --help você obterá a lista de opções:

(no contexto da versão fink-0.26.0)

-h, --help - exibe texto de ajuda.

-q, --quiet - faz com que o fink exiba menos informações, o contrário de --verbose. Sobrescreve a opção Verbose em fink.conf.

-V, --version - exibe informações sobre a versão.

-v, --verbose - faz com que o fink exiba mais informações, o contrário de --quiet. Sobrescreve a opção Verbose em fink.conf.

-y, --yes - nas perguntas interativas, responde automaticamente com a resposta padrão.

-K, --keep-root-dir - Faz com que o fink não remova o diretório raiz-[nome]-[versão]-[revisão] em Buildpath após compilar um pacote. Corresponde à opção KeepRootDir no arquivo fink.conf.

-k, --keep-build-dir - Faz com que o fink não remova o diretório [nome]-[versão]-[revisão] em Buildpath após compilar um pacote. Corresponde à opção KeepBuildDir no arquivo fink.conf.

-b, --use-binary-dist - faz o download de pacotes pré-compilados na distribuição de binários caso estejam disponíveis (por exemplo, para diminuir o tempo de compilação ou utilização do disco). Note que este modo instrui o fink a baixar a versão procurada caso ela esteja disponível para download; o modo não faz com que o fink escolha uma versão qualquer que esteja disponível sob a forma de binário. Corresponde à opção UseBinaryDist no arquivo fink.conf.

--no-use-binary-dist - Não usa pacotes binários pré-compilados da distribuição de binários, o oposto da opção --use-binary-dist. Este é o comportamento padrão a menos que haja sido sobrescrito por UseBinaryDist: true no arquivo de configuração fink.conf.

--build-as-nobody - Usa um usuário sem privilégios administrativos durante o processo de extrair, ajustar, compilar e instalar pacotes. Note que os pacotes compilados com esta opção podem não funcionar corretamente. Esta opção deve ser usada apenas para desenvolvimento de pacotes e depuração de erros.

-m, --maintainer (fink-0.25 e mais recentes) Executa ações úteis para mantenedores de pacotes: efetua a validação do arquivo .info antes de começar a compilação e no arquivo .deb após compilar um pacote; faz com que alguns avisos de tempo de compilação se tornem erros fatais; (fink-0.26 e mais recentes) executa as suítes de testes conforme especificado no campo, fazendo com que --tests e --validate estejam on.

--tests[=on|off|warn] - (fink-0.26.0 e mais recentes) Faz com que os campos InfoTest sejam ativados e as suítes de testes especificadas via TestScript sejam executadas (veja o Manual de empacotamento para o Fink). Se nenhum argumento for informado para esta opção ou se o argumento estiver on, então falhas nas suítes de testes serão consideradas erros fatais durante a compilação. Se o argumento for warn então as falhas serão tratadas como avisos.

--validate[=on|off|warn] - Faz com que os pacotes sejam validados durante a compilação. Se nenhum argumento for fornecido a esta opção ou se o argumento for on, então falhas de validação serão consideradas erros fatais durante a compilação. Se o argumento for warn, então falhas serão tratadas como avisos.

-l, --log-output - Guarda uma cópia da saída do terminal durante cada processo de compilação de pacote. Por padrão, o arquivo é armazenado em /tmp/fink-build-log_[nome]-[versão]-[revisão]_[data]-[hora] mas a opção --logfile pode ser usada para especificar um nome alternativo.

--no-log-output - Não guarda uma cópia da saída do terminal durante a compilação de pacotes, o oposto da opção --log-output. É o padrão.

--logfile=nomedearquivo - Guarda os logs de compilação de pacotes no arquivo nomedearquivo no lugar do arquivo padrão (veja a opção --log-output, que é implicitamente ativada pela opção --logfile). Você pode usar os códigos de expansão % para incluir automaticamente informações específicas do pacote. Uma lista completa de códigos de expansão está disponível no Manual de empacotamento do Fink; alguns códigos de expansão são:

-t, --trees=expr - Considera apenas os pacotes em árvores que casem com expr. O formato de expr é uma lista de especificações de árvores separadas por vírgula. Árvores listadas em fink.conf são comparadas com expr. Somente aquelas que casarem com pelo menos uma das especificações são consideradas pelo fink, na ordem da primeira especificação com que casarem. Se a opção --trees for usada, todas as árvores listadas em fink.conf são incluídas em ordem. Uma especificação de árvore pode conter o caracter barra (/), sendo que neste caso é necessário um casamento exato com uma árvore. Por exemplo, --trees=unstable/main casaria somente com a árvore unstable/main, enquanto que --trees=unstable casaria tanto com unstable/main quanto com unstable/crypto. Há algumas especificações mágicas que podem ser incluídas em expr:

Exclusão (ou falha de inclusão) dessas árvores mágicas só são suportadas atualmente para operações que não instalem ou removam pacotes.

-T, --exclude-trees=expr Considera apenas pacotes em árvores que não casem com expr. A sintaxe de expr é a mesma de --trees, incluindo as especificações mágicas. Entretanto, as árvores que casarem são excluídas no lugar de incluídas. Note que árvores que casem tanto com --trees quanto com --exclude-trees são excluídas.

Exemplos de --trees e --exclude-trees:

A maior parte destas opções são autoexplicativas. Várias também podem ser definidas no arquivo de configuração do Fink (fink.conf) caso queira defini-las permanentemente e não apenas para uma execução do fink em particular.

6.3 install

O comando install é usado para instalar pacotes. Ele baixa, configura, compila e instala os pacotes cujo nome você fornecer. Ele também instala automaticamente as dependências necessárias mas irá pedir-lhe confirmação antes de fazê-lo. Exemplo:

fink install nedit

Reading package info...
Information about 131 packages read.
The following additional package will be installed:
 lesstif
Do you want to continue? [Y/n]

O uso da opção --use-binary-dist com fink install pode aumentar significativamente a velocidade de compilação de pacotes complicados.

Apelidos para o comando install: update, enable, activate, use (a maior parte destes por motivos históricos).

6.4 remove

O comando remove elimina pacotes do sistema por intermédio do comando 'dpkg --remove'. A implementação possui uma falha: ela não verifica dependências por si própria mas sim delega toda a verificação para a ferramenta dpkg. Normalmente isto não causa problemas.

O comando remove somente elimina os arquivos do pacote (a menos dos arquivos de configuração), deixando intacto o arquivo .deb contendo o pacote. Isto significa que você pode reinstalar um pacote mais tarde sem precisar passar novamente pelo processo de compilação. Se você precisar liberar espaço em disco, você pode remover os arquivos .deb na árvore /opt/sw/fink/dists.

As opções a seguir podem ser usadas em conjunto com o comando fink remove.

-h,--help       - Exibe as opções disponíveis.
-r,--recursive  - Também remove pacotes que dependam do(s) pacote(s) a ser(em) removido(s)
                  (ou seja, uma solução para a falha mencionada acima).

Apelidos: disable, deactivate, unuse, delete.

6.5 purge

O comando purge elimina pacotes do sistema. Executa o mesmo que o comando remove e também elimina arquivos de configuração.

As seguintes opções são reconhecidas pelo comando:

-h,--help
-r,--recursive

6.6 update-all

Este comando atualiza todos os pacotes instalados para que estejam na versão mais recente. Ele não precisa de que você informe uma lista de pacotes, bastando digitar:

fink update-all

A opção --use-binary-dist também é útil para este comando.

6.7 list

Este comando produz uma lista dos pacotes disponíveis, exibindo o status de instalação, a versão mais recente e uma descrição curta. Caso você o execute sem parâmetros, ele listará todos os pacotes disponíveis. Você também pode passar um nome ou padrão do shell e o fink listará todos os pacotes que casarem.

A primeira coluna mostra o status da instalação com os seguintes significados:

    não instalado
 i  a versão mais recente está instalada
(i) instalado, mas uma versão mais recente está disponível
 p  um pacote virtual provido por um pacote que esteja instalado

A coluna de versão sempre lista a versão mais recente (maior) conhecida para um dado pacote independentemente de qual versão esteja instalada, caso esteja. Para ver todas as versões de um pacote disponíveis para o seu sistema, use o comando dumpinfo.

O comando fink list também aceita algumas opções:

-h,--help
	  Exibe as informações disponíveis.
-t,--tab
          Exibe a lista em formato delimitado por tabulações, útil para
          processar a saída através de um script.
-i,--installed
          Exibe apenas os pacotes que estejam instalados.
-o,--outdated
          Exibe apenas os pacotes que estejam desatualizados.
-u,--uptodate
          Exibe apenas os pacotes que estejam atualizados.
-n,--notinstalled
          Exibe apenas os pacotes que não estejam instalados.
-s expr,--section=expr
          Exibe apenas os pacotes cujas seções casem com a expressão
          regular expr.
-m expr,--maintainer=expr
          Exibe apenas os pacotes cujo mantenedor case com a expressão
          regular expr.
-w=xyz,--width=xyz
          Define a largura da tela de saída para a qual você deseja
          formatar a saída. xyz é ou um valor numérico ou auto.
          auto irá definir a largura com base na largura do terminal.
          O valor padrão é auto.

Alguns exemplos de uso:

fink list                 - lista todos os pacotes
fink list bash            - verifica se o bash está disponível e em que versão
fink list --tab --outdated | cut -f 2     
                          - lista apenas os nomes de pacotes desatualizados
fink list --section=kde   - lista os pacotes na seção kde
fink list --maintainer=fink-devel
                          - lista os pacotes sem mantenedores
fink --trees=unstable list --maintainer=fink-devel
                          - lista os pacotes sem mantenedores e que estejam
                            na árvore unstable
fink list "gnome*"        - lista todos os pacotes cujos nomes comecem com
                            'gnome'

As aspas no último exemplo são necessárias para impedir que o shell interprete o padrão.

6.8 apropos

Este comando se comporta de forma quase idêntica a fink list. A maior diferença é que o fink apropos também lê as descrições de pacotes para buscar pacotes. A segunda diferença é que a string de pesquisa precisa ser fornecida, não sendo opcional.

fink apropos irc          - lista os pacotes para os quais 'irc' aparece
			    no nome ou na descrição.
fink apropos -s=kde irc   - o mesmo que acima, mas restrito a pacotes que
			    estejam na seção kde.

6.9 describe

Este comando exibe uma descrição do pacote cujo nome você haja fornecido na linha de comando. Note que somente uma pequena parte dos pacotes possui uma descrição.

Apelidos: desc, description, info

6.10 plugins

Lista os plugins (opcionais) disponíveis para o programa fink. Atualmente lista os mecanismos de notificação e algoritmos para detecção de erros nos tarballs com códigos fontes.

6.11 fetch

Baixa os pacotes enumerados mas não os instala. Este comando irá baixar os tarballs mesmo que eles já tenham sido baixados previamente.

As seguintes opções podem ser usadas com o comando fetch:

-h,--help		Exibe as opções disponíveis.
-i,--ignore-restrictive	Não baixa pacotes com License: Restrictive.
                        Útil para espelhos porque alguns pacotes com licenças
                        restritivas não permitem que sejam espelhados.
-d,--dry-run		Exibe apenas informações sobre o(s) arquivo(s) que
                        seria(m) baixado(s) para baixar o pacote; não faça
                        efetivamente o download.
-r,--recursive		Baixe também pacotes que sejam dependências do(s)
                        pacote(s) a ser(s) baixado(s).

6.12 fetch-all

Baixa todos os arquivos com os códigos fontes dos pacotes. Da mesma forma que fetch, os tarballs são baixados mesmo que já o tenham sido anteriormente.

As seguintes opções podem ser usadas com o comando fink fetch-all:

-h,--help
-i,--ignore-restrictive
-d,--dry-run

6.13 fetch-missing

Baixa todos os arquivos com os códigos fontes de pacotes que estejam faltando. Este comando somente baixará arquivos que não estejam presentes no sistema.

Ass eguintes opções podem ser usadas com o comando fink fetch-missing:

-h,--help
-i,--ignore-restrictive
-d,--dry-run

6.14 build

Compila um pacote mas não o instala. Como de hábito, os tarballs contendo os códigos fontes são baixados caso não possam ser encontrados. O resultado deste comando é um arquivo de pacote .deb instalável que pode ser usado posteriormente para rapidamente instalar o pacote através do comando install. Este comando não fará nada caso o arquivo .deb já exista. Note que as dependências ainda são instaladas e não apenas compiladas.

A opção --use-binary-dist option pode ser usada com este comando.

6.15 rebuild

Compila um pacote (da mesma forma que o comando build) mas ignora e sobrescreve o arquivo .deb já existente. Se o pacote for instalado, o recém-criado arquivo .deb também pode ser instalado no sistema através do dpkg. Bastante útil durante o desenvolvimento de pacotes.

6.16 reinstall

Igual ao install porém o pacote será instalado via dpkg mesmo que ele já esteja instalado. Você pode usar este comando caso tenha acidentalmente apagado arquivos de um pacote ou mudado arquivos de configuração e queira ter a configuração inicial de volta.

6.17 configure

Roda novamente o processo de configuração do fink. Dentre outros, permite que você mude a configuração dos servidores espelhos ou de proxy.

Característica nova no fink-0.26.0: este comando também permite que você habilite árvores unstable caso queira.

6.18 selfupdate

Este comando automatiza o processo de atualização para uma nova versão do Fink. Ele verifica o site do Fink para ver se uma nova versão está disponível. Em seguida, ele baixa as descrições de pacotes e atualiza os pacotes básicos incluindo o próprio fink. Este comando pode fazer a atualização para versões regulares e também configurar seu diretório /opt/sw/fink/dists para atualizações diretas por meio de git ou rsync caso você tenha selecionado uma destas opções na primeira vez em que o comando for executado. Isto significa que você poderá portanto acessar as últimas versões de todos os pacotes.

Caso a opção --use-binary-dist esteja habilitada, a lista de pacotes disponíveis na distribuição de binários também será atualizada.

6.19 selfupdate-rsync

Use este comando para fazer com que fink selfupdate use o rsync para atualizar sua lsitagem de pacotes.

Esta é a forma recomendada para atualizar o Fink quando se compila a partir do código fonte.

Observação: atualizações via rsync somente atualizam as árvores ativas (por exemplo, se unstable não estiver habilitada no fink.conf então a lista de pacotes instáveis não será atualizada.

6.20 selfupdate-git

Use este comando para fazer com que fink selfupdate use acesso Git para atualizar sua listagem de pacotes.

A atualização do Rsync é preferida, exceto para desenvolvedores e pessoas que estão por trás de firewalls que não permitem o rsync.

6.21 index

Reconstrói o cache de pacotes. Normalmente você não precisa executar este comando manualmente já que o fink deveria detectar automaticamente se precisa ser atualizado.

6.22 validate

Este comando executa várias validações em arquivos .info e .deb. Mantenedores de pacotes devem rodar este comando em suas descrições de pacotes e pacotes compilados correspondentes antes de os submeter.

As seguintes opções facultativas podem ser usadas:

-h,--help            - Exibe as opções disponíveis.
-p,--prefix          - Simula um prefixo de diretório base alternativo nos
                       arquivos sendo validados.
--pedantic, --no-pedantic
                     - Controla a exibição de avisos de formatação.
                      --pedantic é o padrão.

Apelidos: check

6.23 scanpackages

Atualiza o banco de dados de .debs do apt-get. O padrão é atualizar todas as árvores mas isto pode ser restrito a uma ou mais árvores especificadas como argumentos.

6.24 cleanup

Remove arquivos obsoletos e temporários. Este comando pode liberar bastante espaço em disco. Um ou vários modos podem ser especificados:

--debs               - Remove arquivos .deb (pacotes de binários compilados)
                       correspondentes às versões de pacotes que não estejam nem
                       descritas por um arquivo de descrição de pacote (.info)
                       nas árvores ativas nem instaladas no momento.
--sources,--srcs     - Remove códigos fontes (tarballs, etc) que não estejam sendo
                       usadas por algum arquivo de descrição de pacotes (.info) nas
                       árvores ativas no momento.
--buildlocks, --bl   - Remove pacotes cuja compilação tenha travado.
--dpkg-status        - Remove do banco de dados de status do dpkg as entradas de
                       pacotes que não estejam instalados.
--obsolete-packages  - Tenta desinstalar todos os pacotes que estejam obsoletos
                       (característica nova no fink-0.26.0).
--all                - Todos os modos acima (característica nova no fink-0.26.0).

Caso nenhum modo tenha sido especificado, a ação padrão é --debs --sources.

Além disso, as seguintes opções podem ser usadas:

-k,--keep-src        - Move arquivos antigos com código fonte para /opt/sw/src/old no
                                        lugar de os remover.
-d,--dry-run         - Imprime os nomes dos arquivos que seriam removidos mas
                       não os remove de fato.
-h,--help            - Exibe os modos e opções disponíveis.

6.25 dumpinfo

Exibe como o fink analisa as partes de um arquivo de pacote .info. Vários campos e expansões de códigos serão exibidos conforme as opções abaixo:

-h, --help           - Exibe as opções disponíveis.
-a, --all            - Exibe todos os campos da descrição do pacote. É o modo
                       padrão quando nem --field ou --percent forem informados.
-f fieldname,        - Mostra os campos na ordem
  --field=fieldname    em que forem listados.
-p key,              - Mostra os códigos de expansão na
   --percent=key       ordem em que forem listados.

6.26 show-deps

Exibe uma lista legível das dependências, tanto de compilação quanto de execução (instalação), dos pacotes listados.


Copyright Notice

Copyright (c) 2001 Christoph Pfisterer, Copyright (c) 2001-2020 The Fink Project. You may distribute this document in print for private purposes, provided the document and this copyright notice remain complete and unmodified. Any commercial reproduction and any online publication requires the explicit consent of the author.


Generated from $Fink: uguide.pt.xml,v 1.5 2023/08/04 4:49:23 nieder Exp $