alibek Posted May 19, 2019 Posted May 19, 2019 Есть хост на 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
alibek Posted May 19, 2019 Author Posted May 19, 2019 Сообразил. Точнее смутно вспомнил, что у симлинка есть нюансы, если он ведёт на другой раздел. Видимо это один из таких нюансов. Вставить ник Quote
snvoronkov Posted May 19, 2019 Posted May 19, 2019 48 минут назад, alibek сказал: Сообразил. Точнее смутно вспомнил, что у симлинка есть нюансы, если он ведёт на другой раздел. Видимо это один из таких нюансов. Нету таких нюансов. Хардлинк - да, не может вести на другор раздел. Вставить ник Quote
rm_ Posted May 20, 2019 Posted May 20, 2019 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
Ivan_83 Posted May 21, 2019 Posted May 21, 2019 Видимо придётся через nullfs тебе монтировать. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.