私はリトルエンディアン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番目のバイトを確認します。