使用Apt-Get安装Git时出错

当我尝试在Ubuntu 11.04的服务器发行版上安装git时,出现错误。 我使用以下命令:

sudo apt-get install git 

这就产生了这个错误:

 (Reading database ... dpkg: warning: files list file for package `git' missing, assuming package has no files currently installed. (Reading database ... 20310 files and directories currently installed.) Preparing to replace git 1:1.7.4.1-3 (using .../git_1%3a1.7.4.1-3_i386.deb) ... /var/lib/dpkg/tmp.ci/preinst: 12: dpkg-maintscript-helper: not found dpkg: error processing /var/cache/apt/archives/git_1%3a1.7.4.1-3_i386.deb (--unpack): subprocess new pre-installation script returned error exit status 127 /var/lib/dpkg/tmp.ci/postrm: 14: dpkg-maintscript-helper: not found dpkg: error while cleaning up: subprocess new post-removal script returned error exit status 127 Errors were encountered while processing: /var/cache/apt/archives/git_1%3a1.7.4.1-3_i386.deb E: Sub-process /usr/bin/dpkg returned an error code (1) 

我正在使用以下存储库:

 # deb cdrom:[Ubuntu 8.04.3 _Hardy Heron_ - Release i386 (20090713.1)]/ hardy main restricted # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://us.archive.ubuntu.com/ubuntu/ natty main restricted deb-src http://us.archive.ubuntu.com/ubuntu/ natty main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://us.archive.ubuntu.com/ubuntu/ natty-updates main restricted deb-src http://us.archive.ubuntu.com/ubuntu/ natty-updates main restricted ## main & restricted repositories # deb http://us.archive.ubuntu.com/ubuntu/ lucid main restricted # deb-src http://us.archive.ubuntu.com/ubuntu/ lucid main restricted #deb http://security.ubuntu.com/ubuntu lucid-security main restricted #deb-src http://security.ubuntu.com/ubuntu lucid-security main restricted ## universe repositories #deb http://us.archive.ubuntu.com/ubuntu/ lucid universe #deb-src http://us.archive.ubuntu.com/ubuntu/ lucid universe #deb http://us.archive.ubuntu.com/ubuntu/ lucid-updates universe restricted main #deb-src http://us.archive.ubuntu.com/ubuntu/ lucid-updates universe #deb http://security.ubuntu.com/ubuntu lucid-security universe #deb-src http://security.ubuntu.com/ubuntu lucid-security universe ## NB software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## universe WILL NOT receive any review or updates from the Ubuntu security ## team. deb http://us.archive.ubuntu.com/ubuntu/ natty universe deb-src http://us.archive.ubuntu.com/ubuntu/ natty universe deb http://us.archive.ubuntu.com/ubuntu/ natty-updates universe deb-src http://us.archive.ubuntu.com/ubuntu/ natty-updates universe ## NB software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb http://us.archive.ubuntu.com/ubuntu/ natty multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ natty multiverse deb http://us.archive.ubuntu.com/ubuntu/ natty-updates multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ natty-updates multiverse 

任何人都知道发生了什么或如何解决这个问题并获得安装git?

[edit]以下是apt-cache policy dpkg的输出:

 dpkg: Installed: 1.15.5.6ubuntu4 Candidate: 1.16.0~ubuntu7.1 Version table: 1.16.0~ubuntu7.1 0 500 http://us.archive.ubuntu.com/ubuntu/ natty-updates/main Packages 1.16.0~ubuntu7 0 500 http://us.archive.ubuntu.com/ubuntu/ natty/main Packages *** 1.15.5.6ubuntu4 0 100 /var/lib/dpkg/status 

现在,apt完全被打破了。 我试图更新dpkg,因为我注意到它已经过时了几个版本。 它失败了,因为它无法安装git。 我尝试了apt-get purge,apt-get clean和apt-get update。 还是一样的问题。 我试图删除git并得到了这个:

 Removing git-core ... dpkg: error processing git (--remove): Package is in a very bad inconsistent state - you should reinstall it before attempting a removal. Errors were encountered while processing: git E: Sub-process /usr/bin/dpkg returned an error code (1) 

以防万一:它是apt-get install git-core ,而不仅仅是apt-get install git

好吧,我把它修好了。 我不得不手动删除包,然后强制dpkg清除自己。 之后我从git-core安装了它,运行正常。 要手动删除我去过的包裹

 /var/cache/apt/archives 

并删除了git_1%3a1.7.4.1-3_i386.deb文件。 之后我去了

 /var/lib/dpkg/info 

并做了一个ls | grep git ls | grep git并删除了所有出现的内容。 然后,我跑了

 sudo dpkg --remove --force-remove-reinstreq git 

清理包的dpkg。 一旦完成,我就可以从git-core而不是git包安装git,它运行得很好。