Восстановление хардлинков при копировании возможно?

Хотите говорить о Far и не знаете, куда обратиться?
Post Reply
akindhacker
Posts: 53
Joined: Wed 19 Apr, 2006 00:07

Восстановление хардлинков при копировании возможно?

Post by akindhacker »

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

Зачем нужно? Для копирования больших обемов файлов многие из которых являются хардлинками. Например, моя 1 ТБ база файлов при копировании Фаром без восстановления линков превращается почти в 2 ТБ. Спасибо.
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Восстановление хардлинков при копировании возможно?

Post by 2useven10 »

На первый взгляд вполне можно сделать.
akindhacker
Posts: 53
Joined: Wed 19 Apr, 2006 00:07

Восстановление хардлинков при копировании возможно?

Post by akindhacker »

2useven10 wrote:На первый взгляд вполне можно сделать.
Не должно быть тяжело, насколько понимаю. Но из трех копировщиков в Фаре ни один это не делает. Хотя симлинки на директории они восстанавливать могут. Так же не нашёл других существующих утилит для такого копирования. Может кто знает?
Наверно единственное, что не очевидно для такой фичи это надо ли создавать хардлинк показывающий на файл являющимся источником копирования, или создавать новый, а потом на него указывать новые хардлинки. При копировании на другой диск эта неоднозначность не возникает. А при копировании в пределах одной файловой системы, наверно можно использовать пользовательскую опцию.
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Восстановление хардлинков при копировании возможно?

Post by 2useven10 »

При копировании на тот же диск все файлы можно сделать хардлинками, если файловая система позволяет.
Last edited by 2useven10 on Mon 29 Aug, 2016 14:42, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Восстановление хардлинков при копировании возможно?

Post by John Doe »

akindhacker wrote: Так же не нашёл других существующих утилит для такого копирования. Может кто знает?
Мне попадались, но не вспомню.
А гугл точно кое-что знает, вот первый же результат http://superuser.com/questions/997190/c ... hard-links

Кроме указанных там ещё tar и cp (последний лично проверил только что).
Last edited by John Doe on Mon 29 Aug, 2016 15:05, edited 1 time in total.
akindhacker
Posts: 53
Joined: Wed 19 Apr, 2006 00:07

Восстановление хардлинков при копировании возможно?

Post by akindhacker »

John Doe wrote: гугл точно кое-что знает
Спасибо, вы получше строку для поиска придумали, чем я.
Last edited by akindhacker on Mon 29 Aug, 2016 15:26, edited 1 time in total.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Восстановление хардлинков при копировании возможно?

Post by DrKnS »

Теоретически можно всё.
Практически - в copy.cpp уже и так чёрт ногу сломит. Я бы не усугублял.

Если у вас есть такие нетрадиционные файловые структуры и вам надо их куда-то копировать - храните их в VHD и копируйте сам контейнер, это дёшево, надёжно и практично.
akindhacker
Posts: 53
Joined: Wed 19 Apr, 2006 00:07

Восстановление хардлинков при копировании возможно?

Post by akindhacker »

DrKnS wrote: храните их в VHD и копируйте сам контейнер, это дёшево, надёжно и практично.
Не практично. Создавать один контейнер размером на весь диск (у меня 1ТБ)? Потом такой контейнер и копировать рискованно.

Да и юзал я такое решение с контейнером на 50 ГБ уже. Сразу вылезла проблема работы файлового кеша винды - она не может при необходимости выгружать части файла из кеша памяти (выгружаются только файлы целиком). Вместо этого начинает свопить до бесконечности пока компьютер вообще перерастает откликаться (Вин 7).

Ну да ладно. Если тяжело сделать, то для таких редких юзеров как я, и сторонняя утилита подойдёт. Тем более, будучи программистом, я и сам бы мог разобраться с copy.cpp.

Спасибо в любом случяе.
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Восстановление хардлинков при копировании возможно?

Post by 2useven10 »

akindhacker wrote: Спасибо в любом случяе.
Виш на мантис никто не запрещает, особенно с хорошим патчем.
Но, как справедливо отметил DrKnS, хороший патч для copy.cpp - это непросто.
akindhacker
Posts: 53
Joined: Wed 19 Apr, 2006 00:07

Восстановление хардлинков при копировании возможно?

Post by akindhacker »

Посмотрел copy.cpp. За свою карьеру программиста в 15 лет, видел очень много плохого кода. Но copy.cpp выглядит как код написанный ответственными людьми, просто не причесан. С первого взгляда, не уверен что и причесыванием можно сдеалть намного лучше. А на причесывание всегда уходит большая часть времени. Мне бы тяжело б было доделать так как надо много знать про работу Фара. Поэтому просто намакросил (через ln), чтоб решить мою конкретную проблему.
akindhacker
Posts: 53
Joined: Wed 19 Apr, 2006 00:07

Восстановление хардлинков при копировании возможно?

Post by akindhacker »

Никто не хочет эту фичу добавить за 50$?
Post Reply

Return to “Обсуждение Far Manager”