Os seguintes pacotes foram mantidos

3

Estou executando o Debian Wheezy de 64 bits. Recentemente, quando eu faço apt-get upgrade eu recebo isso:

The following packages have been kept back:
  libsmbclient libtevent0 samba-libs

Isso está me deixando louco. Embora eu apenas remova o samba porque eu não o uso de qualquer maneira, mas algum gênio fez o Gnome depender dele:

# apt-get remove libsmbclient
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  gnome gnome-core gvfs-backends libgnomevfs2-extra libsmbclient mencoder mplayer

Como atualizo esses pacotes com segurança?

Não há muita coisa personalizada instalada:

deb http://ftp.pl.debian.org/debian/ wheezy main 
deb-src http://ftp.pl.debian.org/debian/ wheezy main 

deb http://security.debian.org/ wheezy/updates main 
deb-src http://security.debian.org/ wheezy/updates main 

# wheezy-updates, previously known as 'volatile'
deb http://ftp.pl.debian.org/debian/ wheezy-updates main 
deb-src http://ftp.pl.debian.org/debian/ wheezy-updates main 

# wheezy-backports
deb http://ftp.pl.debian.org/debian/ wheezy-backports main contrib non-free

# virtualbox
deb http://download.virtualbox.org/virtualbox/debian/ wheezy contrib

[UPDATE]

O que eu tentei:

  1. apt-get dist-upgrade - o resultado é o mesmo (pacotes foram mantidos de volta).
  2. usou aptitude , mas tudo o que sugere é remover o gnome e alguns outros pacotes relacionados ao gnome e instalar muitos pacotes i386 (parece apenas libs).
  3. apt-get install libsmbclientlibsmbclient : Depends: samba-libs (= 2:4.1.9+dfsg-1~bpo70+1) but it is not going to be installed
  4. apt-get install libtevent0libtevent0 : Depends: libtalloc2 (>= 2.1.0) but 2.0.7+git20120207-1 is to be installed .
  5. apt-get install samba-libssamba-libs : Depends: samba-dsdb-modules (= 2:4.1.9+dfsg-1~bpo70+1) but it is not going to be installed

[ATUALIZAÇÃO 2]

