저는 리틀엔디안 Linux 시스템을 사용하고 있으며 빅엔디안 Linux 시스템에서 cpio 아카이브의 표준 16진수 덤프를 보고 싶습니다.
누군가 빅엔디안 Linux에서 다음 명령을 실행하고 출력을 게시할 수 있습니까?
echo TESTING > /tmp/test
cpio -o <<< "/tmp/test" > /tmp/test.cpio
hexdump -C /tmp/test.cpio
궁금하다면 libmagic이 cpio 아카이브 유형을 결정하기 위해 다음을 수행하기 때문에 이것이 필요합니다.
# same byteorder machine
0 short 070707
26 string >\0 cpio archive
# opposite byteorder machine
0 short 0143561 byte-swapped cpio archive
libmagic이 리버스엔디안 머신에서 아카이브의 26번째 바이트를 확인하지 않는 이유가 있는지 알고 싶었습니다.
내 리틀 엔디안 컴퓨터에서 이 명령의 출력은 다음과 같습니다.
1 block
00000000 c7 71 1b 00 57 01 a4 81 e8 03 e8 03 01 00 00 00 |.q..W...........|
00000010 ff 65 ce a4 0a 00 00 00 08 00 2f 74 6d 70 2f 74 |.e......../tmp/t|
00000020 65 73 74 00 54 45 53 54 49 4e 47 0a c7 71 00 00 |est.TESTING..q..|
00000030 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................|
00000040 0b 00 00 00 00 00 54 52 41 49 4c 45 52 21 21 21 |......TRAILER!!!|
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200
답변1
나는 빅엔디안 cpio 아카이브의 예를 찾았습니다(libmagic 파일에 주석이 달렸습니다):
# https://sembiance.com/fileFormatSamples/archive/cpio/skeleton2.cpio
경로 항목은 리틀 엔디안 아카이브(바이트 26)와 동일한 위치에서 시작됩니다. 그래서 내 자신의 질문에 대답하려면 :
아니, 이유는 없어아니요바이트 교환된 cpio 아카이브의 26번째 바이트를 확인합니다.