考虑到这个 apt-get 错误和看似奇怪的 apt-cache 状态,我该如何安装 git-svn :
$ sudo apt-get install git-svn
Reading package lists... Done
Building dependency tree
Reading state information... Done
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:
git-svn : Depends: git (< 1:1.7.10.4-.)
E: Unable to correct problems, you have held broken packages.
apt-cache showpkg 输出:
$ apt-cache showpkg git-svn
Package: git-svn
Versions:
1:1.9.1-1~bpo70+2 (/var/lib/apt/lists/ftp.debian.org_debian_dists_wheezy-backports_main_binary-amd64_Packages)
Description Language:
File: /var/lib/apt/lists/http.us.debian.org_debian_dists_wheezy_main_binary-amd64_Packages
MD5: fe9279673cf6573640700aabf410ef25
Description Language: en
File: /var/lib/apt/lists/http.us.debian.org_debian_dists_wheezy_main_i18n_Translation-en
MD5: fe9279673cf6573640700aabf410ef25
1:1.7.10.4-1+wheezy1 (/var/lib/apt/lists/http.us.debian.org_debian_dists_wheezy_main_binary-amd64_Packages)
Description Language:
File: /var/lib/apt/lists/http.us.debian.org_debian_dists_wheezy_main_binary-amd64_Packages
MD5: fe9279673cf6573640700aabf410ef25
Description Language: en
File: /var/lib/apt/lists/http.us.debian.org_debian_dists_wheezy_main_i18n_Translation-en
MD5: fe9279673cf6573640700aabf410ef25
Reverse Depends:
git-doc,git-svn
git-doc,git-svn
git-all,git-svn
git,git-svn
moap,git-svn
git-doc,git-svn
git-all,git-svn
git,git-svn
Dependencies:
1:1.9.1-1~bpo70+2 - git (4 1:1.9.1) git (3 1:1.9.1-.) libsvn-perl (0 (null)) libyaml-perl (0 (null)) libterm-readkey-perl (0 (null)) git-doc (0 (null)) subversion (0 (null)) git (3 1:1.8.3~rc1-1.) git:i386 (3 1:1.8.3~rc1-1.) git (3 1:1.8.3~rc1-1.) git:i386 (3 1:1.8.3~rc1-1.)
1:1.7.10.4-1+wheezy1 - git (4 1:1.7.10.4) git (3 1:1.7.10.4-.) libsvn-perl (16 (null)) libsvn-core-perl (0 (null)) libyaml-perl (0 (null)) libwww-perl (0 (null)) libterm-readkey-perl (0 (null)) git-doc (0 (null)) subversion (0 (null)) cogito (3 0.16rc2-0) cogito:i386 (3 0.16rc2-0)
Provides:
1:1.9.1-1~bpo70+2 - git-svn:i386
1:1.7.10.4-1+wheezy1 -
Reverse Provides:
如果我从 synaptic 获取 git-svn 的属性页,它似乎会显示同一版本 git 的“<”和“>”,即 1:1.7.10.4
我必须通过 lsb-release 检查,因为这不是我唯一的 debian:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.2 (jessie)
Release: 8.2
Codename: jessie
这是 apt-cache 策略 git
$ apt-cache policy git
git:
Installed: 1:1.9.1-1~bpo70+2
Candidate: 1:1.9.1-1~bpo70+2
Version table:
*** 1:1.9.1-1~bpo70+2 0
100 http://ftp.debian.org/debian/ wheezy-backports/main amd64 Packages
100 /var/lib/dpkg/status
1:1.7.10.4-1+wheezy1 0
500 http://http.us.debian.org/debian/ wheezy/main amd64 Packages
这是 apt-cache 策略 git-svn
$ apt-cache policy git-svn
git-svn:
Installed: (none)
Candidate: 1:1.7.10.4-1+wheezy1
Version table:
1:1.9.1-1~bpo70+2 0
100 http://ftp.debian.org/debian/ wheezy-backports/main amd64 Packages
1:1.7.10.4-1+wheezy1 0
500 http://http.us.debian.org/debian/ wheezy/main amd64 Packages
尽管如上所示的 lsb-release 显示了“jessie”,但 resources.list 仅引用了“wheezy”。 “apt-cache policy”有 68 次引用“wheezy”,但没有引用“jessie”。
根据要求 apt-get install -st :
apt-get install -st wheezy-backports git-svn
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
git-svn
0 upgraded, 1 newly installed, 0 to remove and 181 not upgraded.
Inst git-svn (1:1.9.1-1~bpo70+2 Debian Backports:/wheezy-backports [all])
Conf git-svn (1:1.9.1-1~bpo70+2 Debian Backports:/wheezy-backports [all])
根据要求 apt-cache 策略 lsb-release:
apt-cache policy lsb-release
lsb-release:
Installed: 4.1+Debian13+nmu1
Candidate: 4.1+Debian13+nmu1
Version table:
*** 4.1+Debian13+nmu1 0
100 /var/lib/dpkg/status
4.1+Debian8+deb7u1 0
500 http://http.us.debian.org/debian/ wheezy/main amd64 Packages
apt-cache 策略(全部)
Package files:
100 /var/lib/dpkg/status
release a=now
500 http://security.debian.org/ wheezy/updates/non-free Translation-en
500 http://security.debian.org/ wheezy/updates/main Translation-en
500 http://security.debian.org/ wheezy/updates/contrib Translation-en
500 http://security.debian.org/ wheezy/updates/non-free i386 Packages
release v=7.0,o=Debian,a=oldstable,n=wheezy,l=Debian-Security,c=non-free
origin security.debian.org
500 http://security.debian.org/ wheezy/updates/contrib i386 Packages
release v=7.0,o=Debian,a=oldstable,n=wheezy,l=Debian-Security,c=contrib
origin security.debian.org
500 http://security.debian.org/ wheezy/updates/main i386 Packages
release v=7.0,o=Debian,a=oldstable,n=wheezy,l=Debian-Security,c=main
origin security.debian.org
500 http://security.debian.org/ wheezy/updates/non-free amd64 Packages
release v=7.0,o=Debian,a=oldstable,n=wheezy,l=Debian-Security,c=non-free
origin security.debian.org
500 http://security.debian.org/ wheezy/updates/contrib amd64 Packages
release v=7.0,o=Debian,a=oldstable,n=wheezy,l=Debian-Security,c=contrib
origin security.debian.org
500 http://security.debian.org/ wheezy/updates/main amd64 Packages
release v=7.0,o=Debian,a=oldstable,n=wheezy,l=Debian-Security,c=main
origin security.debian.org
500 http://ftp.debian.org/debian/ wheezy-backports/non-free Translation-en
500 http://ftp.debian.org/debian/ wheezy-backports/main Translation-en
500 http://ftp.debian.org/debian/ wheezy-backports/contrib Translation-en
100 http://ftp.debian.org/debian/ wheezy-backports/non-free i386 Packages
release v=,o=Debian Backports,a=wheezy-backports,n=wheezy-backports,l=Debian Backports,c=non-free
origin ftp.debian.org
100 http://ftp.debian.org/debian/ wheezy-backports/contrib i386 Packages
release v=,o=Debian Backports,a=wheezy-backports,n=wheezy-backports,l=Debian Backports,c=contrib
origin ftp.debian.org
100 http://ftp.debian.org/debian/ wheezy-backports/main i386 Packages
release v=,o=Debian Backports,a=wheezy-backports,n=wheezy-backports,l=Debian Backports,c=main
origin ftp.debian.org
100 http://ftp.debian.org/debian/ wheezy-backports/non-free amd64 Packages
release v=,o=Debian Backports,a=wheezy-backports,n=wheezy-backports,l=Debian Backports,c=non-free
origin ftp.debian.org
100 http://ftp.debian.org/debian/ wheezy-backports/contrib amd64 Packages
release v=,o=Debian Backports,a=wheezy-backports,n=wheezy-backports,l=Debian Backports,c=contrib
origin ftp.debian.org
100 http://ftp.debian.org/debian/ wheezy-backports/main amd64 Packages
release v=,o=Debian Backports,a=wheezy-backports,n=wheezy-backports,l=Debian Backports,c=main
origin ftp.debian.org
500 http://download.virtualbox.org/virtualbox/debian/ wheezy/non-free i386 Packages
release o=Oracle Corporation,n=wheezy,l=Oracle Corporation,c=non-free
origin download.virtualbox.org
500 http://download.virtualbox.org/virtualbox/debian/ wheezy/contrib i386 Packages
release o=Oracle Corporation,n=wheezy,l=Oracle Corporation,c=contrib
origin download.virtualbox.org
500 http://download.virtualbox.org/virtualbox/debian/ wheezy/non-free amd64 Packages
release o=Oracle Corporation,n=wheezy,l=Oracle Corporation,c=non-free
origin download.virtualbox.org
500 http://download.virtualbox.org/virtualbox/debian/ wheezy/contrib amd64 Packages
release o=Oracle Corporation,n=wheezy,l=Oracle Corporation,c=contrib
origin download.virtualbox.org
500 http://ftp.us.debian.org/debian/ wheezy-updates/non-free Translation-en
500 http://ftp.us.debian.org/debian/ wheezy-updates/main Translation-en
500 http://ftp.us.debian.org/debian/ wheezy-updates/contrib Translation-en
500 http://ftp.us.debian.org/debian/ wheezy-updates/non-free i386 Packages
release o=Debian,a=oldstable-updates,n=wheezy-updates,l=Debian,c=non-free
origin ftp.us.debian.org
500 http://ftp.us.debian.org/debian/ wheezy-updates/contrib i386 Packages
release o=Debian,a=oldstable-updates,n=wheezy-updates,l=Debian,c=contrib
origin ftp.us.debian.org
500 http://ftp.us.debian.org/debian/ wheezy-updates/main i386 Packages
release o=Debian,a=oldstable-updates,n=wheezy-updates,l=Debian,c=main
origin ftp.us.debian.org
500 http://ftp.us.debian.org/debian/ wheezy-updates/non-free amd64 Packages
release o=Debian,a=oldstable-updates,n=wheezy-updates,l=Debian,c=non-free
origin ftp.us.debian.org
500 http://ftp.us.debian.org/debian/ wheezy-updates/contrib amd64 Packages
release o=Debian,a=oldstable-updates,n=wheezy-updates,l=Debian,c=contrib
origin ftp.us.debian.org
500 http://ftp.us.debian.org/debian/ wheezy-updates/main amd64 Packages
release o=Debian,a=oldstable-updates,n=wheezy-updates,l=Debian,c=main
origin ftp.us.debian.org
500 http://http.us.debian.org/debian/ wheezy/non-free Translation-en
500 http://http.us.debian.org/debian/ wheezy/main Translation-en
500 http://http.us.debian.org/debian/ wheezy/contrib Translation-en
500 http://http.us.debian.org/debian/ wheezy/non-free i386 Packages
release v=7.9,o=Debian,a=oldstable,n=wheezy,l=Debian,c=non-free
origin http.us.debian.org
500 http://http.us.debian.org/debian/ wheezy/contrib i386 Packages
release v=7.9,o=Debian,a=oldstable,n=wheezy,l=Debian,c=contrib
origin http.us.debian.org
500 http://http.us.debian.org/debian/ wheezy/main i386 Packages
release v=7.9,o=Debian,a=oldstable,n=wheezy,l=Debian,c=main
origin http.us.debian.org
500 http://http.us.debian.org/debian/ wheezy/non-free amd64 Packages
release v=7.9,o=Debian,a=oldstable,n=wheezy,l=Debian,c=non-free
origin http.us.debian.org
500 http://http.us.debian.org/debian/ wheezy/contrib amd64 Packages
release v=7.9,o=Debian,a=oldstable,n=wheezy,l=Debian,c=contrib
origin http.us.debian.org
500 http://http.us.debian.org/debian/ wheezy/main amd64 Packages
release v=7.9,o=Debian,a=oldstable,n=wheezy,l=Debian,c=main
origin http.us.debian.org
Pinned packages:
答案1
命令
apt-get install -t wheezy-backports git-svn
应该安装git-svn
.
-t
请参阅以下中的标志注释man apt-get
:
-t, --target-release, --default-release This option controls the default input to the policy engine; it creates a default pin at priority 990 using the specified release string. This overrides the general settings in /etc/apt/preferences. Specifically pinned packages are not affected by the value of this option. In short, this option lets you have simple control over which distribution packages will be retrieved from. Some common examples might be -t '2.1*', -t unstable or -t sid. Configuration Item: APT::Default-Release; see also the apt_preferences(5) manual page.