Жесткие и символические ссылки в NTFS - все вопросы
С легкой руки Amigos открыл для себя Америку - жесткие и символьные ссылки в NTFS. Полезная штука, о которой, думаю, не все знают. Воспользовавшись фильтрами, обнаружил, что специальной темы на нашем форуме нет - так, отдельные упоминания. Поэтому решил создать такую тему - для обмена опытом и решения соответствующих вопросов.
Полезные материалы по теме: |
truvo, 2k и XP не поддерживает символические ссылки - они появились только в Vista. Не путай людей!
|
Busla, исходя из того, что я начитал в Гугле - поддерживает. Но только на каталоги (сам проверил и убедился!). Только название вроде бы "символьные".
А на файлы - возможны только жесткие ссылки. |
http://vadikan.spaces.live.com/blog/...BAEE!264.entry
Если бы я работал в Windows Vista, я бы обошелся командой mklink. Создание символической ссылки. MKLINK [[/D] | [/H] | [/J]] Ссылка Назначение /D Создание символической ссылки на каталог. По умолчанию создается символическая ссылка на файл. /H Создание жесткой связи вместо символической ссылки. /J Создание соединения для каталога. Подробнее об этой команде можно почитать в статье Марка Руссиновича на Technet. Но я работал в XP, где проще всего для этой цели воспользоваться утилитой все того же Марка - Junction. Пользоваться ей несложно: junction <Ссылка> [<Назначение>] |
truvo, junction point (точка разветвления) и symbolic link (символическая ссылка) - разные сущности, хотя и похожие.
Интернет (во главе с Гуглом), это не только кладезь знаний, но ещё и сборник заблуждений, как говорится: "не пускайте детей в интернет, - он от них тупеет". "Полистайте" MSDN (у меня в подписи ссылка на памятку по всему этому безобразию). В русскоязычной литературе (и по Windows, и по Unix, и по Linux), а так же в локализованных версиях Windows именно символические. |
Цитата:
Есть и третий термин - Создание точек соединения NTFS и управление ими :) Но это так перевели Junction когда-то. И это правильнее, чем Цитата:
Цитата:
Цитата:
Может в других ОС какие-то различия и существуют, но в Windows это равноправные понятия. |
Цитата:
По поводу разветвления/соединения - обязательно уточню. Спасибо. Руссинович это написал довольно давно - когда у MS такого термина ещё не было. Термины и понятия не совсем одно и то же. Точно так же мы часто не делаем различий между словами Папка и Директория (каталог), хотя как термины они вовсе не однозначны. |
Цитата:
Цитата:
|
Можно по подробнее. Я впервые встретил эти термины и не пойму что к чему. :(
1. при создании жесткой ссылки у меня создается точная копия файла\папки? Занимает столько же места? 2. если у меня "связаны" несколько файлов\папок м\д собой, то при удалении связь не рвется(это из статьи про жесткие ссылки). Как это достигается? За счет чего? Как тогда удалить из цепочки ссылок не нужную чтобы не разорвать всю цепь? 3. практическое применение? Цитата:
Надеюсь Vadima Sterkina не обидел своим высказыванием. |
1. Нет, файл не создается - в таблице NTFS создается еще один "указатель" на тот же физический файл. Все указатели, включая исходный равноправны, сам файл удалится только вместе с последним "указателем".
2. Как сказал выше - нет никакой "цепочки", физический файл - один, логических ссылок - неограниченно. Жеские ссылки поддерживаются только для файлов (не для папок) и только в пределах NTFS-тома. 3. Навскидку: http://forum.oszone.net/showthread.p...544#post407544 |
Grub, скачай то, что в шапке под п. 4 - объем малюсенький, и там в справке (она на русском языке) есть хорошие примеры насчет
Цитата:
|
Цитата:
|
Busla, вы бы тоже не путали людей с умным видом... Если имеете в виду что-то конкретное, то выражайтесь яснее. Скачайте плагин к TC, ознакомьтесь с его работой, посмотрите на пути, на свойства того что получается - это разве ярлык? Ну что вам, ещё скрины приводить? Вот из справки к плагину:
Цитата:
|
truvo, я выражаюсь предельно ясно, с отсылками на официальную документацию, а нагуглить можно что угодно.
|
truvo, а теперь возьмите и удалите ту "ссылку" которую вы создали на на диске D.
через explorer тогда и поймете разницу :)) Busla, есть вопрос а в server 2008 на DFS ссылки работают ? |
toliksu, видимо вы об этом: ссылка в шапке под п. 4, цитирую:
Цитата:
|
truvo, NTFS Links, это плагин который обрабатывает точки соединения NTFS, я к примеру пользуюсь для работы с junction point Farом.
Попробуйте зайти по сети на Ваш диск D, средствами фара видно что это связь, а вот разорвать увы. Если вы работали с Unix системами то могли видеть что Symlink существующие там можно создавать и на другие файловые системы, на другие сетевые ресурсы. Этого хотели и от microsft. И вот похоже они это реализовали в Symbolic Links. |
toliksu, усё это (насчет сети и Unix) для меня заоблачные выси... Я создал тему, чтобы народу было где поговорить... ну, заодно и самому просветиться малясь...
|
toliksu, 2008 не эксплуатировал вообще :-(
|
truvo, Чесно говоря, до того как прочитал статью Busla "Ссылочные объекты NTFS" ну и адльше по теме думал, что это кривой Symlink от Microsofta хотя пользуюсь ими уже года 2-3. Но когда начал использовать их внутри DFS раздела, впал в ступор. Они видны только на том сервере где ты их создал. А другие сервера их не видят. Остается надежда что на 2008 сервере Symbolic Links работает аналогично Symlink.
|
Возник такой вопрос.
Есть папка скажем Windows. В ней создается еще одна xp1. В нее копируются папки с установочного диска windows. После утилитой создаются символьные ссылки xp2, xp3, xp4. Создаю папку $OEM$ в папке xp2, но дубликаты появляются во всех остальных. Мне необходимо чтоб папка $OEM$ была в xp2, xp4. Как это можно реализовать? |
Цитата:
|
а разве жесткая ссылка применима к папкам?
p.s. утилита называется junction |
Цитата:
|
вот ещё особенность hard link:
на файлы Microsoft Office можно сделать hard link в другой папке в том же разделе, но после правки hard link разрывается. Это в windows XP. hard link должен разрываться при удалении файла, значит Microsoft Office при изменении удаляет файл, так что hard link нельзя использовать для изменяемых файлов |
|
Вот еще неплохая статейка на тему:Ссылки в Windows, символьные и не только
|
подскажите кто нибудь полузеться ссылками для переноса профеля на другой диск...как вообще всё работает нормално?
|
DonQuixote, для размещения профилей на другом диске лучше изменить расположение каталога с профилями на этапе установки системы. Делается это добавлением строки в файл winnt32.sif (что это за файл смотри в ветке "автоматическая установка windows)
|
El Scorpio, спасибо но я пока что пользуюс правкой реестра пока всё норм....а разве Junction Points может как то сказаться плачевно?к прммеру в 7 эта вещь используется для старых прог который ломяться к примеру на Documents and Settings\Admin\Application Data но структура там иная по этому создаёться ссылка Application Data которая ведёт в e:\Users\Admin\AppData\Roaming\ точно не помню :) и ссылка Documents and Setting которая ведёт в :\Users\
|
Vadikan,
Цитата:
|
А как корректно удалить подобную ссылку? Т.е. что бы удалить именно ссылку, а содержимое конечной папки осталось.
|
surgutfred, очевидно, с помощью тех же утилит из шапки темы.
Например: Цитата:
|
На сервер под Windows server 2003 добавил жесткий диск. Создал на нем папку. И утилитой junction примонтировал в расшаренную папку на старом винте. Ну чтобы сетевые диски не плодить на клиентах. Все было замечательно. Пока не обнаружили, что файлы *.pdf с нового винта не открываются через Acrobat Reader, правда у некоторых открываются. Закономерности не обнаружил, с одного и того же компа могут открываться, а могут не открываться. Вобщем пришлось все же отдельным сетевым диском подключить...
|
Здравствуйте, все!
Понимаю что топик давно умер, но есть вопрос. Делаю символическую ссылки с указанием относительного пути объекта назначения. Кусочек примера: Код:
... Код:
:0 Что не так? Как оставить его относительным? Спасибо! |
В приведённом коде у Вас что-то не то с самой относительной адресацией и, главное — Вы пытаетесь создать связь каталога (junction), а не символическую ссылку (symbolic link). Связь каталогов не может иметь относительную адресацию. Используйте параметр /d вместо /j.
Как работают жесткие и символические ссылки – Вадим Стеркин Как пользоваться символическими ссылками в Windows – Вадим Стеркин |
Спасибо, помогло.
Как не казалось бы странным, на указанных ресурсах был, и MKLINK /? читал, и экспериментов напроводился. Жаль что нельзя использовать относительный путь в соединении было бы здорово иметь возможность работать с сетевыми папками. Приведённый код могу в принципе показать без ремарок. Код:
@ECHO OFF |
Время: 02:22. |
Время: 02:22.
© OSzone.net 2001-