1

Мне нужно было сделать резервную копию на DVD каталога с огромным беспорядком файлов и символических ссылок. У меня нет прав на запись в этот каталог.

Я создал образ DVD из GNU/Linux, включающий расширения rock-ridge и joliet, с помощью следующей команды:

genisoimage -r -J -joliet-long -T -o mess.iso mess/

Результат в порядке.

Теперь мне нужно получить доступ к DVD из Windows XP, но все символические ссылки кажутся висячими (они показаны как файлы 0 размера). Насколько я понял, это связано с тем, что символические ссылки обрабатываются расширением rockridge, а Windows XP не может его использовать.

Есть ли что-то, что может быть установлено для правильного доступа к этому DVD? Настраиваемый файловый менеджер тоже подойдет. Я также могу переделать изображение с различными параметрами, если это поможет.

2 ответа2

1

Эврика! Я был в состоянии выполнить то, что просил.

Прежде всего я преобразовал все символические ссылки в жесткие ссылки. Я создал скрипт, подобный следующему:

#!/bin/sh

link="$1"

error() {
    echo "Error: $1." 1>&2
    exit 1
}

[ -h "$link" ] || error "'$link' is not a symbolic link"

linkdir=`dirname "$link"`
linkname=`basename "$link"`
target=`cd "$linkdir" 2> /dev/null && readlink -qfn "$linkname"`
[ $? = 0 ] || error "unable to readlink '$link'"

[ -f "$target" ] || error "'$link' target is not a regular file"

ln -f "$target" "$link" || error "hard-link failed on '$link'"

и выполнил его в каталоге mess :

find . -type l -print0 | xargs -0n1 soft2hard.sh

После этого я создал ISO-образ таким же образом, как и раньше, но убедившись, что был использован --cache-inode (я также опустил -T чтобы уменьшить беспорядок):

genisoimage -r -J -joliet-long --cache-inodes -o mess.iso mess/

И вуаля: все отлично доступно из Windows XP и подходит для DVD с низкой плотностью.

0

Сим-ссылки появляются в iso как ссылки на стороннюю файловую систему, которую Windows не может обработать.

Для формата CD, который более независим от операционной системы, вы должны использовать в genisoimage параметр -f чтобы разыменовать символические ссылки или следовать им, а не вводить их с помощью Rock Ridge.

Таким образом, вы добавляете цель символической ссылки в образ ISO, а не саму символическую ссылку. Файл появится в структуре каталогов вместо символической ссылки.

Статья CD Writing Howto имеет хорошее объяснение проблемы, хотя она использует mkisofs а не genisoimage .

[РЕДАКТИРОВАТЬ]

Если вы работали с Vista/7/8, а не с XP, вы можете выполнять резервное копирование без символических ссылок и восстанавливать NTFS. Затем создайте в Linux пакетный скрипт Windows, который будет создавать эквивалентные символические ссылки NTFS.
Тем не менее, XP поддерживает только ссылки на папки, а не файлы.

Для получения дополнительной информации см. Точку повторной обработки NTFS, а полезной утилитой Windows является Junction.

В любом случае, DVD в Windows не может иметь символических ссылок, поэтому для этого необходимо восстановить NTFS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .