“꼬리 : 인식 할 수없는 파일 시스템 유형 0xbeefdead”에 대해 걱정해야합니까?


32

와 함께 일반 텍스트 파일을 따르려고합니다 tail -f -n 50 filename. 항상이 오류 메시지가 표시되는 것을 제외하고 파일에서 정보를 올바르게 얻습니다.

tail : 인식 할 수없는 파일 시스템 유형 0xbeefdead

모든 파일에서 발생합니다. 는 0xbeefdead저를 걱정 - 그것은 해커 태그 것 같습니다.

$ tail --version
tail (GNU coreutils) 8.4

3
0xdeadbeef대신 해서는 안 됩니까? :P
devnull

1
마감 투표가 취소되었습니다.
slm

1
아마도 명백하지만 0xDEADBEEF는 종종 초기화되지 않은 바이트와 그와 같은 것을 나타내는 데 사용됩니다. BEEFDEAD는 아마도 이것에 대한 현명한 왜곡 일 것입니다. en.wikipedia.org/wiki/Hexspeak (deadbeef 검색)
user426724

@ goldilocks : 좋은 이야기이지만 의문의 여지가 없습니다. 또한 캡 잠금 키를 고정하십시오.
Ben Voigt

3
@ BenVoigt Caps는 제쳐두고 유효한 지적을했습니다. 문제는 완벽하다. 그는 쇠고기가 정상인지 묻는다.
Navin

답변:


34

StorNext 파일 시스템을 사용할 때이 경고가 표시되고 coreutils8.21 이하를 실행중인 경우 걱정할 필요가 없습니다. 이 경고 메시지가 예상됩니다.

GNU tail는 여러 파일 시스템 유형에 대한 지식을 가지고 있으며 알려지지 않은 유형이 발견되면 경고합니다. 스토어 넥스트 파일 시스템에 대한 지원이 추가되었습니다 tailcoreutils인 2013 년 4 월 및 년에 발표 된 coreutils8.22. 커밋은 여기에 있습니다 . 해당 버전을 얻을 수 없거나 coreutils소스를 직접 편집하고 다시 컴파일하려는 경우 해당 커밋의 차이점은 다음과 같습니다.

src/stat.c
@@ -399,6 +399,8 @@ enum
     return "selinux";
   case S_MAGIC_SMB: /* 0x517B remote */
     return "smb";
+  case S_MAGIC_SNFS: /* 0xBEEFDEAD remote */
+    return "snfs";
   case S_MAGIC_SOCKFS: /* 0x534F434B local */
     return "sockfs";
   case S_MAGIC_SQUASHFS: /* 0x73717368 local */

11
왜 사용자 공간 프로그램 tail이 특정 파일 시스템과 호환되어야합니까? 내가 의미하는 바는 파일 시스템 추상화가 없을까요?

15
@ illuminÉ, 파일 시스템 유형을 결정하는 주된 이유는 "꼬리 -f"작업입니다. 새 데이터가 파일에 기록되었는지 확인하는 가장 효율적인 방법은 파일 시스템마다 다릅니다.
Mark

9
tail가능한 경우 -f옵션을 사용 inotify합니다. 그러나 inotify로컬 시스템 커널이 수행 한 활동으로 인한 변경 사항 만 모니터링 할 수 있습니다. 따라서 파일 인수가 "로컬"파일 시스템으로 분류 된 항목에있는 경우에만 tail사용 inotify됩니다.
Mark Plotnick

7
마지막으로 누락 된 정보는 커널이 지원하지 않는 파일 시스템에서 inotify를 사용하려고 할 때 어떤 문제가 있는지를 명확하게 나타내지 않는다는 것입니다. 따라서이 매직 넘버 kludgefest는 기본적으로이를 사용하는 유일한 안전한 방법입니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.