• ベストアンサー

Linuxのファイルサーバーに移らないファイルがある?

できるLINUXという本を読み、イントラネットサーバを立てました。 特に問題ないと思うのですが、ファイルサーバーとして利用してみようと思い、windowsのパソコンからLINUXのpublicとしたフォルダへ、ファイルを移しています。  ところが、うまく移す事ができないファイルがあるのです。 何故なのでしょうか。 移るものは、すんなりと行くのですが、できないファイルはいつも特定のものです。 エラーメッセージとして、 [LINUXのpublicの移動先のフォルダ名]は存在しません。作成しますか。→(一応、はいで抜ける) もう一度、上と同じメッセージが出る。→(また、はいで抜ける) [移したいファイル名]を作成または置換できません。既に存在するファイルを作成する事はできません。” と、出ます。 よろしくお願いします! 追伸、移らないファイルを英文字に変えたら、うまくいきました。 しかし、漢字交じりのファイル名でもすんなり移るものもあります。 基本的にファイル名に漢字は用いない方がいい、という事なのでしょうか? また、漢字のファイル名が使用できるような良い方法は何かあるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

linuxをファイルサーバにするために使用したソフトは何でしょうか?(samba?ftpd?その他?) 一応sambaであるとして説明します。設定ファイル(バージョンによってちがいますがsmb.confというファイルが/etc/samba/、/usr/local/etc/あたりにあると思います。 )の globalセクション([global]という行の次の行で良いです。)に client code page = 932 coding system = CAP という行をvi等のテキストエディタで追加します。これでwindowsの漢字ファイル名を、漢字を使わないように1バイト文字に変換して格納します。 「CAP」という部分は「EUC」や「SJIS」とすることができますが、OS(linux)が対応していなければいけません。(linuxが対応しているかどうかは私は知りません。) 設定ファイルを変更したら、sambaの再起動をして変更を反映させてください。

chrilake
質問者

お礼

早速ご回答を頂きありがとうございました。 書き忘れましたが、用いているソフトはsambaでした。 「CAP」のところは、一応、EUCにしてみたところ、今まで移す事ができなかったファイルもすんなりと移せました! 詳細まで書き込んで頂き、感謝いたしております。 設定ファイルを何故この様に書き込むのかは私には解りませんが、"漢字を使わないように1バイト文字に変換し格納している"との事、最初はよく解りませんでしたが、半角文字確か0.5バイトとの組み合わせ等で、最初の文字からsambaが読み込んで行くと、巡り合わせでlinuxファイル名に禁止されている文字に解釈され、うまく移せない思わぬトラブルとなる、という事なのでしょうか。 もし宜しかったら追記して頂ければありがたいです。 とりあえず、差し支えなくファイルサーバが使えるようになりました。 ありがとうございました。

その他の回答 (3)

回答No.4

coding systemを特に指定していなかったということであれば、Windowsの漢字ファイル名を変換せずにやりとりしていたということだと思います。 「coding system=EUC」の場合、内部に変換テーブルを持っていて、適切に処理するようになっているはずです。 「coding system=CAP」の場合「漢字のファイル.txt」を「:8a:bf:8e:9a:82:cc:83t:83@:83C:83:8b.txt」のようにマルチバイト文字を「:」+2桁の16進数に変換します。したがってsambaサーバを起動しているOS(のファイルシステム)のマルチバイト対応の有無にかかわらず、ファイルを格納できます。 日本語ファイル名の使用の可否についてですが、その日本語ファイルの使用状況によって変わってきます。 (1)sambaはwindows用のファイル置き場として使用しているだけの場合 「CAP」でも「EUC」でもかまいませんが、(2)(3)のような事が予想されるなら、そちらに合わせておいたほうが良いかもしれません。ただ緊急時には「CAP」の方が扱いやすいです。 (2)Macでも同時にファイル共有を行いたい場合 「CAP」というMacとのファイル共有ソフトを使用する場合(encoding system=CAPとはCAPというソフトの互換方式という意味です)、「CAP」を指定することによって、MacとWinで参照できるファイルサーバが実現できます。 (3)日本語ファイル名のファイルをlinux側でも使用する場合 linuxで日本語ファイル名を扱う場合、アプリケーションが日本語ファイル名を扱える事が必要になります。ディストリビューションによってこの辺の対応状況が違うと思いますが、自分の使用するコマンドが日本語ファイル名に対応しているかどうかの確認が必要です。「CAP」はその辺の確認が不要だという点で楽です。 というわけで、「CAP」が無難でオススメですが、「EUC」にする事によるリスクを理解していれば「EUC」でもかまわないと思います。

chrilake
質問者

お礼

