Восстановление задач от резервного копирования tar: почему там/dev/disk/by-id/символьные ссылки и как я могу избежать их?

Я пытаюсь сделать базовую систему резервного копирования с самыми основными инструментами доступной на openSUSE 11.3 (в этом случае: удар, fdisk, tar и наследие личинки)

Вот рабочий процесс для моих сценариев:

backup.sh:

  1. (Выполненный от внешней системы, например, LiveCD)
  2. сделайте fdisk сценарий ($fscript) из вывода fdisk-l [работы]
  3. смонтируйте разделы от fstab системы [работы]
  4. смолите решающий материал в file.tgz [работы]

restore.sh:

  1. (Выполненный от внешней системы, например, LiveCD)
  2. выполненный fdisk $dest <$fscript для восстановления разделения [работы]
  3. формат и монтирует разделы от fstab системы [сбои]
  4. извлечение из file.tgz [работает при монтировании вручную]
  5. восстановите личинку [сбои]

Я недавно заметил, что openSUSE (хотя я уверен, что он не имеет никакого отношения к дистрибутиву) имеет другой вывод в/etc/fstab и/boot/grub/menu.lst, более точно имя раздела, например, "/dev/disk/by-id/numbers-brandname-morenumbers-part2" вместо "/dev/sda2" - но это в основном - простая символьная ссылка.

Мои вопросы об этом:

  • какой смысл таких символьных ссылок, особенно если мы восстанавливаем на другом диске?
  • существует ли способ чисто предотвратить создание тех символьных ссылок и использовать "истинный"/dev/sdx везде вместо этого?
  • если предыдущее не, Вы знаете способ заменить те символьные ссылки на лету в текстовом файле? Я попробовал этот сценарий, но только работаю, если файл запускается с описания символьной ссылки (случай fstab, не menu.lst):

    ### search and replace /dev/disk/by-id/... to /dev/sdx
    while read oldVolume rest; do # get first element, ignore rest of line
        if [[ "$oldVolume" =~ ^/dev/disk/by-id/.*(-part[0-9]*$)? ]]; then
            newVolume=$(readlink $oldVolume) # replace pointer by pointee, returns "../../sdx"
            echo /dev/${newVolume##*/} $rest >> TMP # format to "/dev/sdx", write line
        else
            echo $oldVolume $rest >> TMP # nothing to do
        fi
    done < $file
    mv -f TMP $file # save changes
    

Я испытал затруднения при нахождении решения этого на Google, таким образом, я надеялся, что некоторые участники здесь могли помочь мне.

Спасибо.

0
задан 02.03.2011, 18:32

1 ответ

Символьные ссылки существуют так, можно сослаться на устройства уникальным именем (комбинация производителя, номера модели и порядкового номера). Это особенно полезно, если Ваши диски изменяют имена устройств, если Вы загружаетесь с установленным флеш-накопителем.

Я часто использовал эти символьные ссылки для решения проблем с ZFS и дисками, которые перемещают узлы устройства (особенно диски USB).

Используя символьные ссылки не имеет значения в том, какие диски порядка обнаружены или соединены.

Вы не должны создавать резервную копию/dev так или иначе - нет ничего там, которое полезно для резервного копирования.

1
ответ дан 24.11.2019, 12:07

Теги

Похожие вопросы