web-dev-qa-db-ja.com

tarが2つのソケットを無視した場合、ログインフォルダをバックアップしてから復元するにはどうすればよいですか?

ログイン領域のネットワークバックアップを実行して、ログイン領域が存在するボリュームを再フォーマットし、古い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が無視している2つのソケットファイルは次のとおりです

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がこれらのファイルを無視した場合、これらのファイルをバックアップしてから復元するにはどうすればよいですか?

8
Billy McCloskey

あなたはしません。

Unixローカルソケットは、プログラムが指定されたパスで接続をリッスンしようとするとすぐに作成され、ファイルの種類であるにもかかわらず、メモリ内構造へのポインタとしてのみ機能します。したがって、プログラムがまだ実行されている間だけ(そして同じマシン内でのみ、NFSなどは使用しないで)役立ちます。

プログラムが終了すると、ソケットファイルは使用できなくなります(通常、プログラム自体によって削除されます)。実際、プログラムが再起動された場合、同じパスでリッスンする前に古いソケットを削除する必要がありますそれ以外の場合は、「すでに使用されているアドレス」を受け取ります(2つのプログラムが試行していた場合と同じです)同じTCPポート)を取る。

これは、名前付きpipes(別名fifos)とは多少異なります。これは、はるかに単純な方法(1つのプロセスの書き込み、1つのプロセスの読み取り)で機能するため、再利用できます。名前付きパイプは、mkfifoまたはmknod p …コマンドを使用して作成できます。

9
user1686