2011-06-28 8 views
-2

こんにちは私は自分のサーバからクライアントマシンにscpしたCプログラムを持っていました。私のクライアントマシンは、ubuntuシェルを実行していました。重要ではありません。ファイルの種類をlinuxコマンドでCの実行可能ファイルに変更する

オペレーティングシステムでは現在、C実行可能ファイルは単なるファイルとして表示されています。これをどうやって変えますか?

注:私のオペレーティングシステムのシェル機能の多くは削除されていますので、複数のソリューションを投稿することをお勧めします。

注2:ファイルをscpまたはcpして実行ファイルとして保存する方法はありません(私の非常に特殊な設定のため)。

ありがとうございました。

+1

/lib/ld-linux.so.2 your.executable – osgx

+2

「C実行可能ファイル」のようなものはありません。ただ実行ファイルがあります。デスクトップとサーバーが、互換性のあるシステム(依存ライブラリの場合)と同じアーキテクチャ(バイナリがまったく動作する)と同じであることを確認してください。 –

答えて

2

chmod +x ./fileです。 Unixのどのようなものでも、ある程度はchmodであるべきです。

+1

または実行中のウィンドウ –

+0

chmodが削除されている場合は.exeを追加してください。 – Rell3oT

+1

@ Rell3oT:あなたはchrootや刑務所などの内部にいる必要があります。それはまれです。 –

1

Unix/Linuxは、 "filetype executable"について何も知らない。あなたが意味することは、cnicutarが答えたようなものです。+ xフラグ。

このフラグは、バイナリとしてと表示されます。このフラグはファイルアクセス許可で、を実行し、バイナリファイルを実行する必要があります。

scpの後に+ xフラグが残っていない場合、信頼できないソフトウェアを実行しないように、システム管理者がフラグnoexecをファイルシステムに設定している可能性があります。

+1

cpまたはscpを実行すると、 'ld-linux.so.2'があります。 ld-linux.so.2は 'noexec' fsでファイルを開始しますか? – osgx

+1

私は、シェルアカウントをユーザーに与えているのではなく、ただ一つのファイルシステムを持つシステムを見たことがありません。 –

+1

いいえ、ld-linux.so.2はnoexec fsでファイルからテキストセグメントをロードしません。しかし、Rell3oTにnoexecがない場合は? – osgx

関連する問題