I moved /usr/X11R6 to a partition /More, making it then /More/usr/X11R6. I created a symlink (ln -s /More/usr/X11R6 /usr/X11R6), but X didn't work after that: there are links, like /usr/X11R6/lib/X11/fs -> ../../../../etc/X11/fs/ which don't work in my case, since, because of the symlink "/usr/X11R6/../.." is "/More/" and not "/". The solution is simple: make a fully qualified symlink /usr/X11R6/lib/X11/fs -> /etc/X11/fs I can't see the utility to have a symlink descending up to root with lots of "../../../../" (except that it may facilitate making the packages). I understand that sometimes one may want to use a link like "../bin/xx" inside a package (to make a relocatable package), but for links that anyway go down to "/", I can't see the utility of this. This problem will most probably also occur when installing, if somebody decide to create a partition to hold for example both "/usr/" and "/lib", creating this partition "/SomeName", with in it "/SomeName/usr" and "/SomeName/lib", and symlinks "/lib -> /SomeName/lib", "/usr -> /SomeName/usr". Anyway, thanks for the great work. Other files with the same kind of problem: /etc/X11/X -> ../../usr/X11R6/bin/XF86_SVGA* /etc/X11/gdm/Init/Default -> ../../xdm/Xsetup_0* /etc/X11/prefdm -> ../../usr/bin/gdm* /etc/sysconfig/network-scripts/ifdown -> ../../../sbin/ifdown* /etc/sysconfig/network-scripts/ifup -> ../../../sbin/ifup* /usr/X11R6/lib/X11/XF86Config -> ../../../../etc/X11/XF86Config /usr/X11R6/lib/X11/fs -> ../../../../etc/X11/fs/ /usr/X11R6/lib/X11/twm -> ../../../../etc/X11/twm/ /usr/X11R6/lib/X11/xdm -> ../../../../etc/X11/xdm/ /usr/X11R6/lib/X11/xinit -> ../../../../etc/X11/xinit/ /usr/X11R6/lib/X11/xkb/compiled -> ../../../../../var/lib/xkb/ /usr/X11R6/lib/X11/xsm -> ../../../../etc/X11/xsm/ /usr/bin/Mail -> ../../bin/mail* /usr/bin/awk -> ../../bin/gawk* /usr/bin/consolechars -> ../../bin/consolechars* /usr/bin/gawk -> ../../bin/gawk* /usr/bin/gtar -> ../../bin/tar* /usr/bin/gunzip -> ../../bin/gunzip* /usr/bin/gzip -> ../../bin/gzip* /usr/bin/loadkeys -> ../../bin/loadkeys* /usr/info/dir -> ../../etc/info-dir /usr/lib/libBrokenLocale.so -> ../../lib/libBrokenLocale.so.1* /usr/lib/libcrypt.so -> ../../lib/libcrypt.so.1* /usr/lib/libdb.so -> ../../lib/libdb.so.3* /usr/lib/libdb1.so -> ../../lib/libdb1.so.2* /usr/lib/libdl.so -> ../../lib/libdl.so.2* /usr/lib/libm.so -> ../../lib/libm.so.6* /usr/lib/libnsl.so -> ../../lib/libnsl.so.1* /usr/lib/libnss1_compat.so -> ../../lib/libnss1_compat.so.1* /usr/lib/libnss1_db.so -> ../../lib/libnss1_db.so.1* /usr/lib/libnss1_dns.so -> ../../lib/libnss1_dns.so.1* /usr/lib/libnss1_files.so -> ../../lib/libnss1_files.so.1* /usr/lib/libnss1_nis.so -> ../../lib/libnss1_nis.so.1* /usr/lib/libnss_compat.so -> ../../lib/libnss_compat.so.2* /usr/lib/libnss_db.so -> ../../lib/libnss_db.so.2* /usr/lib/libnss_dns.so -> ../../lib/libnss_dns.so.2* /usr/lib/libnss_files.so -> ../../lib/libnss_files.so.2* /usr/lib/libnss_hesiod.so -> ../../lib/libnss_hesiod.so.2* /usr/lib/libnss_nis.so -> ../../lib/libnss_nis.so.2* /usr/lib/libnss_nisplus.so -> ../../lib/libnss_nisplus.so.2* /usr/lib/libpthread.so -> ../../lib/libpthread.so.0* /usr/lib/libresolv.so -> ../../lib/libresolv.so.2* /usr/lib/librt.so -> ../../lib/librt.so.1* /usr/lib/libutil.so -> ../../lib/libutil.so.1*
these relative symbolic links are very useful when you have to boot in rescue mode and mount your tree under say /mnt. Absolute symlinks are actually worse in many instances. You can't win.