外部デバイスにコピーすると、NixOSで特殊文字が混乱します。

外部デバイスにコピーすると、NixOSで特殊文字が混乱します。

私はDAP(mp3プレーヤーなど)を持っていて、自分のコンピュータ上のフォルダの内容をDAPに同期しようとしています。これはほぼ期待どおりに機能しますが、ファイル名に奇妙なことが発生しています。 rsyncで同期していますが、シンプルです cp 'DR Pigekor - I østen stiger solen op.mp3' /mounted/device

他のデバイスでは、と表示されます'DR Pigekor - I østen stiger solen op.mp3'。私はまたmanjaroを実行している他のコンピュータをチェックしましたが、同じ奇妙なヘッダーや非常に似たものを示したので、それはDAPではありません。すべてのファイルは、私がコピーしたnixOSシステムのマウントされたドライブと元の場所の両方で完全に大丈夫に見えます。また、ManjaroマシンからDAPにファイルをコピーすることはうまく機能することに注意してください。

en_US.UTF-8ちなみに、私のシステムロケールは両方のコンピュータに存在する必要があります。

コピー時にファイル名を保持する方法は?

ベストアンサー1

ファイル形式の私の理解が間違っています。# fsck -N /dev/mmcblk0p1フォーマットを確認するためにこのコマンドを実行しましたが、次のように出力されました。

[/run/current-system/sw/bin/fsck.ext2 (1) -- /dev/mmcblk0p1] fsck.ext2 /dev/mmcblk0p1

後で私はこれが真実ではなく、Hermannが提案したように、実際のファイルシステムがvfatであることを知りました。このコマンドを使用してインストールすると問題が解決しました。

# mount -t vfat /dev/mmcblk0p1 /path/to/mnt -o shortname=mixed -o utf8

"shortname = mixed"は大文字と小文字を保持します。それ以外の場合、vfatは8文字以下のファイル名を小文字に変換し(デフォルトの動作は「shortname = lowercase」です)、rsyncに問題が発生します。 WindowsはファイルシステムをマウントするときにUTF8を使用するため、同じ方法でマウントすることを指定します(デフォルトのvfatファイルシステムがファイル名をUTF8として保存しても、デフォルトはiso-8859-1をマウントすることです)。

このウェブサイトで次のコマンドを見つけました。 https://www.clug.org/rsync-to-fat32-drives/

おすすめ記事