Я хочу установить заголовки libsystemd, но я не могу.
вывод 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
Вот вывод 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
Вот что происходит, когда я делаю 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.
Выход из 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
Я понятия не имею, как вы получили версию 229-4ubuntu13 из системных библиотек с этими источниками пакетов. Единственная версия в Xenial «release» - 229-4ubuntu4. Существуют более новые версии в «security» (229-4ubuntu10) и «updates» (229-4ubuntu17), которые также не соответствуют вашим.
Вы можете либо вернуться к пакетам в «release», репозитория или включить репозиторий обновлений и обновить пакеты в вашей системе.
sudo apt-get install {<PACKAGE>,<PACKAGE>,...}=229-4ubuntu4
Если вы их не знаете, вы можете использовать следующую команду для разбора описаний пакетов и списка установленных пакетов для их выбора и установки: apt-cache showsrc systemd |
sed -nre '/^Package-List:/,/^\S/{s/^ (\S+) .*$/\1/p;}' | sort -u |
xargs dpkg-query -Wf '${Status;1} ${Package}\n' 2>&- |
sed -nre 's/^i (\S+)$/\1=229-4ubuntu4/p' |
xargs sudo apt install
sudo apt update && sudo apt full-upgrade
Исходный файл неполный, получите от него резервную копию:
sudo cp /etc/apt/sources.list{,.my-bk}
, затем откройте его с помощью nano:
sudo nano /etc/apt/sources.list
Добавьте в него следующие строки:
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
Затем запустите:
sudo apt update
после этого попробуйте установить желаемый пакет.
Если у вас все еще есть проблемы, попробуйте сначала обновить систему:
sudo apt dist-upgrade
или фиксации зависимостей, если они есть:
sudo apt install -f
Я понятия не имею, как вы получили версию 229-4ubuntu13 из системных библиотек с этими источниками пакетов. Единственная версия в Xenial «release» - 229-4ubuntu4. Существуют более новые версии в «security» (229-4ubuntu10) и «updates» (229-4ubuntu17), которые также не соответствуют вашим.
Вы можете либо вернуться к пакетам в «release», репозитория или включить репозиторий обновлений и обновить пакеты в вашей системе.
sudo apt-get install {<PACKAGE>,<PACKAGE>,...}=229-4ubuntu4
Если вы их не знаете, вы можете использовать следующую команду для разбора описаний пакетов и списка установленных пакетов для их выбора и установки: apt-cache showsrc systemd |
sed -nre '/^Package-List:/,/^\S/{s/^ (\S+) .*$/\1/p;}' | sort -u |
xargs dpkg-query -Wf '${Status;1} ${Package}\n' 2>&- |
sed -nre 's/^i (\S+)$/\1=229-4ubuntu4/p' |
xargs sudo apt install
sudo apt update && sudo apt full-upgrade
Исходный файл неполный, получите от него резервную копию:
sudo cp /etc/apt/sources.list{,.my-bk}
, затем откройте его с помощью nano:
sudo nano /etc/apt/sources.list
Добавьте в него следующие строки:
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
Затем запустите:
sudo apt update
после этого попробуйте установить желаемый пакет.
Если у вас все еще есть проблемы, попробуйте сначала обновить систему:
sudo apt dist-upgrade
или фиксирующие зависимости, если они есть:
sudo apt install -f