• 締切済み
  • 困ってます

ディレクトリが作れません。

どなたか教えて下さい! 今あるパーティション(マウントポイントは/export/home)配下で mkdir dirname でディレクトリを作成すると mkdir:ディレクトリの作成に失敗しました。"dirname";引数が正しくありません。 とエラーメッセージが表示されてしまいます。 rootユーザで行っても同じで、パーミッション・ディスク容量等には問題ありません。以前は作成できたのですが、ある時を境にこの状況になりました。他のパーティションでは問題なくディレクトリは作成できます。 fsckやformat-analyzeコマンドでディスクを検査しても特に問題は発見されませんでした。何が邪魔しているのか、どなたか教えて頂けませんか?お願いいたします。 環境はsparc solaris8 でdisk suiteを使用してミラーを組んでいます。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数1776
  • ありがとう数4

みんなの回答

  • 回答No.3
noname#189281

参考になればよいのですが。 私の環境で試してみたのですが、この組み合わせのエラーは自分でわざと引数間違えても出せないようです。パーミッションの問題であれば以下のような出力になるようです。   mkdir:ディレクトリの作成に失敗しました。   "dirname";アクセス権がありません。 既にあるディレクトリを指定したり、あり得ないパスを指定したりしてもsasdさんと同じエラーはでませんでした。 sasdさんのエラーは英語表記だと以下ですね。   mkdir: Failed to make directory   <dirname>; Invalid argument それを元に参考URLの情報(英語)を見つけました。 Solaris7ですが、sasdさんの状況と非常に良く似ています。ミラーとか、ディレクトリが作れない場所まで似てます。(詳細はリンク先参照) この時の解決策は以下のように記載されています。 the fix was to replace the mkdir on the affected system (Solaris 7) with mkdir from another system. that there was a difference was evident from ls -l. the correct version's size is 10264. 同構成の別マシンの mkdirコマンドを置き換えてみたところうまくいったそうです。 ls -lで参照したらサイズが異なっていたとのこと。 サイズが異なっていた理由が、パッチレベルの違いなのか、ファイルが破損したせいなのかまでは書いてないようですが。。。 sasdさんのマシンでも ls -l /usr/bin/mkdir で更新日時やサイズを確認してみてはどうでしょうか。 もし他に問題が起きていない同じ構成のマシン(OSとパッチレベルが同じ構成)があれば比較してみるのと、可能であればコマンドを置き換えて試してみるというのはどうでしょうか。 もしくは、最新のmkdirが入ったパッチを当ててみるのも手だと思います。

