Fsync 실패 오류가 발생합니다. 왜?


12

Ec2 인스턴스 (Ubuntu 12.04)에서 tcp 타임 스탬프를 변경하려고했습니다. 편집기를 열고에서 값 1을 변경했습니다 0. 그리고 파일을 저장하려고하면이 오류가 발생합니다.

/proc/sys/net/ipv4/tcp_timestamps" E667: Fsync failed

우분투를 처음 접했습니다. 아무도 나를 도울 수 있습니까?

답변:


27

에디터는 아마도 그 파일에 대해 재미있는 일을하고있을 것입니다 (/ proc의 파일은 실제 파일이 아니며 운영 체제의 하위 레벨에 대한 인터페이스입니다). 변화가있는 동안 아마 괜찮 작업, PROC에서 일을 업데이트하는 일반적인 방법은 쉘 명령, 등을 직접입니다 :

echo 1 | sudo dd of=/proc/sys/net/ipv4/tcp_timestamps

부팅 할 때마다이 설정을 적용 /etc/sysctl.d/tcp-timestamps.conf하려면 다음을 포함하는 이라는 파일을 만드십시오 .

net.ipv4.tcp_timestamps = 1

3
이 패턴 (echo VALUE | sudo dd of = / path / to / file)은 매우 유용합니다. 대단히 감사합니다!
Malcolm

1
이것도 나를 위해 일했고 다른 커널 매개 변수를 설정했습니다. 이것은 allow_tpm이라는 또 다른 커널 매개 변수를 설정하는 데 도움이되었습니다. 에코 1 | sudo dd of = / sys / module / libata / parameters / allow_tpm

1
의 목적은 dd of무엇입니까? 내가 이해하는 것은 메아리와 파이프이지만 dd가 필요한 이유를 이해하지 못합니다. 왜 >대신에?
Adelin

1
@Adelin dd루트로 쓰기를 수행합니다. 나머지 명령 파이프 라인은 특권을 가질 필요가 없으므로 dd는 sudo에서 실행되는 유일한 부분입니다. 전체 셸을 루트로 실행하면 >리디렉션이 좋습니다. 그러나 루트 개인으로 실행되는 것을 최소화하고 싶습니다.
Jeremy Kerr

7

언젠가 우리는 정확히 같은 오류가 발생했습니다. 조사에 몇 분을 낭비한 후 장치에 남은 공간이 없음을 발견했습니다. 당신이 경우인지 확인할 수 있습니다. 저장 공간을 확보하여 문제를 빠르게 해결하십시오.

참고 : 이는 문제에 대한 최상의 기술 설명은 아니지만 문제를 빠르게 해결하는 데 도움이 될 수 있습니다. 확인 된 답변은이를 자세히 설명합니다. 내 대답은 단지이 문제를 어떻게 해결했는지 공유하는 것이 었습니다.


2
왜 다운 보트를 받았는지 모릅니다. Google의 첫 번째 결과 였고 내 문제를 해결 했으므로 대단히 감사합니다!
Johannes Stadler

3

나는 이것이 오래 전에 올바르게 대답 된 것을 보았지만 더 간단한 명령이 있습니다.

sudo sysctl net.ipv4.tcp_timestamps=1

또한 다음과 같은 다른 설정으로도 동일한 작업을 수행 할 수 있습니다.

sudo sysctl vm.admin_reserve_kbytes=16384

보다시피 구분 기호를 "/"에서 "."로 변경하면서 나머지 위치를 지정하여 / proc / sys /에있는 파일을 수정할 수 있습니다.

예 : "/ proc / sys / net / ipv4 / tcp_timestamps"는 "net.ipv4.tcp_timestamps"로 지정됩니다.


1

Fsync 실패 경고 : 원본 파일이 손실되거나 손상 될 수 있습니다 파일이 성공적으로 작성 될 때까지 편집기를 종료하지 마십시오!

몇 개의 파일을 지우면 공간 문제가 될 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.