используете-ли вы симлинки

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов


Символические ссылки - нужны они лично вам?

да, конечно
70
86%
да, но я использую только то, что уже есть в системе, а сам их не создаю
4
5%
нет, у них есть недостатки, я использую ярлыки и хардлинки
0
Голосов нет
нет, мне это не нужно
1
1%
нет, моя ОС этого не позволяет
0
Голосов нет
что это такое?
5
6%
ВННД!
1
1%
 
Всего голосов: 81

Аватара пользователя
Aectann
Бывший модератор
Сообщения: 3491
Статус: ...
ОС: OS X, GNU_и_не_только/Linux

Re: используете-ли вы симлинки

Сообщение Aectann »

drBatty писал(а):
30.05.2010 21:09
конечно есть. но только для рута

И правда, а хардлинк даже с правами администратора создать не получилось.
My god... it's full of stars!...
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: используете-ли вы симлинки

Сообщение serzh-z »

Aectann писал(а):
31.05.2010 14:49
И правда, а хардлинк даже с правами администратора создать не получилось.
Может это версия винды такая? Ну там, не Ultimate, а Professional, в которой запрещено создавать хардлинки... =)) Чесслово, у МС это вполне возможно.
Спасибо сказали:
Аватара пользователя
Aectann
Бывший модератор
Сообщения: 3491
Статус: ...
ОС: OS X, GNU_и_не_только/Linux

Re: используете-ли вы симлинки

Сообщение Aectann »

serzh-z писал(а):
31.05.2010 14:56
Aectann писал(а):
31.05.2010 14:49
И правда, а хардлинк даже с правами администратора создать не получилось.
Может это версия винды такая? Ну там, не Ultimate, а Professional, в которой запрещено создавать хардлинки... =)) Чесслово, у МС это вполне возможно.

Ultimate вроде (по крайней мере, в системе везде написано "Максимальная"). При выполнении mklink /h dest source пишет "Отказано в доступе".
My god... it's full of stars!...
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: используете-ли вы симлинки

Сообщение drBatty »

Aectann писал(а):
31.05.2010 14:49
И правда, а хардлинк даже с правами администратора создать не получилось.

а симлинки можно?
для хардлинков вроде утилиту качать надо (как не странно - бесплатную).
сам не в курсе - венды нет. потому и поднял вопрос здесь - с виндузятниками спорить невозможно - даже продвинутые админы и те слабо понимают, что такое симлики и хардлинки, и какая между ними разница :(

Aectann писал(а):
31.05.2010 15:40
Ultimate вроде (по крайней мере, в системе везде написано "Максимальная"). При выполнении mklink /h dest source пишет "Отказано в доступе".

у меня тоже такое пишет - если на каталог. кстати - а почему?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: используете-ли вы симлинки

Сообщение serzh-z »

drBatty писал(а):
31.05.2010 16:46
у меня тоже такое пишет - если на каталог. кстати - а почему?
Ммм... хардлинки на каталог? :)
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: используете-ли вы симлинки

Сообщение t.t »

serzh-z писал(а):
31.05.2010 16:49
drBatty писал(а):
31.05.2010 16:46
у меня тоже такое пишет - если на каталог. кстати - а почему?
Ммм... хардлинки на каталог? :)
Говорят, в некоторых дистрибутивах они до сих пор допускаются.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: используете-ли вы симлинки

Сообщение NickLion »

Администратичвный пользователь, но без повышения прав:

Код: Выделить всё

C:\Users\NickLion>copy con 1.txt
qwe
asd
zxc
^Z
        1 file(s) copied.

C:\Users\NickLion>type 1.txt
qwe
asd
zxc

C:\Users\NickLion>mklink /h 2.txt 1.txt
Hardlink created for 2.txt <<===>> 1.txt

Обычный пользователь:

Код: Выделить всё

C:\Users\Test>copy con 1.txt
qwe
ad
Zzxc
^Z
Скопировано файлов:         1.

C:\Users\Test>type 1.txt
qwe
ad
Zzxc

C:\Users\Test>mklink /h 2.txt 1.txt
Создана жесткая связь 2.txt <<===>> 1.txt


Правда тут же нашёл баг. При изменении исходного файла, размер второго остаётся неизменным, пока не будет произведён доступ к второму файлу.
При этом, если менять по жёсткой ссылке, то размер исходного меняется :)