Parece que a origem deste problema está em algum lugar no repositório backports. Eu estava experimentando com abelha e também algum DVD que rasga coisas uma vez e eu lembro que eu tive que instalar algo de backports. Eu não preciso mais disso. Bumblebee falhou de qualquer maneira para o meu hardware e DVD foi copiado no Windows no final: (

Agora eu fiz aptitude search '~S ~i ~Abackports' e consegui isto:

i   initramfs-tools                   - generic modular initramfs generator
i A libavutil53                       - Libav utility library
i   libldb1                           - LDAP-like embedded database - shared library
i A libnettle4                        - low level cryptographic library (symmetric and one-way cryptos)
i A libntdb1                          - New Trivial Database - shared library
i A libopus0                          - Opus codec runtime library
i   libswscale2                       - Libav video scaling library
i A libtdb1                           - Trivial Database - shared library
i A libwbclient0                      - Samba winbind client library
i A python-talloc                     - hierarchical pool based memory allocator - Python bindings
i   samba-common                      - common files used by both the Samba server and client

Acho que devo fazer o downgrade desses pacotes e tudo deve ficar bem. Estou certo? Como devo fazer isso?

[ATUALIZAÇÃO 3]

Eu tentei remover ou fazer o downgrade desses pacotes do backports repo e consegui fazer isso apenas parcialmente.

Quando eu queria fazer o downgrade de libntdb1 , percebi que ele não existe no repositório estável. Quando tentei removê-lo - novamente, o apt queria remover o gnome também. Quando eu fiz apt-cache rdepends libntdb1 , descobriu-se que somente a dependência reversa é samba-libs . Não há samba-libs em repo estável E também não consigo removê-lo porque ele tenta remover o gnome e muitas outras coisas. Que diabos está acontecendo aqui? Observe que samba-libs não está listado quando eu faço aptitude search '~S ~i ~Abackports' . Como se livrar dessa coisa?

Além disso, quando tentei rebaixar libldb1 e libwbclient0 , não consegui porque apt queria remover o gnome em ambos os casos. Por quê?

Então agora acabei com três pacotes de backports repo listados com aptitude search '~S ~i ~Abackports' :

i   libldb1              - LDAP-like embedded database - shared library
i A libntdb1             - New Trivial Database - shared library
i A libwbclient0         - Samba winbind client library

AND samba-libs que aparentemente também vem de backports, mas não está listado com aptitude search '~S ~i ~Abackports'

    
por SiliconMind 12.07.2014 / 11:09

6 respostas

4

É possível fazer o downgrade de pacotes deb para repositórios específicos usando apt :

# apt-get install libsmbclient/wheezy libtevent0/wheezy samba/wheezy
  • A construção "[package] / wheezy" significa que o usuário deseja pacote do wheezy repo somente e não o mais novo.
  • É importante especificar todos os pacotes desejados de uma só vez, para que apt possa resolver as dependências corretamente e extrair outros pacotes de wheezy.

Se apt não solicitar a exclusão de pacotes importantes que você deseja manter, é bom prosseguir. Haverá alguns avisos sobre problemas de dependência, mas você pode ignorar esses avisos, desde que não sejam fatais.

Após o downgrade ser bem-sucedido, as bibliotecas como libtevent0, libldb1 etc não são mais necessárias. Você pode usar apt-get --purge autoremove e / ou deborphan (se estiver instalado) para localizar e limpar pacotes órfãos que não são úteis no sistema.

(Minha resposta anterior será invalidada, será excluída em breve, é incorreta mesmo assim - é possível fazer o downgrade com apt )

    
por 31.07.2014 / 01:00
2

Eu uso o solucionador de pacotes interativo do aptitude:

execute sudo aptitude . Então digite U (que é maiúscula) para dizer que você quer atualizar tudo. Ele dirá que existem conflitos e fará uma proposta para resolvê-lo. use e para entrar no solucionador interativo e, em seguida, . (ponto) e , (vírgula) para iterar sobre a solução diferente que ele encontrará, em seguida, ! para aceitar uma das soluções.

Você também pode tentar ajudá-lo a encontrar uma solução melhor (para você) movendo-se para uma parte de uma solução (onde, por exemplo, propõe remover o gnome) e informando que deseja aceitar (com A ) ou recusar (com R ) que ele faz isso.

    
por 12.07.2014 / 11:57
1
sudo -i
apt-get update
apt-get upgrade
apt-get dist-upgrade

Geralmente os pacotes são mantidos de volta se não tiverem dependências / bibliotecas suportadas.

Faça isso & Tenho certeza que vai te ajudar.

    
por 12.07.2014 / 12:22
0

Abra um Terminal e digite:

apt-cache rdepends packagename

e substitua nome_do_pacote pelo seu pacote que deseja remover e ele listará os pacotes que precisam do pacote que você está tentando remover, remova esses pacotes primeiro e tente remover o pacote real. / p>     

por 28.07.2014 / 02:54
0

Baixar os pacotes relacionados ao samba manualmente sem o apt pode resolver o problema. Pegue os pacotes deb do mirror (lembre-se de escolher os repositórios wheezy), e instale-os com dpkg -i . Em caso de dúvida, pesquise em packages.debian.org a versão correta.

E lembre-se de descartar o repositório backport de sources.list se não for mais necessário.

(Esta resposta é obsoleta, eu postei outra)

    
por 28.07.2014 / 23:04
0

NÃO execute sudo apt-get dist-upgrade

Veja esta solução: apt solução de pacotes retidos

Você deve instalar cada pacote individualmente e, em seguida, sudo apt-get update e sudo apt-get dist-upgrade ou você pode quebrar sua distro.

    
por 29.10.2017 / 14:46