ページ 11

リネームでファイルが消える

Posted: 14/12/23(火) 22:48
by ルビー
 パピーのROX-Filerでファイルのリネームをすると、ファイルが消えてしまう事があります。現象が起こるのは431JP2012、Precise-550JP。それ以外は試してませんが、複数のPC環境で確認しました。パピーはFrugalインストールです。

 ROX-Filerで仮にhoge.txtをHOGE.txtにリネームするとします。
 リモートでマウントしたNTFSかFAT32で、上記の様にファイル名の読みが同じで大文字小文字の変更をするとROX-Filerでエラーが出てファイルが消えます。ディレクトリの場合は空ディレクトリは消えますが、中身があれば消えません。
 ターミナルのmvではファイルはリネーム可能。ディレクトリはエラーで不可ですが消えません。
 リモート先のマウント方法はPnethood Samba共有、ターミナルのmount両方で現象が起こります。ローカルディスクの場合、NTFSはリネーム可能。FAT32はファイル、ディレクトリともエラーで不可ですが消えません。/root以下はext4だと思いますが、問題無くリネームできます。
 NTFSはリモートがWindows XP Professional、Windows Server 2003 R2、ローカルがWindows XP Home Edition、Professionalで試しました。
 リネーム時にROX-Filerで次の様な応答メッセージが出ますが、はいで続行するとファイルが消えます。いいえならば消えません。

  '/mnt/network/usagi/kame/HOGE.txt'は既に存在します - 上書きしますか?

 パピーを使い始めてすぐにこの現象に出くわして少々面くらいました。Linuxは初めてでしたので何か自分が間違ってるのかと思いましたが、いろいろ試してみてパピーのバージョンやパソコンを変えても起こるのでパピーの問題のようです。
 CIFSやNTFSなどのファイルシステムの仕様で、大文字小文字を区別するしないの扱いが原因なのかもしれませんが、意図せずにファイルが消えるのは結構大きな問題だと思います。フォーラムを検索しても既出ではなさそうなので報告します。

 私が試した環境は以下です。
  EeePC4G-X IntelCeleronM 900MHz RAM512MB 431JP2012
  EeePC901X IntelAtomN270 1.6GHz RAM1GB 431JP2012
  ThinkPadR40 MobileIntelPentium4-M 1.8GHz RAM256MB 431JP2012
  SUPERMICRO 4xIntelXeon 1.66GHz RAM1GB Precise-550JP

Re: リネームでファイルが消える

Posted: 14/12/24(水) 09:42
by 486HA
ルビー さんが書きました: CIFSやNTFSなどのファイルシステムの仕様で、大文字小文字を区別するしないの扱いが原因なのかもしれませんが、意図せずにファイルが消えるのは結構大きな問題だと思います。フォーラムを検索しても既出ではなさそうなので報告します。
他のLinuxでも、ntfsやfatでフォーマットしたドライブをマウントして試すと確認できます。
例えば
ext : ファイル test.txt と TEST.txt とは別のファイルとして併存できる。
ntfs : ファイル test.txt と TEST.txt とは別のファイルとして併存できる。
fat : すでに ファイル test.txt が存在している状態で、TEST.txt は作成できない。

ext2/3/4f2fs及びntfsでは、意図せずにファイルが消えることは起こり得ず、
fat パーティションではtest.txt と TEST.txtとは併存し得ません。

従って、意図せずにファイルが消えるように見えるのは、
fat パーティション上にtest.txt と TEST.txtとをコピーしようとした時です。

Re: リネームでファイルが消える

Posted: 14/12/24(水) 15:27
by タロ兵衛
VirtualBoxの共有フォルダでも試してみました。
ゲスト側からROX-Filerでリネームすると、ファイル消えますね。

ホスト:Win7 Home64 NTFS
VirtualBox(4.3.20)
ゲスト:571JP ext4

ご参考まで。



ホストがLinuxでextフォーマットなら発生しないのかな?・・・

Re: リネームでファイルが消える

Posted: 14/12/25(木) 03:21
by ルビー
 486HAさん、タロ兵衛さんこんにちは。

 486HAさん、ファイルシステムの大文字小文字の扱いの解説ありがとうございます。
 私の文章が分かりづらかったのかもしれませんが、486HAさんの文面からはマウント先ディスクがローカルかリモートの区別は無いと思います。
 もっともローカルでもリモートでも仕様通りの動作になれば問題無いのですが、リモートでマウントした場合にファイルが消える現象が起きます。具体的にはLAN上のWindowsマシンの共有フォルダをマウントした場合です。
 ローカルマシンのNTFSディスクのフォルダをマウントした場合は問題ありません。

 タロ兵衛さん、検証してくださってありがとうございます。
 Windows XPが必要な環境に居りまして、パピーからリモートでマウントしたXPのフォルダを見に行ってます。
 ファイルが消える現象に出くわした時は、パピーを手探りで何とかしてましたのでROX-Filerの使い方も慣れてないしで、何が起きたのか良く分かりませんでした。消えたファイルが大事な物でなかったのは不幸中の幸いです。 :mrgreen:
 今はROX-Filerにもだいぶ慣れましたが、ファイルの大文字小文字リネームの時は少々気を使います。