Toto:
$ file /usr/bin/wine
/usr/bin/wine: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32,
BuildID[sha1]=eaf6de433d8196e746c95d352e0258fe2b65ae24, stripped
V kombinaci s tímto:
$ ldd /usr/bin/wine
/usr/bin/ldd: line 117: /usr/bin/wine: No such file or directory
Důrazně naznačuje, že systém nemá /lib/ld-linux.so.2
ELF tlumočník. To znamená, že tento 64bitový systém nemá nainstalované žádné 32bitové knihovny kompatibility. Odpověď @user1334609 je tedy v podstatě správná.
OK, posledních osm hodin jsem byl zaneprázdněn, abych znovu uvedl svůj systém do provozu po vypnutí přehřátí CPU. Po restartu se ukázalo, že je to tak podělané, že ani záložní konzole initrd už mou klávesnici nerozpoznala. Je pro mě záhadou, jak systém dokázal zůstat funkční tak dlouho, když jsem se snažil implementovat nespočet vašich návrhů (moc děkuji!!)
Problém při restartu:
Warning: /lib/modules/4.11.3-1-ARCH/modules.devname not found - ignoring
ERROR: device 'UUID=...' not found. Skipping fsck.
ERROR: Unable to find root device 'UUID=...'.
You are being dropped to a recovery shell
Type 'exit' to try and continue booting
sh: can't access tty: job control turned off
a žádná klávesnice poté nefunguje :-)
Problém byl:Aktualizace nahradila symbolický odkaz /lib -> /usr/lib
s adresářem. To znamenalo, že všechny knihovny a moduly jádra, u kterých se očekává, že budou v /lib
chyběly :-)
Takže jsem znovu vytvořil symbolický odkaz a přeinstaloval základní systém z živého CD.
Teď, když mám zase internet, našel jsem také toto vlákno
Použil jsem také správce balíčků mé zděné instalace na disku (nazvaného pacman
) z živého CD a přeinstalujte všechny balíčky základní skupiny (možná pouze jádro, takže balíček linux
by stačilo, nevím)
Chcete-li toho dosáhnout, namontujte hlavní oddíl zděné instalace na /mnt
adresář systému live CD a použijte chroot
vytvořit pacman
myslím /mnt
je /
(vložte hlavní oddíl zděného systému pro sdXXX
)
mount /dev/sdXXX /mnt
# Recreate the /lib -> usr/lib symlink
ln -s usr/lib /lib
# Mount essential system folders also to the respective subfolders of /mnt
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
mount -o bind /dev /mnt/dev
# Fake /mnt to be /, so that pacman installs the packages to the correct places
chroot /mnt
# Reinstall the Arch Linux base system
pacman -Sy base
Pro pořádek:vytvořte relativní symbolický odkaz, tedy ln -s usr/lib /mnt/lib
a ne ln -s /usr/lib /mnt/lib
, protože během časného spouštění systému (initrd fáze) bude hlavní oddíl připojen jako první k /new_root
. Pokud by byl symbolický odkaz absolutní, při předčasném spouštění byste dostali výše uvedenou chybu.
Pokoušíte se spustit 32bitovou aplikaci na 64bitovém operačním systému, takže než to bude fungovat, musíte nainstalovat knihovny 32bitové kompatibility (zejména glibc).