
Ubuntu日本語フォーラム

ログインしていません。
win7 で外付け USB-HD に出力したフォルダーは、Ubuntu から問題なく読める。
それに反して、 Ubuntu で grsync を使って外付け USB-HD に出力したフォルダーを win7 から読めない。ディレクトリ構造を壊してしまう。
win7 pc から Ubuntuのディレクトリ構造を壊わさないで読む方法はあるのでしょうか? それとも出力の手続きに問題があるのでしょうか?
教えていただければ幸いです。よろしくお願いします。
---------------------
実際に行ったこと。
Ubuntu で grsync を使って外付けUSB-HD にフォルダーを出力した。
その外付けHDを Win7 pc に接続して フォルダー内のファイルを読もうとしたところファイルをチェックするメッセージが現れたので yes を選択したところしばらくチェックしていた。その結果、.trash-1000 が作られていた。ディレクトリ構造が壊れていた。
オフライン
追加情報です。現在の USB HD の状況は次のようになっています。
----------------
win7 に接続したときの directory の表示
My Book( F: )
.Trash-1000 <----- Ubuntu で rsync で保存したもの
files
info
hp-xp <---- Win7 で Zcopy で保存したもの
---------------
Ubuntu 12.04 に接続したときの directory 表示
My Book
System Volume Information
found.000
hy-Xp <---- Win7 で Zcopy で保存したもの Ubuntu 読むごとができる。
found.000 の中には次がはいっている。 <---- Ubuntu で Grsync で保存したもの
dir0000.chk
....
dir0081.chk
file0000.chk
....
file0121.chk
-------------
復元できるのでしょうか?
オフライン
ysato による投稿:
.trash-1000 が作られていた。
.trash-1000はUbuntuのゴミ箱フォルダーですね。
Ubuntuでファイルやフォルダーをゴミ箱に送ると自動的に作成されるフォルダーです。
それを外付けHDDにコピーしたくないのであれば、
grsyncの設定で隠しファイルを除外すればOKだと思います。
オフライン
コメントありがとうございます。
>それを外付けHDDにコピーしたくないのであれば、grsyncの設定で隠しファイルを除外すればOKだと思います。
この解釈は、Ubuntuで grsyncの設定で隠しファイルを除外して、外付けHDDにコピーすれば win7 で問題なく読むことができる、の意味でしょうか。
なを、Ubuntu の Grsync で外付けusb HD のコピーしたものは /home です。/home に作られていた ドットファイルもコピーしていると思います。
オフライン
おそらく、こういうことかと考えます。
通常、外付けUSB-HDでの使用は、データファイルのストレージが主となりますが、
その場合のファイルシステムはNTFS・FATが主流だと思います。
この場合は、Windows・Ubuntu/Linux双方からアクセスできます。
しかし、今回のysatoさんの場合は、データファイルではなく、/homeディレクトリを納められたということで、
おそらくファイルシステムがext4(or2,3)になっているのでは、と思います。
ext4(or2,3)は、Windowsでは全くアクセスできません。
そのためWin7よりファイルチェックのメッセージが出たのだと思います。
そして、Yesを押したので、ext4(or2,3)のファイルシステムがWin7によって壊されたのだと思います。
以上間違ってたらゴメンナサイです。
オフライン
windowsで直接読み書きしている。
ubuntu上のgrsyncで直接読み書きしている。
この2点から予想すると、
USB-HDDはNTFSフォーマットである。
grsyncでファイルやディレクトリの属性までコピーしている。
壊れる要因として予想できる事は、
ファイルやディレクトリ名にwindowsで扱えない文字を使っている。
NTFSで扱えない属性までコピーしようとしている。
この辺をntfs-3gが吸収してくれるのか解りません。
ysato による投稿:
なを、Ubuntu の Grsync で外付けusb HD のコピーしたものは /home です。/home に作られていた ドットファイルもコピーしていると思います。
/homeを丸ごとバックアップしていたのですね。
私の環境でも/homeをrsyncでコピーした後、Windowsでエラーチェックをするとエラーになるのを確認できました。
原因はkatsu07さんが書かれているとおり、
katsu07 による投稿:
ファイルやディレクトリ名にwindowsで扱えない文字を使っている。
のようです。
Windowsでエラーチェックした際に、
ファイル 59432 内の軽度なファイル名エラーを修復します
ディレクトリ 58861 の無効なファイル名 dayjournal:i386-icon-dayjournal.png (59526) を削除しました。
ファイル 59526 のすべてのファイル名が無効なため、ファイルは孤立しています。
孤立回復フェーズでファイルを回復します。
というエラーメッセージが表示されました。
~/以下を調べてみると ~/.local/share/gvfs-metadata/ や ~/.cache/software-center/ などに、
ファイル名に : を含むファイルが見つかりました。
ですのでGrsyncの設定で ~/.local/ や ~/.cache/ などの、
Windowsで使用できない文字を含むファイルがあるフォルダーを除外すればいいのではないでしょうか。
オフライン
aaabbbcccdddeeefffggghhh による投稿:
ですのでGrsyncの設定で ~/.local/ や ~/.cache/ などの、
Windowsで使用できない文字を含むファイルがあるフォルダーを除外すればいいのではないでしょうか。
調べていただきありがとうございます。この方式で実行してみようと思います。
Win7 で読むことを前提にする場合、~/.*/ を除外すれば安全かなと考えました。
回答を理解するためGoogle で検索し次が参考になりました。
1. バックアップ・同期ソフト Grsync .ファイル(隠しファイルを除外する)
http://tenten909.blog.shinobi.jp/システム関連/バックアップ・同期ソフト%20grsync%20.ファイル-
2. rsync の複雑怪奇な exclude と include の適用手順を理解しよう
http://tech.nitoyon.com/ja/blog/2013/03/26/rsync-include-exclude/
3. rsyncコマンドの使い方
http://yuusuke1988.hatenablog.jp/entry/2014/01/14/164426
4. 6 rsync Examples to Exclude Multiple Files and Directories using exclude-from
http://www.thegeekstuff.com/2011/01/rsync-exclude-files-and-folders/
オフライン
実際に実行して成功しました。
--exclude を使ってコピーする場合、次の4番目の記述 「注意しないと間違いますよ。」 が参考になりました。
----------
4. Exclude path is always relative
If you are not careful, you might make this mistake.
----------
6 rsync Examples to Exclude Multiple Files and Directories using exclude-from
http://www.thegeekstuff.com/2011/01/rsync-exclude-files-and-folders/
オフライン