「./configure」ファイルを実行するadb「Permission denied」


9

configureAndroidスマートフォンでファイルを実行する必要があるので、これを行う最善の方法はadb shellコマンドを使用することだと思います。

Windows 7プラットフォームでAndroidエミュレーターを実行していadb shellて、DOSウィンドウでコマンドを実行しています。cdコマンドを使用して、configureファイルがあるディレクトリに移動し、次のコマンドを実行します./configure。次のエラーが発生します。

./configure: permission denied

だから私はルートモードでadbを実行しようとしていますadb rootが、どうやら私のadbはすでにルートモードになっています(さらに、私のadbシェルの各行の前に「#」文字があります)。

私も使用しようとしましたchmodが、このコマンド(ls -la)を実行する前後で違いは見られないので、おそらく問題があります(chmodコマンドを実行するにはどうすればよいですか?)。

たぶん、ここの誰かが私の問題を手伝ってくれるかもしれません、そしてあなたが私のconfigureファイルを実行する権限を持っていない理由についての説明もあれば、それは素晴らしいでしょう。

ありがとう。

PS:ここでの私の目標は、このプロジェクトのソースをプラットフォームに直接コンパイルして、Androidプラットフォームでnet-snmpパッケージを使用することです。


3
それがおそらく問題です。/sdcard通常noexec、Androidではフラグを使用してマウントされるため、そこからバイナリを実行することはできません。それを別の場所に移動することをお勧めします(/data/localそのようなものによく使用されます)。それで問題が解決するかどうかを確認します。
eldarerathis

3
また、それをコピーする/usr/local/tmp(ディレクトリ全体のnet-snmp-5.7.2ディレクトリを/sdcard
リアム・W

1
@ t0mm13b ルートエクスプロイトなど、デバイス上でファイルを実行する必要がある人々にとって役立つ可能性があるため、これトピック外であるかどうかは完全にはわかりません。
リアムW

1
わかりました。ここでの質問は、開発の質問よりも、adbシェルを使用してスクリプトshを実行する方法に関するものでした。しかし今私は解決策を持っています:「/ sdcardはnoexecフラグでマウントされている」ので、eldarerathisまたはLiam Wがコメントを実際の回答にしたい場合はそれを検証します。または、質問を閉じる方法を教えてもらえますか?
grattmandu03

1
@ grattmandu03私はすでに持っています;)
リアムW

回答:


10

これは2つの原因によるものです。

  1. ファイルには実行権限がありません[AND]
  2. SDカード上にあるため、ファイルは実行権限を取得できません。SDカードのファイルシステムはファイルのアクセス許可を受け入れることができますがnoexec、コメントに記載されているように、フラグでマウントされています。これにより、実行中のファイルが停止します。

解決:

  1. ルートとしてnet-snmp-5.7.2ディレクトリにディレクトリをコピーし/data/local/tmpます。
  2. rootとしてconfigure実行して、ファイルを実行可能に設定しますchmod 0777 /data/local/tmp/net-snmp-5.7.2/configure
  3. これで、入力/data/local/tmp/net-snmp-5.7.2/configureしてEnter キーを押すことにより、構成スクリプトを実行できるようになります。

注意

これはすべてrootユーザーとして実行する必要があります:)


8

コメントとLiamの回答で説明されているように、これはnoexec、SDカードをマウントするときにシステムが使用するフラグが原因です。あなたの場合configure、ファイルが(それが通常のように)シェルスクリプトで、あなたはまだ実行されるように、それをだますことができます。

cd上記のようにディレクトリに移動し、を実行しsh configureます。

shはシェルインタープリターです。そのバイナリは/system/bin、ファイル実行可能なにある必要があります。スクリプトを最初の引数として渡すと、スクリプトを実行する新しいシェルプロセスが開きますconfigure


ご回答有難うございます。sh configureトリックを行います。
grattmandu03 2012

1
確認していただいてありがとうございます!そして、私が助けることができてうれしいです。私はこのトリックをLinux / Unixマシンで時々使用します:)
Izzy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.