web-dev-qa-db-ja.com

CIFSで動作するシンボリックリンクを取得するために何が欠けていますか?

シナリオ

ホームネットワーク上でいくつかのサービスアプリケーションを実行するヘッドレスUbuntu 10.10 RCボックスがあります。すべてのネットワーク共有とハードドライブをホストするWindows 2008 Serverがあります。現在、次のオプションを設定したFSTABを使用して、起動時にネットワークドライブをマウントしています。

credentails=/etc/smbcredentials,iocharset=utf8,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,noserverino,sfu

質問

CIFSを使用してSYMLINKSを正しく登録するには、どのオプションを設定する必要がありますか? man mount.cifsの情報は、適切なサポートに使用するオプションの明確な定義を提供していないようです。

問題

UbuntuマシンからRSYNCを実行して、選択したフォルダーをWindows共有にバックアップすると、SYMLINKSを再作成しようとして失敗します。後でこれらのファイルを復元しようとしたときに問題が発生する可能性があります。

8
Diago

確かではありませんが、ネットワーク経由で利用可能なntfsパーティション上のフォルダーであるcifs共有は、シンボリックリンクを管理できません。
cifs共有がLinuxマシン上のsambaサーバーによって提供された場合、異なる場合があります。

頭に浮かぶ解決策は次のとおりです。

  • 共有上に十分なサイズのファイルを作成します(たとえば、ddを使用)
  • このファイルにext4ファイルシステムを作成します
  • -o loopを使用して、ファイルをパーティションイメージとしてマウントします
  • このext4パーティションをバックアップの宛先として使用します
6
enzotib

Vista以前は、Windowsの「シンボリックリンク」(MSの世界ではジャンクションと呼ばれていました)は、あるディレクトリを別のディレクトリにしかリンクできなかったと確信しています。 SMBはioctlスタイルの呼び出しをサポートしていることがわかりますが、cifsがWindows共有にジャンクションを作成できるとは思わないため、経験豊富なクライアントがWindowsサーバーを強制的に作成する可能性があります。ジャンクション。

私の問題は、pxelinuxを使用してWindowsディレクトリ共有をマウントし、Linuxボックスを起動することです。 Windowsからアクセスできるファイルシステムがあると便利です。実行中のブートされたマシンに依存せずに、ブートサーバー上のファイルシステムの一部を公開できるからです。

私が思いついた解決策は、CygwinでNFSを使用することです。これにより、NFSマウントをLinuxネットワークに公開できます。必要に応じて、通常のWindows共有を使用して、同じディレクトリをWindowsネットワークに公開できます。

これまでのところ、仮想マシンでこれを実験することは非常に役立つことがわかっています。

-ワルデマール

0
user12918