カレンダー

11 | 2016/12 | 01
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

広告



最近の記事

カテゴリー

DATE: CATEGORY:TECH


NASに対して文字コードが違う状態でsmbmountしてしまい、
さらに、日本語名のフォルダ・ディレクトリを置いてしまった。

すると文字化けしたデータが消せなくなってしまった。

その対処法を覚書としてまとめとく。

対処法1:同名ファイルを作成


この方法はWindows向けっぽいけど。同名ファイルを作成、上書き。
で、そのファイルを削除する。

対処法2:「"」を使う。


「"」でファイル名をかこって、普通に消してみる。

# rm -f "<filename>"


Windowsの場合は、コマンドプロンプトから、delコマンドで。

# del "\\?\<ドライブ名>:\*****\*****\ファイル名"
rd /s "\\?\<ドライブ名>:\*****\*****\フォルダ名"


ダメなら、こっち。

del "\\.\<ドライブ名>:\*****\*****\ファイル名"
rd /s "\\.\<ドライブ名>:\*****\*****\フォルダ名"

参考:http://xp-delete.hp.infoseek.co.jp/tips.html

対処法3:inodeから削除する。


ファイル、ディレクトリのinodeを調べる。

# ls -i


出力されたinodeを指定して削除してみる。

# find . -inum <inode> -exec rm -rf {} \;



対処法4:権限を確認する


これ、対処法1かもしれないけど、削除権限があるのかを確認

# ls -alt
-rw-r--r-- 1 root root 1050 2009-02-25 23:11 <filename>


実施ユーザに「w」権限があるか確認。
さらにfilesystemがext2/3の場合は、特殊属性があるのでそちらも確認。

# lsattr
------------------ ./<filename>


これは、全部「-」なら大丈夫なはず。

対処法5:化けてる文字コードで再mountしてアクセス


今回は、大半がこれで消えた。文字コードが変になってしまったんなら、
その変になった文字コードでmountし直すことで消せた、って話。

対処法6:上位ディレクトリから削除


消せないファイル、ディレクトリの上位階層のディレクトリから削除。
「/A/B」で、「B」がどうしても消せない場合、「A」から消す。
今回、どうしても消せない1ファイルがありましたが、消せました。
実際には、この「A」をそのまま消そうとしても消せなくて、

# ls
B/
# cd ..
# ls
A/
# rm -rf A
rm: cannot remove directory `A/B': そのようなファイルやディレクトリはありません


「A」の名称を「DELETE」と適当な名称をつけて削除。

# mv A DELETE
# ls
DELETE
# rm -rf DELETE


を実行したら消せました。めいっぱいハマった。

対処法7:最後の手段


フォーマット。やっぱ、最後はこれか。

感想


散々粘った挙句、案外簡単な方法で消せたことにげんなりするとともに、
初心に帰る事の大切さを痛感。。。(涙



タグ : TECH

Comment

コメントの投稿

管理者にだけ表示を許可する


トラックバック


この記事にトラックバックする



copyright © なんとなしの日記 all rights reserved.
内職☆在宅ワークの最強は?アフィリエイト!. 初心者だってカッコ良いホームページ作るぅ!
Powered by FC2ブログ
Related Posts Plugin for WordPress, Blogger...