お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2012-05-07 14:04:28

kkouuuuu_5mata
新しいメンバ
登録日: 2012-05-07

VirtualBox上にインストールしたUbuntuから外付けHDDの権限変更ができない

はじめまして。
最近、知り合いに勧められてVirtualBox上でLinux(Ubuntu)を動かすことで、
簡単に計算環境を構築できるというお話を聞いたので、試しているところです。

VirtualBox ver.4.1.14にUbuntu 12.04を入れております。
そこにIntel fortranを入れ、PATHも通してホームディレクトリ上ではコンパイルと実行を行うことができました。

しかし、外付けHDD上では同じプログラム("Hello World"と書き出すだけのプログラム)をコンパイルすることはできても、
出来上がった"a.out"などの実行ファイルを実行することができず、

*********************************************
./a.out: コマンドが見つかりません
*********************************************

というエラーで終了してしまいます。
よくよくディレクトリの状態を確認してみると、外付けHDD自体の権限が

******************************************************************************************
4 drwx------  1 user  user    4096  5月  5 09:07 外付けHDD
******************************************************************************************

となっていたので、

*********************************************
$ sudo chmod -R +x 外付けHDD
*********************************************

としたのですが、lsでいくら確認してもディレクトリの権限が変化しません。

調べてみると、マウントがうまくいっているとかいないとかいうお話が出てきました。

マウントの状態を”fdisk -l”で確認してみると


******************************************************************************************
Disk /dev/sdb: 999.5 GB, 999501594624 bytes
ヘッド 255, セクタ 63, シリンダ 121515, 合計 1952151552 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x00052f35

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            2048  1952151551   976074752    7  HPFS/NTFS/exFAT
******************************************************************************************

となっており、マウントできているような気がします…。

どうやったら外付けHDD上でコンパイルした後にできる実行ファイルを実行できるのか教えていただけると幸です。
よろしくお願い申し上げます。

オフライン

 

#2 2012-05-08 01:28:54

epii
メンバ
登録日: 2008-12-11

Re: VirtualBox上にインストールしたUbuntuから外付けHDDの権限変更ができない

Windows のファイルシステムでは Linux と同じような権限管理をしていないため、
マウント時にファイルやディレクトリのパーミッションが一様に決まってしまいます。
Gnome (というか Nautilus?) の自動マウント機能だと、
ファイルは (*.exe を除いて) 644、ディレクトリは 700 でマウント
されるようなので、実行可能フラグ (x) が立たずにエラーが起きていたのでしょう。
(試してみたところ、「コマンドが見つかりません」ではなく「権限がありません」と
怒られるのですが…何か間違えていないでしょうか?)

手元の環境では一度 umount して、
$ sudo umount /media/(自動マウント先)
再度 mount すると、
$ sudo mount /mnt/(新しいマウント先)
パーミッションが 755 でマウントされるようなのですが、
これでいかがでしょうか?


# それとあまり質問内容とは関係ありませんが、
# どうしても仮想環境上だと処理が重くなってしまうので、
# (テスト目的なら問題はありませんが) 本格的に計算するのであれば、
# きちんと HDD にインストールして起動することを強くお勧めします。

オフライン

 

#3 2012-05-08 10:00:05

kkouuuuu_5mata
新しいメンバ
登録日: 2012-05-07

Re: VirtualBox上にインストールしたUbuntuから外付けHDDの権限変更ができない

epiiさん

ありがとうございます!
おっしゃるとおりに触ってみましたら、ちゃんとパーミッションが755となり、実行可能になりました!
(ちゃんとHello Worldと出たので、他のプログラムもきっと走ると思いたいです)
自動マウント機能により700でマウントされてしまうとは知りませんでした。
初心者で申し訳ありません。

実行時のエラーについては、
確かに「コマンドが見つかりません」なのですが、
スーパーユーザー["$ sudo -i"の状態]で処理してしまったのでちょっと違うエラーになったみたいです。

さらにアドバイスいただきありがとうございます。
今まで自分の扱っているデータが大きく、自宅で作業すると考えることはなかったのですが、
最近になり、仮想環境を複数の方から勧められたのと、
大きな容量の外付けHDDが手に入ったので試みてみた次第です。
出先で突発的に作業をする必要がある時以外の本格的な作業は、
おっしゃるとおりちゃんとしたLinux環境で計算する必要があると思います。

今回は質問にお応えいただき誠にありがとうございました。

オフライン

 

Board footer

Powered by FluxBB