LINUX.ORG.RU

Только суперпользователю можно. И не все никсы такое умеют. В частности - по этим причинам такой штукой лучше не пользоваться.

PS: в gnu-шном (coreutils) ln есть ключег -d.

myhand
()

Нельзя, нигде и никогда, так как файловая система есть дерево, а создавая хард линки на каталоги можно легко превратить ее в граф.

З.Ы. Дайте пример жизненной необходимости в хард линках на каталог.

sdio ★★★★★
()
Ответ на: комментарий от router

В том и дело что частный.

З.Ы. Зачем флудишь? Или вы сейчас проходите курс "Алгоритмы и структуры данных"?

sdio ★★★★★
()
Ответ на: комментарий от sdio

Дело в том, что используется chroot sftp сервер.
Клиент должен видеть каталог за его / (от другого пользователя),
по этому и необходим был hard link, буд то бы это его каталог(а на самом деле нет). Symboliclink не проходит, sftp server не работает с ними, да и нельзя с ними... Пробовал монтировать с -F lofs (--bind) не работает в cluster file system, ровно как и nfs... Вообщем задачка не простая :(

Спасибо за ответ

anonymous
()
Ответ на: комментарий от sdio

Лень приводить пример обратного. Процетирую ln(1): --- В существующих реализациях, если команда ln может создавать жесткую ссылку на каталог, то она может это делать только от лица суперпользователя. POSIX запрещает системному вызову link(2) и утилите ln создавать жесткие ссылки на каталоги (но не запрещает создавать жесткие ссылки на файлы, которые находятся на других файловых системах). [skip] ОПЦИИ GNU -d, -F, --directory Позволяет суперпользователю делать жесткие ссылки на каталоги. [skip] ---

myhand
()
Ответ на: комментарий от sdio

Лень приводить пример обратного. Процетирую ln(1):
---
В существующих реализациях, если команда ln может создавать жесткую
ссылку на каталог, то она может это делать только от лица
суперпользователя. POSIX запрещает системному вызову link(2) и утилите
ln создавать жесткие ссылки на каталоги (но не запрещает создавать
жесткие ссылки на файлы, которые находятся на других файловых
системах).
[skip]
ОПЦИИ GNU
-d, -F, --directory
Позволяет суперпользователю делать жесткие ссылки на каталоги.
[skip]
---

PS: Черт, форматирование...

myhand
()
Ответ на: комментарий от myhand

Что же ты такой ленивый? 
Ты приведи реальный пример создания хард линка на каталог.

И как-то ты не до конца ман процитировал:
       -d, -F, --directory
              allow the superuser to attempt to hard link directories  (note:
              will  probably  fail  due  to system restrictions, even for the
              superuser)

sdio ★★★★★
()
Ответ на: комментарий от sdio

> Что же ты такой ленивый? Ты приведи реальный пример создания хард линка на каталог.

Codafs такое умеет вроде - короче - далеко не каждая система. В линуксе эта фича может быть прикручена на уровне файловой системы (ext*/reiserfs3,xfs - AFAIK не умеют).

http://linuxgazette.net/issue93/tag/2.html

> И как-то ты не до конца ман процитировал

Про то, что фича (не входящая в POSIX) поддерживается не всеми - я заметил в самом первом посте.

myhand
()
Ответ на: комментарий от myhand


очень интересно, как вы себе представляете жесткую ссылку на файл, который находится на другом каталоге? чисто технически.

ps: то, что man по ln набит манной кашей - это еще не признак того, что так оно и есть на самом деле. нет ни жестких ссылок на директории, ни на файлы на разных каталогах.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от myhand

> Codafs такое умеет вроде - короче - далеко не каждая система. В линуксе эта фича может быть прикручена на уровне файловой системы (ext*/reiserfs3,xfs - AFAIK не умеют).

более того, AFAIU сам VFS в Linux этого не умеет so до файловой системы дело даже не доходит.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от anonymous

> Дело в том, что используется chroot sftp сервер. > Клиент должен видеть каталог за его / (от другого пользователя),

mount --bind подойдёт? Хотя в массовом порядке это лучше не применять.

Teak ★★★★★
()
Ответ на: комментарий от klalafuda

> ps: то, что man по ln набит манной кашей - это еще не признак того, что так оно и есть на самом деле. нет ни жестких ссылок на директории, ни на файлы на разных каталогах.

s/каталогах/томах

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от sdio

> Нельзя, нигде и никогда, так как файловая система есть дерево, а создавая хард линки на каталоги можно легко превратить ее в граф.

В венде можно, вроде бы. Но как соотносятся местный "линк" и "хард-линк" - одному аллаху известно.

> З.Ы. Дайте пример жизненной необходимости в хард линках на каталог.

Под оффтопегом, из за привязки к "букофкам дисков" или системным путям - слабые духом девелоперы иногда пользуют.

e
()
Ответ на: комментарий от e

> В венде можно, вроде бы. Но как соотносятся местный "линк" и "хард-линк" - одному аллаху известно.

в winnt & K нельзя делать жесткие ссылки на директории, только на файлы в пределах одного и того-же тома.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от Teak

К сожалению нет. Речь идет о vxfs cluster fs и solaris и опция -bind (или -o lofs в solaris) не позволяют сделать это с этой файловой системой :(

anonymous
()
Ответ на: комментарий от klalafuda

> в winnt & K нельзя делать жесткие ссылки на директории, только на файлы в пределах одного и того-же тома.

Да и фиг с ними, главное что можно хоть какие-то линки, наконец, делать. Правда без MSDN хрен поймешь, как оно называется и чем является.

e
()
Ответ на: комментарий от e

> Да и фиг с ними, главное что можно хоть какие-то линки, наконец, делать. Правда без MSDN хрен поймешь, как оно называется и чем является.

называется это hard link, создается - вы удивитесь - через CreateHardLink() и в точности ей родимой и является. а то, что мало используется в мире Windows - это уже скорее к исторически сложившимся обстоятельствам и привычкам.

// wbr

klalafuda ★☆☆
()

Алярма, Огр вернулся???

Zulu ★★☆☆
()
Ответ на: комментарий от klalafuda

> называется это hard link, создается - вы удивитесь - через CreateHardLink() и в точности ей родимой и является. а то, что мало используется в мире Windows - это уже скорее к исторически сложившимся обстоятельствам и привычкам.

дык эту штуку вроде из-за posix прикрутили. потому и умеет только на файлы хардлинки делать - бо по стандарту иное нельзя.

зы: я что-то не припомню стандартного метода использования этой фичи в NT. Утилита ln умеет из ресурсов Win 2000.

myhand
()
Ответ на: комментарий от myhand

> зы: я что-то не припомню стандартного метода использования этой фичи в NT. Утилита ln умеет из ресурсов Win 2000.

а откуда вы знаете, что именно происходит при копировании некого файла foo в пределах одного тома при помощи explorer.. ? ;) не удивлюсь, если жесткие ссылки неявно используются тут и там. просто мы их "не видим".

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от anonymous

Что-то я не видел в исходном сообщении упоминания Solaris. Или это теперь подразумевается само собой на linux.org.ru? :)

Teak ★★★★★
()
Ответ на: комментарий от Teak

>Что-то я не видел в исходном сообщении упоминания Solaris. Или это теперь подразумевается само собой на linux.org.ru? :)

:) прошу прощения, ну просто обе системы sVr4 ;-)

anonymous
()

помнится кто-то когда-то здесь на форуме выкладывал патчик который позволяет хардлинки на каталоги

Cosmicman ★★
()

Присмотрись к mount --bind. Возможно подойдет ,)

anonymous
()
Ответ на: комментарий от Cosmicman

Наша песня хороша, мы начнём её сначала. :)

Teak ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.