web-dev-qa-db-ja.com

apt-get -fインストールが失敗したときの依存関係を修正

Ubuntu 12.04でcgminer 3.5を動作させようとしていますが、libudev.so.1がないため失敗します。 libc6をインストールしようとしましたが、依存関係が満たされていないようです。 Sudo apt-get -f installを実行しようとしても、このエラーが発生します。

Sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
 libc6-dev : Depends: libc6 (= 2.17-0ubuntu5.1) but 2.15-0ubuntu10.5 is installed
             Depends: libc-dev-bin (= 2.17-0ubuntu5.1)
 libudev1 : Depends: libc6 (>= 2.17) but 2.15-0ubuntu10.5 is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies

Sources.listファイルに、すでにraringセキュリティリポジトリ(eb http://security.ubuntu.com/ubunt raring-security main)を追加し、apt-get updateなどを実行しようとしましたが、それでも、エラーの原因となる2.15バージョンを再インストールする必要があります。

\ Edit:

 apt-cache policy libc6-dev libc6 libc-dev-bin libudev1
libc6-dev:
  Installed: 2.17-0ubuntu5.1
  Candidate: 2.17-0ubuntu5.1
  Version table:
 *** 2.17-0ubuntu5.1 0
        500 http://security.ubuntu.com/ubuntu/ raring-security/main AMD64 Packages
        100 /var/lib/dpkg/status
     2.15-0ubuntu10.5 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main AMD64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main AMD64 Packages
     2.15-0ubuntu10 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main AMD64 Packages
libc6:
  Installed: 2.15-0ubuntu10.5
  Candidate: 2.17-0ubuntu5.1
  Version table:
     2.17-0ubuntu5.1 0
        500 http://security.ubuntu.com/ubuntu/ raring-security/main AMD64 Packages
 *** 2.15-0ubuntu10.5 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main AMD64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main AMD64 Packages
        100 /var/lib/dpkg/status
     2.15-0ubuntu10 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main AMD64 Packages
libc-dev-bin:
  Installed: 2.15-0ubuntu10.5
  Candidate: 2.17-0ubuntu5.1
  Version table:
     2.17-0ubuntu5.1 0
        500 http://security.ubuntu.com/ubuntu/ raring-security/main AMD64 Packages
 *** 2.15-0ubuntu10.5 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main AMD64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main AMD64 Packages
        100 /var/lib/dpkg/status
     2.15-0ubuntu10 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main AMD64 Packages
libudev1:
  Installed: 198-0ubuntu11
  Candidate: 198-0ubuntu11.2
  Version table:
     198-0ubuntu11.2 0
        500 http://security.ubuntu.com/ubuntu/ raring-security/main AMD64 Packages
 *** 198-0ubuntu11 0
        100 /var/lib/dpkg/status

そして、apt-get checkの出力:

 apt-get check
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 libc6-dev : Depends: libc6 (= 2.17-0ubuntu5.1) but 2.15-0ubuntu10.5 is installed
             Depends: libc-dev-bin (= 2.17-0ubuntu5.1)
 libudev1 : Depends: libc6 (>= 2.17) but 2.15-0ubuntu10.5 is installed
E: Unmet dependencies. Try using -f.

apt-get -u dist-upgradeにも同じ問題があります。どのようにそれを解決できるのでしょうか?

/編集2

apt-get -f install libc6-dev=2.17-0ubuntu5.1 libc6=2.17-0ubuntu5.1 libc-dev-bin=2.17-0ubuntu5.1 libudev1=198-0ubuntu11.2Reading package lists... Done
Building dependency tree       
Reading state information... Done
libc6 is already the newest version.
libc6-dev is already the newest version.
libc6-dev set to manually installed.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libc6 : Breaks: libc6:i386 (!= 2.17-0ubuntu5.1) but 2.15-0ubuntu10.5 is to be installed
 libc6:i386 : Breaks: libc6 (!= 2.15-0ubuntu10.5) but 2.17-0ubuntu5.1 is to be installed
 libnih1 : PreDepends: libc6 (< 2.16) but 2.17-0ubuntu5.1 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

\ Edit 3

apt-cache policy libnih1 libc6 libc6:i386libnih1:
  Installed: 1.0.3-4ubuntu9.1
  Candidate: 1.0.3-4ubuntu9.1
  Version table:
 *** 1.0.3-4ubuntu9.1 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main AMD64 Packages
        100 /var/lib/dpkg/status
     1.0.3-4ubuntu9 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main AMD64 Packages
libc6:
  Installed: 2.17-0ubuntu5.1
  Candidate: 2.17-0ubuntu5.1
  Version table:
 *** 2.17-0ubuntu5.1 0
        500 http://security.ubuntu.com/ubuntu/ raring-security/main AMD64 Packages
        100 /var/lib/dpkg/status
     2.15-0ubuntu10.5 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main AMD64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main AMD64 Packages
     2.15-0ubuntu10 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main AMD64 Packages
libc6:i386:
  Installed: 2.15-0ubuntu10.5
  Candidate: 2.17-0ubuntu5.1
  Version table:
     2.17-0ubuntu5.1 0
        500 http://security.ubuntu.com/ubuntu/ raring-security/main i386 Packages
 *** 2.15-0ubuntu10.5 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main i386 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main i386 Packages
        100 /var/lib/dpkg/status
     2.15-0ubuntu10 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main i386 Packages

Edit 4

apt-get remove libnih1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libc-dev-bin : Depends: libc6 (< 2.16) but 2.17-0ubuntu5.1 is to be installed
 libc6 : Breaks: libc6:i386 (!= 2.17-0ubuntu5.1) but 2.15-0ubuntu10.5 is to be installed
 libc6:i386 : Breaks: libc6 (!= 2.15-0ubuntu10.5) but 2.17-0ubuntu5.1 is to be installed
 libc6-dev : Depends: libc-dev-bin (= 2.17-0ubuntu5.1)
 libnih-dbus1 : Depends: libnih1 (= 1.0.3-4ubuntu9.1) but it is not going to be installed
 mountall : Depends: libnih1 (>= 1.0.0) but it is not going to be installed
 upstart : Depends: libnih1 (>= 1.0.0) but it is not going to be installed
 ureadahead : Depends: libnih1 (>= 1.0.0) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

5を編集

Lsb_releaseの出力:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.3 LTS
Release:    12.04
Codename:   precise

Raringリポジトリを削除して更新した後のapt-get install libc6 = 2.15-0ubuntu10.5の出力:

apt-get install libc6=2.15-0ubuntu10.5
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libc6-dev : Depends: libc6 (= 2.17-0ubuntu5.1) but 2.15-0ubuntu10.5 is to be installed
             Depends: libc-dev-bin (= 2.17-0ubuntu5.1)
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Edit 6

Sudo apt-get install libc6-dev=2.15-0ubuntu10.5 libc6=2.15-0ubuntu10.5
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  gir1.2-ubuntuoneui-3.0 libubuntuoneui-3.0-1 Thunderbird-globalmenu
Use 'apt-get autoremove' to remove them.
Suggested packages:
  glibc-doc
The following packages will be DOWNGRADED:
  libc6 libc6-dev
0 upgraded, 0 newly installed, 2 downgraded, 0 to remove and 18 not upgraded.
3 not fully installed or removed.
Need to get 7,596 kB of archives.
After this operation, 486 kB disk space will be freed.
Do you want to continue [Y/n]? Y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libc6-dev AMD64 2.15-0ubuntu10.5 [2,941 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libc6 AMD64 2.15-0ubuntu10.5 [4,654 kB]
Fetched 7,596 kB in 6s (1,095 kB/s)                                            
Preconfiguring packages ...
dpkg: warning: downgrading libc6 from 2.17-0ubuntu5.1 to 2.15-0ubuntu10.5.
(Reading database ... 240709 files and directories currently installed.)
Preparing to replace libc6 2.17-0ubuntu5.1 (using .../libc6_2.15-0ubuntu10.5_AMD64.deb) ...
Unpacking replacement libc6 ...
dpkg: error processing /var/cache/apt/archives/libc6_2.15-0ubuntu10.5_AMD64.deb (--unpack):
 './usr/share/lintian/overrides/libc6' is different from the same file on the system
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/libc6_2.15-0ubuntu10.5_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
4
schlingel

これは、異なるリポジトリパッケージが混在しているためです!他のことを試みる前に、raring-securityリポジトリを削除する必要があります。

Sudo sed -i 's/raring/d' /etc/apt/sources.list /etc/apt/sources.list.d/*.list
Sudo apt-get update
Sudo mv /usr/share/lintian/overrides/libc6 /var/backup/usr/share/lintian/overrides/libc6
Sudo apt-get install libc6=2.15-0ubuntu10.5 libc6-dev=2.15-0ubuntu10.5

これで問題が解決するはずです。

2
Braiam