コンパイルするsrcファイルの正しい場所は?


1

srcファイルをダウンロードしてコンパイルしたいプログラムがいくつかあります。それらはgitを介して取得されるため、更新を簡単に取得して再コンパイルできます。私の理解では、これらのファイルの正しい場所は/ usr / local / srcです。

しかし、make install以外のソースコンパイルにsudoを使用することを思いとどまっていませんか(ほとんどですか?/ usr / local / srcにユーザー権限を与える必要がありますか?それとも私は完全に間違っていますか?


次のように、ソースコードをホームディレクトリに配置するだけです。/home/<username>/Code/...
Ash

私はそれを行うことを考えましたがtig、例えば、それはmakeだけで、make installではありません。手動でバイナリを/ usr / local / binに追加します。自分のホームフォルダーに配置すると、自分だけがアクセスできるようになります。XnViewコンパイルをまったく行わない別の例です。
CrimsonKing

ああ、単に「ソフトウェアを開発する」のではなく、システムで実行するツール/モジュールを構築しているように聞こえますか?それを/ usr / localに置く方が良いかもしれませんが、すべてを「sudo」しなければならないというあなたの本能は正しいです-推奨されません。
アッシュ

回答:


1

プロセスの構成および作成部分は、権限を昇格せずに実行する必要があります。それが正常に完了すると、スーパーユーザーの役割(つまりsudo)でインストールが実行されます。通常、ソースのストレージは$ HOME内にあり、そこでコンパイルが実行されます。私は思い強くネイティブパッケージ管理を経由してお使いのシステム(複数可)への統合のためのプロジェクトをパッケージをお勧めします。

答え:いいえ、 '/ usr / local / src'の許可を変更しないでください。ビルドに$ HOMEを利用するだけです。


疑問に思う-インストールするための特権を与えた場合、設定および作成するための特権を与えることはどのような違いがありますか?
CrimsonKing

特権の昇格は、どうしても必要な場合にのみ呼び出す必要があります。ビルドの構成および作成部分では必要ありません(通常、バイナリは正常に完了した後に作成されます)。インストールフェーズでは、権限の昇格が必要なfsやリンクなどの変更が必要です。
swa

0

管理者が決定するのは「正しい場所」というものではありません。確かに、従来のLinux管理者はソースファイルを配置/usr/local/srcしますが、自由に配置できます。$HOME好きな場所に配置することもできます。

さて、あなたがソフトウェアをインストール/コンパイルされている場合は、ある管理者。したがって、にアクセスするためにルートに切り替えてはならない理由はありません/usr/local/src。としてコンパイルしない理由はまったくありません。rootこれは、私がこれまでに知っているすべてのシステム管理root者が行うことであり、管理タスクを実行するためにユーザーが存在する理由です。これには、ソフトウェアのコンパイルとインストールが含まれます。

あなたがしているのであれば、開発のソフトウェアを、あなたにそれを行う$HOMEあなたがしている場合は、インストールソースから他の人のソフトウェアを、としてそれを行うroot/usr/local/src、あなたがそう望むならば。個人的に、$HOME/Setups$HOMEはプログラムをコンパイルします。これは、私のパーティションが別のパーティションにあり、システムのアップグレード/再インストールが容易になるためです。ただし、これは個人的な選択であり、適切なシステム管理者はとしてコンパイルし/usr/local/srcますroot

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.