4

仮想ファイルシステムのデータベースからの情報を提示する WebDAV サーバーに取り組んでいます。

したがって、ユーザーはサーバー上でファイルを作成でき、それらはデータベースに自動的に作成されます。

ユーザーがサーバーに接続するとすぐに、一部の OS は独自のメタデータ ファイル/フォルダーをすぐに作成する傾向があります (Thumbs.db、desktop.ini、.fseventsd、DS_Store などを考えてください)。

このファイルはデータベースを乱雑にし、パフォーマンスも低下させる傾向があります (たとえば、OSX はフォルダーが開かれるとすぐに多くのインデックス作成を行います。つまり、データベースに対して大量のヒットが発生します)。

したがって、パフォーマンスと清潔さのために、さまざまなOSによって作成された(メタ)ファイル/フォルダーの「完全な」リストを探しています-これらはサーバーによって抑制されても「安全」です。

これまでの私のリスト:

//TODO: get rid of system files
/*
 *** everywhere
 * Thumbs.db
 * desktop.ini
 * .DS_Store
 * .desktop
 * AlbumArt*.jpg
 * Folder.jpg
 * ._[ParentFoldername]   // e.g. /foo/bar/._bar
 * ._[ExistingFoldername] // e.g. /foo/._bar
 * ._[ExistingFilename]   // e.g. /foo/bar/._baz (baz is a legit file inside bar)
 * ._.                    // ?!? 
 *** root only
 * System Volume Information
 * .fseventsd
 * $recycling.bin
 * $Recycle.Bin
 * Recycled
 * .Trashes
 * hiberfil.sys
 * pagefile.sys
 * .hidden
 * mach_kernel
 * Backups.backupdb
 * Contents
 *
 *** special
 * .metadata_never_index // fake this file in root
 *                       // (should keep OSX from indexing)
 */

OSXの既存のテスト構造は次のとおりです。

/MarioDemo/
/FrankTest/
/TestItemRelation/

/.metadata_never_index

/MarioDemo/Alphabetical/
/MarioDemo/Hierarchical/

/MarioDemo/ を開くときに OSX が要求するファイルは次のとおりです。

OSX からの propfinds

4

1 に答える 1

5

あなたのリストはすでにかなり完成していると思います。特定のファイルの種類を特に除外したい場合を除いて、以下のみを追加します。

.DS_Store?
._*
.Spotlight-V100
.DocumentRevisions-V100
.fseventsd
.MobileBackups
Icon?
__MACOSX
ehthumbs.db
desktop.ini
*.desktop
*.bak
.*~
*~

これらはIgnoramusというプロジェクトから取得しました。パターンを含む関連ファイルは、emacs 形式でここにあります。完全一致のリストを以下に示します。ここから引用しました。