再度のご回答、本当にありがとうございました。 codingsystem = CAP に変更しました。 素人とは誠に恐ろしいもので、”できる!”等と言う字を見たりするとまるきり知らないのですから無理もありませんが、何でもデキテシマウ、と思ってツイツイ手を出してしまいます。 パソコン、linuxを使う、と簡単には言うものの、本当に多くの人の考えた事が詰まっていて、奥の深いものだと思いました。 少しづつでも慣れていこうと思いますので、恐れ入りますがまた何かの折には、宜しくお願いします。

  • ken2
  • ベストアンサー率36% (86/235)
回答No.3

UNIX上で使えなくてWindowsで使えるファイル名となると「 」(スペース)の入っているファイル名じゃないでしょうか? 私から見れば、Windowsで、スペースの入ったファイル名が使えること事態が許せないのですが・・・。

chrilake
質問者

お礼

ご回答をお寄せ頂き、ありがとうございました。 スペースを含むファイル名もだめなのですか。 *、\、?はlinuxでは使わないようにする、という事には気をつけていたのですが、知りませんでした。 漢字.拡張子のファイル名でもうまく移せないものが中にはありました。 うまく行く、と思っても予期せぬ事が多々、出て来てしまってハマッてしまう事があり、アタフタしてしまいます。 またいろいろお願いします。

  • oodaiko
  • ベストアンサー率67% (126/186)
回答No.2