参考URL:
http://www.sunmanagers.org/pipermail/sunmanagers/2002-March/011987.html

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • ボリューム(マウント後)について

    いつもお世話になります。(Solaris初心者です) 仕事中のトラブルでどうしても原因が分からず困っています。 OS:Solaris10(SPARC版) 型:M3000系のマシンを使用しています。 (既存のディレクトリはNFSの設定しています。) トラブル起きる前作業: 既存のディスク使用容量がなくなってしまったので 新規ディスクに移設(マウント作業実施) ■例として 既存:/export/home 仮新規:/mnt/export/home作成 コピー前にls -laR /export/home/ | egrep -e '^d.+[^.]$'を取得 既存のディレクトリとファイル等を全部コピーして 新規ディレクトリに入れました。 コピー後:ls -laR /mnt/export/home/ | egrep -e '^d.+[^.]$' コピー前とコピー後の差分でdiffを実行した所、差分がありました。 自分なりに調べてみたけど差分らしきものがありませんでしたがよくみるとコピー後のディレクトリ配下にlost+foundがありましたがこのディレクトリはなんでしょう。コピー前はlost+foundはありませんでした。 ご教授をお願いします。 通常cpコマンドでディレクトリ等を別のディレクトリ配下に置く場合、 (この時点では別のディレクトリ配下には何も入っていない状況です。)差分が発生する事はありますか? 後、du -skを投入した所、差分がありました。 全体的に文章に問題がありますが只今テンパって困っています。 (お客様から原因を・・・・) よろしくお願いします。

  • ローカルホストでディレクトリ作成

    いつもお世話になっております。 現在、自宅でphpを使って開発をしています。 mkdirを使用してディレクトリを作成しようとしてるのですが、 サーバー上ではパーミッションの設定をその他に対して書き込み権限を与えればうまくいくのですが、 ローカルホスト上では「Permission denied 」エラーが出てうまく作成できません。 IIS6.0でどうやってパーミッションを操作するのかが分からず困っています。 どのようにすればローカル環境でディレクトリ作成できるかお教えください。 開発環境は以下の通りです。 言語:php5 WEBサーバ:IIS6.0 以上、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • perl(CGI)から作成したディレクトリがFTPで消せないのはなぜ?

    HTMLページからそのCGIを叩くと『年月』の名前のディレクトリを作って、 その中に日毎のアクセスログファイルを作成するCGIを作っています。 ディレクトリを作成するパールは以下です。 mkdir($dir, 0777); しかし実行すると$dirのパーミッションは755になってしまいます、 その中に作成されるファイルは正常に作成されるのですが、 そのディレクトリ/ファイル共にFTPから削除/パーミッションの変更が 出来なくなってしまいます。 telnetから入って削除しようとしても普通のユーザー権限では無理で 削除する為にはルートにならなければなりません。 なぜでしょう?FTPから操作できる権限のディレクトリを作る方法が あるのでしょうか? バカな質問だと思いますが分かる方がいらっしゃいましたら教えて下さい。

    • ベストアンサー
    • Perl
  • 回答No.2
  • 10gate
  • ベストアンサー率42% (50/117)

こんにちは。 touchするとどうなりますか? > touch abc

共感・感謝の気持ちを伝えよう!

質問者からの補足

touchコマンドでの空ファイルの作成は普通に行えます。

  • 回答No.1

 『mkdir:ディレクトリの作成に失敗しました。"dirname";引数が正しくありません。』だけみると単純な記述ミスに思えますが、実際に入力したコマンドとエラー・メッセージがないと回答できないと思います。  もし、Disk Suiteが原因と疑われるなら一時的にDisk SuiteをOFFにして同様の操作をして、どうなるかを確認する事をお勧めします。あとマウントを Read Only にしてマウントしていませんよね?

共感・感謝の気持ちを伝えよう!

質問者からの補足

すいません。例えばディレクトリ名ABCを作成しようとして mkdir ABC とすると『mkdir:ディレクトリの作成に失敗しました。"ABC";引数が正しくありません。』というエラーメッセージをはきます。 またREAD ONLYにはなっていません。vfstabにそのような記述はありませんし、ファイルは問題なく作成できます。ただディレクトリだけが作れないのです。ちなみにDiskSuiteを一時的に無効にすることは システムには影響ないのでしょうか?影響がないのなら一時的に無効にするやり方を教えて頂けないでしょうか? 宜しくお願いいたします。

