задавался вопросом, хочет ли кто-нибудь знать, что dist-upgrade хочет удалить git. Кстати, это довольно простая коробка, в основном используемая для веб-разработчиков.
$ uname -a
Linux precise64 3.2.0-61-generic #93-Ubuntu SMP Fri May 2 21:31:50 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ git --version
git version 1.9.2
$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
git git-core
The following NEW packages will be installed:
linux-headers-3.2.0-63 linux-headers-3.2.0-63-generic linux-image-3.2.0-63-generic
The following packages will be upgraded:
git-man linux-headers-server linux-image-server linux-server phpmyadmin
5 upgraded, 3 newly installed, 2 to remove and 0 not upgraded.
Need to get 58.8 MB of archives.
After this operation, 199 MB of additional disk space will be used.
Do you want to continue [Y/n]?
Редактировать: включая дополнительную информацию:
$ apt-cache policy git
git:
Installed: 2:1.9.2-0avh1~precise
Candidate: 2:2.0.0-0avh2~precise
Version table:
2:2.0.0-0avh2~precise 0
500 http://ppa.launchpad.net/pdoes/ppa/ubuntu/ precise/main amd64 Packages
*** 2:1.9.2-0avh1~precise 0
100 /var/lib/dpkg/status
1:1.7.9.5-1 0
500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
$ apt-cache policy git-core
git-core:
Installed: 2:2.0.0-0avh2~precise
Candidate: 2:2.0.0-0avh2~precise
Version table:
*** 2:2.0.0-0avh2~precise 0
500 http://ppa.launchpad.net/pdoes/ppa/ubuntu/ precise/main amd64 Packages
100 /var/lib/dpkg/status
1:1.7.9.5-1 0
500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
$ apt-cache policy git-man
git-man:
Installed: 2:1.9.2-0avh3~precise
Candidate: 2:2.0.0-0avh2~precise
Version table:
2:2.0.0-0avh2~precise 0
500 http://ppa.launchpad.net/pdoes/ppa/ubuntu/ precise/main amd64 Packages
*** 2:1.9.2-0avh3~precise 0
100 /var/lib/dpkg/status
1:1.7.9.5-1 0
500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
Редактировать: очистить git
, git-core
и git-man
и попытаться переустановить git
(обратите внимание, это вызвал для меня плохую ситуацию, поскольку я полагаюсь как на git
, так и на virtualenvwrapper
, поэтому я вернул эту машину обратно в предыдущее / рабочее состояние):
$ sudo apt-get purge git git-core git-man
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
git* git-core* git-man*
0 upgraded, 0 newly installed, 3 to remove and 4 not upgraded.
After this operation, 20.9 MB disk space will be freed.
Do you want to continue [Y/n]? y
$ sudo apt-get install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libjs-underscore python-virtualenv wwwconfig-common libjs-jquery javascript-common libjs-sphinxdoc
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
git-man
Suggested packages:
git-daemon-run git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs
git-mediawiki git-svn
The following packages will be REMOVED:
bash-completion virtualenvwrapper
The following NEW packages will be installed:
git git-man
0 upgraded, 2 newly installed, 2 to remove and 4 not upgraded.
Need to get 10.3 MB of archives.
After this operation, 19.2 MB of additional disk space will be used.
Do you want to continue [Y/n]? n
=====
Окончательное редактирование, касающееся решения из Saiarcot895 : эта ВМ пришла из конфигурации PuPHPet Vagrant , которая действительно использует этот PPA от pdoes for Git (Это не было тем, на что я обращал внимание до сих пор). Чтобы разобраться, я просто удалил этот PPA из моей системы и установил версию Git из основного репозитория:
# apt-add-repository --remove ppa:pdoes/ppa
# apt-get update && apt-get install git -y
# apt-cache policy git
git:
Installed: 1:1.7.9.5-1
Candidate: 1:1.7.9.5-1
Version table:
*** 1:1.7.9.5-1 0
500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
100 /var/lib/dpkg/status
Очевидно, что это более старая версия Git, но она все еще вполне приемлема для моего необходимо. И после этого я смог запустить apt-get dist-upgrade
без проблем.
git
, git-core
, и git-man
соответствующие пакеты здесь.
В упаковке, git-man
и git-core
объявляются как архитектурно-независимые пакеты, означая, что эти пакеты могут создаваться однажды и использоваться на любой архитектуре. git
, с другой стороны, должен быть создан для каждой архитектуры (существуют исполняемые файлы в пакете, в конце концов).
Что произошло, скорее всего, вот это, когда Вы / компьютер работали sudo apt-get update
, архитектурно-независимые пакеты были созданы (они создаются с i386 двоичными файлами), в то время как архитектурно-зависимые пакеты еще не были созданы. Принятие Вас находится на amd64, это означало бы, что существует более новая версия git-core
и git-man
, но нет git
. Из-за природы указанных зависимостей у Вас не может быть не сочетающихся версий этих трех пакетов. Поэтому apt
решает обновить git-man
и удалите git
и git-core
.
Решение состоит в том, чтобы только ожидать час или два и работать sudo apt-get update
и sudo apt-get dist-upgrade
снова, или (если Вы действительно хотите возглавить обновление прямо сейчас), выполненный sudo apt-get upgrade
, который обновит как можно больше пакетов, не удаляя пакеты.
Править: PPA, используемый здесь (https://launchpad.net / ~ pdoes / + archive/ppa), имеет a Breaks
условие (по крайней мере, в Точной версии) для bash-completion (<< 1:1.90-1)
. Проблема: bash-completion
в Точном 1:1.3-1ubuntu8.1
. Поэтому git
от этого PPA не может быть установлен в Ubuntu, Точной, не используя другой PPA для более новой версии bash-completion
. Некоторые PPAs, которые имеют более новую версию bash-completion
это, это и это.