Transmission을 실행하는 Raspberry Pi가 있습니다. 기본 데이터 파티션은 USB 드라이브에 있습니다. Mac에 연결해야 할 경우를 대비하여 파티션은 HFS+(hfsplus)로 포맷됩니다. Mac은 Samba를 통해 데이터 파티션에 연결됩니다.
Transmission에는 다운로드가 완료된 후 스크립트를 실행할 수 있는 기능이 있습니다. 그러나 이것은 다운로드가 여전히 시드 중일 수 있다는 것을 인식하지 못합니다. 대신 내 사용자 이름 "myuser"로 크론 작업이 실행되고 있습니다. 이 작업은 다운로드가 완료되었는지 확인하고, 아직 시드 중인지 확인하고, 그렇지 않은 경우 다운로드를 처리하는 스크립트를 트리거합니다.
cronjob은 다음을 crontab -e
사용하여 myuser 아래에 설정됩니다.
*/5 * * * * /media/Data/torrents/torrent-clean
스크립트는 새 디렉토리를 생성하고 필요한 경우 파일을 해당 디렉토리로 이동합니다. 대부분의 스크립트에는 새 파일과 디렉터리의 이름 형식을 지정하고 토렌트 데몬에 액세스하는 작업이 포함됩니다. 관련 라인은 다음과 같습니다:
mkdir "${target}/${folder_title}"
mv "$the_video" "${target}/${folder_title}/${video_title}"
전체 스크립트:http://pastebin.com/JqqRMRp8
디렉토리는 사용자/그룹 "myuser users"를 사용하는 스크립트에 의해 생성되고 파일은 "myuser myuser"에 의해 생성됩니다. (왜?)
drwxr-xr-x 1 myuser users 3 Nov 28 10:33 some.directory
-rw-rw-r-- 1 myuser myuser 48477071 Nov 28 10:06 some.file.ABC.mp4
Mac에서 새 파일에 접근하여 이름을 변경하려고 하면 이상한 일이 발생합니다.
- 이름에서 대문자 "C"를 제거하면 성공합니다.
- 이름에 소문자 "c"를 추가하면 때로는 소문자 "c"가 허용되기도 하고 때로는 다시 대문자 "C"로 변경되기도 합니다. (왜?)
- 대문자 "ABC"를 소문자 "abc"로 변경하면 권한 오류가 발생합니다. (왜?)
이름이 성공적으로 변경되면 권한이 변경됩니다.
-rw-rw-r-- 1 myuser myuser 48477071 Nov 28 10:06 some.file.ABC.mp4
-rwxrwxr-x 1 myuser myuser 48477071 Nov 28 10:06 some.file.ABC.mp4 (Why?)
디렉터리 이름을 변경할 때 비슷하지만 약간 다른 상황이 발생합니다.
- 이름에 대문자 "A"를 추가하면 성공합니다.
- 대문자 "A"를 대문자 "E"로 변경하면 성공합니다.
- 대문자 "E"를 소문자 "e"로 변경하면 허용되지만 다시 대문자 "E"로 변경됩니다.
- 대문자 "E"를 소문자 "e"로 다시 변경하면 권한 오류가 발생합니다. (왜?)
이름이 성공적으로 변경되면 권한이 변경됩니다.
from: drwxr-xr-x 1 myuser users 3 Nov 28 10:33 some.directory
to: drwxrwsr-x 1 myuser users 3 Nov 28 10:33 some.directoryE (Why?)
이들 중 일부는 SMB로 인해 발생할 수 있습니다. 내 smb.conf의 관련 부분:
[Pi2_Data]
path = /media/Data
valid users = @users
force group = users
create mask = 0775
force create mode = 0775
security mask = 0775
force security mode = 0775
directory mask = 2775
force directory mode = 2775
directory security mask = 2775
force directory security mode = 2775
browseable = yes
writeable = yes
guest ok = no
read only = no
통찰력을 가져 주셔서 감사합니다.
답변1
~에 따르면위키피디아(마지막 단락):
HFS는 생성되거나 이름이 변경된 파일의 대소문자를 저장하지만 런타임에는 대소문자를 구분하지 않습니다.
실제로 이는 일반적으로 이름을 유지하면서 파일 이름을 바꿀 수 없음을 의미합니다. Samba를 통해 실행하면(최소 30년 동안 사용된 대소문자 구분 파일 시스템이 필요할 수 있음) 문제가 더욱 악화될 뿐입니다.
요구 사항 중 하나가 디스크를 Mac에 직접 연결해야 하는 것이라면 Mac에 OSXFuse를 설치하고 드라이브를 ext3으로 포맷하는 것을 고려할 것입니다.
답변2
나는 다른 방향으로 가서 문제를 해결했습니다. Braiam의 의견과 Anthon의 답변을 통해 저는 Samba에 대해 생각하고 연구하게 되었습니다. 이로 인해 저는 Linux에 Apple 파일 공유라는 AFP(Apple File Protocol) 서비스가 있다는 사실을 알게 되었습니다. Linux 서비스는 Netatalk입니다.
내 파일 이름 변경 사항을 존중할 뿐만 아니라 Apple Finder의 다른 속성도 사용할 수 있습니다.
Samba를 끄고 Netatalk를 설치했습니다.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install netatalk
구성 파일 편집
sudo service netatalk stop
sudo nano /etc/netatalk/AppleVolumes.default
파일 하단에 공유를 추가하세요.
# By default all users have access to their home directories.
~/ "Home Directory"
/media/Data "Pi Data"
네트워크 통화 다시 시작
sudo service netatalk start
Mac을 공유에 연결하세요.