CIFS 설치(NTFS NAS)에 있는 파일의 문자열을 바꿔야 합니다. 그것은으로 설치됩니다
sudo mount -t cifs -o rw,guest,vers=1.0 //192.168.1.1/hdd /hdd
일주일 전까지만 해도 이 문제가 있었지만 설치 옵션을 전혀 변경하지 않았습니다.
내가 달리면 sed -i 's/oldstring/newstring/' /hdd/file
얻을 것이다
sed: preserving permissions for ‘/hdd/sedgtQccm’: Not a directory
sed: cannot rename /hdd/sedgtQccm: File exists
내가 달리면 sed 's/oldstring/newstring/' /hdd/file > /hdd/file.tmp && mv /hdd/file.tmp /hdd/file
얻을 것이다
mv: cannot move '/hdd/file.tmp' to '/hdd/file': File exists
내가 달리면 sed 's/oldstring/newstring/' /hdd/file > /hdd/file.tmp && rsync /hdd/file.tmp /hdd/file
나는 얻는다.
rsync: [receiver] rename "/hdd/file.tmp.GMn4i1" -> "file": File exists (17)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1287) [sender=3.2.2]
이러한 오류가 발생하면
- 두 파일 모두 원격입니다.
- 파일은 원격이고 file.tmp는 로컬입니다.
나는 이해하지 못한다.
- 두 파일 모두 로컬입니다.
- 파일은 로컬이고 file.tmp는 원격입니다.
대용량 파일을 다운로드하면 다음과 같은 결과가 나온다는 점도 언급할 가치가 있습니다.
write /hdd/largefilefromweb: interrupted system call
거의 매 시간마다 음악을 재생하면
Encountered error while transfering /hdd/track.mp3: Read error: Interrupted system call
편집: 해결 방법은 sed
두 번째 명령을 실행하기 전에 파일을 처리하는 것입니다.mv
rsync
rm
sed 's/oldstring/newstring/' /hdd/file > /hdd/file.tmp && rm /hdd/file && mv /hdd/file.tmp /hdd/file
# instead of
sed 's/oldstring/newstring/' /hdd/file > /hdd/file.tmp && mv /hdd/file.tmp /hdd/file
답변1
"파일이 존재합니다" 문제와 관련하여이번 서버 장애 문제, 나는 이것이 최근 커널의 회귀라고 생각하며 5.7.7
현재 문제를 피하기 위해 다운그레이드되었습니다.