Jump to content

Recommended Posts

Posted

Есть хост на 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 убрать и оставить нормальный каталог, то таких глюков уже нет.

Posted

Сообразил. Точнее смутно вспомнил, что у симлинка есть нюансы, если он ведёт на другой раздел. Видимо это один из таких нюансов.

Posted
48 минут назад, alibek сказал:

Сообразил. Точнее смутно вспомнил, что у симлинка есть нюансы, если он ведёт на другой раздел. Видимо это один из таких нюансов.

Нету таких нюансов. Хардлинк - да, не может вести на другор раздел.

Posted
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/

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.