nixp.ru v3.0

19 апреля 2024,
пятница,
14:37:24 MSK

Аватар пользователя rgo
rgo написал 27 марта 2013 года в 10:50 (8021 просмотр) Ведет себя неопределенно; открыл 61 тему в форуме, оставил 1603 комментария на сайте.

Ситуация такая, я делал apt-get dist-upgrade, но делал через ssh, отвлёкся достаточно надолго, чтобы ssh оборвал соединение, пока apt-get ждал от меня подсказок насчёт конфигурирования чего-то там установленного. Когда я присоединился вновь, apt отказывался работать из-за lock-файлов. Мне почему-то подумалось сразу, что не стоит их удалять, но гугл бодро заявлял, что надо удалить и всё будет чики-пуки. Разве что dpkg --configure -a надо будет сделать после этого. Сказано сделано, но dpkg --configure -a говорит, что:

# dpkg --configure -a
dpkg: dependency problems prevent configuration of locales:
 locales depends on glibc-2.13-1; however:
  Package glibc-2.13-1 is not installed.
dpkg: error processing locales (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 locales


И я теперь хрен знает что делать:

# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 libc6 : Depends: libc-bin (= 2.11.3-4) but 2.13-38 is installed
         Recommends: libc6-i686 but it is not installed
 locales : Depends: glibc-2.13-1 but it is not installable
E: Unmet dependencies. Try using -f.


 

Окей, пробуем -f: (сорри, дальше без форматирования, мне не справится с этим редактором)

# apt-get -f dist-upgrade

Reading package lists… Done

Building dependency tree      

Reading state information… Done

Correcting dependencies… Done

Calculating upgrade… Done

The following packages will be REMOVED:

adduser apache2-utils apt apt-utils aptitude base-files base-passwd bash bc bind9 bind9-host bind9utils binutils boinc boinc-client boinc-manager bsdmainutils bsdutils build-essential bzip2 ca-certificates

comerr-dev coreutils cpio cpp cpp-4.4 cron dash db4.8-util dbus debconf debconf-i18n debian-archive-keyring debianutils defoma diffutils dmidecode dnsutils dovecot-common dovecot-imapd dpkg dpkg-dev

e2fslibs e2fsprogs emacs emacs23 emacs23-bin-common emacs23-common emacsen-common fakeroot file findutils fontconfig fontconfig-config g++ g++-4.4 gcc gcc-4.4 gconf2-common gnupg gpgv grep groff-base gzip

hostname iftop ifupdown info initscripts insserv install-info iproute iptables iputils-ping isc-dhcp-client isc-dhcp-common krb5-multidev less libacl1 libalgorithm-diff-perl libalgorithm-diff-xs-perl

libalgorithm-merge-perl libanthy0 libapr1 libaprutil1 libasound2 libatk1.0-0 libatk1.0-data libattr1 libavahi-client3 libavahi-common3 libbind9-60 libblkid1 libboost-iostreams1.42.0 libbsd0 libbz2-1.0

libc-dev-bin libc6 libc6-dev libcairo2 libcap2 libcomerr2 libcroco3 libcups2 libcurl3 libcurl4-openssl-dev libcwidget3 libdatrie1 libdb4.7 libdb4.8 libdbus-1-3 libdbus-glib-1-2 libdns69 libdpkg-perl

libdrm-intel1 libdrm-radeon1 libdrm2 libedit2 libept1 libexpat1 libfont-freetype-perl libfontconfig1 libfontenc1 libfreetype6 libfribidi0 libgcc1 libgconf2-4 libgcrypt11 libgd2-noxpm libgdbm3 libgeoip1

libgif4 libgl1-mesa-dri libgl1-mesa-glx libglib2.0-0 libglib2.0-data libglu1-mesa libgmp3c2 libgnutls26 libgomp1 libgpg-error0 libgpm2 libgsf-1-114 libgssapi-krb5-2 libgssrpc4 libgtk2.0-0 libgtk2.0-bin

libice6 libidl0 libidn11 libidn11-dev libisc62 libisccc60 libisccfg62 libjasper1 libjpeg62 libk5crypto3 libkadm5clnt-mit7 libkadm5srv-mit7 libkdb5-4 libkeyutils1 libkrb5-3 libkrb5-dev libkrb5support0

libldap-2.4-2 libldap2-dev liblocale-gettext-perl liblockfile1 liblwres60 liblzma2 libm17n-0 libmagic1 libmpfr4 libmysqlclient16 libncurses5 libncurses5-dev libncursesw5 libnewt0.52 libnfnetlink0 libnl1

liborbit2 libossp-uuid16 libotf0 libpam-modules libpam-pgsql libpam-runtime libpam0g libpango1.0-0 libpango1.0-common libpcap0.8 libpcre3 libpixman-1-0 libpng12-0 libpopt0 libpq5 libreadline6 librsvg2-2

libsasl2-2 libsasl2-modules libsasl2-modules-sql libselinux1 libsepol1 libsigc++-1.2-5c2 libsigc++-1.2-dev libsigc++-2.0-0c2a libsigc++-2.0-dev libsigc++-dev libsigc++0c2 libslang2 libsm6 libsqlite0

libsqlite3-0 libss2 libssh2-1 libssh2-1-dev libssl-dev libssl0.9.8 libstdc++6 libstdc++6-4.4-dev libtasn1-3 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libthai0 libtiff4 libtimedate-perl

libtorrent11 libudev0 libusb-0.1-4 libuuid1 libwrap0 libwxbase2.8-0 libwxgtk2.8-0 libx11-6 libxapian22 libxau6 libxcb-render-util0 libxcb-render0 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6

libxext6 libxfixes3 libxfont1 libxft2 libxi6 libxinerama1 libxml2 libxmlrpc-c3 libxmuu1 libxpm4 libxrandr2 libxrender1 libxslt1.1 libxt6 libxxf86vm1 locales login logrotate lsb-base lsb-release m17n-contrib

m17n-db make man-db mawk module-init-tools mount ncurses-bin net-tools netbase netcat-traditional openssh-blacklist openssh-blacklist-extra openssh-client openssh-server openssl passwd patch perl perl-base

perl-modules pkg-config postfix postfix-pgsql postgresql postgresql-8.4 postgresql-client-8.4 postgresql-common postgresql-contrib postgresql-contrib-8.4 procps python python-minimal python-support

python2.6 python2.6-minimal quota readline-common rsyslog rtorrent sasl2-bin sed sgml-base shared-mime-info squid ssh ssl-cert sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tcpd traceroute tzdata

ucf udev util-linux vim-common vim-tiny wget whiptail whois x11-common xauth xfonts-encodings xfonts-utils xml-core xz-utils zlib1g zlib1g-dev

The following packages will be upgraded:

linux-libc-dev

WARNING: The following essential packages will be removed.

This should NOT be done unless you know exactly what you are doing!

apt libc6 (due to apt) libgcc1 (due to apt) libstdc++6 (due to apt) zlib1g (due to apt) debian-archive-keyring (due to apt) gnupg (due to apt) base-files base-passwd bash debianutils (due to bash) dash (due

to bash) libncurses5 (due to bash) bsdutils coreutils libacl1 (due to coreutils) libattr1 (due to coreutils) libselinux1 (due to coreutils) dpkg (due to dash) diffutils libbz2-1.0 (due to dpkg) xz-utils

(due to dpkg) e2fsprogs e2fslibs (due to e2fsprogs) libblkid1 (due to e2fsprogs) libcomerr2 (due to e2fsprogs) libss2 (due to e2fsprogs) libuuid1 (due to e2fsprogs) util-linux (due to e2fsprogs) findutils

install-info (due to findutils) grep gzip hostname login libpam0g (due to login) libpam-runtime (due to login) libpam-modules (due to login) mount libsepol1 (due to mount) ncurses-bin perl-base sed sysvinit

initscripts (due to sysvinit) sysv-rc (due to sysvinit) sysvinit-utils (due to sysvinit) tar lsb-base (due to util-linux) tzdata (due to util-linux) debconf (due to util-linux) libslang2 (due to util-linux)

1 upgraded, 0 newly installed, 335 to remove and 0 not upgraded.

2 not fully installed or removed.

Need to get 855 kB of archives.

After this operation, 577 MB disk space will be freed.

You are about to do something potentially harmful.

To continue type in the phrase 'Yes, do as I say!'

?] ^C

