Guia do usuário - 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.
-
Basepath: diretório
Informa ao fink onde ele foi instalado. O valor padrão é /opt/sw a menos que você tenha informado outro diretório durante a instalação inicial do Fink. Você não deve mudar este valor após a instalação pois isto irá confundir o fink.
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.
-
RootMethod: su ou sudo ou none
O Fink precisa de privilégios administrativos para algumas operações. Os valores aceitos para esta opção são sudo ou su. Você também pode definir esta opção como tendo o valor none e neste caso você deverá executar o Fink como root. O valor padrão é sudo e na maior parte dos casos não se deve alterá-lo.
-
Trees: lista de árvores
As árvores disponíveis são:
local/main - pacotes locais que você deseja instalar local/bootstrap - pacotes usados durante a instalação do Fink stable/crypto - pacotes de criptografia estáveis stable/main - outros pacotes estáveis unstable/crypto - pacotes de criptografia instáveis unstable/main - outros pacotes instáveis
Você também pode adicionar suas próprias árvores em
/opt/sw/fink/dists
caso queira mas isto em geral não é necessário. As árvores padrão são "local/main local/bootstrap stable/main". Esta lista deve ser mantida sincronizada com o arquivo/opt/sw/etc/apt/sources.list
-fink
sincroniza automaticamente.A ordem das árvores tem importância uma vez que pacotes de árvores mais ao fim da lista podem sobrescrever pacotes de árvores listadas mais ao começo da lista.
-
Distribution: 10.1, 10.2-gcc3.3, 10.3 ou 10.4
O Fink precisa saber qual versão do Mac OS X você está usando. O Mac OS X 10.0 e versões anteriores não são suportados, e as versões 10.1 e 10.2 não são mais suportadas pelas versões atuais do
fink
. Usuários do Mac OS X 10.2 são restritos ao fink-0.24.7, liberado em junho de 2005. Este campo é definido através da execução do script/opt/sw/lib/fink/postinstall.pl
. Você não deveria precisar alterar este valor manualmente. -
FetchAltDir: diretório
Normalmente o
fink
armazenará os códigos fontes em/opt/sw/src
. Usando esta opção, você pode especificar um diretório alternativo para indicar ao Fink onde procurar por códigos fontes baixados. Por exemplo:FetchAltDir: /usr/src
-
Verbose: um número de 0 a 3
Esta opção define a quantidade de informações que o Fink lhe informa sobre o que ele está fazendo. Os valores são: 0 Quiet (não exibe estatísticas de download) 1 Low (não exibe a descompressão de tarballs) 2 Medium (exibe quase tudo) 3 High (exibe tudo). O valor padrão é 1.
-
SkipPrompts: uma lista de valores separados por vírgula
(
fink-0.25
e mais recentes) Esta opção restringe ofink
no tocante a evitar que o usuário precise responder a perguntas durante a execução dofink
. Cada pergunta pertence a uma categoria. Se uma categoria estiver na lista de SkipPrompts então a opção padrão será escolhida após esperar por um curto período de tempo.Atualmente existem as seguintes categorias de perguntas:
fetch - Downloads e espelhos
virtualdep - Escolha dentre pacotes alternativos
Por padrão nenhuma pergunta é evitada.
-
NoAutoIndex: booleano
O Fink guarda uma cópia dos arquivos de descrição de pacotes em /opt/sw/var/db/fink.db para evitar que seja necessário lê-los e analisá-los toda vez em que é executado. O Fink verifica se é necessário atualizar o índice de pacotes a menos que esta opção seja definida como "True". O valor padrão é "False" e não é recomendado que você o altere. Caso o faça, você pode precisar ter que executar o comando
fink index
manualmente para atualizar o índice. -
SelfUpdateNoCVS: booleano
O comando
fink selfupdate
atualiza o gerenciador de pacotes Fink para a versão mais recente. Com o valor "True", Esta opção garante que o CVS não seja usado para fazer essa atualização. esta opção é automaticamente ajustada quando se executa o comandofink selfupdate-cvs
, portanto não deveria ser necessário que você a ajuste manualmente. -
Buildpath: diretório
O Fink precisa criar vários diretórios temporários para cada pacote que ele compila a partir do código fonte. Por padrão, eles são situados em
/opt/sw/src
no Panther e anteriores, e/opt/sw/src/fink.build
no Tiger. Se você quer que eles residam em outro lugar, especifique aqui o diretório. Veja as descrições das opçõesKeepRootDir
eKeepBuildDir
na seção Configurações para desenvolvedores deste documento para mais informações sobre estes diretórios temporários.No Tiger, recomenda-se que o Buildpath termine com
.noindex
ou.build
. Caso contrário, o Spotlight tentará indexar os arquivos temporários no Buildpath, fazendo com que as compilações levem mais tempo. -
Bzip2Path: a localização do executável
bzip2
(ou compatível)(
fink-0.25
e mais recentes) A opção Bzip2Path permite que você sobrescreva a localização da ferramenta de linha de comandobzip2
. Desta forma, você pode especificar um local alternativo do executávelbzip2
, passar opções de linha de comando opcionais, ou usar um substituto como opbzip2
para descompactar arquivos.bz2
.
5.5 Configurações de download
Há várias configurações que influenciam a forma como o Fink baixa os dados dos pacotes.
-
ProxyPassiveFTP: booleano
Esta opção faz com que o Fink use o modo "passivo" para os downloads por FTP. Alguns servidores FTP ou configurações de rede necessitam de que esta opção seja definida como True. Recomenda-se que você sempre deixe esta opção ligada pois FTP ativo está obsoleto.
-
ProxyFTP: URL
Se você usa um proxy FTP então você precisa colocar seu endereço aqui, como por exemplo:
ProxyFTP: ftp://seuproxyftp.com:2121/
Deixe esta opção em branco caso você não use um proxy FTP.
-
ProxyHTTP: URL
Se você usa um proxy HTTP então você precisa colocar seu endereço aqui, como por exemplo:
ProxyHTTP: http://seuproxyhttp.com:3128/
Deixe esta opção em branco caso você não use um proxy HTTP.
-
DownloadMethod: wget ou curl ou axel ou axelautomirror
O Fink pode usar três diferentes aplicativos para baixar arquivos da Internet - wget, curl ou axel. O valor axelautomirror usa um modo experimental do axel que tenta determinar o servidor mais próximo que possui um certo arquivo. O uso de axel e axelautomirror ainda não é recomendado. O valor padrão é curl. A aplicação que você escolheu para DownloadMethod DEVE estar instalada! (i.e. o
fink
não tentará usar o curl caso você tente usar um aplicativo de download que não esteja presente. -
SelfUpdateMethod: point, rsync ou git
O
fink
pode usar diferentes métodos para atualizar os arquivos com informações sobre os pacotes. rsync é a configuração recomendada; o rsync é usado para baixar apenas os arquivos modificados nas árvores que você tenha habilitado. Observe que se você houver alterado ou adicionado arquivos nas árvoresstable
ouunstable
, usar o rsync irá eliminá-los. Faça um backup primeiro, por exemplo na sua árvorelocal
. git irá efetuar o download do repositório do Fink usando acesso git anônimo ou Github. Esta configuração tem a desvantagem de que o Git não pode trocar de espelhos; se o servidor não estiver disponível você não conseguirá fazer a atualização. point fará somente o download das últimas versões dos pacotes que tenham sido liberadas e não é recomendado porque seus pacotes podem ficar um tanto quanto desatualizados. -
SelfUpdateCVSTrees: lista de árvores
(
fink-0.25
e mais recentes) Por padrão, o método de autoatualização cvs atualizará apenas a árvore de distribuição atual. Esta opção sobrescreve a lista de versões de distribuição que serão atualizadas durante uma autoatualização. Observe que você irá precisar de um binário "cvs" recente instalado caso queira incluir diretórios que não possuam diretórios CVS/ no seu caminho completo (por exemplo, dists/local/main ou similares). -
UseBinaryDist: booleano
Faz com que o
fink
tente baixar pacotes de binários pré-compilados a partir da distribuição de binário caso estejam disponíveis e se o pacote de binários já não estiver disponível no sistema. Isto pode trazer uma boa economia de tempo de instalação e portanto recomenda-se que esta opção esteja ligada. Passar ao fink a opção --use-binary-dist option (ou-b
) tem o mesmo efeito mas só ocorre nessa execução dofink
em particular. Caso você passe aofink
a opção--no-use-binary-dist
faz com que esta configuração seja ignorada, acarretando a compilação a partir de código fonte para essa execução dofink
em particular.Note que este modo instrui o
fink
a baixar um binário disponível caso a versão seja a última versão disponível do pacote; este modo não faz com que ofink
escolha uma versão baseado na disponibilidade do binário do pacote.
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.
-
MirrorContinent: código de três letras
Você deve alterar este valor usando o comando
fink configure
. O código de três letras pode ser encontrado em/opt/sw/lib/fink/mirror/_keys
. Por exemplo, caso more na Europa:MirrorContinent: eur
-
MirrorCountry: código de seis letras
Você deve alterar este valor usando o comando
fink configure
. O código de seis letras pode ser encontrado em/opt/sw/lib/fink/mirror/_keys
. Por exemplo, caso more na Áustria:MirrorCountry: eur-AT
-
MirrorOrder: MasterFirst ou MasterLast ou MasterNever ou ClosestFirst
O Fink suporta espelhos 'mestres', que são repositórios espelhados dos tarballs de códigos fontes de todos os pacotes do Fink. A vantagem de usar um espelho mestre é que as URLs para download de código fontes sempre estarão disponíveis. Os usuários podem escolher usar esses espelhos que são mantidos pelo time do Fink, ou usar somente as URLs de códigos fontes originais e espelhos externos como os do gnome, do KDE ou do debian. Além disso, usuários podem escolher combinar os dois conjuntos, sendo que eles serão pesquisados de acordo com a proximidade (conforme documentado acima). Ao escolher as opções MasterFirst ou MasterLast, o usuário pode pular para o mestre (ou não-mestre) caso um download falhe. As opções são:
MasterFirst - Procure primeiro por espelhos mestres. MasterLast - Procure espelhos mestres por último. MasterNever - Nunca use espelhos mestres. ClosestFirst - Procure primeiro por espelhos mais próximos (combine todos os espelhos em um único conjunto).
-
Mirror-rsync: URL
(
fink-0.25.2
e mais recentes) Ao efetuar umfink selfupdate
com SelfUpdateMethod definido comorsync
, esta é a URL rsync a partir da qual deve ser feita a sincronização. Deve ser uma URL rsync anônima apontando para o diretório que contém todas as distribuições e árvores do Fink.
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.
-
KeepRootDir: booleano
Faz com que o
fink
não remova o diretórioraiz-[nome]-[versão]-[revisão]
no Buildpath após compilar um pacote. O padrão é False. Tenha cuidado, esta opção pode rapidamente lotar seu disco rígido! Passar aofink
a opção -K tem o mesmo efeito mas apenas para aquela execução dofink
em particular. -
KeepBuildDir: booleano
Faz com que o
fink
não remova o diretório[nome]-[versão]-[revisão]
no Buildpath após compilar um pacote. O padrão é False. Tenha cuidado, esta opção pode rapidamente lotar seu disco rígido! Passar aofink
a opção -k tem o mesmo efeito mas apenas para aquela execução dofink
em particular.
5.8 Configurações avançadas
Há algumas outras opções que podem ser úteis mas requerem algum conhecimento para funcionarem a contento.
-
MatchPackageRegEx:
Faz com que o fink não pergunte qual pacote instalar caso uma (e apenas uma) das escolhas case com a expressão regular do Perl colocada aqui. Exemplo:
MatchPackageRegEx: (.*-ssl$|^xfree86$|^xfree86-shlibs$)
irá casar os pacotes terminados em '-ssl' e irá casar de forma exata os pacotes 'xfree86' e 'xfree86-shlibs'.
-
CCacheDir: diretório
Se o pacote
ccache-default
for instalado, os arquivos de cache gerados pelo Fink durante a compilação serão armazenados nesse diretório. O padrão é/opt/sw/var/ccache
. Caso seja definido comonone
, o fink não irá definir a variável de ambiente CCACHE_DIR e o ccache usará o diretório$HOME/.ccache
, potencialmente colocando arquivos com proprietário root no seu diretório home. -
NotifyPlugin: plugin
Especifica um plugin de notificação para informar quandos os pacotes tiverem sido instalados ou desinstalados. O padrão é Growl (requer
Mac::Growl
para funcionar). Outros plugins podem ser encontrados no diretório/opt/sw/lib/perl5/Fink/Notify
. A partir dofink-0.25
os plugins podem ser listados através do comandofink plugins
. Consulte Fink Developer Wiki para mais informações. -
AutoScanpackages: booleano
Quando o
fink
compila pacotes novos, oapt-get
não sabe deles imediatamente. Historicamente, o comandofink scanpackages
tinha que ser executado para informar oapt-get
dos novos pacotes mas agora isto acontece de forma automática. Caso esta opção esteja presente e com valor False, então o comandofink scanpackages
não mais será executado automaticamente após a compilação de pacotes. O valor padrão é True. -
ScanRestrictivePackages: booleano
Ao efetuar a varredura de pacotes para o
apt-get
, ofink
normalmente varre todos os pacotes nas árvores atuais. Entretanto, caso o repositório apt resultante venha a se tornar disponível publicamente, o administrador pode ser obrigado por lei a não incluir pacotes com licençasRestrictive
ouCommercial
. Caso esta opção esteja presente e com valor False, então o Fink irá omitir esses pacotes durante a varredura.
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).
Próximo: 6. Usando a ferramenta fink a partir da linha de comando