特定のファイルを実行可能にする必要があるのはなぜですか?

特定のファイルを実行可能にする必要があるのはなぜですか?

私は先週以前にWindowsを離れたことがなく、elasticsearch/logstash/kibana/jdk8を使用して仮想マシンを作成するように求められました。

私はsudoerではなく一般ユーザーを使用しています。

各tar.gzファイルを抽出して4つのフォルダを取得しました。

最初にelasticsearchを起動するには、chmod +xを使用して "elastisearch"ファイルを実行可能にする必要がありました。その後、別のファイルを実行できる必要があるため失敗しました。その後、Java JDKのbinフォルダにある一部のファイルを実行可能にする必要があるため、失敗しました。

Linuxにエントリをインストールする他の方法はありますか?それとも毎回「どのファイルをchmodする必要があるのか​​見てみましょう」というゲームですか?

ありがとうございます。

PS:CentOs 7を使用しています。

答え1

Linuxにエントリをインストールする他の方法はありますか?それとも毎回「どのファイルをchmodする必要があるのか​​見てみましょう」というゲームですか?

はい、権限を含むソフトウェアの公開に関するさまざまな問題を解決する基本的なパッケージマネージャを使用するベンダーと呼ばれます。一部のISVは、「管理者がこの問題を解決します」という標準的な期待を持つ習慣を持っています。このようにしなければならない場合もありますが、ワークフローだけによく従ってくれたら、多くの問題が解決されたはずです。

場合によっては、結果ファイルが最初にアーカイブに含まれていた場合は、結果ファイルに対するファイル権限を保持するように指示するコマンドにpオプションを指定していない可能性があります(表示する必要があります)。 。tartar

元の質問に:

特定のファイルを実行可能にする必要があるのはなぜですか?

これはアクセス制御アクションです。ファイルが独自に実行されないようにする方法を提供します。たとえば、インストーラのディレクトリツリーに最終実行可能ファイルが含まれていますが、インストーラ以外のものを実行できないようにしたい場合です。または、スクリプトを作成していますが、完了するまで他の人が実行したくない場合。

答え2

はい、通常はスクリプトを手動で実行可能にする必要がないソフトウェアをLinuxにインストールする別の方法であるパッケージマネージャがあります。

あなたの場合、CentOSを使用している場合は「yum」です。このプログラムは、選択したオペレーティングシステムに付属のいわゆるリポジトリにあるソフトウェアをインストールできます。

以下のリンクでは、CentOSにLogstash、Elasticsearch、およびKibanaをインストールする方法について説明します。

https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elk-stack-on-centos-7

質問に戻ります。オペレーティングシステムリポジトリにインストールするソフトウェアがない場合は、それを提供する他のリポジトリを参照できます。これら2つのオプションが利用できない場合にのみ、ソフトウェアを手動でインストールすることを検討してください。特に経験のないユーザーの場合は、常にリポジトリからソフトウェアをインストールすることをお勧めします。

「yum」を使用するコンピュータへのrootアクセス権が必要です。

以下はyumの簡単なチュートリアルです: https://linuxmoz.com/linux-yum-tutorial/

答え3

ファイルを実行するには実行可能にする必要があります。Unixシステムは、Windowsのようにファイル拡張子を使用するのではなく、権限を使用して実行可能ファイルを決定します。

特定のファイルを手動で実行可能にすることはほとんど必要ありません。コンパイラは、プログラムをコンパイルするときにこれを行います。アーカイブからファイルを抽出すると、アーカイブはその権限を割り当てます。プログラムを抽出したアーカイブに無効な権限がある場合は、そのアーカイブを作成した人が奇妙なことをして権限が悪くなったことを意味します。

Linuxにソフトウェアをインストールする一般的な方法は、パッケージマネージャを使用することです。展開に使用できるパッケージがない場合、または root 以外のユーザーとしてソフトウェアをインストールする必要がある場合にのみ、別の方法を使用する必要があります。 CentOSはElasticsearchには付属していませんが、Elasticsearchは一部のディストリビューションのパッケージ配布(CentOS ≥6を含む)。 Elasticsearchが提供するRPMパッケージを使用するのが最も簡単なインストール方法です。

公式確認してみるElasticsearchが配布するtarアーカイブ、必要に応じて実行権限があります。そのため、使用している破損したアーカイブの代わりにこのアーカイブをインポートして解凍してください。

しかし、仮想マシンを作成すると、ルートではないことを理解していません。ホストマシンのルートかどうかは問題ではありません。仮想マシンを設定する場合、特にここにオペレーティングシステムをインストールする場合は、仮想マシンのルートであり、実行中のオペレーティングシステムにRPMパッケージをインストールできます。仮想マシン。

答え4

他のオプションがあります。たとえば、開発にはVagrantを使用することをお勧めします。簡単なvagrantコマンドを使用して、ELKスタック(Elasticsearch、Logstash、およびKibanaを含む)をすべて一緒にインストールできるELK vagrantボックスがたくさんあります(これに関するチュートリアルはすぐに作成される予定です)。 vagrant boxは、Javaを含む必要なすべてのコンポーネントをインストールします。もちろん、試してみることができるホスティングELKソリューションがあります(公開 - 私はELKでサービス会社として働いています)。

関連情報