できるLINUXをお読みになったと言うことは付属のCDからコンパイル済のsambaを インストールされたのでしょうか? 本来はコンパイル時オプションか設定ファイルで指定しないと日本語ファイル名は使え ないはずなのですがちゃんと読み書きができるのならそれは設定済と考えて良いでしょう。 そこでエラーの原因ですが、もしかして移らないファイルの名前に半角かな文字、 または機種依存文字(○で囲んだ数字やローマ数字も機種依存文字です。)を使われ ていないでしょうか。これらはLINUX上ではエラーの原因になります。 また一応日本語対応になっているはずのsambaにしても、日本語名ファイルを扱うと たまにバグが出るようです。 本来はLINUXに限らずUNIX系のOSでは原則としてファイル名に日本語は使えません。 だから確実にファイルを送りたければ基本的にファイル名に日本語は使わないのが 良いと思います。(解決になりませんが (^^;;

chrilake
質問者

お礼

御回答ありがとうございます。 半角かな文字でないもの、機種依存文字でないファイルでもうまく移せないものがありました。 (全部漢字.拡張子のファイルも移せないのがある) ウーン、漢字のファイル名の方が短い文字数で分かりやすく表記できるので、漢字を使いたいのですが、欲張りすぎるのでしょうか。 なにか、簡単にいく方法があればありがたいのですが。

関連するQ&A

  • sambaでファイルサーバを構築。

    sambaでファイルサーバを構築中です。 3ユーザ毎のディレクトリにsambaフォルダを作成して、Windowsからもアクセスができる状態です。 そこで、以下のような現象になっています。 WindowsからあるユーザAのフォルダにファイルを新規作成すると、残りの2ユーザB,Cのフォルダに同じファイルが作成されているようにみえるのが確認できます。 しかし、Linuxサーバから確認をすると、あるユーザAのフォルダには新規作成したファイルがあり、残りの2ユーザB,Cのフォルダにはファイルが存在していません。 今度は、LinuxサーバからあるユーザAのフォルダにファイルを新規作成すると、WindowsからユーザAのフォルダに新規作成したはずのファイルがありません(みえません)。 要は、Windowsで作成したファイルは全てのユーザのフォルダに存在しているようにみえ(ただし、Linuxサーバで確認をすれば適切な場所にファイルが存在している)、Linuxサーバで作成したファイルはWindowsではみえない、という動きをしています。 原因がわかりません・・・ すみませんが解決策をご教授ください。

  • ファイルサーバーへのフォルダ、ファイルへのアクセス

    ファイルサーバー(イントラネット)の特定ファイル、フォルダへの アクセスを確認する方法はありますか。 特別ID、Pass等設けていない、社内の共有ファイルサーバーです。 よろしくお願いします。

  • LinuxのSambaで作成したファイルサーバーにユーザー名、パスワー

    LinuxのSambaで作成したファイルサーバーにユーザー名、パスワードを入力しなくても入れる方法は? ないでしょうか?LinuxのFedora13でSambaを使ってファイルサーバーを作成しました。 クライアントPCはWindowsXPのHomeエディションSP3なんですがXPを立ち上げて、サーバーのフォルダにアクセスするたびにユーザー名とパスワードを求められます。 面倒くさいのでXPを落としてまた起動してもユーザー名、パスワードを求められないやり方とかあるのでしょうか? ■環境 - サーバーOS:Linux Fedora13|クライアントOS:WindowsXP HomeEditionSP3

  • LinuxのAccessログはどこにあるんでしょうか?

    お世話になります。 現在、WindowsとLinuxをイントラネットでつないでて、Sambaを利用してWIndowsからLinuxにアクセスしようとしています。 Windowsからサーバの存在が確認できるところまではいくのですが、それをクリックしてみると、"\\<サーバ名>にアクセスできません。 ~"と表示されてしまいます。 このとき、Linuxのアクセスログを確認したいのですが、/var/logのどのファイルを見ても更新日付が古いので、別の場所にあるのでは?と 思っているのですが、ご存知のかたいないでしょうか?

  • LinuxのDNSサーバーって、、、

    LinuxのDNSサーバーって、 IPアドレス.in-addr.arpa.dbみたいなファイルを一つ一つ手書きするしかないのですか? Windows ServerのDNSは、ほぼ何もしなくても勝手に収集してくれるし、 手動で登録するにしてもIPと名前を入力画面で操作する事ができます。 一方、 LinuxのDNS設定をググってみると、 .com.db(共有正引きゾーンデータベース)を手書きで作成し、 その中で @ IN A 192.168.1.3 という感じでIPアドレスを手書きし、 そのIPアドレスの逆引きゾーンデータベースを別ファイルで作成し、 その中でドメイン名を手書きするような手順が紹介されています。 ファイル名はIPアドレスのセグメントを逆から書くというルールのようです。 1.168.192.in-addr.arpa.db 結構大変そうです。 GUIかTUIで、IPアドレスとコンピュータ名を入力したら、正引き逆引きゾーンデータソースを生成してくれたりする物って存在しないのですか?

  • Windowsのファイルサーバーについて

    Windows2003にてファールサーバーの構築を行い、サーバー側でユーザーを作成し、適当なフォルダを作成し、アクセス権を付与しました。 クライアント側からのファイルサーバーへのアクセス方法は、どのように行えばよいですか? ファイル名を指定して実行にて、「\\サーバー名\共有フォルダ」でコマンドでよろしいですか?

  • LinuxファイルサーバーにWindowsパソコンからはいれない

    お世話になります。 Red Hat Linux9とSambaでWindowsファイルサーバーを作りたいので、adduser でWindowsXP Professionalのパソコンのユーザー名を入力して、passwd でWindowsXP Professionalのログオンパスワードを入力し、smbpasswd -a で同じくWindowsXP Professionalのパソコンのユーザー名とログオンパスワードを入力しました。 そしてWindowsパソコン側からネットワークコンピュータでSamba Server(Linux1)をクリックすると、パソコンによって3つのパターンがあらわれます。 1つ目は、すんなりユーザー名と同名のフォルダを開くことができるパターンです。 2つ目は、「\\Linux1にアクセスできません。・・・アクセス許可がない可能性があります。・・・指定されたネットワーク名は利用できません。」との回答が帰ってくるパターンです。 3つ目は、ユーザー名とパスワードを聞いてくるので、登録したユーザー名とログオンパスワードを入力するが、ユーザー名の欄に コンピュータ名¥ユーザー名 、パスワードの欄に****** と勝手に入力されて帰ってきて、結局アクセスできないパターンです。 これまで何回もインストールしなおしたり、VineLinuxを試したりしましたが、ファイルサーバーができません。助言をよろしくお願いします。

  • Linuxでバッチファイル?

    Linuxをまだ勉強中の身なので教えてください。 Linuxでファイルを実行すると、他のサーバー(AIX)にFTPで接続してその中のホームディレクトリの下にあるファイルをすべてコピーしてくるなんて事はできるのでしょうか? もしできるとして、そんな仕様のバッチファイルをWindowsで作成しておいてLinux上で実行させることも可能なのですか?

  • Linux上でのcvsサーバたちあげ

    Linuxサーバを最近たちあげ、そのうえでcvsを動作させたいのですが、 http://www.tinyforest.gr.jp/memo/cvs.html の説明に "リモートから CVS に接続要求があった場合、 CVS が自動起動できるように /etc/inetd.conf を修正します。 " とあるのですが、そもそもこのファイルが存在しません。 このファイルはどのような時に作成されるファイルなのでしょうか?

  • サーバ上のフォルダのオフラインで「~データがさらにあります」または「~ファイルの終わりです」というエラーがでる

    サーバー上にできた新しいフォルダをノートパソコンでも使えるようにしようと「オフラインで使用する」メニューでファイルの同期を取り始めるのですが、しばらくファイルをスキャンした後、最終的に「~(フォルダ名」を「~(ひとつ上の階層のフォルダ名)」ではオフライン使用可能にできません。データがさらにあります。というわけの分からない日本語のエラーメッセージがでてしまってオフラインファイル化できません。数日前に試したときにも同じようにエラーになって、そのときには最後の「データがさらにあります」が「ファイルの終わりです」というメッセージでした。 ちなにみ同じサーバ上の別のフォルダをオフライン化したら正常にに終了しました。特定の親フォルダのみの症状のようです。しかしその特定の親フォルダにおいても、今までは全く問題なくオフライン化出来ていたのに、突然この症状です。OSはWin2000です。 どなたか、解決方法をご存知の方、助けてください。 よろしくお願いします。