alibek Posted May 19, 2019 · Report post Есть хост на Windows 7 с VirtialBox 6. На виртуальной машине установлен Debian 9 (в текстовом режиме, без иксов). Хочу установить guest additions. Установил пакеты build-essential и module-assistant, подготовил модули ядра (m-a prepare), запускаю установку (sh /media/cdrom/VBoxLinuxAdditions.run --nox11). В процессе установки ругается на отсутствие иксов, но это вроде бы нормально (баг инсталлятора). Тем не менее гостевые модули ядра не собираются и не загружаются. И вот что выяснилось. /usr/src является симлинком на /data/src: r# ls -l /usr/src lrwxrwxrwx 1 root root 9 May 19 16:11 /usr/src -> /data/src В процессе сборки модулей в /usr/src создаются симлинки linux-kbuild-4.9 (на ../lib/linux-kbuild-4.9) и linux (на linux-headers-4.9.0-9-amd64), а внутри linux еще один симлинк-подкаталог scripts (на ../../lib/linux-kbuild-4.9/scripts). Так вот относительные симлинки почему-то не работают, mc их показывает красным цветом (как невалидные), при попытке перейти в этот каталог выдает ошибку (cd: ../../lib/linux-kbuild-4.9/scripts: No such file or directory). А вот если симлинк отредактировать и относительные пути заменить на абсолютные (/usr/lib/linux-kbuild-4.9 и /usr/lib/linux-kbuild-4.9/scripts) — то симлинки тут же начинают работать. Если их снова заменить на относительные — снова перестают работать. Другими словами: root@srv-test:/usr/src# pwd /usr/src root@srv-test:/usr/src# ls -l lrwxrwxrwx 1 root root 27 May 19 19:55 linux -> linux-headers-4.9.0-9-amd64 drwxr-xr-x 4 root root 4096 May 19 19:51 linux-headers-4.9.0-3-amd64 drwxr-xr-x 4 root root 4096 May 19 19:51 linux-headers-4.9.0-3-common drwxr-xr-x 4 root root 4096 May 19 19:52 linux-headers-4.9.0-3-common-rt drwxr-xr-x 4 root root 4096 May 19 19:52 linux-headers-4.9.0-3-rt-amd64 drwxr-xr-x 4 root root 4096 May 19 20:47 linux-headers-4.9.0-9-amd64 drwxr-xr-x 4 root root 4096 May 19 19:55 linux-headers-4.9.0-9-common lrwxrwxrwx 1 root root 23 May 19 20:49 linux-kbuild-4.9 -> ../lib/linux-kbuild-4.9 root@srv-test:/usr/src# cd linux-kbuild-4.9 bash: cd: linux-kbuild-4.9: No such file or directory root@srv-test:/usr/src# cd ../lib/linux-kbuild-4.9 root@srv-test:/usr/lib/linux-kbuild-4.9# Я прям даже не знаю, что думать. /data — обычный подключенный раздел, файловая система ext4, стандартные опции монтирования. Почему симлинки так странно работают? Если же симлинк /usr/src->/data/src убрать и оставить нормальный каталог, то таких глюков уже нет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted May 19, 2019 · Report post Сообразил. Точнее смутно вспомнил, что у симлинка есть нюансы, если он ведёт на другой раздел. Видимо это один из таких нюансов. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
snvoronkov Posted May 19, 2019 · Report post 48 минут назад, alibek сказал: Сообразил. Точнее смутно вспомнил, что у симлинка есть нюансы, если он ведёт на другой раздел. Видимо это один из таких нюансов. Нету таких нюансов. Хардлинк - да, не может вести на другор раздел. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted May 19, 2019 · Report post Тогда видимо глюк. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
rm_ Posted May 20, 2019 · Report post 11 hours ago, alibek said: lrwxrwxrwx 1 root root 23 May 19 20:49 linux-kbuild-4.9 -> ../lib/linux-kbuild-4.9 root@srv-test:/usr/src# cd linux-kbuild-4.9 bash: cd: linux-kbuild-4.9: No such file or directory Ну да, оно пыталось перейти в /data/lib/ Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted May 21, 2019 · Report post Видимо придётся через nullfs тебе монтировать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...