| dpkg-divert(1) | dpkg suite | dpkg-divert(1) |
NOME¶
dpkg-divert - sobrepõe a versão de pacote de um ficheiro
RESUMO¶
dpkg-divert [option...] command
DESCRIÇÃO¶
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.
COMANDOS¶
- [--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
- Print the name of the package that diverts file. Prints LOCAL if
file is locally diverted and nothing if file is not
diverted.
Supported since dpkg 1.15.0.
- --truename file
- Escreve o nome real para um ficheiro desviado.
OPÇÕES¶
- --admindir directory
- Define o directório administrativo para directory. A predefinição é «/var/lib/dpkg» se DPKG_ADMINDIR não estiver definido.
- --instdir directory
- Set the installation directory, which refers to the directory where
packages get installed. Defaults to «/» if
DPKG_ROOT has not been set.
Supported since dpkg 1.19.2.
- --root directory
- Set the root directory to directory, which sets the installation
directory to «directory» and the administrative
directory to «directory/var/lib/dpkg» if
DPKG_ROOT has not been set.
Supported since dpkg 1.19.2.
- --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
- Specifies that the file should not be renamed while adding or removing the
diversion into the database. This is intended for diversions of files from
the Essential package set, where the temporary disappearance of the
original file is not acceptable, as it can render the system
non-functional. This is the default behavior, which will change once there
are no known users, but not before the dpkg 1.23.x release cycle.
Supported since dpkg 1.19.1.
- --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.
ESTADO À SAÍDA¶
- 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.
AMBIENTE¶
- 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.
Supported since 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
- Sets the debug mask from an octal value. The currently accepted flags are
described in the dpkg --debug option, but not all these flags might
have an effect on this program.
Supported since dpkg 1.21.10.
- DPKG_COLORS
- Define o modo de cor. Os valores actualmente aceites são:
auto (predefinido), always e never.
Supported since dpkg 1.18.5.
- DPKG_NLS
- Se definida, será usada para decidir se deve activar o Suporte a
Linguagem Nativa. Também como conhecido como suporte de
internacionalização (ou i18n). Os valores aceites são
0 e 1 (predefinição).
Suportado desde dpkg 1.22.7
FICHEIROS¶
- /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.
NOTAS¶
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.
EXEMPLOS¶
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
VEJA TAMBÉM¶
TRADUÇÃO¶
Américo Monteiro
Se encontrar algum erro na tradução deste documento, por favor comunique para Américo Monteiro <a_monteiro@gmx.com>.
| 2026-09-09 | 1.23.11 |