URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 77662
[ Назад ]

Исходное сообщение
"Жесткая Ссылка На Каталог"

Отправлено ZaCo , 02-Дек-07 18:49 
почему попытка создания hardlink именно на директорию приводит к ошибке? :

# ln /tmp .
ln: /tmp: Is a directory

не ясно чисто логически, ведь никакой разницы между индексом каталога и обычного файла нет. так чем же это так системе не нравится?
зы система freebsd


Содержание

Сообщения в этом обсуждении
"Жесткая Ссылка На Каталог"
Отправлено angra , 03-Дек-07 08:23 
man ln
POSIX запрещает системному вызову link(2) и утилите ln создавать жесткие ссылки на каталоги


Какие однако нехорошие разработчики freebsd, linux и кучи других posix совместимых систем, делают по стандарту мерзавцы :)


"Жесткая Ссылка На Каталог"
Отправлено ZaCo , 03-Дек-07 10:34 
>man ln
>POSIX запрещает системному вызову link(2) и утилите ln создавать жесткие ссылки на
>каталоги
>
>
>Какие однако нехорошие разработчики freebsd, linux и кучи других posix совместимых систем,
>делают по стандарту мерзавцы :)

спасибо, мне интересно было почему вообще идет запрет c точки зрения фс, чему бы это могло помешать


"Жесткая Ссылка На Каталог"
Отправлено allez , 03-Дек-07 11:17 
>>man ln
>>POSIX запрещает системному вызову link(2) и утилите ln создавать жесткие ссылки на
>>каталоги
>>
>>
>>Какие однако нехорошие разработчики freebsd, linux и кучи других posix совместимых систем,
>>делают по стандарту мерзавцы :)
>
>спасибо, мне интересно было почему вообще идет запрет c точки зрения фс,
>чему бы это могло помешать

Гм, если бы вы прочитали мое сообщение, то увидели бы там вот это:

It is not possible to create hard links for directories. Doing so might transform the 
directory tree into a graph with cycles, thus making it impossible to locate a file
according to its name.


"Жесткая Ссылка На Каталог"
Отправлено ZaCo , 03-Дек-07 11:36 
да, но почему бы системе самой не следить за ссылками? вроде как найти цикл в графе это задача уровня дискретной математики института:)

"Жесткая Ссылка На Каталог"
Отправлено ZaCo , 03-Дек-07 12:29 
>>да, но почему бы системе самой не следить за ссылками? вроде как
>>найти цикл в графе это задача уровня дискретной математики института:)
>
>В институте, похоже, учат исключительно дискретной математики. Мозг включать там, видимо, не
>учат.

мне конечно очень симпатичен ваш оригинальный юмор, но может быть, вы все-таки объясните почему система не может следить сама за образованием циклов? и если их нет нормально создавать ссылку?


"Жесткая Ссылка На Каталог"
Отправлено allez , 03-Дек-07 08:43 
>почему попытка создания hardlink именно на директорию приводит к ошибке? :
>
># ln /tmp .
>ln: /tmp: Is a directory
>
>не ясно чисто логически, ведь никакой разницы между индексом каталога и обычного
>файла нет. так чем же это так системе не нравится?
>зы система freebsd

Цитата из man ln:

By default, ln makes hard links.  A hard link to a file is indistinguish-
able from the original directory entry; any changes to a file are effec-
tively independent of the name used to reference the file.  Hard links
may not normally refer to directories and may not span file systems.

Цитата отсюда: http://www.linux-security.cn/ebooks/ulk3-html/0596005652/und...

Hard links have two limitations:

It is not possible to create hard links for directories. Doing so might transform the
directory tree into a graph with cycles, thus making it impossible to locate a file
according to its name.

Links can be created only among files included in the same filesystem. This is a serious
limitation, because modern Unix systems may include several filesystems located on
different disks and/or partitions, and users may be unaware of the physical divisions
between them.