dpkg-divert - sobrepõe a versão de pacote de um
ficheiro
dpkg-divert [option...] command
dpkg-divert é o utilitário usado para definir
e actualizar a lista de desvios.
diversions de ficheiros são um modo de forçar
o dpkg(1) a não instalar um ficheiro na sua
localização, mas numa localização
desviada. Estes desvios podem ser usados através dos scripts
de maintainer de pacote para afastar um ficheiro quando este causa um
conflito. Os administradores de sistemas também o podem usar para
sobrepor ficheiros de configuração de alguns pacotes, ou
sempre que alguns ficheiros (que não sejam marcados como
“conffiles”) precisam de ser conservados pelo dpkg,
quando instala uma versão mais recente do pacote que contém
esses ficheiros.
- [--add] file
- Adiciona um desvio para file. Este ficheiro é actualmente
não renomeado, veja --rename.
- --remove
file
- Remove um desvio para file. Este ficheiro é actualmente
não renomeado, veja --rename.
- --list
[glob-pattern]
- Lista todos os desvios, ou os que correspondem a glob-pattern.
- --listpackage
file
- Escreve o nome do pacote que desvia file (desde dpkg 1.15.0).
Escreve LOCAL se file é desviado localmente e nada se
file não é desviado.
- --truename
file
- Escreve o nome real para um ficheiro desviado.
- --admindir
directory
- Define o directório administrativo para directory. A
predefinição é «/var/lib/dpkg»
se DPKG_ADMINDIR não estiver definido.
- --instdir
directory
- Define o directório de instalação, o que se refere ao
directório onde os pacotes são instalados (desde dpkg
1.19.2). A predefinição é «/» se
DPKG_ROOT não estiver definido.
- --root
directory
- Define o directório raiz para directory, o que define o
directório de instalação para
«directory» e o directório administrativo para
«directory/var/lib/dpkg» (desde dpkg 1.19.2)
se DPKG_ROOT não estiver definido.
- --divert
divert-to
- divert-to é a localização para onde as
versões de file, como fornecido por outros pacotes,
serão desviadas.
- --local
- Especifica que todas as versões de pacotes deste ficheiro
são desviadas. Isto significa, que não há
excepções, e seja em que pacote esteja instalado, o ficheiro
é desviado. Isto pode ser usado pro uma administrador para instalar
uma versão modificada localmente.
- --package
package
- package é o nome do pacote cuja cópia de file
não será desviada. Isto é, file será
desviado para todos os pacotes excepto package.
- --quiet
- Modo silencioso, isto é, não há resultados
detalhados.
- --rename
- Actualmente mete o ficheiro de lado (ou para trás).
dpkg-divert irá abortar a operação no caso do
ficheiro de destino já existir. Este é o comportamento comum
usado para desvios de ficheiros de um conjunto de pacotes
não-Essential (veja --no-rename para mais
detalhes).
- --no-rename
- Especifica que o ficheiro não deve ser renomeado enquanto se
adiciona ou remove o desvio na base de dados (desde dpkg 1.19.1). Isto
destina-se a desvios de ficheiros do conjunto de pacotes Essential,
onde o desaparecimento temporário do ficheiro original não
é aceitável, pois pode tornar o sistema
não-funcional. Este é o comportamento predefinido, mas isso
irá mudar no ciclo dpkg 1.20.x.
- --test
- Modo de teste, isto é, não faz realmente nenhumas
alterações, apenas uma demonstração.
- -?, --help
- Mostra a mensagem de utilização e termina.
- --version
- Mostra a versão e termina.
- 0
- A acção requisitada foi executada com sucesso.
- 2
- Erro fatal ou irrecuperável devido a utilização de
linha de comandos inválida, ou interações com o
sistema, tais como acesso à base de dados, alocações
de memória, etc.
- DPKG_ROOT
- Se definido e as opções --instdir ou --root
não foram especificadas, será usado como o directório
raiz do sistema de ficheiros (desde dpkg 1.19.2).
- DPKG_ADMINDIR
- Se definido e as opções --admindir ou --root
não foram especificadas, será usado como o directório
de dados do dpkg.
- DPKG_MAINTSCRIPT_PACKAGE
- Se definido e as opções --local e --package
não foram especificadas, dpkg-divert irá usa-lo como
o nome do pacote.
- DPKG_DEBUG
- Define a máscara de depuração (desde dpkg 1.21.10) a
partir dum valor octal. As bandeiras presentemente aceites estão
descritas na opção dpkg --debug, mas nem todas estas
bandeiras podem ter um efeito neste programa.
- DPKG_COLORS
- Define o modo de cor (desde dpkg 1.18.5). Os valores actualmente aceites
são: auto (predefinido), always e never.
- /var/lib/dpkg/diversions
- Ficheiro que contém a lista actual das divergências do
sistema. Está localizado no directório de
administração do dpkg, juntamente com outros
ficheiros importantes para o dpkg, tais como <estado> ou
disponível.
Nota: O dpkg-divert preserva uma cópia
antiga deste ficheiro, com a extensão -old, antes do o
substituir pelo novo.
Quando adiciona, a predefinição é
--local e --divert original.distrib. Quando
remove, --package ou --local e --divert tem de
corresponder se for especificado.
Os directórios não podem ser desviados com
dpkg-divert.
Deve tomar-se cuidado ao desviar bibliotecas partilhadas,
ldconfig(8) cria um link simbólico baseado no campo DT_SONAME
embebido na biblioteca. Devido a ldconfig não honrar desvios
(apenas dpkg o faz), o link simbólico pode acabar a apontar
para a biblioteca desviada, se uma biblioteca desviada tiver o mesmo SONAME
que a não desviada.
Para desviar todas as cópias de um /usr/bin/example
para /usr/bin/example.foo, isto é, direciona todos os pacotes
que fornecem /usr/bin/example para o instalar como
/usr/bin/example.foo, executando a mudança de nome caso
necessário:
dpkg-divert --divert /usr/bin/example.foo --rename /usr/bin/example
Para remover esse desvio:
dpkg-divert --rename --remove /usr/bin/example
Para desviar qualquer pacote que tente instalar
/usr/bin/example para /usr/bin/example.foo, excepto o seu
próprio pacote wibble:
dpkg-divert --package wibble --divert /usr/bin/example.foo \
--rename /usr/bin/example
Para remover esse desvio:
dpkg-divert --package wibble --rename --remove /usr/bin/example
Américo Monteiro
Se encontrar algum erro na tradução deste documento,
por favor comunique para Américo Monteiro
<a_monteiro@gmx.com>.