Atualizei para PHP 5.6RC4 hoje em meu servidor Debian Sid (x64):
The following packages have been kept back:
perl perl-base perl-modules
The following packages will be upgraded:
cpp-4.9 g++-4.9 gcc-4.9 gcc-4.9-base libasan1 libatomic1 libcilkrts5 libgcc-4.9-dev libgcc1 libgomp1 libitm1 liblsan0 libquadmath0 libstdc++-4.9-dev libstdc++6 libtsan0 libubsan0 php-pear php5 php5-cli
php5-common php5-curl php5-fpm php5-gd php5-mcrypt php5-mysql php5-readline python-pil
28 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Need to get 41.0 MB of archives.
After this operation, 762 kB disk space will be freed.
Do you want to continue? [Y/n]
Agora, quando eu faço apt-get dist-upgrade
ou apt-get autoremove
recebo o seguinte:
The following packages will be REMOVED:
console-setup console-setup-linux debconf-i18n dictionaries-common iamerican ibritish ienglish-common ispell keyboard-configuration libalgorithm-diff-xs-perl libdbd-mysql-perl libdbi-perl
libfile-fcntllock-perl libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tree-perl libio-socket-ssl-perl liblocale-gettext-perl liblwp-protocol-https-perl libmailtools-perl
libnet-smtp-ssl-perl libnet-ssleay-perl libtext-charwidth-perl libtext-iconv-perl libtext-soundex-perl libtext-wrapi18n-perl libuuid-perl libwww-perl libxml-libxml-perl libxml-parser-perl
libxml-sax-expat-perl linux-base linux-image-3.14-1-amd64 linux-image-amd64 mariadb-client-10.0 mariadb-server mariadb-server-10.0 task-english tasksel tasksel-data texinfo
The following NEW packages will be installed:
libcgi-pm-perl libmodule-build-perl libmodule-signature-perl libpackage-constants-perl libpod-readme-perl libregexp-common-perl
The following packages will be upgraded:
perl perl-base perl-modules
3 upgraded, 6 newly installed, 42 to remove and 0 not upgraded.
Need to get 7,102 kB of archives.
After this operation, 262 MB disk space will be freed.
Do you want to continue? [Y/n]
Parece que ele deseja remover muitos pacotes relacionados ao Perl (talvez porque o Perl ainda não tenha sido atualizado), mas também mariadb-server
(que eu instalei sozinho, não é uma dependência), linux-image-3.14-1-amd64
(que é meu kernel atual e foi fixado em apt
), tasksel
etc.
eu encontreiessa questãosobre o MariaDB, mas essa biblioteca não foi tocada até onde eu sei.
Remover o kernel do Linux não me parece uma boa ideia. Também preciso do servidor MariaDB.
Alguém sabe por que isso está acontecendo de repente? e como consertar isso? Existe algum comando para verificar todas as dependências novamente ou bloquear todos os pacotes atuais? Não quero fixar todos esses pacotes manualmente (o que nem parece funcionar em relação ao kernel).
Responder1
DR: Parece haver alguns problemas de dependência com libuuid-perl
e perl-base
.
Editar 18/08/2014, parece que os deps/repos foram corrigidos; "funciona para mim".
Etapas de solução de problemas, começando com o problema do kernel:
sudo apt-get install linux-image-amd6
Os seguintes pacotes têm dependências não atendidas: linux-image-amd64: Depende: linux-image-3.14-2-amd64 mas não será instalado
sudo apt-get install linux-image-amd64 "linux-image-3.14-2-amd64"
Os seguintes pacotes têm dependências não atendidas: linux-image-3.14-2-amd64: Depende: linux-base (>= 3~) mas não será instalado
sudo apt-get install linux-image-amd64 "linux-image-3.14-2-amd64" linux-base
Os seguintes pacotes têm dependências não atendidas: linux-base: Depende: libuuid-perl mas não será instalado
Hmm, encontrando Perl aqui.
sudo apt-get install linux-image-amd64 "linux-image-3.14-2-amd64" linux-base libuuid-perl
Os seguintes pacotes possuem dependências não atendidas: libuuid-perl: Depende: perlapi-5.18.1 mas não é instalável
Ah! libuuid-perl
parece exigir perlapi-5.18.1
.
sudo apt-get install linux-image-amd64 "linux-image-3.14-2-amd64" linux-base libuuid-perl perl-base perlapi-5.18.1
O pacote perlapi-5.18.1 não está disponível, mas é referido por outro pacote.
E: O pacote 'perlapi-5.18.1' não tem candidato para instalação
Hum. Não perlapi-5.18.1
disponível. Vamos ver o que perl-base
fornece:
apt-cache show perl-base
Pacote: perl-base Fonte: perl Versão: 5.20.0-4 Essencial: sim Tamanho instalado: 5007 Mantenedor: Niko Tyni Arquitetura: amd64 Substitui: libio-socket-ip-perl, libperl5.8 (<< 5.8.0- 20), libscalar-list-utils-perl, libsocket-perl, libxsloader-perl, perl (<< 5.10.1-12), perl-modules (<< 5.10.1-1) Fornece: libio-socket-ip- perl, libscalar-list-utils-perl, libsocket-perl, libxsloader-perl, perl5-base, perlapi-5.20.0 Pré-Depende: libc6 (>= 2.14), dpkg (>= 1.14.20) Sugestões: perl Conflitos : defoma (<< 0.11.12), doc-base (<< 0.10.3), mono-gac (<< 2.10.8.1-3), safe-rm (<< 0,8), update-inetd (<< 4,41 ) Quebras: autoconf2.13 (<< 2.13-45), libalien-wxwidgets-perl (<< 0,65+dfsg-2), libanyevent-perl (<< 7.070-2), libcommon-sense-perl (<< 3,72- 2~), libfile-spec-perl (<< 3.4700), libgtk2-perl-doc (<< 2:1.2491-4), libio-socket-ip-perl (<< 0.29), libjcode-perl (<< 2.13 -3), libmarc-charset-perl (<< 1,2), libscalar-list-utils-perl (<< 1:1,38), libsocket-perl (<< 2.> 013), libxsloader-perl (<< 0,17)
Ele fornece perlapi-5.20.0
. O que libuuid-perl
realmente exige?
apt-cache show libuuid-perl
Pacote: libuuid-perl Versão: 0.05-1 Depende: perl-base (>= 5.18.1-2), perlapi-5.18.1, libc6 (>= 2.4), libuuid1 (>= 2.16) Conflitos: doc-base ( << 0.10.3)
Parece exigir não apenas perl-base
a versão 5.18.1-2 acima, mas tambémexplicitamentedepende do perlapi-5.18.1
que não é fornecido.
Avançar:
sudo apt-get install libperl5.18
Os seguintes pacotes possuem dependências não atendidas: libperl5.18: Depende: perl-base (= 5.18.2-7) mas 5.20.0-4 deve ser instalado
sudo apt-get install libperl5.18 perl-base=5.18.2-7
Lendo listas de pacotes... Concluído Construindo árvore de dependência
Lendo informações de estado... Concluído E: A versão '5.18.2-7' para 'perl-base' não foi encontrada