Для каталога нельзя создавать. Даже из-под админа с повышенными правами. Ну нельзя этого делать :)
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: используете-ли вы симлинки

Сообщение t.t »

NickLion писал(а):
31.05.2010 17:18
Правда тут же нашёл баг. При изменении исходного файла, размер второго остаётся неизменным, пока не будет произведён доступ к второму файлу.
При этом, если менять по жёсткой ссылке, то размер исходного меняется :)
Т.е. между оригинальным файлом и "жёсткой ссылкой" есть разница?.. Какая же это тогда жёсткая ссылка?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: используете-ли вы симлинки

Сообщение drBatty »

t.t писал(а):
31.05.2010 17:14
Говорят, в некоторых дистрибутивах они до сих пор допускаются.

у меня не допускаются. кстати, а что так? это опасно? а чем? почему mount --bind можно, а ln нельзя?

NickLion писал(а):
31.05.2010 17:18
Правда тут же нашёл баг. При изменении исходного файла, размер второго остаётся неизменным, пока не будет произведён доступ к второму файлу.
При этом, если менять по жёсткой ссылке, то размер исходного меняется

это наверное баг команды dir, или самой ос, или ещё чего-то. В самой ФС такого НЕ МОЖЕТ БЫТЬ.
NickLion писал(а):
31.05.2010 17:18
Для каталога нельзя создавать. Даже из-под админа с повышенными правами. Ну нельзя этого делать

это естественно. он вроде в NTFS можно "соединения", аналог нашего mount --bind (?)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: используете-ли вы симлинки

Сообщение NickLion »

t.t писал(а):
31.05.2010 17:27
NickLion писал(а):
31.05.2010 17:18
Правда тут же нашёл баг. При изменении исходного файла, размер второго остаётся неизменным, пока не будет произведён доступ к второму файлу.
При этом, если менять по жёсткой ссылке, то размер исходного меняется :)
Т.е. между оригинальным файлом и "жёсткой ссылкой" есть разница?.. Какая же это тогда жёсткая ссылка?

Ну, поскольку структуры NTFS не знаю, то сказать трудно. Возможно там тройной уровень:
1. Информация об имени и ссылка на расположение информации о данных.
2. Информация о расположении данных.
3. Данные.
При этом размер файла хранится на первом уровне. Для жёстких ссылок 1 уровень различен, а второй и третий один.

PS явно одна из ссылок считается "главной". Видимо, 2-й уровень содержит одну ссылку наверх. При создании ссылки, второй, ссылки на ссылку, а затем удалении исходной, одна из оставшихся начинает вести себя как исходная. Остальные вторичны.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: используете-ли вы симлинки

Сообщение drBatty »

NickLion писал(а):
31.05.2010 17:42
PS явно одна из ссылок считается "главной". Видимо, 2-й уровень содержит одну ссылку наверх. При создании ссылки, второй, ссылки на ссылку, а затем удалении исходной, одна из оставшихся начинает вести себя как исходная. Остальные вторичны.

тогда это не хардлинк, а его эмуляция. в EXT информация об имени хранится ТОЛЬКО в каталогах, в инодах хранятся всякие разные данные (иногда и содержимое), но никак не имя (имя туда и не влезет), потому хардлинки в EXT абсолютно эквивалентны, и различаются только полным именем.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: используете-ли вы симлинки

Сообщение watashiwa_daredeska »

drBatty писал(а):
31.05.2010 17:40
кстати, а что так? это опасно?
Это позволит создавать циклические структуры каталогов -> вместо простого GC с подсчетом ссылок придется городить полновесный Mark'n'Sweep.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: используете-ли вы симлинки

Сообщение drBatty »

watashiwa_darede... писал(а):
31.05.2010 18:00
Это позволит создавать циклические структуры каталогов -> вместо простого GC с подсчетом ссылок придется городить полновесный Mark'n'Sweep.

почему-же нельзя запретить создание циклических ссылок? ну что-бы root мог-бы создать простую, и не мог - циклическую. Это не должно занять много времени...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: используете-ли вы симлинки

Сообщение watashiwa_daredeska »

drBatty писал(а):
31.05.2010 18:58
почему-же нельзя запретить создание циклических ссылок?
А как эффективно определить, что данная конкретная ссылка создает цикл?
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: используете-ли вы симлинки

Сообщение t.t »

