(12.04 vm / server) Dist-upgrade para 3.2.0-63 quer remover git (1.9.2) e git-core - é esse o comportamento correto?

0

queria saber se alguém sabe que o dist-upgrade quer remover o git. FWIW, esta é uma caixa bem simples, usada principalmente para o web dev.

$ 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]?

Editar: incluindo mais informações:

$ 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

Editar: purgou git , git-core e git-man e tentou reinstalar git (note que isso me causou uma situação ruim, pois confio em git e virtualenvwrapper ; então eu reverti esta máquina de volta para o estado anterior / de trabalho):

$ 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

=====
Edição final, sobre a solução da Saiarcot895 : essa VM veio de uma configuração do Vagrant do PuPHPet , que de fato usa esse PPA por pdoes para Git (Isso não era algo que eu tinha prestado atenção até agora). Para resolver as coisas, acabei de remover o PPA do meu sistema e instalei a versão do Git do repositório principal:

# 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

Obviamente, essa é uma versão mais antiga do Git, mas ainda é perfeitamente aceitável para as minhas necessidades. E depois disso, consegui executar apt-get dist-upgrade sem problemas.

    
por YellowShark 03.06.2014 / 05:03

1 resposta

1

git , git-core e git-man são os pacotes relevantes aqui.

No empacotamento, git-man e git-core são declarados como pacotes independentes de arquitetura, o que significa que esses pacotes podem ser construídos uma vez e usados em qualquer arquitetura. git , por outro lado, deve ser construído para cada arquitetura (afinal, existem arquivos executáveis no pacote).

O que aconteceu mais provavelmente aqui é que quando você / o computador rodou sudo apt-get update , os pacotes independentes de arquitetura foram construídos (eles são construídos com binários i386), enquanto os pacotes dependentes da arquitetura ainda não foram construídos. Supondo que você esteja em amd64, isso significa que há uma versão mais recente de git-core e git-man , mas não git . Devido à natureza das dependências especificadas, você não pode ter versões incompatíveis dos três pacotes. Portanto, apt decide atualizar git-man e remover git e git-core .

A solução é apenas esperar uma ou duas horas e executar sudo apt-get update e sudo apt-get dist-upgrade novamente, ou (se você realmente quiser / precisar atualizar agora) execute sudo apt-get upgrade , que atualizará tantos pacotes quanto possível sem remover pacotes.

Edit: O PPA que está sendo usado aqui ( link ) tem uma condição Breaks (pelo menos no Versão precisa) para bash-completion (<< 1:1.90-1) . O problema: bash-completion no Precise é 1:1.3-1ubuntu8.1 . Portanto, git deste PPA não pode ser instalado no Ubuntu Precise sem usar outro PPA para uma versão mais recente de bash-completion . Alguns PPAs que têm a versão mais recente de bash-completion são esta , isto , e isto .

    
por saiarcot895 03.06.2014 / 05:22