Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "
Tipps und Tricks"-Bereich.
-
samlinux
- Beiträge: 124
- Registriert: 13.05.2004 19:26:38
Beitrag
von samlinux » 10.04.2007 19:37:18
hallo, ich habe folgendes problem:
habe scheinbar einmal ein falsches update gemacht, wie auch immer das geht.
doch jetzt kann ich den server nicht mehr update.
:~# apt-get -f install
Reading Package Lists... Done
Building Dependency Tree... Done
Correcting dependencies... Done
The following extra packages will be installed:
debianutils e2fslibs e2fsprogs initscripts libblkid1 libc6 libdevmapper1.02 libselinux1 libsepol1 libss2 libuuid1 lsb-base mktemp mount
Suggested packages:
gpart parted e2fsck-static glibc-doc
The following NEW packages will be installed:
e2fslibs e2fsprogs initscripts libblkid1 libdevmapper1.02 libselinux1 libsepol1 libss2 libuuid1 lsb-base mktemp
The following packages will be upgraded:
debianutils libc6 mount
3 upgraded, 11 newly installed, 0 to remove and 148 not upgraded.
3 not fully installed or removed.
Need to get 0B/6002kB of archives.
After unpacking 1058kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 23109 files and directories currently installed.)
Preparing to replace libc6 2.3.2.ds1-22sarge4 (using .../libc6_2.3.6.ds1-13_i386.deb) ...
Name Service Switch update in the C Library: pre-installation question.
Running services and programs that are using NSS need to be restarted,
otherwise they might not be able to do lookup or authentication any more.
The installation process is able to restart some services (such as ssh or
telnetd), but other programs cannot be restarted automatically. One such
program that needs manual stopping and restart after the glibc upgrade by
yourself is xdm - because automatic restart might disconnect your active
X11 sessions.
Known packages that need to be stopped before the glibc upgrade are:
xdm kdm gdm postgresql xscreensaver
This script did not detect any installed services which need to be
stopped.
If you want to interrupt the upgrade now and continue later, please
answer No to the question below.
Do you want to upgrade glibc now? [Y/n] Y
WARNING: This version of glibc requires that you be running
kernel version 2.4.1 or later. Earlier kernels contained
bugs that may render the system unusable if a modern version
of glibc is installed.
dpkg: error processing /var/cache/apt/archives/libc6_2.3.6.ds1-13_i386.deb (--unpack):
subprocess pre-installation script returned error exit status 1
init: error while loading shared libraries: libsepol.so.1: cannot open shared object file: No such file or directory
Errors were encountered while processing:
/var/cache/apt/archives/libc6_2.3.6.ds1-13_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
habe jetzt schon eniges versucht und hoffe nicht damit den server noch mehr geschadet zu haben.
wie kann ich die fehlenden versionen nun wieder aktualisieren? Danke für eure Hilfe.
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 10.04.2007 20:12:33
hier ist das für den Abbruch verantwortliche Codestück aus libc6.preinst:
Code: Alles auswählen
# The GNU libc is now built with --with-kernel= >= 2.4.1, except on m68k
if [ "$realarch" != m68k ]
then
if kernel_compare_versions "$kernel_ver" lt 2.4.1
then
echo WARNING: This version of glibc requires that you be running
echo kernel version 2.4.1 or later. Earlier kernels contained
echo bugs that may render the system unusable if a modern version
echo of glibc is installed.
exit_check
fi
fi
und hier ist ein Testscript, welches du bitte auf deinem Server startest:
Code: Alles auswählen
realarch=`uname -m`
kernel_ver=`uname -r`
# convert "armv4l" and similar to just "arm", and "mips64" and similar
# to just "mips"
case $realarch in
arm*) realarch="arm";;
mips*) realarch="mips";;
esac
kernel_compare_versions () {
verA=$(($(echo "$1" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 10000 + \2 \* 100 + \3/')))
verB=$(($(echo "$3" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 10000 + \2 \* 100 + \3/')))
test $verA -$2 $verB
}
if [ "$realarch" != m68k ]
then
if kernel_compare_versions "$kernel_ver" lt 2.4.1
then
echo "$kernel_ver lt 2.4.1"
else
echo "$kernel_ver ge 2.4.1"
fi
else
echo "kernelversion $kernel_ver ist egal"
fi
EDIT: FEHLENDE HOCHKOMMA KORRIGIERT
Gruß
gms
Zuletzt geändert von
gms am 11.04.2007 09:04:29, insgesamt 1-mal geändert.
-
blackm
- Moderator und Co-Admin
- Beiträge: 5921
- Registriert: 02.06.2002 15:03:17
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von blackm » 10.04.2007 20:19:34
Von den Web- und Mailservern weggeschoben.
bye, Martin
-
samlinux
- Beiträge: 124
- Registriert: 13.05.2004 19:26:38
Beitrag
von samlinux » 11.04.2007 08:22:14
Danke für das Testscript,
aber für was brauchen wir hier das testscript?
Wie sieht hier der Lösungsweg aus, um das Problem zu beheben? danke für eine Info.
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 11.04.2007 08:45:16
samlinux hat geschrieben:Wie sieht hier der Lösungsweg aus, um das Problem zu beheben? danke für eine Info.
Das Problem wird erst behoben, wenn die Ursache des Problems bekannt ist. Bei der "Ursachenforschung" sollte uns dieses Testscript helfen, da es die für den Abbruch verantwortlichen Teile des Originalscripts beinhaltet
-
Lirion
- Beiträge: 318
- Registriert: 11.04.2007 08:30:14
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Worms
-
Kontaktdaten:
Beitrag
von Lirion » 11.04.2007 08:54:13
Dein Script oben hat einen "-Fehler
Hier ist die korrigierte Version, für weniger versierte Shelluser:
Code: Alles auswählen
#!/bin/bash
realarch=`uname -m`
kernel_ver=`uname -r`
# convert "armv4l" and similar to just "arm", and "mips64" and similar
# to just "mips"
case $realarch in
arm*) realarch="arm";;
mips*) realarch="mips";;
esac
kernel_compare_versions () {
verA=$(($(echo "$1" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 10000 + \2 \* 100 + \3/')))
verB=$(($(echo "$3" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 10000 + \2 \* 100 + \3/')))
test $verA -$2 $verB
}
if [ "$realarch" != m68k ]
then
if kernel_compare_versions "$kernel_ver" lt 2.4.1
then
echo "$kernel_ver" lt 2.4.1
else
echo "$kernel_ver" ge 2.4.1
fi
else
echo "kernelversion" $kernel_ver ist egal
Das haust du in eine Datei, und startest diese mit
Dann hast du deine Kernelversion. Ist sie kleiner als 2.4.1, bekommst du etwas wie "2.2.16 lt 2.4.1" und solltest nen neuen Kernel reinsetzen. Ansonsten steht statt lt ge da und dann schauen wir mal weiter.
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 11.04.2007 09:03:07
Lirion hat geschrieben:Dein Script oben hat einen "-Fehler
![Wink ;)](./images/smilies/icon_wink.gif)
danke, da ist mir ein Hochkomma hineingerutscht, oder es fehlt eines, dafür fehlt bei dir das "fi" zum Schluß
Lirion hat geschrieben:
Dann hast du deine Kernelversion. Ist sie kleiner als 2.4.1, bekommst du etwas wie "2.2.16 lt 2.4.1" und solltest nen neuen Kernel reinsetzen. Ansonsten steht statt lt ge da und dann schauen wir mal weiter.
Ohne es wirklich zu wissen, würde ich eher auf eine Fehlermeldung tippen, z.B. "sed: command not found"
Gruß
gms
-
Lirion
- Beiträge: 318
- Registriert: 11.04.2007 08:30:14
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Worms
-
Kontaktdaten:
Beitrag
von Lirion » 11.04.2007 09:18:06
gms hat geschrieben:Lirion hat geschrieben:Dein Script oben hat einen "-Fehler
![Wink ;)](./images/smilies/icon_wink.gif)
danke, da ist mir ein Hochkomma hineingerutscht, oder es fehlt eines, dafür fehlt bei dir das "fi" zum Schluß
![Laughing :lol:](./images/smilies/icon_lol.gif)
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
Man sollte solche Dinge nicht morgens früh treiben... Bin noch nicht so ganz wach
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Ich hab die funktionierende Version einfach mal
hier hochgeladen, wenn gms was dagegen hat, tu ich's wieder runter.
Ohne es wirklich zu wissen, würde ich eher auf eine Fehlermeldung tippen, z.B. "sed: command not found"
Komm grad nicht mit... warum das?
-
Pawel
- Beiträge: 284
- Registriert: 27.11.2006 03:59:39
Beitrag
von Pawel » 11.04.2007 09:25:42
Ihr driftet gerade ziemlich von der Problemstellung ab
Hätte ein einfaches "uname -a" nicht gereicht um rauszufinden, ob er eine Kernel Version kleiner als 2.4.1 hat?
![Wink :wink:](./images/smilies/icon_wink.gif)
-
samlinux
- Beiträge: 124
- Registriert: 13.05.2004 19:26:38
Beitrag
von samlinux » 11.04.2007 09:44:52
danke für die tolle anteilnahme!
hier das ergebis des testscriptes:
2.2.20 lt 2.4.1
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 11.04.2007 09:53:39
Pawel hat geschrieben:
Hätte ein einfaches "uname -a" nicht gereicht um rauszufinden, ob er eine Kernel Version kleiner als 2.4.1 hat?
![Wink :wink:](./images/smilies/icon_wink.gif)
nicht wenn er schon mit der Nase drauf gestoßen wurde
![Laughing :lol:](./images/smilies/icon_lol.gif)
Ich meine die Fehlermeldung ist doch eindeutig:
This version of glibc requires that you be running
kernel version 2.4.1 or later. Earlier kernels contained
bugs that may render the system unusable if a modern version
of glibc is installed.
samlinux hat geschrieben:
hier das ergebis des testscriptes:
2.2.20 lt 2.4.1
Ich hätte mehr Vertrauen in dich gesetzt und habe daher einen Fehler bei der Ausführung des Scripts vermutet
Gruß
gms
-
samlinux
- Beiträge: 124
- Registriert: 13.05.2004 19:26:38
Beitrag
von samlinux » 11.04.2007 10:02:56
ok,
aber wie muss ich jetzt weiter vorgehen ?
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 11.04.2007 10:10:05
Upgrade verschieben und zuerst einen neueren Kernel installieren. Nach dem das Upgrade von libc6 nicht funktioniert, wirst du wahrscheinlich einen Kernel aus Sarge nehmen müssen. Für einen Etch-Kernel fehlen dir noch die Userspace Tools ( initrd-tools, udev, module-init-tools ), die du ja (noch) nicht installieren kannst
Gruß
gms
edit:
Ich möchte dir noch dieses Dokument empfehlen:
http://www.debian.org/releases/stable/i ... ng.de.html
Hier wird auch das Upgrade ganz genau beschrieben, selbst vor obigen Fehler wird gewarnt:
release notes hat geschrieben:
4.1.5 Unterstützung für 2.2er Kernel wurde entfernt
Falls ein Kernel vor Version 2.4.1 verwendet wird, muss dieser (mindestens) auf die aktuelle Version der 2.4-Serie aktualisiert werden, bevor glibc aktualisiert wird, also am besten bevor das Upgrade gestartet wird. Es wird empfohlen, direkt auf den Kernel 2.6.8 aus Sarge zu aktualisieren, statt einen Kernel der 2.4er Serie zu verwenden.
-
samlinux
- Beiträge: 124
- Registriert: 13.05.2004 19:26:38
Beitrag
von samlinux » 11.04.2007 10:43:25
danke erstmals für die Hilfe,
vielleicht könnt ihr mir noch eine Info geben, wie ich am besten das Kernel-Update mache und welchen Kernel ich verwenden soll?