"$RECYCLE.BIN"                         ; ms-windows
".AppleDouble"                         ; OS X
".DS_Store"                            ; OS X
".DocumentRevisions-V100"              ; OS X
".LSOverride"                          ; OS X
".Rhistory"                            ; R
".Spotlight-V100"                      ; OS X
".TemporaryItems"                      ; OS X
".Trashes"                             ; OS X
".actionScriptProperties"              ; actionscript
".apt_generated"                       ; gwt
".build"                               ; perl
".buildpath"                           ; eclipse
".builds"                              ; visualstudio
".bzr"                                 ; bazaar
".cdv"                                 ; codeville
".classpath"                           ; eclipse
".com.apple.timemachine.donotpresent"  ; OS X
".com.apple.timemachine.supported"     ; OS X
".coverage"                            ; python
".cproject"                            ; eclipse
".directory"                           ; KDE
".dropbox"                             ; dropbox
".dropbox.cache"                       ; dropbox
".emacs.desktop"                       ; emacs desktop.el
".emacs.desktop.lock"                  ; emacs desktop.el
".eunit"                               ; erlang
".externalToolBuilders"                ; eclipse
".flexProperties"                      ; actionscript
".fseventsd"                           ; OS X
".git"                                 ; git
".hg"                                  ; mercurial
".idea"                                ; various
".ido.last"                            ; emacs ido-mode
".last_cover_stats"                    ; perl
".lein-deps-sum"                       ; leiningen
".loadpath"                            ; eclipse
".netrwhist"                           ; vim
".org-id-locations"                    ; emacs org-mode
".pc"                                  ; quilt
".project"                             ; eclipse
".projectile"                          ; emacs projectile
".recentf"                             ; emacs recentf
".redcar"                              ; redcar
".rspec"                               ; rails
".sass-cache"                          ; sass
".scala_dependencies"                  ; scala
".svn"                                 ; subversion
".tox"                                 ; python
".wmncach.el"                          ; emacs WoMan
".yardoc"                              ; yard
"_MTN"                                 ; monotone
"__history"                            ; delphi
"_build"                               ; perl
"_cgo_defun.c"                         ; go
"_cgo_gotypes.go"                      ; go
"_darcs"                               ; darcs
"_obj"                                 ; go
"_sgbak"                               ; vault
"_site"                                ; jekyll
"_test"                                ; go
"_testmain.go"                         ; go
"_yardoc"                              ; yard
"aclocal.m4"                           ; automake
"auto-save-list"                       ; emacs
"autom4te.cache"                       ; autoconf
"bin-debug"                            ; various
"bin-release"                          ; various
"blib"                                 ; perl
"build"                                ; various
"Build"                                ; various
"Build.bat"                            ; perl
"COMMIT_EDITMSG"                       ; git
"cmake_install.cmake"                  ; cmake
"CMakeCache.txt"                       ; cmake
"CMakeFiles"                           ; cmake
"cover_db"                             ; perl
"cscope.csd"                           ; cscope
"cscope.files"                         ; cscope
"cscope.inc"                           ; cscope
"cscope.lst"                           ; cscope
"cscope.out"                           ; cscope
"cscope.out.po"                        ; cscope
"cscope.tmplist"                       ; cscope
"CVS"                                  ; CVS
"Debug"                                ; various
"debug"                                ; various
"depcomp"                              ; automake
"DerivedData"                          ; xcode
"Desktop.ini"                          ; ms-windows
"ehthumbs.db"                          ; ms-windows
"git-rebase-todo"                      ; git
"gwt-unitCache"                        ; gwt
"gwt_bree"                             ; gwt
"install-sh"                           ; automake
"install_manifest.txt"                 ; cmake
"InstalledFiles"                       ; ruby
"Makefile.in"                          ; automake
"MCVS"                                 ; meta-CVS
"META.yml"                             ; perl
"MERGE_MSG"                            ; git
"minimal-session-saver-data.el"        ; emacs minimal-session-saver
"MYMETA.yml"                           ; perl
"nbbuild"                              ; netbeans
"nbdist"                               ; netbeans
"nosetests.xml"                        ; python
"pm_to_blib"                           ; perl
"Profile"                              ; various
"profile"                              ; various
"RCS"                                  ; RCS
"Release"                              ; various
"release"                              ; various
"SCCS"                                 ; SCCS
"Session.vim"                          ; vim
"slprj"                                ; matlab
"SQUASH_MSG"                           ; git
"TAGS"                                 ; ctags/etags
"tags"                                 ; ctags/etags
"TestResult"                           ; visualstudio
"testresult"                           ; visualstudio
"Thumbs.db"                            ; ms-windows
"tmtags"                               ; textmate
"xcuserdata"                           ; xcode
"xhtml-loader.rnc"                     ; emacs nxhtml
"{arch}"                               ; arch - todo is this correct?
"~.dep"                                ; xcode
"~.dot"                                ; xcode
"~.nib"                                ; xcode
"~.plst"                               ; xcode
"test.out"                             ; generic testing
"test_out"                             ; generic testing
"test.output"                          ; generic testing
"test_output"                          ; generic testing
于 2013-04-13T22:57:35.327 に答える