Comando dpkg do Linux
Nos sistemas operacionais Linux que usam o gerenciamento de pacotes Debian , o comando dpkg consulta, instala, remove e mantém os pacotes de software Debian e suas dependências.
- Descrição
- Sintaxe
- Exemplos
- Comandos relacionados
Descrição
O front-end primário e mais amigável para o dpkg é o aptitude . O próprio dpkg é controlado inteiramente por meio de parâmetros de linha de comando , que consistem em exatamente uma ação e zero ou mais opções. O parâmetro action diz ao dpkg o que fazer e as opções controlam o comportamento da ação de alguma maneira.
O dpkg também pode ser usado como um front-end para o dpkg-deb e o dpkg-query . A lista de ações suportadas está abaixo (na seção “Ações”). Se alguma ação desse tipo for encontrada, o dpkg executará o dpkg-deb ou o dpkg-query com os parâmetros fornecidos, mas nenhuma opção específica atualmente seja passada a eles. Para usar qualquer uma dessas opções, os back-ends precisam ser chamados diretamente.
Sintaxe
Ação dpkg [ opção ...]
Ações
-i , –install arquivo do pacote … | Instale o pacote. Se a opção –recursive ou -R for especificada, o arquivo do pacote deverá se referir a um diretório. A instalação consiste nas seguintes etapas: 1. Extraia os arquivos de controle do novo pacote. 2. Se outra versão do mesmo pacote foi instalada antes da nova instalação, execute o script prerm do pacote antigo. 3. Execute o script preinst, se fornecido pelo pacote. 4. Descompacte os novos arquivos e faça backup dos arquivos antigos para que, se algo der errado, eles possam ser restaurados. 5. Se outra versão do mesmo pacote foi instalada antes da nova instalação, execute o script postrm do pacote antigo. Observe que esse script é executado após o script de pré-instalação do novo pacote, porque novos arquivos são gravados ao mesmo tempo que os arquivos antigos são removidos. 6. Configure o pacote. Veja –configure para informações detalhadas sobre como isso é feito. |
–unpack pacote-arquivo … | Descompacte o pacote, mas não o configure. Se a opção –recursive ou -R for especificada, o arquivo do pacote deverá se referir a um diretório. |
–configure package… | -a | –pending | Configure um pacote que foi descompactado, mas ainda não configurado. Se -a ou –pending for fornecido em vez de pacote, todos os pacotes descompactados, mas não configurados, serão configurados. Para reconfigurar um pacote que já foi configurado, tente o comando dpkg-reconfigure . A configuração consiste nas seguintes etapas: 1. Descompacte os arquivos de configuração e, ao mesmo tempo, faça backup dos arquivos de configuração antigos, para que possam ser restaurados se algo der errado. 2. Execute o script postinst, se fornecido pelo pacote. |
–triggers-only package… | -a | –pending | Processa apenas gatilhos. Todos os gatilhos pendentes serão processados. Se os nomes dos pacotes forem fornecidos, apenas os gatilhos desses pacotes serão processados, exatamente uma vez, sempre que necessário. O uso dessa opção pode deixar os pacotes nos estados incorretos de espera de gatilho e pendentes de gatilho . Isso pode ser corrigido posteriormente, executando: dpkg –configure –pending . |
-r, –remove, -P, –purge package… | -a | –pending | Remova um pacote instalado. -r ou –remove remove tudo, exceto conffiles. Isso pode evitar a necessidade de reconfigurar o pacote se ele for reinstalado posteriormente. (Os arquivos de configuração são arquivos de configuração listados no arquivo de controle DEBIAN / conffiles). -P ou –purge remove tudo, incluindo conffiles. Se -a ou –pending for fornecido em vez de um nome de pacote, todos os pacotes descompactados, mas marcados para serem removidos ou removidos no arquivo / var / lib / dpkg / status , serão removidos ou removidos, respectivamente. Nota: alguns arquivos de configuração podem ser desconhecidos para o dpkg porque são criados e manipulados separadamente através dos scripts de configuração. Nesse caso, o dpkg não os removerá por si só, mas o script postrm do pacote (que é chamado pelo dpkg) deve cuidar de sua remoção durante a limpeza. Obviamente, isso se aplica apenas aos arquivos nos diretórios do sistema, não aos arquivos de configuração gravados nos diretórios pessoais de usuários individuais. A remoção de um pacote consiste nas seguintes etapas: 1. Execute o script prerm 2. Remova os arquivos instalados 3. Execute o script postrm |
–update-avail , –merge-avail Packages-file | Atualize as informações do dpkg e do dselect sobre quais pacotes estão disponíveis. Com a ação –merge-avail , as informações antigas são combinadas com as do arquivo de pacotes . Com a ação –update-avail , as informações antigas são substituídas pelas informações no arquivo Packages . O arquivo Packages distribuído com o Debian é chamado de Packages. O dpkg mantém seu registro de pacotes disponíveis em / var / lib / dpkg / available . Um comando mais simples para recuperar e atualizar o arquivo disponível é o dselect update . Observe que esse arquivo é praticamente inútil se você não usar o dselect, mas um front-end baseado no APT: O APT possui seu próprio sistema para acompanhar os pacotes disponíveis. |
-A , –record-avail pacote-arquivo … | Atualize as informações do dpkg e dselect sobre quais pacotes estão disponíveis com informações do arquivo package-file . Se a opção –recursive ou -R for especificada, o arquivo do pacote deverá se referir a um diretório. |
–clear-avail | Apague as informações existentes sobre quais pacotes estão disponíveis. |
-C , –audit | Procura pacotes que foram instalados apenas parcialmente no seu sistema. O dpkg irá sugerir o que fazer com eles para fazê-los funcionar. |
–get-selections [ padrão do nome do pacote … ] | Obtenha a lista de seleções de pacotes e escreva-a no stdout. Sem um padrão, pacotes não instalados (ou seja, aqueles que foram eliminados anteriormente) não serão mostrados. |
–set-selections | Defina as seleções de pacote usando o arquivo lido do stdin. Este arquivo deve estar no formato ‘estado do pacote’, em que estado é de instalação , retenção , desinstalação ou eliminação . Linhas em branco e linhas de comentário começando com ‘#’ também são permitidas. |
–clear-selections | Defina o estado solicitado de cada pacote não essencial para desinstalar. Ele deve ser usado imediatamente antes do –set-selections , para desinstalar todos os pacotes que não constam da lista dada ao –set-selections . |
–yet-to-unpack | Procura pacotes selecionados para instalação, mas que por algum motivo ainda não foram instalados. |
–add-architecture architecture | Inclua arquiteturaS na lista de arquiteturas nas quais os pacotes podem ser instalados sem usar –force-architecture . A arquitetura dpkg foi criada para (ou seja, a saída de –print-architecture ) sempre faz parte dessa lista. |
–remove-architecture architecture | Remova a arquitetura da lista de arquiteturas nas quais os pacotes podem ser instalados sem usar –force-architecture . Se a arquitetura estiver atualmente em uso no banco de dados, a operação será recusada, exceto se –force-architecture for especificado. A arquitetura dpkg foi criada para (ou seja, a saída de –print-architecture ) nunca pode ser removida dessa lista. |
–print-architecture | Imprima a arquitetura das instalações instaladas pelo dpkg de pacotes (por exemplo, “i386”). |
–print-foreign-architectures | Imprima uma lista separada por nova linha das arquiteturas extras em que o dpkg está configurado para permitir a instalação de pacotes. |
–compare-versions ver1 op ver2 | Compare os números de versão, em que op é um operador binário. O dpkg retorna sucesso (resultado zero) se a condição especificada for atendida e falha (resultado diferente de zero) caso contrário. Existem dois grupos de operadores, que diferem em como eles tratam um ver1 ou ver2 vazio. Eles tratam uma versão vazia como anterior a qualquer versão: lt le eq ne ge gt . Eles tratam uma versão vazia como posterior a qualquer versão: lt-nl le-nl ge-nl gt-nl . Eles são fornecidos apenas para compatibilidade com a sintaxe do arquivo de controle: < , << , <= , = , > = , >> , > . |
-? , –help | Exiba uma breve mensagem de ajuda. |
–force-help | Dê ajuda sobre as opções –force – something . |
-Dh, –debug=help | Dê ajuda sobre as opções de depuração. |
–version | Exibir informações da versão do dpkg . |
Opções
Todas as opções podem ser especificadas na linha de comando e no arquivo de configuração dpkg /etc/dpkg/dpkg.cfg ou arquivos de fragmento (com nomes correspondentes a esse padrão de shell ‘[0-9a-zA-Z _-] *’ ) no diretório diretório de configuração /etc/dpkg/dpkg.cfg.d/ . Cada linha no arquivo de configuração é uma opção (exatamente igual à opção da linha de comandos, mas sem traços à esquerda) ou um comentário (se começar com um #).
–abort-after = número | Altere após quantos erros o dpkg abortará. O padrão é 50. | ||||||||||||||||||||||||||||
–abort-after = número | Altere após quantos erros o dpkg abortará. O padrão é 50. | ||||||||||||||||||||||||||||
-B , –auto-deconfigure | Quando um pacote é removido, existe a possibilidade de outro pacote instalado depender do pacote removido. A especificação desta opção causará a desconfiguração automática do pacote, que depende do pacote removido. | ||||||||||||||||||||||||||||
-D octal , –debug = octal | Ative a depuração. O octal é formado pelos valores OR OR bit a bit juntos na lista abaixo (observe que esses valores podem mudar em versões futuras). -Dh ou –debug = ajuda a exibir esses valores de depuração.
| ||||||||||||||||||||||||||||
–force-things, –no-force-things, –refuse-things | Forçar ou recusar ( não-força e recusar significam a mesma coisa) para fazer algumas coisas. As coisas são uma lista separada por vírgula das coisas especificadas abaixo. –force-help exibe uma mensagem descrevendo-os. Os itens marcados com (*) são forçados por padrão. Aviso: Essas opções destinam-se principalmente a ser usadas apenas por especialistas. Usá-los sem entender completamente seus efeitos pode danificar todo o seu sistema. tudo : ativa (ou desativa) todas as opções de força. downgrade : Instale um pacote, mesmo se a versão mais recente já estiver instalada. Aviso: No momento, o dpkg não realiza nenhuma verificação de dependência nos downgrades e, portanto, não avisa se o downgrade interrompe a dependência de algum outro pacote. Isso pode ter sérios efeitos colaterais, a desclassificação de componentes essenciais do sistema pode até tornar todo o sistema inutilizável. Use com cuidado. configure-any : Configure também quaisquer pacotes descompactados, mas não configurados, dos quais o pacote atual depende. hold : processa pacotes mesmo quando marcado como “hold”. remove-reinstreq : remova um pacote, mesmo que esteja quebrado e marcado para exigir a reinstalação. Isso pode, por exemplo, fazer com que partes do pacote permaneçam no sistema, que serão esquecidas pelo dpkg. remove-essential : remova, mesmo que o pacote seja considerado essencial. Pacotes essenciais contêm principalmente comandos Unix muito básicos. Removê-los pode fazer com que todo o sistema pare de funcionar, portanto, use com cuidado. depende : Transforme todos os problemas de dependência em avisos. depende da versão : não se importe com versões ao verificar dependências. breaks : Instale, mesmo que isso interrompa outro pacote. conflitos : instale, mesmo que entre em conflito com outro pacote. Isso é perigoso, pois geralmente causa a substituição de alguns arquivos. confmiss : Se um conffile estiver ausente e a versão do pacote mudar, sempre instale o conffile ausente sem avisar. Isso é perigoso, pois significa não preservar uma alteração (remoção) feita no arquivo. confnew : Se um conffile foi modificado e a versão no pacote mudou, sempre instale a nova versão sem avisar, a menos que o –force-confdef também seja especificado, nesse caso a ação padrão é preferida. confold : Se um conffile foi modificado e a versão no pacote foi alterada, sempre mantenha a versão antiga sem avisar, a menos que o –force-confdef também seja especificado, nesse caso a ação padrão é preferida. confdef : se um conffile foi modificado e a versão do pacote mudou, sempre escolha a ação padrão sem avisar. Se não houver ação padrão, ele será interrompido para perguntar ao usuário, a menos que –force-confnew ou –force-confold também seja fornecido; nesse caso, será usado para decidir a ação final. confask : Se um conffile foi modificado, sempre ofereça-o para substituí-lo pela versão no pacote, mesmo que a versão no pacote não tenha sido alterada. Se alguma das opções –force-confmiss , –force-confnew , –force-confold ou –force-confdef também for fornecida, ela será usada para decidir a ação final. substituir : Sobrescreve o arquivo de um pacote pelo arquivo de outro. overwrite-dir : Sobrescreve o diretório de um pacote pelo arquivo de outro. sobrescrito-desviado : sobrescreve um arquivo desviado por uma versão não-reservada. inseguro-io : Não execute operações de E / S seguras ao desembalar. Atualmente, isso implica não executar sincronizações do sistema de arquivos antes de renomear arquivos, o que é conhecido por causar uma degradação substancial do desempenho em alguns sistemas de arquivos, infelizmente aqueles que exigem E / S segura em primeiro lugar devido ao seu comportamento não confiável, causando arquivos de tamanho zero em falhas abruptas do sistema. Nota: Para sistemas de arquivos ext4, considere usar a opção de montagem nodelalloc , que corrigirá a degradação do desempenho e os problemas de segurança dos dados, fazendo com que o sistema de arquivos não produza arquivos de tamanho zero em falhas abruptas do sistema com qualquer software que não esteja sincronizando antes de renomear atômicos. Aviso: o uso desta opção pode melhorar o desempenho ao custo da perda de dados, use com cuidado. arquitetura : processe até pacotes com arquitetura errada ou sem arquitetura. versão ruim : processe até pacotes com versões erradas. mau caminho : PATH está faltando programas importantes, então problemas são prováveis. Não root : Tente (des) instalar coisas mesmo quando não estiver root. verificação incorreta : Instale um pacote mesmo que ele falhe na verificação de autenticidade. | ||||||||||||||||||||||||||||
–ignore-depends=package,… | Ignore a verificação de dependência para pacotes especificados (na verdade, a verificação é realizada, mas apenas avisos sobre conflitos são fornecidos, nada mais). | ||||||||||||||||||||||||||||
–no-ato , –dry-run , –simulate | Faça tudo o que deve ser feito, mas não escreva nenhuma alteração. Isso é usado para ver o que aconteceria com a ação especificada, sem modificar nada. Certifique-se de dar –no-act antes do parâmetro de ação, ou você poderá ter resultados indesejáveis. Por exemplo, o dpkg –purge foo –no-act primeiro limpa o pacote foo e depois tenta limpar o pacote –no-act , mesmo que você provavelmente esperasse que ele realmente não fizesse nada. | ||||||||||||||||||||||||||||
-R, –recursive | Manipule recursivamente todos os arquivos regulares correspondentes ao padrão * .deb encontrados nos diretórios especificados e em todos os seus subdiretórios. Isso pode ser usado com as ações -i , -A , –install , –unpack e –avail . | ||||||||||||||||||||||||||||
-G | Não instale um pacote se uma versão mais recente do mesmo pacote já estiver instalada. Este é um alias de –refuse-downgrade . | ||||||||||||||||||||||||||||
–admindir = dir | Altere o diretório administrativo padrão, que contém muitos arquivos que fornecem informações sobre o status dos pacotes instalados ou desinstalados, etc. (O padrão é / var / lib / dpkg ). | ||||||||||||||||||||||||||||
–instdir = dir | Altere o diretório de instalação padrão que se refere ao diretório em que os pacotes devem ser instalados. O instdir também é o diretório passado para o chroot antes de executar os scripts de instalação do pacote, o que significa que os scripts veem o instdir como um diretório raiz. O padrão é / . | ||||||||||||||||||||||||||||
–root = dir | A alteração da raiz altera instdir para dir e admindir para dir / var / lib / dpkg . | ||||||||||||||||||||||||||||
-O, –selected-only | Processe apenas os pacotes selecionados para instalação. A marcação real é feita com o dselect ou pelo dpkg , quando ele lida com pacotes. Por exemplo, quando um pacote é removido, ele é marcado como selecionado para desinstalação. | ||||||||||||||||||||||||||||
-E, –skip-same-version | Não instale o pacote se a mesma versão do pacote já estiver instalada. | ||||||||||||||||||||||||||||
–pre-invoke = command , –post-invoke = command | Defina um comando invoke hook para ser executado via sh -c antes ou depois da execução do dpkg para descompactar , configurar , instalar , somente acionadores , remover e remover ações. Esta opção pode ser especificada várias vezes. A ordem em que as opções são especificadas é preservada, com as dos arquivos de configuração tendo precedência. A variável de ambiente DPKG_HOOK_ACTION é configurada para os ganchos para a ação atual do dpkg. Nota: os front-ends podem chamar o dpkg várias vezes por chamada, o que pode executar os ganchos mais vezes do que o esperado. | ||||||||||||||||||||||||||||
–path-exclude = padrão glob , –path-include = padrão glob | Defina o padrão glob como um filtro de caminho, excluindo ou incluindo novamente os caminhos excluídos anteriormente que correspondam aos padrões especificados durante a instalação. Aviso: leve em consideração que, dependendo dos caminhos excluídos, você pode quebrar completamente o sistema, use com cuidado. Os padrões glob usam os mesmos curingas usados no shell , onde ‘ * ‘ corresponde a qualquer sequência de caracteresS , incluindo a sequência vazia e também ‘ / ‘. Por exemplo, ‘ / usr / * / READ * ‘ corresponde ‘ / usr / share / doc / package / README ‘. Como sempre ‘ ? ‘corresponde a qualquer caractere único (novamente, incluindo’ / ‘). E ‘ [ ‘ inicia uma classe de caracteres, que pode conter uma lista de caracteres, intervalos e complementações. Nota: a implementação atual pode incluir novamente mais diretórios e links simbólicos do que o necessário para garantir a segurança e evitar possíveis falhas de descompactação. Isso pode ser usado para remover todos os caminhos, exceto alguns específicos; um caso típico é: –path-exclude = / usr / share / doc / * –path-include = / usr / share / doc / * / copyright para remover todos os arquivos de documentação, exceto os arquivos de direitos autorais. Essas duas opções podem ser especificadas várias vezes e intercaladas entre si. Ambos são processados na ordem especificada, com a última regra que corresponde ao nome de um arquivo que toma a decisão. | ||||||||||||||||||||||||||||
–status-fd n | Envie o status do pacote legível por máquina e as informações de progresso para o descritor de arquivo n . Esta opção pode ser especificada várias vezes. As informações geralmente são um registro por linha, de uma das seguintes formas: status: pacote: status Status do pacote alterado; status é como no arquivo de status. status: pacote: erro: mensagem de erro estendida Um erro ocorreu. Quaisquer novas linhas possíveis na mensagem de erro estendida serão convertidas em espaços antes da saída. status: file: conffile-prompt: ‘real-velho’ ‘real-novo’ usuário editado O usuário está fazendo uma pergunta conffile. processamento: estágio: pacote Enviado imediatamente antes do início do estágio de processamento. O estágio é de atualização , instalação (ambas enviadas antes da descompactação), configuração , trigproc , desaparecer , remover , limpar . | ||||||||||||||||||||||||||||
–status-logger = command | Envie o status do pacote legível por máquina e as informações de progresso para a entrada padrão do comando shell. Esta opção pode ser especificada várias vezes. O formato de saída usado é o mesmo que em –status-fd. | ||||||||||||||||||||||||||||
–log = nome do arquivo | Atualizações e ações de alteração de status de log para nome do arquivo, em vez do /var/log/dpkg.log padrão. Se essa opção for dada várias vezes, o último nome do arquivo será usado. As mensagens de log têm o formato ‘ AAAA-MM-DD HH: MM: estado do status SS pkg versão instalada ‘ para atualizações de alteração de status; ` AAAA-MM-DD HH: MM: pkg de ação da SS versão instalada versão disponível ‘para ações em que a ação é uma de instalar , atualizar , remover , remover ; e ` AAAA-MM-DD HH: MM: decisão do nome do arquivo de conffile ‘para alterações no conffile em que a decisão é instalar ou manter . | ||||||||||||||||||||||||||||
–no-debsig | Não tente verificar assinaturas de pacotes. | ||||||||||||||||||||||||||||
–no-triggers | Não execute nenhum disparador nesta execução (as ativações ainda serão gravadas). Se usado com –configure package ou –triggers-only package, o pacote nomeado postinst ainda será executado, mesmo que apenas uma execução de gatilhos seja necessária. O uso dessa opção pode deixar os pacotes nos estados incorretos de espera de gatilho e pendentes de gatilho . Isso pode ser corrigido posteriormente, executando: dpkg –configure –pending . | ||||||||||||||||||||||||||||
–triggers | Cancela um –no-triggers anterior. |
Informações sobre pacotes
O dpkg mantém algumas informações úteis sobre os pacotes disponíveis. As informações são divididas em três classes: estados , estados de seleção e sinalizadores . Esses valores devem ser alterados principalmente com o dselect .
Estados do pacote
not-installed | O pacote não está instalado no seu sistema. |
config-files | Apenas os arquivos de configuração do pacote existem no sistema. |
half-installed | A instalação do pacote foi iniciada, mas não concluída por alguns motivos. |
unpacked | O pacote está descompactado, mas não configurado. |
half-configured | O pacote está descompactado e a configuração foi iniciada, mas ainda não foi concluída por algum motivo. |
triggers-awaited | O pacote aguarda o processamento do acionador por outro pacote. |
triggers-pending | O pacote foi acionado. |
installed | O pacote está descompactado e configurado OK. |
Estados de instalação do pacote
install | O pacote está selecionado para instalação. |
hold | Um pacote marcado como em espera não é tratado pelo dpkg, a menos que seja forçado a fazê-lo com a opção –force-hold . |
deinstall | O pacote está selecionado para desinstalação (ou seja, queremos remover todos os arquivos, exceto os arquivos de configuração). |
purge | O pacote está selecionado para remoção (ou seja, queremos remover tudo dos diretórios do sistema, até arquivos de configuração). |
Sinalizadores de pacote
| Um pacote marcado como reinst-required está quebrado e requer reinstalação. Esses pacotes não podem ser removidos, a menos que sejam forçados com a opção –force-remove-reinstreq . |
arquivos
/etc/dpkg/dpkg.cfg | Arquivo de configuração com opções padrão. |
/var/log/dpkg.log | Arquivo de log padrão (consulte /etc/dpkg/dpkg.cfg e opção –log ). |
Os outros arquivos listados abaixo estão em seus diretórios padrão, consulte a opção –admindir para ver como alterar os locais desses arquivos.
/ var / lib / dpkg / disponível | Lista de pacotes disponíveis. |
/ var / lib / dpkg / status | Status de pacotes disponíveis. Este arquivo contém informações sobre se um pacote está marcado para remoção ou não, se está instalado ou não, etc. Consulte a seção INFORMAÇÕES SOBRE PACOTES para obter mais informações. O backup do arquivo de status é diário em / var / backups . Pode ser útil se estiver perdido ou corrompido devido a problemas no sistema de arquivos. |
Além disso, os seguintes arquivos são componentes de um pacote binário: control , conffiles , preinst , postinst , prerm e postrm .
Meio Ambiente
HOME | Se definido, o dpkg o utilizará como o diretório a partir do qual ler o arquivo de configuração específico do usuário. |
TMPDIR | Se definido, o dpkg o utilizará como o diretório no qual criar arquivos e diretórios temporários. |
PAGER | O programa dpkg será executado ao exibir os arquivos de configuração. |
SHELL | O programa dpkg será executado ao iniciar um novo shell. |
COLUMNS | Define o número de colunas que o dpkg deve usar ao exibir texto formatado. Atualmente usado apenas por -l . |
DPKG_SHELL_REASON | Definido pelo dpkg no shell gerado no prompt do conffile para examinar a situação. Valor válido atual: prompt de conffile . |
DPKG_CONFFILE_OLD | Definido pelo dpkg no shell gerado no prompt do conffile para examinar a situação. Contém o caminho para o conffile antigo. |
DPKG_CONFFILE_NEW | Definido pelo dpkg no shell gerado no prompt do conffile para examinar a situação. Contém o caminho para o novo conffile. |
DPKG_RUNNING_VERSION | Definido pelo dpkg no ambiente de script do mantenedor para a versão da instância do dpkg atualmente em execução. |
DPKG_MAINTSCRIPT_PACKAGE | Definido pelo dpkg no ambiente de script do mantenedor para o nome do pacote que está sendo tratado. |
DPKG_MAINTSCRIPT_ARCH | Definido pelo dpkg no ambiente de script do mantenedor para a arquitetura para a qual o pacote foi construído. |
DPKG_MAINTSCRIPT_NAME | Definido pelo dpkg no ambiente de script do mantenedor com o nome do script em execução ( preinst , postinst , prerm , postrm ). |
Exemplos
dpkg -l '* vi *'
Listar pacotes instalados relacionados ao editor vi .
dpkg --print-avail elvis vim | Menos
Veja as entradas dos pacotes elvis e vim, conforme listado em / var / lib / dpkg / available .
menos / var / lib / dpkg / disponível
Visualize manualmente a lista de pacotes de software disponíveis.
dpkg -r elvis
Remova o pacote instalado elvis .
dpkg -i vim_4.5-3.deb
Instale o pacote contido no arquivo vim_4.5-3.deb .
dpkg --get-selections> minhas seleções
Faça uma cópia local dos estados de seleção de pacote.