Instalando cabeçalhos libsystemd

0

Eu quero instalar libsystemd cabeçalhos, mas não consigo.

saída de apt-cache policy systemd :

# apt-cache policy systemd
systemd:
  Installed: 229-4ubuntu13
  Candidate: 229-4ubuntu13
  Version table:
 *** 229-4ubuntu13 100
        100 /var/lib/dpkg/status
     229-4ubuntu4 500
        500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

Aqui está a saída de apt-cache policy libsystemd0 :

# apt-cache policy libsystemd0
libsystemd0:
  Installed: 229-4ubuntu13
  Candidate: 229-4ubuntu13
  Version table:
 *** 229-4ubuntu13 100
        100 /var/lib/dpkg/status
     229-4ubuntu4 500
        500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

Aqui está o que acontece quando eu faço apt-get install libsystemd-dev :

# apt-get install libsystemd0 libsystemd-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libsystemd0 is already the newest version (229-4ubuntu13).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libsystemd-dev : Depends: libsystemd0 (= 229-4ubuntu4) but 229-4ubuntu13 is to be installed
E: Unable to correct problems, you have held broken packages.

Ouput de grep "^deb " /etc/apt/sources.list

# grep "^deb " /etc/apt/sources.list
deb http://us.archive.ubuntu.com/ubuntu/ xenial main restricted
deb http://us.archive.ubuntu.com/ubuntu/ xenial universe
deb http://us.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://archive.canonical.com/ubuntu xenial partner
deb http://download.virtualbox.org/virtualbox/debian xenial contrib
    
por 0x90 28.04.2017 / 20:39

2 respostas

2

Seu arquivo de origem está incompleto, faça um backup dele:

sudo cp /etc/apt/sources.list{,.my-bk}

abra-o usando nano:

sudo nano /etc/apt/sources.list

Adicione estas linhas a ele:

deb http://archive.ubuntu.com/ubuntu/ xenial main universe multiverse
deb http://archive.ubuntu.com/ubuntu/ xenial-updates main universe multiverse
deb http://security.ubuntu.com/ubuntu xenial-security main universe multiverse
deb http://download.virtualbox.org/virtualbox/debian xenial contrib

Em seguida, execute:

sudo apt update

depois disso, tente instalar o pacote desejado.

Se você ainda tiver problemas, primeiro tente atualizar seu sistema:

sudo apt dist-upgrade

ou consertando dependências, se houver alguma:

sudo apt install -f
    
por Ravexina 28.04.2017 / 20:59
2

Não tenho idéia de como você obteve a versão 229-4ubuntu13 das bibliotecas systemd com essas fontes de pacotes. A única versão no "release" do Xenial é o 229-4ubuntu4. Existem versões mais recentes em "segurança" (229-4ubuntu10) e "atualizações" (229-4ubuntu17) que também não combinam com as suas.

Você pode reverter para os pacotes no repositório "release" ou ativar o repositório "updates" e atualizar os pacotes em seu sistema.

Reverter

  • Se você conhece todos os pacotes systemd instalados em seu sistema, você pode usar o seguinte comando:

    sudo apt-get install {<PACKAGE>,<PACKAGE>,...}=229-4ubuntu4
    
  • Se você não os conhece, pode usar o seguinte comando para analisar as descrições de pacotes e a lista de pacotes instalados para selecioná-los e instalá-los para você:

    apt-cache showsrc systemd |
    sed -nre '/^Package-List:/,/^\S/{s/^ (\S+) .*$//p;}' | sort -u |
    xargs dpkg-query -Wf '${Status;1} ${Package}\n' 2>&- |
    sed -nre 's/^i (\S+)$/=229-4ubuntu4/p' |
    xargs sudo apt install
    

Atualizar

  1. Ativar o repositório "atualizações".

    Abra Propriedades do software , navegue até a guia Atualizações e ative a caixa de seleção Atualizações recomendadas .

  2. Atualizealistadepacotesefaçaumaatualizaçãodosistema:

    sudo apt update && sudo apt full-upgrade
por David Foerster 29.04.2017 / 13:02