Linux 서버(Fedora 35)의 외부 저장소로 사용되는 Samba와 네트워크 공유를 설정하고 있습니다. 파일 읽기와 쓰기는 잘 되는데 권한이 제대로 설정되어 있는 것 같습니다. 그러나 우리가 할 수 있기를 바라는 두 가지 작업에는 문제가 있습니다. 대상 디렉토리가 공유에 없으면 둘 다 동일한 시스템에서 작동합니다.

첫 번째는 공유를 사용하여 Conda 환경을 저장하는 것입니다. 설정은 대략 이렇습니다.

ln -s /mnt/share/$username/.conda /home/$username/.conda
conda create -n test bottle

conda-forge( 위의 명령이 성공하려면 추가해야 할 수도 있습니다 conda config --add channels conda-forge. ). 두 번째 명령은 다음과 같은 여러 메시지와 함께 중단됩니다.

CondaVerificationError: The package for ncurses located at /home/$username/.conda/pkgs/ncurses-6.2-h58526e2_4
appears to be corrupted. The path 'lib/terminfo'
specified in the package manifest cannot be found.

SafetyError: The package for ncurses located at /home/$username/.conda/pkgs/ncurses-6.2-h58526e2_4
appears to be corrupted. The path 'share/terminfo/E/Eterm'
has an incorrect size.
  reported size: 2224 bytes
  actual size: 842 bytes

Conda는 25개의 패키지를 설치하려고 하고 그 중 4개만 오류를 생성하므로 나머지 패키지는 제대로 설치될 수 있지만 결국 환경이 만들어지지 않았기 때문에 확실하지 않습니다.

두 번째 문제는 R에 있습니다. 사용자 라이브러리를 공유( )에 넣으면 ln -s /mnt/share/$username/R /home/$username/R일부 패키지(분명히 단계적 설치를 사용하는 패키지) 설치가 실패합니다. 예를 들어, 를 사용 rlang하여 R 내에서 설치를 시도 install.packages('rlang')하면 마지막에 다음 메시지와 함께 실패합니다.

mv: cannot move '/mnt/share/$username/R/x86_64-redhat-linux-gnu-library/4.1/00LOCK-rlang/00new/rlang' to '/mnt/share/$username/R/x86_64-redhat-linux-gnu-library/4.1/rlang': Permission denied
ERROR:   moving to final location failed

문제없이 설치되는 패키지가 있습니다. 이 특정 문제는 예를 들어 다음과 같은 매개변수를 추가하여 해결할 수 있습니다.

install.packages("rlang", INSTALL_opts = '--no-lock')

그러나 1) 해결 방법이 필요하지 않은 것이 좋으며 2) 사용하려는 모든 프로그램에 이와 같은 내장 솔루션이 있는 것은 아닙니다.

그래서 저는 이것이 네트워크 공유 또는 특히 Samba의 근본적인 제한 사항입니까, 아니면 설정 중에 무언가를 놓친 것입니까? 이것은 smb.conf대부분 주식이고 realm join --membership-software=samba --client-software=winbindSamba 문서에서 권장하는 몇 가지 추가 설정과 컴퓨터 관리를 사용하여 Windows 시스템에서 설정된 권한에 의해 수정된 입니다.

[global]
workgroup = DOMAIN
security = ads
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
kerberos method = secrets and keytab
template homedir = /home/%[email protected]%D
template shell = /bin/bash
realm = DOMAIN.LOCAL
idmap config DOMAIN : range = 2000000-2999999
idmap config DOMAIN : backend = rid
idmap config * : range = 10000-999999
idmap config * : backend = tdb
winbind use default domain = no
winbind refresh tickets = yes
winbind offline logon = yes
winbind enum groups = no
winbind enum users = no
vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes

[share]
path = /srv/share
read only = no
acl_xattr:ignore system acl = yes
no answer