drBatty писал(а):
31.05.2010 18:58
watashiwa_darede... писал(а):
31.05.2010 18:00
Это позволит создавать циклические структуры каталогов -> вместо простого GC с подсчетом ссылок придется городить полновесный Mark'n'Sweep.
почему-же нельзя запретить создание циклических ссылок? ну что-бы root мог-бы создать простую, и не мог - циклическую. Это не должно занять много времени...
Проблема не только в циклах. Пробема может возникнуть в любой точке, где дерево каталогов становится не-деревом (а однонаправленным ацикличным графом общего рода). Проще говоря, в любом файле, к которому существует несколько равноправных путей.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: используете-ли вы симлинки

Сообщение t.t »

watashiwa_daredeska писал(а):
31.05.2010 19:32
drBatty писал(а):
31.05.2010 18:58
почему-же нельзя запретить создание циклических ссылок?
А как эффективно определить, что данная конкретная ссылка создает цикл?
Это как раз легко: просмотреть все хардлинки источника и проверить, нет ли среди них "предков" цели.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: используете-ли вы симлинки

Сообщение watashiwa_daredeska »

t.t писал(а):
31.05.2010 19:40
просмотреть все хардлинки источника и проверить, нет ли среди них "предков" цели.
Пример:

Shell

/ |`- a | `- b -> /b |`- b | `- c -> /c `- c `- a -> /a
Какие источники? Какие предки?

t.t писал(а):
31.05.2010 19:34
Пробема может возникнуть в любой точке, где дерево каталогов становится не-деревом (а однонаправленным ацикличным графом общего рода). Проще говоря, в любом файле, к которому существует несколько равноправных путей.
А какие с этим проблемы? Ну, есть несколько равноправных путей, и что? Их и сейчас может быть несколько, с хардлинками на файл из нескольких каталогов.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: используете-ли вы симлинки

Сообщение drBatty »

t.t писал(а):
31.05.2010 19:34
Проблема не только в циклах. Пробема может возникнуть в любой точке, где дерево каталогов становится не-деревом