関連するQ&A

  • 別ユーザ所有のディレクトリ内にファイル作成できない

    こんばんは。 タイトルのとおりですが、まずPHPでディレクトリを作成し、 その中にindex.htmlを作成しようとしているのですが上手くいきません。 PHPで作成したディレクトリの所有者はapacheになっているためかと思い、 実際にFTPを通して自分で作成したディレクトリの中にindex.htmlを作成したところ上手くいきました。 ディレクトリのパーミッションはいずれもスクリプトにより0777を指定しています。 このように、PHPのみでディレクトリを作成し、その中にファイルを作成する といったことが出来ずにいます。解決策等ございましたらお教えください。 参考までに、ソースを掲載しておきます。 これを設置するディレクトリのパーミッションは0777にしてみましたが、出力は「fopen error」になります。 <?php $path = "./dir/"; if(mkdir($path, 0, true)){ chmod($path, 0777); if($fp = fopen($path."index.html", "w")){ fputs($fp, $put); fclose($fp); print "Created!"; }else{ print "fopen error"; } }else{ print "mkdir error"; } ?>

    • ベストアンサー
    • PHP
  • 「mkdir」について

    レンタルサーバでmkdir関数を使ってサーバ上でディレクトリを作成しようとしています。 mkdir("$dir_name",0777); として実行しています。 ディレクトリは作成されるのですが、パーミッションの変更がされず755で作成されてしまいます。 それから大きな問題がもうひとつ。 作成されたディレクトリをffftpで見ると所有者が nobodyとなっており、ディレクトリの削除ができません。(削除できないのが一番の問題ですが後回しにします) パーミッションの変更ができない点や、所有者がnobodyとなるのはサーバの仕様なんでしょうか? これがサーバの仕様ならば、サーバ上でディレクトリを作成しパーミッションを変更するのは不可能となってしまうのでしょうか? ご教授お願いいたします。

    • ベストアンサー
    • PHP
  • OSインストール時のエラー

    CD-bootよりインストールしました。システムにインストール後、自動リブートを選択したのですが、ディスクが構成できないとのメッセージが出力されます。 ディスクは、他のOSをインストールしていたもので、solarisでFormatしなおして います。 OSはSparc版のSolaris8です。

  • Solarisを再インストールしたいのですが。

    Solaris10をSunMicro社製のマシン『ULTRA10』に再インストールする為、一度完全にフォーマットしたいのですが、『format』コマンドではできませんでした。 Solaris10は、SunのホームページからSPARCのISOファイルをダウンロードして、CD-ROM(計4枚)に焼きました。 インストーラを使用してフォーマットしようと考え、2枚目のディスクに入っている『Installer』を使用しても『パーティションの容量が足りない為』という警告が出てしまいます。このまま続行しても良いのか判らなかった為、『インストール開始』ボタンは押していません。 ずっと苦戦していて困っています。詳しい方教えていただけないでしょうか?よろしくお願い致します。

  • PHPから外部コマンドを使ってファイルやディレクトリを新規作成するには?

    LinuxのFedora10で、PHPで外部コマンドを使ってサーバ内にディレクトリを新規作成したいのですができません。 /var/www/uuu内に、index.phpを設置し、その中の一部に以下のようなスクリプトを書いています。 <?php system("pwd"); system("touch fff"); system("mkdir ddd"); ?> system("pwd")は/var/www/uuuという結果を出してくれます。しかし、system("touch fff")やsystem("mkdir ddd")に関しては全く結果を出してくれません。 (PHP自体のエラーではないようです。) どうやら、外部コマンド自体はうまく機能してくれているみたいなのですが、ディレクトリやファイルを新規作成することができないようなのです。 /var/www内のディレクトリuuuのパーミッションを777にして、オーナーを一般ユーザにしてやってみても同様にうまくいきません。 どのようにすれば、PHPから外部コマンドを使ってファイルやディレクトリを新規作成することができるでしょうか? よろしくお願いします。

  • Solarisのディスクフォーマットについて

    はじめまして。 現在、solaris9の再インストールを行っておりますが、 インストール途中(ファイルシステムの配置後のインストール)に 下記のエラーが表示され、インストールが止まってしまいます。 "構成済みシステムファイルをマウントできませんでした。" 既に入っているsolaris9(sparc 64bit)のディスクを一旦 フォーマットして再インストールを開始したいのですが、 format コマンドを使用しても下記のメッセージがでてコマンドが使えません。 "Cannot format this device. Please use your Manufacture supplied formatting utility." どなたかsparc版のディスクフォーマットの方法をご存知な方、 教えていただけませんでしょうか。 機種:sun blade 150

  • corrupt label - wrong magic number

    sun fire v100にsolaris8をインストールしようとsoftware 1/2の cdを入れてboot cdromを実行すると、タイトルのエラーメッセージが出て インストールが続行出来ません。 色々調べたところ、どうやらHDDの先頭にディスクラベルがないことが 原因のようで、formatコマンドでHDDにディスクラベルを作成する 必要があることが分かりました。 formatコマンドはsolarisのOS上から行う必要がある ということでしたが、solarisはまだインストールされていないので formatコマンドが実行できません。 solarisなしでHDDにディスクラベルを作成する方法は ありますでしょうか。 またはディスクラベルを作成する以外にこの問題を回避する 方法がありましたらよろしくお願いします。

  • tarでディレクトリのみをアーカイブしたい

    【質問】 Solaris8 純正のtarコマンドで、ファイルを除いてディレクトリのみをアーカイブする良い方法を模索しています。 【背景】 ディレクトリ構成をtarで抽出し、別のマシンで解凍する(/export/homeなど)際に、配下のファイルサイズが大きく時間がかかるため、抽出の際にファイルを除外しておきたい 【前提】 tarでアーカイブする際、ディレクトリを指定すると配下のファイルも再帰的にアーカイブされてしまう。 【詳細】 例えば、以下のようなディレクトリ構造のとき、 AAA/ AAA/aaa/ AAA/aaa/hoge.c BBB/ BBB/foo.txt ディレクトリのみをtarアーカイブして、 AAA/ AAA/aaa/ BBB/ という内容のtarアーカイブを作成するとき、私は以下のようなやり方をしています。 A.全抽出→解凍→ファイル消し→再抽出 # tar cf - AAA BBB | (cd /tmp/work; tar xvf -) # cd /tmp/work # find . -type f -exec rm {} \; # tar cvf /dev/rmt/0 AAA BBB B.除外リスト作成→除外リスト指定で抽出 # find AAA BBB -type f > exclude-list # tar cvfX /dev/rmt/0 exclude-list AAA BBB どちらも結果的にはディレクトリのみ抽出できるので問題はないのですが、ちょっと手間がかかります。コマンドライン1行でできる良い方法があれば教えて下さい。 # そもそも【前提】が私の思い込みかもしれないので、 # 「違うよ」という指摘があればお願いします。

  • solaris8 SDS 環境でのディスク障害

    教えてください。 SPARC Solaris8 環境でSDSを使用してRAID構成で動作しています。 通常ディスク2台でミラーリングしていますが、1台のディスクに障害が発生しホットスペアが動作しました。 で、不良のディスクを交換し、ミラーリング終了&ホットスペアも使用可能になったので、一度システムを再起動したところ再度ホットスペアが作動しました。 交換作業に問題は無いはずなのですが・・・ 手順的には、metadbにて削除、luxadmにてディスク交換後formatにてパーティションの設定、metadbにて作成、metareplaceにて再構築です。 交換後は、metastatで再同期中→正常となるのを確認しました。 messagesで確認すると、起動時にミラーディスクがニードメンテナンスと認識され、ホットスペアに切替えたみたいな感じでした。 どなたか原因を推測できる方よろしくお願いします。

  • chmodでのパーミッション

    実行すると、同じディレクトリにあるディレクトリとその中のファイルを同じ階層にディレクトリを新規に作って、その中のファイルを全部コピーするスクリプトを組んでいます。 コピーはうまくいったのですが、パーミッションの設定がうまくいきません。 例えば @chmod("$dir/xxx.cgi",0755)or die("エラー"); と書くと、パーミッションは363になってしまいます。 5ファイルくらいあるのですが、他のパーミッション(例えば666など)も137になってしまいます。 Webを検索してもこういった事例にはおめにかからないのですが、私の使っている2つのサーバーで、どちらも同様の結果でした。 何がいけないのでしょうか? よろしくお願いいたします。 #ついでにmkdirも作成はできるのですが、パーミッションが必ず755になってしまいます。 #作成されたディレクトリやファイルのownerは、1つめのサーバーではnobody、もう一つのサーバーではログインユーザーになります。 #サーバーはどちらもLinuxです。 #PHPのヴァージョンは、1つめが4.3.1、2つめが4.3.4です。 よろしくお願いいたします。

    • ベストアンサー
    • PHP