6

Я сделал сетевое резервное копирование своей области входа в систему, чтобы подготовиться к переформатированию тома, на котором он находится, чтобы сделать его загрузочным на моем старом Power Mac G5 с самой последней версией Leopard.

Хотя я не верю, что этот симптом является функцией фактического вызова tar , вот фактическая команда для полноты:

   bill@r2d2-2:~
   [108] (sudo tar cf - -C /Volumes/usr1 Users) | gzip -c - | ssh whmcclos@mbp \
             'cat > /Volumes/link2TMS/r2d2_usr1_Users.tar.gz'
   tar: Users/bill/Library/Acrobat User Data/8.0_ppc/Synchronizer/Commands: socket ignored
   tar: Users/bill/Library/Acrobat User Data/8.0_ppc/Synchronizer/Notification: socket ignored

Вот два файла сокетов, которые tar игнорирует

bill@r2d2:~/Library/Acrobat User Data/8.0_ppc/Synchronizer
[11] ls -larhdt *
drwx------  3 bill  staff   102B Jun  4  2010 metadata
-rw-r--r--  1 bill  staff     0B Jan 20 13:05 adobesynchronizersu80
srwxr-xr-x  1 bill  staff     0B Jan 20 13:05 Notification
srwxr-xr-x  1 bill  staff     0B Jan 20 13:05 Commands

Я не работал с созданием сокетов в течение нескольких лет, и я буду знать, что делать, когда получу подсказку. Как сказано в заголовке, как мне сделать резервную копию, а затем восстановить эти файлы, если tar их проигнорировал?

1 ответ1

6

Вы не

Локальные сокеты Unix создаются, как только программа пытается прослушать соединения по указанному пути, и, несмотря на то, что они являются типом файла, они действуют только как указатели на структуры в памяти; поэтому они полезны только до тех пор, пока программа все еще работает (и только на той же машине; без NFS или чего-либо подобного).

После выхода из программы файл сокета больше не используется (и обычно удаляется самой программой); фактически, если программа перезапускается, она должна удалить старый сокет перед прослушиванием по тому же пути - в противном случае она получит "Адрес уже используется" (так же, как если бы две программы пытались использовать один и тот же порт TCP),

Это несколько отличается от именованных каналов (так называемых fifos), которые работают намного проще (один процесс пишет, один процесс читает) и, следовательно, могут быть использованы повторно; именованный канал может быть создан с помощью команд mkfifo или mknod p … .

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