Ich habe heute auf meinem Debian-Sid-Server (x64) ein Upgrade auf PHP 5.6RC4 durchgeführt:
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]
Wenn ich das jetzt tue apt-get dist-upgrade
oder apt-get autoremove
erhalte ich Folgendes:
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]
Es scheint, dass viele Perl-bezogene Pakete entfernt werden sollen (vielleicht weil Perl noch nicht aktualisiert wurde), aber auch mariadb-server
(das ich selbst installiert habe, es ist keine Abhängigkeit), linux-image-3.14-1-amd64
(das mein aktueller Kernel ist und in fixiert wurde apt
) tasksel
usw.
ich fanddiese Frageüber MariaDB, aber diese Bibliothek wurde meines Wissens nicht angerührt.
Das Entfernen des Linux-Kernels scheint mir keine gute Idee zu sein. Außerdem brauche ich den MariaDB-Server.
Weiß jemand, warum das plötzlich passiert? Und wie man es behebt? Gibt es einen Befehl, um alle Abhängigkeiten erneut zu überprüfen oder alle aktuellen Pakete zu sperren? Ich möchte diese Pakete nicht alle manuell pinnen (was in Bezug auf den Kernel nicht einmal zu funktionieren scheint).
Antwort1
TL;DR: Es scheint einige Abhängigkeitsprobleme mit libuuid-perl
und zu geben perl-base
.
Bearbeitung 18.08.2014, sieht aus, als wären die Deps/Repos behoben worden; „funktioniert bei mir“.
Schritte zur Fehlerbehebung, beginnend mit dem Kernelproblem:
sudo apt-get install linux-image-amd6
Die folgenden Pakete haben unerfüllte Abhängigkeiten: linux-image-amd64 : Hängt ab von: linux-image-3.14-2-amd64, wird aber nicht installiert
sudo apt-get install linux-image-amd64 "linux-image-3.14-2-amd64"
Die folgenden Pakete haben unerfüllte Abhängigkeiten: linux-image-3.14-2-amd64 : Hängt ab von: linux-base (>= 3~), wird aber nicht installiert
sudo apt-get install linux-image-amd64 "linux-image-3.14-2-amd64" linux-base
Die folgenden Pakete haben unerfüllte Abhängigkeiten: linux-base : Hängt ab von: libuuid-perl, wird aber nicht installiert
Hmm, hier stoße ich auf Perl.
sudo apt-get install linux-image-amd64 "linux-image-3.14-2-amd64" linux-base libuuid-perl
Die folgenden Pakete haben unerfüllte Abhängigkeiten: libuuid-perl: Hängt ab von: perlapi-5.18.1, ist aber nicht installierbar
Aha! libuuid-perl
scheint zu erfordern 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
Das Paket perlapi-5.18.1 ist nicht verfügbar, wird aber von einem anderen Paket referenziert.
E: Paket „perlapi-5.18.1“ hat keinen Installationskandidaten
Hmm. Nicht perlapi-5.18.1
verfügbar. Mal sehen, was perl-base
es bietet:
apt-cache show perl-base
Paket: perl-base Quelle: perl Version: 5.20.0-4 Essenziell: ja Installierte Größe: 5007 Betreuer: Niko Tyni Architektur: amd64 Ersetzt: 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) Bietet: libio-socket-ip-perl, libscalar-list-utils-perl, libsocket-perl, libxsloader-perl, perl5-base, perlapi-5.20.0 Vorausgesetzt abhängig von: libc6 (>= 2.14), dpkg (>= 1.14.20) Empfiehlt: perl Konflikte: defoma (<< 0.11.12), doc-base (<< 0.10.3), mono-gac (<< 2.10.8.1-3), safe-rm (<< 0.8), update-inetd (<< 4.41) Unterbrechungen: 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)
Es bietet perlapi-5.20.0
. Was libuuid-perl
erfordert es eigentlich?
apt-cache show libuuid-perl
Paket: libuuid-perl Version: 0.05-1 Hängt ab von: perl-base (>= 5.18.1-2), perlapi-5.18.1, libc6 (>= 2.4), libuuid1 (>= 2.16) Konflikte: doc-base (<< 0.10.3)
Es scheint nicht nur perl-base
die Version 5.18.1-2 von oben zu erfordern, sondern esausdrücklichhängt davon ab perlapi-5.18.1
, was nicht bereitgestellt wird.
Weiter:
sudo apt-get install libperl5.18
Die folgenden Pakete haben unerfüllte Abhängigkeiten: libperl5.18: Hängt ab von: perl-base (= 5.18.2-7), aber 5.20.0-4 muss installiert werden
sudo apt-get install libperl5.18 perl-base=5.18.2-7
Paketlisten werden gelesen... Fertig. Abhängigkeitsbaum wird erstellt.
Statusinformationen werden gelesen... Fertig. E: Version „5.18.2-7“ für „perl-base“ wurde nicht gefunden.