оно и так - не дерево (как уже заметил watashiwa_darede...), но в принципе - ясно. тут видимо дело в том, что "не деревянными" могут быть только листья, но никак не узлы. ладно, есть mount --bind, мне хватит (:
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: используете-ли вы симлинки

Сообщение t.t »

watashiwa_daredeska писал(а):
31.05.2010 20:14
t.t писал(а):
31.05.2010 19:40
просмотреть все хардлинки источника и проверить, нет ли среди них "предков" цели.
Пример:

Shell

/ |`- a | `- b -> /b |`- b | `- c -> /c `- c `- a -> /a
Какие источники? Какие предки?
Там ключевая фраза была "в момент создания". Если в момент создания проверять, такая картинка не может возникнуть в принципе.

drBatty писал(а):
31.05.2010 20:19
t.t писал(а):
31.05.2010 19:34
Проблема не только в циклах. Пробема может возникнуть в любой точке, где дерево каталогов становится не-деревом
оно и так - не дерево (как уже заметил watashiwa_darede...), но в принципе - ясно. тут видимо дело в том, что "не деревянными" могут быть только листья, но никак не узлы. ладно, есть mount --bind, мне хватит (:
Да, под "деревом"-"не деревом" имелась ввиду именно структура каталогов, а не файлов.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: используете-ли вы симлинки

Сообщение watashiwa_daredeska »

t.t писал(а):
31.05.2010 21:11
Если в момент создания проверять, такая картинка не может возникнуть в принципе.
Это почему это?

Код: Выделить всё

mkdir /a /b /c
cd /a && ln /b b
cd /b && ln /c c
cd /c && ln /a a
Ну вот, как на последнем шаге проверять?
Спасибо сказали:
Аватара пользователя
Aectann
Бывший модератор
Сообщения: 3491
Статус: ...
ОС: OS X, GNU_и_не_только/Linux

Re: используете-ли вы симлинки

Сообщение Aectann »

drBatty писал(а):
31.05.2010 16:46
у меня тоже такое пишет - если на каталог. кстати - а почему?

Тьфу, я на каталог и пытался создать. На обычные файлы все создается.
для хардлинков вроде утилиту качать надо (как не странно - бесплатную).

Это для старых версий, в Win7 есть идущая в поставке mklink.
а симлинки можно?

"Административному пользователю" - можно.
My god... it's full of stars!...
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: используете-ли вы симлинки

Сообщение drBatty »

кстати про хардлинки. оказывается атрибут EXT AppendOnly запрещает делать с каталогом ВСЁ, кроме одного - создавать там хардлинки. А потом файл, который оказался в таком каталоге, окажется замурован как муха в янтаре - ничего с ним не сделать. К примеру можно перенести туда любой файл, ну или скажем понаделать хардлинков от нужных файлов - тогда им никакой rm -rf / не страшен (:

ИМХО очень полезная штука.

Кстати, рут тоже ничего не может тут поделать (ну конечно кроме снятия этого атрибута).

Aectann писал(а):
31.05.2010 23:06
"Административному пользователю" - можно.

а почему?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Aectann
Бывший модератор
Сообщения: 3491
Статус: ...
ОС: OS X, GNU_и_не_только/Linux

Re: используете-ли вы симлинки

Сообщение Aectann »

drBatty писал(а):
01.06.2010 03:38
Aectann писал(а):
31.05.2010 23:06
"Административному пользователю" - можно.

а почему?

Почему административному можно, а другим нельзя? Потому что в MS так решили.
My god... it's full of stars!...
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: используете-ли вы симлинки

Сообщение drBatty »

Aectann писал(а):
01.06.2010 03:50
Потому что в MS так решили.

а... ну так им и надо (:
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Janik
Сообщения: 863
Статус: Оператор вычислительных машин
ОС: Debian

Re: используете-ли вы симлинки

Сообщение Janik »

Пользуюсь, а как же. Только не знаю, как заставить Proftpd следовать по симлинкам.
Кто ищет, тот всегда найдет!
Опыт - это когда все получается с первого раза.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: используете-ли вы симлинки

Сообщение serzh-z »

Janik писал(а):
01.06.2010 06:14
Только не знаю, как заставить Proftpd следовать по симлинкам.
Скорее всего никак... Все нормальные и защищённые FTP-серверы работают в среде chroot и не умеют следовать по симлинкам.
Спасибо сказали:
Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: используете-ли вы симлинки

Сообщение ZyX »

drBatty писал(а):
01.06.2010 03:38
кстати про хардлинки. оказывается атрибут EXT AppendOnly запрещает делать с каталогом ВСЁ, кроме одного - создавать там хардлинки. А потом файл, который оказался в таком каталоге, окажется замурован как муха в янтаре - ничего с ним не сделать. К примеру можно перенести туда любой файл, ну или скажем понаделать хардлинков от нужных файлов - тогда им никакой rm -rf / не страшен (:

ИМХО очень полезная штука.

Кстати, рут тоже ничего не может тут поделать (ну конечно кроме снятия этого атрибута).

А его можно как-нибудь на ReiserFS поставить? chattr ругается:

Код: Выделить всё

(zyx:~/tmp) % LANG=C su -c 'chattr +a appendonly'
Password:
chattr: Inappropriate ioctl for device while reading flags on appendonly

// appendonly здесь всего лишь имя каталога
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: используете-ли вы симлинки

Сообщение drBatty »

serzh-z писал(а):
01.06.2010 13:07
Скорее всего никак... Все нормальные и защищённые FTP-серверы работают в среде chroot и не умеют следовать по симлинкам.

прекрасно умеют! только внутри своего chroot'а.
и никто не мешает сделать mount --bind, или прописать в /etc/fstab.
ZyX писал(а):
01.06.2010 14:14
А его можно как-нибудь на ReiserFS поставить?

в мане написано:
chattr - change file attributes on a Linux second extended file system

т.е. это фича EXT2(3,4).
потому наверное никак :(
PS: атрибут +a может установить только рут. как и +i.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: используете-ли вы симлинки

Сообщение serzh-z »

drBatty писал(а):
01.06.2010 15:53
прекрасно умеют! только внутри своего chroot'а.
и никто не мешает сделать mount --bind, или прописать в /etc/fstab.
Подозреваю, что у Janik
возникла проблема всё же с следованием по симлинкам наружу чрут. "mount --bind" - это не симлинк.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: используете-ли вы симлинки

Сообщение drBatty »

serzh-z писал(а):
01.06.2010 16:07
возникла проблема всё же с следованием по симлинкам наружу чрут. "mount --bind" - это не симлинк.

а ссылки наружу не имеют смысла. это как в Москве искать Питерскую улицу Ленина - даже если и найдётся, то совсем не та.

Janik
верхний уровень для корня - корень, потому из chroot'а выбраться невозможно, хотя многие и пытаются, ссылками вида
/../../../../etc/passwd
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: