Вчера я сделал dist-upgrade на своем сервере Debian Lenny. Я думал, что это будет просто, как обычное обновление, но это не так. После обновления у меня появилось много проблем:
# apt-get 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:
linux-image-2.6-amd64 : Depends: linux-image-2.6.32-5-amd64 but it is not installed
E: Unmet dependencies. Try using -f.
Затем я попробовал предложение:
# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
libio-compress-base-perl libatk1.0-0 libts-0.0-0 libmime-types-perl libc-client2007b libgtk2.0-common libxfixes3 libgsf-1-common
hicolor-icon-theme libfile-remove-perl libxcomposite1 libltdl3-dev libneon27 libmd5-perl libwmf0.2-7 libilmbase6 libatk1.0-data
djvulibre-desktop libdirectfb-1.0-0 fam libxinerama1 libcroco3 libopenexr6 libgsf-1-114 libmail-box-perl libdjvulibre21
openssl-blacklist librsvg2-2 libio-compress-zlib-perl libsysfs2 libbeecrypt6 libxdamage1 libobject-realize-later-perl
libuser-identity-perl libgtk2.0-bin libxi6 libxcursor1 portmap libxrandr2 libgtk2.0-0
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
linux-image-2.6.32-5-amd64
Suggested packages:
linux-doc-2.6.32
The following NEW packages will be installed:
linux-image-2.6.32-5-amd64
0 upgraded, 1 newly installed, 0 to remove and 121 not upgraded.
98 not fully installed or removed.
Need to get 0 B/28.6 MB of archives.
After this operation, 103 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "hu_HU.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: Nincs ilyen f?jl vagy k?nyvt?r
Preconfiguring packages ...
(Reading database ... 37915 files and directories currently installed.)
Unpacking linux-image-2.6.32-5-amd64 (from .../linux-image-2.6.32-5-amd64_2.6.32-30_amd64.deb) ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: Nincs ilyen f?jl vagy k?nyvt?r
dpkg: error processing /var/cache/apt/archives/linux-image-2.6.32-5-amd64_2.6.32-30_amd64.deb (--unpack):
failed in write on buffer copy for backend dpkg-deb during `./lib/modules/2.6.32-5-amd64/kernel/sound/pci/hda/snd-hda-codec-realtek.ko': No space left on device
configured to not write apport reports
dpkg-deb: subprocess paste killed by signal (Broken pipe)
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: Nincs ilyen f?jl vagy k?nyvt?r
Running postrm hook script /sbin/update-grub.
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.26-2-amd64
Updating /boot/grub/menu.lst ... done
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 2.6.32-5-amd64 /boot/vmlinuz-2.6.32-5-amd64
Errors were encountered while processing:
/var/cache/apt/archives/linux-image-2.6.32-5-amd64_2.6.32-30_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
# dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "hu_HU.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: Nincs ilyen f?jl vagy k?nyvt?r
/usr/sbin/dpkg-reconfigure: locales is broken or not fully installed
Потом я застрял. Ты хоть представляешь, как я могу это решить?
Вам нужно прочитать примечания к выпуску перед обновлением до новой версии Debian. Если вы просто обновили вслепую, не прочитав примечания к выпуску и следуя инструкциям, возможно, ваша система сломалась.
Это быстрая версия из справочного канала IRC.
Удалите volatile и backports из /etc/apt/sources.list, изменив lenny на squeeze.
Используйте apt-get для обновления:
apt-get update && apt-get upgrade && apt-get install linux-image-$(uname -r|sed 's,[^-]*-[^-]*-,,') udev
.При необходимости установите firmware-linux-nonfree; убедитесь, что у вас установлено ядро 2.6.32
aptitude search '~nlinux-image~i'
и перезагружаемся в него.apt-get dist-upgrade
.
Если вы не выполнили эти шаги в указанном порядке, вы можете получить неисправную систему из-за того, что сначала нужно обновить ядро и udev.
попробуй это:
apt-get update
apt-get install --reinstall debconf glibc locales
dpkg-reconfigure locales
также вы можете попробовать aptitude
(если он установлен), при запуске нажмите u, затем ok, затем g, в конечном итоге еще один g он попытается это исправить
это помогло мне:
apt-get update
apt-get dist-upgrade
apt-get install --reinstall debconf locales-all
a reboot
Вы сможете временно восстановить работу, если вы
export LANG=C
в вашей оболочке перед запуском команд. Это должно помешать вещам работать на венгерском языке и потерпеть неудачу. При этом вы сможете перенастроить локали, чтобы заставить его генерировать правильный локаль hu_HU.UTF-8.