Ik heb zo het vermoeden dat ik d.m.v. een install script wat instellingen/bestanden heb overschreven waardoor ik geen commando's meer kan uitvoeren vanaf de prompt vanuit Putty.
Ik krijg nu steeds deze foutmeldingen:
).
Hoe heb ik dit nu voor elkaar gekregen?
Vanwege een erg krappe hd (170mb) ben ik genoodzaakt om progs die dusdanig groot zijn ergens anders op te slaan. In dit geval gebruik ik een WinXP-share via Samba als opslag en m.b.v. de util 'encap' (maakt symlinks in de relevante dirs, /usr, /lib, enz.: bijv. encap glibc) kan ik bijv. om toch te kunnen compileren 'glibc', 'gcc' en 'linuxinc' vanaf de share laden.
Nu zitten er meestal ook doinst.sh-bestanden tussen die als het goed is nog ff de nodige symlinks aanmaken zoals bijv. 'gcc'-->'gcc.2.95' voor de versie-onafhankelijkheid.
De 'doinst.sh' van 'glibc' was in mijn geval dus fataal:
ssh'en met Putty lukt niet meer (gelijk na het inloggen verdwijnt het venster weer, ook root) en in de vensters die ik nu nog open heb staan werken commando's vanaf de prompt niet meer.
Toevallig had ik in een venster nog Midnight Commander draaien. Hier kan ik niks meer uit executen/lezen.
In een ander venster nog top.
Tja, stom moet je dat maar niet als root uitvoeren zeg je dan, maar in dit geval moest de 'doinst.sh' ook nog wat gaan rommelen in '/lib' en 'usr/lib' waar volgens mij root-access voor vereist is.
Weet iemand misschien of en hoe ik dit ongedaan kan maken?
Hieronder nog de fatale 'doinst.sh' behorende bij 'glibc':
Ik krijg nu steeds deze foutmeldingen:
Zoals je ziet doen sommige het nog wel (pwd, type), maar waarschijnlijk zijn dat dan geen commando's die vanuit '/bin', '/sbin', etc. geladen hoeven worden. 'ldconfig -v' doet het trouwens ook nog (root@tyson:/install# ls
bash: /bin/ls: No such file or directory
root@tyson:/install# rm
bash: /bin/rm: No such file or directory
root@tyson:/install# su
bash: /bin/su: No such file or directory
root@tyson:/install# type
root@tyson:/install# type -all bash
bash is /bin/bash
bash is /usr/bin/bash
root@tyson:/install# telnet (Alleen voor de test uiteraard...)
bash: /bin/telnet: No such file or directory
root@tyson:/install# file
bash: /usr/bin/file: No such file or directory
root@tyson:/install# pwd
/install
Hoe heb ik dit nu voor elkaar gekregen?
Vanwege een erg krappe hd (170mb) ben ik genoodzaakt om progs die dusdanig groot zijn ergens anders op te slaan. In dit geval gebruik ik een WinXP-share via Samba als opslag en m.b.v. de util 'encap' (maakt symlinks in de relevante dirs, /usr, /lib, enz.: bijv. encap glibc) kan ik bijv. om toch te kunnen compileren 'glibc', 'gcc' en 'linuxinc' vanaf de share laden.
Nu zitten er meestal ook doinst.sh-bestanden tussen die als het goed is nog ff de nodige symlinks aanmaken zoals bijv. 'gcc'-->'gcc.2.95' voor de versie-onafhankelijkheid.
De 'doinst.sh' van 'glibc' was in mijn geval dus fataal:
ssh'en met Putty lukt niet meer (gelijk na het inloggen verdwijnt het venster weer, ook root) en in de vensters die ik nu nog open heb staan werken commando's vanaf de prompt niet meer.
Toevallig had ik in een venster nog Midnight Commander draaien. Hier kan ik niks meer uit executen/lezen.
In een ander venster nog top.
Tja, stom moet je dat maar niet als root uitvoeren zeg je dan, maar in dit geval moest de 'doinst.sh' ook nog wat gaan rommelen in '/lib' en 'usr/lib' waar volgens mij root-access voor vereist is.
Weet iemand misschien of en hoe ik dit ongedaan kan maken?
Hieronder nog de fatale 'doinst.sh' behorende bij 'glibc':
#!/bin/sh
# libmove sourcelib targetlib
#
# This allows you to move a new shared library into place,
# even on a running system.
libmove() {
LIBSOURCE=$1
LIBTARGET=$2
LIBFOO="`dirname $LIBTARGET`/libfoo.so.0.0.0"
# link duplicate of target lib so we can safely copy over it:
if [ -r $LIBTARGET ]; then
cp -a $LIBTARGET $LIBFOO
if [ -x /sbin/ldconfig ]; then
ldconfig -l $LIBFOO 2> /dev/null
fi
fi
mv $LIBSOURCE $LIBTARGET
if [ -x /sbin/ldconfig ]; then
ldconfig -l $LIBTARGET 2> /dev/null
fi
rm -f $LIBFOO
}
# Before using libmove, try to install everything we can:
( cd lib/incoming
for file in * ; do
if [ ! -r ../$file ]; then
cp -a $file ..
fi
done )
if [ -x /sbin/ldconfig ]; then
/sbin/ldconfig
fi
( cd lib/incoming
for file in * ; do
libmove $file ../$file
done )
#### Now, get rid of the temporary directory:
rm -rf lib/incoming
if [ -x /sbin/ldconfig ]; then
( cd lib ; /sbin/ldconfig . )
else # In case there's no ldconfig, make the links manually:
( cd lib ; rm -rf libnss_nis.so.2 )
( cd lib ; ln -sf libnss_nis-2.2.3.so libnss_nis.so.2 )
( cd lib ; rm -rf libm.so.6 )
( cd lib ; ln -sf libm-2.2.3.so libm.so.6 )
( cd lib ; rm -rf libnss_files.so.2 )
( cd lib ; ln -sf libnss_files-2.2.3.so libnss_files.so.2 )
( cd lib ; rm -rf libresolv.so.2 )
( cd lib ; ln -sf libresolv-2.2.3.so libresolv.so.2 )
( cd lib ; rm -rf libnsl.so.1 )
( cd lib ; ln -sf libnsl-2.2.3.so libnsl.so.1 )
( cd lib ; rm -rf libutil.so.1 )
( cd lib ; ln -sf libutil-2.2.3.so libutil.so.1 )
( cd lib ; rm -rf libnss_compat.so.2 )
( cd lib ; ln -sf libnss_compat-2.2.3.so libnss_compat.so.2 )
( cd lib ; rm -rf libthread_db.so.1 )
( cd lib ; ln -sf libthread_db-1.0.so libthread_db.so.1 )
( cd lib ; rm -rf libdb.so.2 )
( cd lib ; ln -sf libdb1.so.2.1.3 libdb.so.2 )
( cd lib ; rm -rf libdb.so.3 )
( cd lib ; ln -sf libdb2.so.3 libdb.so.3 )
( cd lib ; rm -rf libnss_hesiod.so.2 )
( cd lib ; ln -sf libnss_hesiod-2.2.3.so libnss_hesiod.so.2 )
( cd lib ; rm -rf libanl.so.1 )
( cd lib ; ln -sf libanl-2.2.3.so libanl.so.1 )
( cd lib ; rm -rf libcrypt.so.1 )
( cd lib ; ln -sf libcrypt-2.2.3.so libcrypt.so.1 )
( cd lib ; rm -rf libBrokenLocale.so.1 )
( cd lib ; ln -sf libBrokenLocale-2.2.3.so libBrokenLocale.so.1 )
( cd lib ; rm -rf ld-linux.so.2 )
( cd lib ; ln -sf ld-2.2.3.so ld-linux.so.2 )
( cd lib ; rm -rf libdl.so.2 )
( cd lib ; ln -sf libdl-2.2.3.so libdl.so.2 )
( cd lib ; rm -rf libnss_dns.so.2 )
( cd lib ; ln -sf libnss_dns-2.2.3.so libnss_dns.so.2 )
( cd lib ; rm -rf libdb.so )
( cd lib ; ln -sf libdb-3.1.so libdb.so )
( cd lib ; rm -rf libnss_db.so.2 )
( cd lib ; ln -sf libnss_db-2.2.so libnss_db.so.2 )
( cd lib ; rm -rf libpthread.so.0 )
( cd lib ; ln -sf libpthread-0.9.so libpthread.so.0 )
( cd lib ; rm -rf libnss_nisplus.so.2 )
( cd lib ; ln -sf libnss_nisplus-2.2.3.so libnss_nisplus.so.2 )
( cd lib ; rm -rf libc.so.6 )
( cd lib ; ln -sf libc-2.2.3.so libc.so.6 )
( cd lib ; rm -rf librt.so.1 )
( cd lib ; ln -sf librt-2.2.3.so librt.so.1 )
( cd lib ; rm -rf libdb1.so.2 )
( cd lib ; ln -sf libdb1.so.2.1.3 libdb1.so.2 )
fi
# Handle BSD DB links:
( cd lib ; rm -rf libdb.so )
( cd lib ; ln -sf libdb-3.1.so libdb.so )
( cd lib ; rm -rf libdb1.so.2 )
( cd lib ; ln -sf libdb1.so.2.1.3 libdb1.so.2 )
( cd usr/lib ; rm -rf libdb1.so )
( cd usr/lib ; ln -sf ../../lib/libdb1.so.2 libdb1.so )
( cd usr/lib ; rm -rf libdb2.so )
( cd usr/lib ; ln -sf ../../lib/libdb2.so.3 libdb2.so )
( cd usr/lib ; rm -rf libndbm.so )
( cd usr/lib ; ln -sf ../../lib/libdb2.so.3 libndbm.so )
# More links:
( cd usr/lib ; rm -rf libnss_nisplus.so )
( cd usr/lib ; ln -sf ../../lib/libnss_nisplus.so.2 libnss_nisplus.so )
( cd usr/lib ; rm -rf libpthread.so )
( cd usr/lib ; ln -sf ../../lib/libpthread.so.0 libpthread.so )
( cd usr/lib ; rm -rf libndbm.a )
( cd usr/lib ; ln -sf libdb2.a libndbm.a )
( cd usr/lib ; rm -rf libresolv.so )
( cd usr/lib ; ln -sf ../../lib/libresolv.so.2 libresolv.so )
( cd usr/lib ; rm -rf libnsl.so )
( cd usr/lib ; ln -sf ../../lib/libnsl.so.1 libnsl.so )
( cd usr/lib ; rm -rf libndbm.so )
( cd usr/lib ; ln -sf ../../lib/libdb2.so.3 libndbm.so )
( cd usr/lib ; rm -rf libnss_hesiod.so )
( cd usr/lib ; ln -sf ../../lib/libnss_hesiod.so.2 libnss_hesiod.so )
( cd usr/lib ; rm -rf libnss_files.so )
( cd usr/lib ; ln -sf ../../lib/libnss_files.so.2 libnss_files.so )
( cd usr/lib ; rm -rf libdb.a )
( cd usr/lib ; ln -sf libdb-3.1.a libdb.a )
( cd usr/lib ; rm -rf libm.so )
( cd usr/lib ; ln -sf ../../lib/libm.so.6 libm.so )
( cd usr/lib ; rm -rf libutil.so )
( cd usr/lib ; ln -sf ../../lib/libutil.so.1 libutil.so )
( cd usr/lib ; rm -rf libnss_compat.so )
( cd usr/lib ; ln -sf ../../lib/libnss_compat.so.2 libnss_compat.so )
( cd usr/lib ; rm -rf libthread_db.so )
( cd usr/lib ; ln -sf ../../lib/libthread_db.so.1 libthread_db.so )
( cd usr/lib ; rm -rf libcrypt.so )
( cd usr/lib ; ln -sf ../../lib/libcrypt.so.1 libcrypt.so )
( cd usr/lib ; rm -rf libBrokenLocale.so )
( cd usr/lib ; ln -sf ../../lib/libBrokenLocale.so.1 libBrokenLocale.so )
( cd usr/lib ; rm -rf libdl.so )
( cd usr/lib ; ln -sf ../../lib/libdl.so.2 libdl.so )
( cd usr/lib ; rm -rf libnss_dns.so )
( cd usr/lib ; ln -sf ../../lib/libnss_dns.so.2 libnss_dns.so )
( cd usr/lib ; rm -rf librt.so )
( cd usr/lib ; ln -sf ../../lib/librt.so.1 librt.so )
( cd usr/lib ; rm -rf libanl.so )
( cd usr/lib ; ln -sf ../../lib/libanl.so.1 libanl.so )
( cd usr/lib ; rm -rf libnss_nis.so )
( cd usr/lib ; ln -sf ../../lib/libnss_nis.so.2 libnss_nis.so )
( cd usr/lib ; rm -rf libdb1.so )
( cd usr/lib ; ln -sf ../../lib/libdb1.so.2 libdb1.so )
( cd usr/lib ; rm -rf libdb2.so )
( cd usr/lib ; ln -sf ../../lib/libdb2.so.3 libdb2.so )
( cd usr/lib ; rm -rf libnss_db.so )
( cd usr/lib ; ln -sf ../../lib/libnss_db.so.2 libnss_db.so )
( cd usr/share/zoneinfo ; rm -rf localtime )
( cd usr/share/zoneinfo ; ln -sf /etc/localtime localtime )
( cd usr/include ; rm -rf db.h )
( cd usr/include ; ln -sf db3/db.h db.h )