51533
[smb.conf](http://www.samba.gr.jp/project/translation/4.1/htmldocs/manpages/smb.conf.5.html#CSCPOLICY)
の説明には以下のように書いてあるのですが、documents と programs が具体的にどのような機能なのかご存知の方はいらっしゃいませんか？

> csc policy (S)  
>  このパラメーターは、クライアントサイドのキャッシングポリシーを規定し、 オフラインキャッシュ機能を持つクライアントが、
> 共有上のファイルをどのようにキャッシュするかを規定する。 有効な値は、manual, documents, programs, disable である。  
>  これらの値は、Windows のサーバー側の設定に対応している。  
>  例えば、移動プロファイルが格納されている共有では、 csc policy = disable とすることで、 オフラインキャッシュを無効にできる。
```

>     既定値: csc policy = manual
>     例: csc policy = programs
>  
```

samba.org の ML には [[Samba] about csc policy
parameter](https://lists.samba.org/archive/samba/2007-May/131501.html)
という投稿があり、以下のように書かれています。ようするに「Windows server の機能と似たようなものだ」とのことです。

> They carry the same meaning as the values by the same name when  
>  configuring a Windows server. I think there is some useful  
>  information here (just a quick search).  
>
> <http://www.microsoft.com/technet/prodtechnol/winxppro/reskit/c06621675.mspx>

ここに書かれたリンクはすでに無くなっているので、webarchive で、おそらくこれだろうというページを発掘しました。

[Windows XP Professional Resource
Kit](https://web.archive.org/web/20070313003147/http://www.microsoft.com/technet/prodtechnol/winxppro/reskit/c06621675.mspx)

ただ、このページには共有フォルダやオフラインキャッシュについての説明はありますが、 programs と documents
の具体的な違いについては書かれていないようでした。

このページの「Files Available When Online Are Not Available When
Offline」に一言だけ登場しますが、「ドキュメントを共有する」「アプリケーションファイルを共有する」としか書かれていません。

> Automatic Caching for Documents if this share contains documents.  
>  Automatic Caching for Programs if this share contains application files.

  * ドキュメントとは何か？
  * アプリケーションファイルとは何か？
  * 「Automatic Caching for Documents」を有効にした共有フォルダにアプリケーションファイルを置いたらどうなるのか？
  * 「Automatic Caching for Programs」を有効にした共有フォルダにドキュメントを置いたらどうなるのか？

等といったことをご存知の方はいらっしゃいませんか？
CC BY-SA 4.0
2018-12-26T08:13:31.490
51531
2018-12-26T13:10:38.853
9592
question
samba
samba の csc policy の documents と programs の違いとは？
SambaやWindowsサーバのファイル共有はネットワーク経由でファイルをやり取りするので、様々な理由で切断される可能性があります(ネットワーク自体のトラブルや、クライアント=ノートPCがネットワーク外に持ち出されるなど)。

ネットワークが切断された状態でも、予めクライアント側でファイルをキャッシュとして保持しておき、変更があった場合はネットワークの復帰後に同期を行う仕組みが「オフラインファイル機能」であり、この仕組みに合わせた実装がSambaの`csc
policy`のようです。

共有フォルダ上でどんなファイルが開かれるかと言うと、大きく分けて以下の二種類が考えられます。

  * ドキュメント  
クライアントで開いた場合、基本的には変更の可能性がある。キャッシュしたなら同期が必要。

  * アプリケーション  
運用次第の部分もあるが、基本的にクライアントからはリードオンリーで参照される。キャッシュが利用できるなら積極的に使った方がパフォーマンス向上も見込める。

上記を踏まえて`csc policy`とWindowsサーバの振る舞いとして選択できるのは

  * disable (クライアント側でのオフライン利用を無効にする)
  * manual (ユーザーが手動で指定したファイルのみオフライン利用を有効にする)
  * documents (ユーザーが開いたファイルを自動でオフライン利用可能にする)
  * programs (パフォーマンスが最適になるようにする)

※"documents"と"programs"はWindowsサーバのバージョンによって微妙に振る舞いは異なるようなので、Sambaの実装がどうなっているのかは自信がありません。

* * *

"manual"がデフォルトのようなので、"documents"や"programs"をうまく設定すればパフォーマンス向上が期待できるが、よっぽどのことが無い限りいじらないでおくほうが無難なのかなという気がします。

**参考：**

  * [オフライン・ファイルを利用する - ＠IT](http://www.atmarkit.co.jp/fwin2k/win2ktips/578offlf/offlf_01.html)
  * [[改訂版] Sambaのすべて (googleブックス)](https://books.google.co.jp/books?id=meQeBAAAQBAJ&pg=PA245&lpg=PA245&dq=csc+policy&source=bl&ots=6WuPbWEPWA&sig=r56np-rprCsF6doU1He7sRuN2Lc&hl=ja&sa=X&ved=2ahUKEwjS4q3JrL3fAhVZEHAKHYpyB_AQ6AEwA3oECAcQAQ#v=onepage&q&f=false)
CC BY-SA 4.0
2018-12-26T13:10:38.853
51533
2018-12-26T13:10:38.853
3060
51531
answer