마운트된 파일 시스템에서는 파일을 생성할 수 있지만 이름 변경은 거부될 수 있습니다. 이름 변경에는 디렉터리 권한, 소유권, 경계, 플래그, 열린 핸들에 대한 별도의 요구 사항이 있기 때문입니다.
마운트가 성공했다는 것은 파일 시스템이 연결되었다는 사실만 증명하며, 파일 쓰기가 성공했다는 것은 클라이언트가 하나 이상의 객체를 생성하거나 수정할 수 있다는 뜻입니다. 이름 변경은 디렉터리 엔트리 작업이므로 원본 및 대상 디렉터리 모두에 대한 권한, 삭제 권한, 동일한 파일 시스템 경로, 유효한 대상 이름, 충돌하는 SMB 공유 모드나 보호된 파일 플래그가 없어야 한다는 조건이 필요할 수 있습니다. 파일 시스템이 손상되었다고 판단하기 전에 정확한 오류를 기록하고 생성, 이름 변경, 이동, 삭제를 각각 비교하세요.
권한을 변경하기 전에 정확한 이름 변경 오류를 기록하세요
호스트와 문제가 발생한 클라이언트에서 동일한 이름 변경 작업을 한 번씩 반복하세요. 원본 경로, 대상 경로, 사용자 ID, 파일 시스템, 마운트 지점, 오류 코드, 대상 이름의 기존 존재 여부를 기록합니다.
Linux의 rename 시스템 호출 오류는 권한 실패, 사용 중인 마운트 지점, 장치 간 이동, 읽기 전용 파일 시스템, 비어 있지 않은 대상 및 기타 조건을 구분합니다. 이러한 오류는 그래픽 파일 브라우저에서 동일하게 보일 수 있습니다.
새 파일 생성은 성공하지만 이름 변경이 실패한다면 이 차이를 유지하세요. 문제를 일반적인 쓰기 권한이 아니라 디렉터리 엔트리 교체, 삭제 권한, 이름 지정 규칙, 잠금 또는 경로 경계 문제로 좁힐 수 있습니다.
양쪽 상위 디렉터리의 권한을 확인하세요
기존 이름이 있는 디렉터리와 새 이름이 들어갈 디렉터리의 소유권, 모드 비트, ACL, 유효 사용자 ID를 확인하세요. 이름 변경 권한은 파일의 쓰기 비트가 아니라 주로 디렉터리에 의해 결정됩니다.
Red Hat은 스티키 비트가 공유 쓰기 가능 디렉터리에서 이름 변경과 삭제를 제한한다고 설명합니다. 여러 사용자가 그곳에 파일을 생성할 수 있더라도 파일 소유자, 디렉터리 소유자 또는 권한이 있는 사용자만 작업할 수 있습니다.
오류가 발생하는 동일한 NAS 사용자로 테스트하세요. 관리자로 작업이 성공했다고 해서 일반 계정에 두 디렉터리 엔트리에 대한 삭제 또는 이름 변경 권한이 있다는 뜻은 아닙니다.
불변, 삭제 금지, 추가 전용 플래그를 확인하세요
일반 권한과 ACL 외에도 파일과 상위 디렉터리의 파일 시스템 플래그를 확인하세요. 복원 작업, 보안 도구 또는 보존 정책에서 기본 권한 목록에는 표시되지 않는 플래그를 설정할 수 있습니다.
FreeBSD 보안 핸드북은 불변 파일 플래그가 수정이나 삭제를 방지한다고 설명합니다. 추가 전용 및 삭제 금지 플래그도 이름 변경에 필요한 디렉터리 변경을 차단할 수 있습니다.
보호 플래그를 설정한 정책이나 애플리케이션을 확인한 후에만 해당 플래그를 제거하세요. 플래그를 일괄적으로 해제하면 보존, 백업 또는 랜섬웨어 보호 기능이 무력화될 수 있습니다.
하나의 폴더 트리 뒤에 숨은 파일 시스템 간 이동을 배제하세요
원본 및 대상 디렉터리를 확인하여 장치 ID, 마운트 지점, 바인드 마운트, 데이터 세트, 컨테이너 경로를 파악하세요. 동일한 공유 폴더 아래에 있는 두 폴더라도 서로 다른 마운트된 파일 시스템에 속할 수 있습니다.
GNU C 라이브러리는 EXDEV를 장치 간 이름 변경 오류로 정의합니다. 상위 수준의 이동 도구는 파일을 복사한 후 삭제하는 방식으로 처리할 수 있지만, 원자적 이름 변경을 요구하는 애플리케이션은 단순히 실패할 수 있습니다.
로컬 이동이 전체 파일을 복사하는 방식으로만 성공한다면 원자적 이름 변경이 아니었던 것입니다. 애플리케이션의 임시 경로와 최종 경로를 수정하거나 두 단계를 동일한 파일 시스템에 유지하세요.
열린 핸들과 SMB 삭제 공유를 확인하세요
원본 및 대상 디렉터리의 열린 파일과 SMB 세션을 확인하세요. 미리 보기 프로그램, 썸네일 생성기, 편집기, 미디어 스캐너, 백신 도구, 백업 클라이언트를 하나씩 종료합니다.
Microsoft는 네트워크 폴더에서 열린 썸네일 캐시 핸들이 이름 변경을 차단하는 사례를 설명합니다. 이는 다른 파일을 읽거나 생성할 수 있어도 특정 객체에 대한 공유 위반이 해결되는 것은 아니라는 점을 보여 줍니다.
열린 핸들에 대한 증거를 보존하기 전에 NAS 전체를 재시작하지 마세요. 재부팅하면 잠금은 해제될 수 있지만 어떤 클라이언트나 서비스가 잠금을 다시 만들었는지 확인하기 어려워집니다.
SMB 이름 변경 규칙을 클라이언트의 파일 이름과 비교하세요
같은 디렉터리에서 간단한 소문자 ASCII 이름을 사용해 테스트하세요. 그런 다음 대소문자만 변경하는 경우, 예약 문자, 끝의 마침표나 공백, 유니코드 정규화, 대상 이름의 기존 존재 여부를 비교합니다.
Samba의 macOS 상호 운용성 모듈은 POSIX 이름 변경 호환성 옵션을 제공합니다. 이는 클라이언트와 서버의 이름 지정 방식에 따라 디렉터리 이름 변경의 허용 여부가 달라질 수 있음을 보여 줍니다.
특정 파일 이름 패턴에서만 실패한다면 정규화하기 전에 원래 이름의 매핑을 보존하세요. 롤백 목록 없이 일괄적으로 이름을 변경하면 미디어 라이브러리, 동기화 작업, 바로 가기, 백업이 손상될 수 있습니다.
확인된 계층만 수정하고 모든 작업을 검증하세요
상위 디렉터리 권한, 스티키 비트 소유권, 보호 플래그, 동일 파일 시스템 경로, 열린 핸들 또는 호환되지 않는 파일 이름 등 확인된 원인만 수정하세요. 원래 사용자와 애플리케이션으로 테스트를 반복합니다.
ZimaSpace의 대소문자만 다른 파일 이름 충돌 문서에서는 Linux NAS가 서로 다른 것으로 처리하는 두 이름이 대상에서 동일한 것으로 인식되는, 보다 구체적인 크로스 플랫폼 사례를 다룹니다.
재연결과 재부팅 후 의도한 경로에서 생성, 닫기, 이름 변경, 이동, 삭제, 재생성이 모두 성공하면 문제가 해결된 것입니다. 파일 시스템이 읽기 전용으로 전환되거나 손상 또는 하드웨어 I/O 오류를 보고하면 쓰기 작업을 중지하세요.
자주 묻는 질문
파일은 생성할 수 있는데 왜 이름을 변경할 수 없나요?
파일 생성에는 디렉터리 엔트리를 추가할 권한이 필요하지만, 이름 변경에는 기존 엔트리의 제거 권한, 두 상위 디렉터리에 대한 쓰기 및 실행 권한, 호환되는 이름 지정 규칙, 보호 플래그나 충돌하는 핸들이 없다는 조건도 필요할 수 있습니다.
EXDEV 이름 변경 오류가 파일 시스템 손상을 의미하나요?
아니요. 일반적으로 원본과 대상이 서로 다른 파일 시스템에 있어 커널이 하나의 원자적 이름 변경을 완료할 수 없다는 뜻입니다. 복사 후 삭제 방식의 이동은 여전히 작동할 수 있습니다.
열린 파일의 이름을 변경할 수 있나요?
많은 로컬 POSIX 파일 시스템에서는 가능합니다. 하지만 SMB 클라이언트와 애플리케이션은 삭제 공유 없이 파일을 열 수 있으며, 이 경우 핸들이 닫힐 때까지 서버가 이름 변경을 거부합니다.
지원 및 팁
더 읽어보기

Plex가 다른 Docker 컨테이너와 GPU를 공유할 수 있나요?
Plex와 다른 컨테이너가 동일한 GPU에 함께 액세스할 수 있는 경우가 많지만, 드라이버 지원, 디바이스 매핑, 비디오 엔진 부하, 메모리, 복구 동작을 테스트해야 합니다.

Plex 오류가 클라이언트에서 발생한 것인지 서버에서 발생한 것인지 확인하는 방법
다른 클라이언트에서 동일한 항목을 재현하고, 세션 경로를 비교한 다음, 범위 분석을 통해 장애가 실제로 발생한 위치를 확인한 후에만 서버 증거를 수집하세요.

Plex 캐시 및 트랜스코딩 임시 저장소 구성 방법
영구 Plex 상태는 보호하면서 트랜스코딩 임시 파일은 적합한 로컬 저장소에 배치한 다음, 정리 상태와 여유 공간 및 재시작 동작을 확인하세요.

