4

C/C++ で記述されたプログラムを Linux に展開するのは初めてで、この状況であなたならどうするだろうかと思っています。

構成ファイル ( myprogram.conf. しかし、このファイルを にデプロイするための Makefile を作成すると、構成ファイル/usr/bin/はどこに移動する必要がありますか? そして、実行可能ファイルはどのようにしてそれがどこにあるのかを知るのですか?

4

4 に答える 4

8

無限の選択肢がありますが、最良の方法はいくつかのことに依存します。まず、それはユーザー固有の構成ファイルですか、それともすべてのユーザーに対してグローバルですか?

ユーザー固有の場合は、たとえば、 ~/.myprogram/config.file に保存して、プログラムにそこでチェックさせることができます。ユーザーへのサービスとして、見つからない場合にどうするかを決定するのはあなた次第です。たとえば、別の場所からデフォルトの構成をコピーするか、デフォルトを生成するか、ハードコーディングされたデフォルト オプションを使用するか、構成ウィザードを表示します。 、または単に失敗します。それは完全にあなた次第です。

それがグローバルである場合、Linux に配置する伝統的な場所は /etc です (例: /etc/config.file または /etc/myprogram/config.file)。Linux ファイル システムの構造を参照してください。通常、Linux では常に /etc を使用します。ファイルが存在しない状況の処理は、上記と同じです。それを処理する「正しい」方法はありません。それは、ユーザーにとってどれだけ便利にしたいかだけに基づいています。

私がグローバル設定ファイルに対して通常行うことは、インストール時に /etc/wherever に配置し、プログラムのデフォルトで /etc/wherever から設定ファイルをロードするようにすることですが、設定ファイルを上書きするコマンド ライン オプションも提供します (特に、テストまたはその他の状況)。

不足している構成ファイルを処理するために私が通常行うことは、完全にアプリケーションに依存します。通常、ハードコーディングされたデフォルトを使用するか (それが適切な場合)、単純に失敗して構成ファイルを説明するドキュメントにユーザーを誘導します (インストーラーが構成ファイルをインストールする状況では適切だと思います)。

それが役立つことを願っています。

于 2013-08-02T23:05:38.203 に答える
2

それは、構成パラメーターが何であるか、およびそれらが「システムごと」か「ユーザーごと」か「グループごと」か、または...

通常、システム構成は のどこかに存在し/etc/...ます。プログラムが存在するのと同じディレクトリも非常に良い場所です。

ユーザーのホーム ディレクトリ内のユーザー構成。

「グループ」ごとに構成ファイルがあるスキームを考え出す必要があるため、グループ構成は最も扱いにくいものです。/etc/myprog/groups/<groupname>/configまたは同様のものが機能します。

于 2013-08-02T23:06:28.190 に答える
0

構成ファイルはどこにでも置くことができますが、プログラムが読み書きする他のファイルと同じディレクトリに配置しようとします。

実行可能ファイルがそれを見つける方法については、コマンド ラインで実行可能ファイルへの構成ファイルのパスを引数として渡します。デフォルト値は "." です。(これは現在のディレクトリであり、実行可能ファイルを起動したときのディレクトリです)。

于 2013-08-02T22:59:46.547 に答える