OS Xファイルシステムの異常: "ghost '?' ファイル名と予期しないシンボリックリンク


0

私はこれを今まで見たことがない - それはTime Machineが失敗し続けたためにだけ起こった(Mac OS X High Sierra 10.13.6)。ここでも似たような質問がされました〜7年経ちましたが解決されませんでした(そして彼はシンボリックリンクの問題を抱えていませんでした):疑問符付きのOS Xのファイル名

Disk Utility.appから何度もディスクの修復を実行しました(エラーは見つからなかったか、修正しませんでした)。

この問題で唯一の場所はiTunes Media / Musicフォルダであると判断したので、シンボリックリンクの解決を強制するためにフォルダ全体を圧縮しました。これはゴーストシンボリックリンクを解決するために働きました(いくつかは4つのホップを記録しましたが、ソースはありませんでした)。バックアップはエラーなく実行されるようになりました(-48および-8062)。

私が修正できなかったのはランダムな「?」です。ファイル内の文字

私はここに記載されている解決策を試してみました:疑問符「?」を削除します OSXのファイル名からは完璧だと思われましたが、効果はありませんでした。「?」特にmv操作の後でさえも持続します。

find . -type f -name '*?*' | while read f; do mv "$f" "${f//\?/}"; done

Finderでは、いいえ?が表示され、「?」をgrepできません。名前から外れているので、厳密に言えば、文字は存在していないようです。それらはTerminalにのみ現れます:

MacBook-Pro:Welcome Reality +$ ls -lsuG
total 177456
20656 -rw-r--r--  1 User  group  10572851 Jan 12 09:31 02 ?Doomsday.mp3
14944 -rw-r--r--  1 User  group   7645727 Jan 12 09:31 03 My Eyes (G3dit).mp3
23632 -rw-r--r--  1 User  group  12093176 Jan 12 09:31 03 ?My Eyes.mp3
18768 -rw-r--r--  1 User  group   9605621 Jan 12 09:31 04 Guilt.mp3
20336 -rw-r--r--  1 User  group  10407761 Jan 12 09:31 06 ?Me and You.mp3
19968 -rw-r--r--  1 User  group  10220743 Jan 12 09:31 11 ?Must Be the Feeling.mp3
17104 -rw-r--r--  1 User  group   8749666 Jan 12 09:31 13 Promises.MP3
19920 -rw-r--r--  1 User  group  10194622 Jan 12 09:31 15 ?Won't You (Be There).mp3
21952 -rw-r--r--  1 User  group  11232230 Jan 12 09:31 17 ?Promises (Skrillex & Nero Remix).mp3
   16 -rw-r--r--  1 User  group      7366 Jan 12 09:31 AlbumArtSmall.jpg
   80 -rw-r--r--  1 User  group     35880 Jan 12 09:31 Folder.jpg
MacBook-Pro:Welcome Reality +$ find . -type f | grep ?
*[no results returned]*
MacBook-Pro:Welcome Reality +$ find . -type f | grep M
./03 My Eyes (G3dit).mp3
./03 My Eyes.mp3
./06 Me and You.mp3
./11 Must Be the Feeling.mp3
./13 Promises.MP3

そして、これが私がFinderで見るものです:

Finder結果のスクリーンショット

2019年の誰かがここで何が起こっているのか何か考えを持っていますか?


1
ls *oomsday* | od -c例えば、あなたは何から得ますか?
ヨリック

0000000 0 2 357 273 277明日。m 0000020 p 3 \ n 0000023興味深いのですが、これは '?'という報告です。文字は357 273 277と格納されますか。
Gr3go

2
@ Gr3goその逆:その8進数357 273 277(= 16進数ef bb bf)は実際にはファイル名に含まれていますが、lsそれを "?"と表示しています。普通のキャラクターではないからです。実際、これはUTF-8バイトオーダーマークであり、実際にはファイル名には何も表示されません(厳密には違法ではありません)。私の推測では、それはどういうわけか.mp3のトラック名にあり、iTunesは単に盲目的にそれをファイル名に使用していました。iTunesの「曲の情報」ウインドウでトラック名を削除して再入力すると、修正される場合があります。
Gordon Davisson

信じられないことに、私がマージしたバックアップから重複したエントリを「クリーンアップ」(私は考えていた)している間、iTunesはNeroディレクトリのほぼ全部が重複していると主張して吹き飛ばしました。だから私はまだあなたの考えをテストすることはできませんが、そうなるでしょう。iTunesはどういうわけかまだ非常に混乱しています。この混乱にまだシンボリックリンクがあるかどうかを調査する必要があります。逃げる/イライラする必要がありました。
Gr3go

FTR、iTunesがファイルを書き換えるのはうまくいきませんでした…しかし、@Yoricの名前を変更してもうまくいきました。ただフォルダ名の衝突を解決してからしっかりしたバックアップを取得するだけです。皆さんありがとう!
Gr3go

回答:


1

@Gordon Davissonが正しく言ったように、この一連のバイトは、8ビットでエンコードされたBOM Unicode文字に対応します。

357 273 277 (in octal) = EF BB BF (in hexadecimal)

それをまとめて削除するには:

  1. まだ持っていなければ自作を手に入れよう
  2. 次のコマンドで名前変更コマンドを取得してください。 brew install rename
  3. Musicフォルダのすべてのファイル名からこのBOM文字を削除するには: find ~/Music -type f -exec rename 's/\o{357}\o{273}\o{277}//' {} \;

あなたはおそらく最初に単一のファイルでそれを試してみたい:

rename 's/\o{357}\o{273}\o{277}//' /path/to/file/*oomsday*

ファイル名に関しては、Finderに表示されているものやls、ターミナルのコマンドで表示されているものを信頼することはできません。表示できるコードは限られているからです。odコマンドを使用すると、混乱しているときに、それらの正確なコードを明らかに便利です。


これは削除するために働いた?ファイルとフォルダの両方に(細かい調整を加えて)。ありがとうございました。_ / | \ _
Gr3go

残念ながら、BOMはまだid3タグに含まれているため、問題が適切に解決されるわけではありません。そのため、次回iTunesがファイルを再スキャンすると、ファイル名も変更されます。また、iTunesは検索でファイルを実際に見つけられないことを意味します。完全な単語にしか一致しないからです。
ふわふわ

0

iTunesは常に(たとえばWinAMPと比較して)音楽を「面倒」で管理してきましたが、無料であり、音楽は一般的に整理されています。

明白な「?」を削除するための正しい答え ファイル名に含まれる文字は@Yoricに受け入れられましたが、将来これが起こる可能性がある他の人のためにこれを追加したいと思いました...

「iTunesのメディアフォルダを整理したままにする」オプションがオンになっている場合、iTunesはシンボリックリンクの作成を開始しますが、これらは間違っていますか?(357 273 277)_8エントリ。私はこれが以前のバージョンのOS Xで起こっていることを知りませんでしたが、10.13それは明らかに起こっています。

Time Machineが失敗した場合は、次のコマンドを使用してターミナルからログファイルを表示してください。

clear; printf '\e[3J' && log show --predicate 'subsystem == "com.apple.TimeMachine"' --info --last 24h | grep -F 'eMac' | grep -Fv 'etat' | awk -F']' '{print substr($0,1,19), $NF}'

(私がこれを見つけた場所を思い出すことはしません - その作者への功績は帰属します)。

iTunesの音楽にエラー-48と-8062が表示された場合は、iTunesが原因です。すべてがまっすぐになるまで、iTunesフォルダの編成をオフにします。クリーンなバックアップを作成してから、もう一度オンにしてみてください。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.