태그 보관물: samba

samba

OS X 리소스 포크를 도트 바 파일보다 * 어딘가 *의 Samba 공유에 저장할 수 있습니까? 바 파일의

OS X 리소스 포크는 일반 파일에 첨부 된 대체 데이터 스트림입니다. 파일의 사용자 정의 아이콘, 색상 레이블, 키워드 또는 사용자 또는 응용 프로그램에서 설정 한 기타 메타 데이터를 포함 할 수 있습니다.

그들은 기본적으로 OS X의 HFS + 파일 시스템에서 지원하지만, OS X 그들이 소위 “dotbar”파일에 저장됩니다 (NFS, SMB) 원격 (FAT32) 로컬 또는 여부를 다른 파일 시스템을 마운트 할 때마다 있습니다 : 일반 파일의 리소스 포크 name.ext입니다 다른 일반이지만 숨겨진 파일에 저장됩니다 ._name.ext. .DS_Store아이콘과 열보기 또는 창 위치와 같은 디렉토리보기 설정을 저장하는 파일 과 혼동해서는 안됩니다 .

도트 바 ._파일 의 문제점 은 대상 파일 시스템에서 원본 파일과 동일한 확장자를 가진 실제 일반 파일이므로 여러 가지 방식으로 혼란을 겪습니다. 예를 들어 Ant와 Maven은 ._MyClass.java컴파일 할 또 다른 Java 파일로 간주됩니다.

나는 것을 볼 OS X은 SMB라는 이름의 스트림에서 저장 리소스 포크로 구성 할 수 삼바가 구성 할 수있는 POSIX가 확장 속성에 지정된 스트림 저장 대안, 또는 다른 곳 저장소 디렉토리를 .

두 솔루션 모두 대상 파일 시스템을 오염시키는 도트 바 파일의 문제를 해결할 수 있지만 어느 쪽도 작동하지 않습니다.

 
Xattr

먼저 xattr로 시도했습니다.

vfs objects = streams_xattr
kernel oplocks = no

후자의 옵션은 이 버그 로 인한 것 입니다. OS X에 마운트하기 전에 공유 루트 에서이 작업을 수행하여 사용하도록 지시했습니다.

touch .com.apple.smb.streams.on

그러나 Finder로 파일을 복사하려고 할 때이 오류가 발생했습니다.

“hello.java”의 일부 데이터를 읽거나 쓸 수 없으므로 Finder가 조작을 완료 할 수 없습니다.
(오류 코드 -36)

 
정거장

그런 다음 저장소로 시도했습니다.

vfs objects = streams_depot

.com.apple.smb.streams.on주식의 뿌리에 남겨두고 . Finder로 동일한 파일을 복사하려고 할 때 다른 오류가 발생했습니다.

예기치 않은 오류가 발생하여 작업을 완료 할 수 없습니다
(오류 코드 -50)

 
이 두 옵션 중 하나를 사용하여 OS X를 작동 시키려면 어떻게해야합니까? 저의 목적은 사람들을 ._공유 디렉토리에서 꺼내는 것입니다.

나는 단순히 도트 바 파일을 거부하려고 시도했다.

veto files = /._*/
delete veto files = yes

그러나 OS X에서 마운트 된 SMB 공유를 통해 실행할 때 Mercurial 과 같은 일부 응용 프로그램이 실패 합니다.

클라이언트로 OS X 10.9.5를 사용하고 있습니다. 서버로 Debian Wheezy의 Samba 3.6.6.

편집 : 요청 된 구성은 다음과 같습니다.

[global]
    security = user
    invalid users = root
    workgroup = COMPANY_NAME
    encrypt passwords = true
    panic action = /usr/share/samba/panic-action %d
    syslog = yes
    syslog only = yes

    # PERFORMANCE TUNING
    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072 SO_KEEPALIVE
    read raw = true
    write raw = true
    use sendfile = true
    min receivefile size = 16384
    aio read size = 16384
    aio write size = 16384
    max xmit = 131072
    getwd cache = true

    # DEFAULT OPTIONS FOR ALL SHARES
    writeable = true
    force group = company_group

    create mask = 664
    security mask = 664
    force create mode = 664
    force security mode = 664

    directory mask = 2775
    directory security mask = 2775
    force directory mode = 2775
    force directory security mode = 2775

    # solve problem where OS X clients remove mode 0100
    map archive = no

[homes]
    browseable = no



답변

당신은 것 같습니다 수있는 새로운이 작업을 수행 할 수 vfs_fruit의 적층 모듈, vfs_streams_xattr VFS 모듈.

예를 들어, 이 메일 링리스트 스레드 를 참조하십시오 . 확장 된 속성을 지원하는 기본 파일 시스템이 필요하며이를 활성화하여 마운트해야합니다.

그러나 의에 따라 삼바 위키 업그레이드 할 필요 해요, 그래서 이것은 삼바 4.2의 새로운 기능이다. (현재로서는 데비안 시드 [실험]조차도 아직 4.2가 없습니다.)

데비안 꾸러미를 버리고 새 버전의 삼바를 만드는 데 관심이 없다면 (또는 Jessie로 업그레이드하고 jessie-backports에 4.2가 표시되기를 기다리는 동안) 클라이언트에서 도트 파일을 숨길있습니다.

동일한 디렉토리를 가리키는 두 개의 다른 공유를 가질 수 있는데, 그 중 하나는 ._files를 숨 깁니다. 아마도 최적은 아니지만 실행 가능할 수 있습니다.


답변

기본 Mac 환경 설정에서 가능한지 모르겠지만 Asepsis 와 같은 도구를 사용하여 해당 문제를 해결할 수 있습니다. 모든 Mac 배설물을 자신의 폴더로 이동합니다.


답변