Reinstalar todas as dependências de um único pacote

2

Como posso reinstalar todos os pacotes que são dependências de um pacote que instalei? O pacote não deseja ser executado devido a um problema de instalação. Uma dependência pode ter sido instalada, mas não funciona, dpkg-reconfigure -a não funciona. Existe um comando de terminal para reinstalar todas as dependências de um pacote sem reinstalar todos os pacotes.

    
por user450581 13.09.2015 / 22:59

1 resposta

4

Você precisa de um pouco de processamento de texto para alimentar o comando real para apt-get . O seguinte deve fazer:

sudo apt-get install --reinstall $(apt-cache depends package | \
     grep -Po 'Depends:\s+\K[^ ]+$' | tr '\n' ' ')

Substitua package pelo nome real do pacote. Você também pode fazer um --dry-run antes de proceder para ter certeza das ações.

Tem algumas partes:

  • apt-cache depends package encontrará as dependências de package

  • grep -Po 'Depends:\s+\K[^ ]+$ | tr '\n' ' '' nos dará apenas o nome das dependências em um formulário separado por espaço

  • Portanto, o padrão de substituição de comando $(apt-cache depends vim | grep -Po 'Depends:\s+\K[^ ]+$' | tr '\n' ' ') fornecerá o nome dos pacotes para apt-get install --reinstall .

Exemplo usando vim :

$ apt-cache depends vim | grep -Po 'Depends:\s+\K[^ ]+$'
vim-common
vim-runtime
libacl1
libc6
libgpm2
libpython2.7
libselinux1
libtinfo5


$ sudo apt-get install --dry-run --reinstall $(apt-cache depends vim | grep -Po 'Depends:\s+\K[^ ]+$' | tr '\n' ' ')
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libc-dev-bin libc6:i386 libc6-dbg libc6-dev libpython2.7-minimal
  libpython2.7-stdlib python2.7 python2.7-minimal
Suggested packages:
  glibc-doc glibc-doc:i386 locales:i386 python2.7-doc
The following packages will be upgraded:
  libc-dev-bin libc6 libc6:i386 libc6-dbg libc6-dev libpython2.7
  libpython2.7-minimal libpython2.7-stdlib python2.7 python2.7-minimal
10 upgraded, 0 newly installed, 6 reinstalled, 0 to remove and 506 not upgraded.
Inst libc-dev-bin [2.19-0ubuntu6.5] (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [amd64]) [libc6-dev:amd64 ]
Inst libc6-dev [2.19-0ubuntu6.5] (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [amd64]) []
Inst libc6-dbg [2.19-0ubuntu6.5] (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [amd64]) []
Inst libc6 [2.19-0ubuntu6.5] (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [amd64]) [libc6:amd64 on libc6:i386] [libc6:i386 on libc6:amd64] [libc6:i386 ]
Inst libc6:i386 [2.19-0ubuntu6.5] (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [i386])
Inst libacl1 [2.2.52-1] (2.2.52-1 Ubuntu:14.04/trusty [amd64])
Conf libc6 (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [amd64])
Conf libc6:i386 (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [i386])
Conf libacl1 (2.2.52-1 Ubuntu:14.04/trusty [amd64])
Inst libselinux1 [2.2.2-1ubuntu0.1] (2.2.2-1ubuntu0.1 Ubuntu:14.04/trusty-updates [amd64])
Conf libselinux1 (2.2.2-1ubuntu0.1 Ubuntu:14.04/trusty-updates [amd64])
Inst libtinfo5 [5.9+20140118-1ubuntu1] (5.9+20140118-1ubuntu1 Ubuntu:14.04/trusty [amd64])
Conf libtinfo5 (5.9+20140118-1ubuntu1 Ubuntu:14.04/trusty [amd64])
Inst libgpm2 [1.20.4-6.1] (1.20.4-6.1 Ubuntu:14.04/trusty [amd64])
Inst python2.7 [2.7.6-8] (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [amd64]) []
Inst python2.7-minimal [2.7.6-8] (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [amd64]) []
Inst libpython2.7 [2.7.6-8] (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [amd64]) []
Inst libpython2.7-stdlib [2.7.6-8] (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [amd64]) []
Inst libpython2.7-minimal [2.7.6-8] (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [amd64])
Inst vim-common [2:7.4.052-1ubuntu3] (2:7.4.052-1ubuntu3 Ubuntu:14.04/trusty [amd64])
Inst vim-runtime [2:7.4.052-1ubuntu3] (2:7.4.052-1ubuntu3 Ubuntu:14.04/trusty [all])
Conf libc-dev-bin (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [amd64])
Conf libc6-dev (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [amd64])
Conf libc6-dbg (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [amd64])
Conf libgpm2 (1.20.4-6.1 Ubuntu:14.04/trusty [amd64])
Conf libpython2.7-minimal (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [amd64])
Conf python2.7-minimal (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [amd64])
Conf libpython2.7-stdlib (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [amd64])
Conf python2.7 (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [amd64])
Conf libpython2.7 (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [amd64])
Conf vim-common (2:7.4.052-1ubuntu3 Ubuntu:14.04/trusty [amd64])
Conf vim-runtime (2:7.4.052-1ubuntu3 Ubuntu:14.04/trusty [all])
    
por heemayl 13.09.2015 / 23:28