Это явно не то, что стоит делать, так ведь? Пробую даунгрейдить libc-bin:

# apt-get install libc-bin=2.11.3-4       

Reading package lists… Done

Building dependency tree      

Reading state information… Done

You might want to run 'apt-get -f install' to correct these:

The following packages have unmet dependencies:

locales : Depends: glibc-2.13-1 but it is not installable

E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

apt-get -f install опять же предлагает в качестве решения проблемы удаление системы. И чёт как-то у меня идей больше не осталось. Как вылечить систему? Или всё же, единственный способ вылечить — это прибить к чертям?

Дмитрий Шурупов

Я несколько раз побеждал подобные ситуации, но на это уходили мучительные часы «попакетной» возни. И, честно говоря, универсального решения в голове не сложилось — всякий раз действовал методом проб и ошибок, изучая конкретные проблемы/конфликты зависимостей и неудостановленных/недоконфигурированных пакетов… Однако хочу обнадёжить, что успеха добивался во всех случаях.

Судя по первым листингам… здесь бы начал с ручной установки пакетов locales, libc6, libc-bin, glibc-2.13-1 — можно прямо вручную (dpkg -i) из .deb’ов, находящихся в /var/cache/apt.

rgo

kk. Я попробую. Стрёмно немного вручную дёргать libc, тем более не понимая деталей работы apt, но поскольку другого метода не видно, придётся заняться именно этим.

rgo

Да, сработало. Всё не так просто оказалось, там ещё /var/cache/debconf/config.dat оказался залочен, но прибив несколько процессов я его разлочил. Поставил старый libc-bin, после этого apt-get install -f предложил починить всё удалив postgresql и чего-то там переустановив. Это уже вполне приемлимое решение, поэтому locales я не трогал.

Я поражаюсь тому, какое количество советчиков относительно дебиана, которые сами не знают что советуют. Просто начинают предлагать какие-то рандомные телодвижения. Например почистить кеш. Или ещё что-нибудь совершенно бесполезное предлагать начинают. Всё ж популяризация линукса — зло.

Да, а мораль сей басни такова: если уж apt-get такой неатомарный и интерактивный, то надо пользоваться screen. Ибо нефиг.

Последние комментарии

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.