インストール用のソースダウンロードはどこに保存すればよいですか?


10

以前はすべてを/ tmpにダウンロードしていたので、make; sudo make install通常はこれらのファイルはもう必要ありません。

しかし今、私はソースからインストールされたプログラムをアンインストールする唯一の方法がmake uninstall(利用可能な場合)を使用することであることに気付きました。したがって、後で必要になった場合に備えて、ダウンロードを保存しておく必要があります。

では、どこに保存すればよいですか?Linux用に設計された場所はありますか?


問題を回避します。可能な場合はパッケージからインストールします。
マイケルハンプトン

@MichaelHampton時々それはオプションではない(私は思う)、例えば:サードパーティのモジュールを追加したい場合、nginxはフォームソースをインストールする必要があります。
ChocoDeveloper 2013

回答:


16

ソースコードを保持するためにFilesystem Hierarchy Standardによって定義され場所は/usr/srcです。を使用することもできます/usr/local/src。これは、ソフトウェアがどこから来たのかを説明するためです(つまり、ソフトウェアをビルドしたが、ディストリビューションはそうではなかった)。

ただし、FHSは実際にはルートとしてコンパイルすることを想定していないため、このディレクトリからソースコードをビルドしてはならないことに言及しているため、インストール後にソースツリーをそこに移動するとします。しかし実際には、私は気にしません。私は組み込みのすべてを保持しますが~/Code、これはより広いパーティションにあります。基本的に、広く受け入れられている規約はありません。あなたは自分のために働くことをするだけです。

また、コマンドから基本的なパッケージを作成するすばらしいソフトウェアであるcheckinstallご覧ください。(おそらくディストリビューションのリポジトリにあります。)基本的に、実行する代わりに

sudo make install

あなたはの線に沿って何かを実行します

sudo checkinstall make install

これは、作成中のパッケージについてクイズを出し、ウォッチがmake installすべてをインストールしてから、パッケージマネージャーでクリーンにインストールおよびアンインストールできるパッケージをビルドします。checkinstallは、dpkgベースのシステム(Ubuntu、Debianなど)、RPMベースのシステム(Fedora、RHELなど)、およびSlackwareベースのシステム用のパッケージをビルドできると思います。Archを実行している場合は、checkinstallを気にしないでください。代わりに、PKGBUILDの使用を検討してください。

お役に立てば幸いです。


パッケージについて言及する場合は+1。私が思うのは、必要だった(しかし尋ねられなかった)答えです。
ヘネス2013

ありがとう!現在、checkinstallを使用していますが、これまでのところ見事です。最後の質問です。.debを保持する必要はありませんよね?dpkgは、なくなった場合でもアンインストールする方法を知っています
ChocoDeveloper

そのとおりです。すべてのパッケージマネージャーは、パッケージによってインストールされたファイルのリストを保持しているため、ビルドしたパッケージをインストール後に削除できます。
13

5

ソースファイルの場所は指定されていません。誰もが自分の習慣を持っています。

ただし、次の3つのオプションを検討してください。

  1. ルートのhomedir(動作しますが、/上にありますが、通常はかなり小さいです)。
  2. / usr / local / src /(または実際には/ usr / local /の下にあるもの
  3. パッケージを介してインストールし、パッケージマネージャーを使用してアンインストールします。

長期的なメンテナンスには、オプション3をお勧めします。自分で(ソースから)パッケージをビルドする必要がある場合でも。その場合、次のようになります:パッケージの選択/パッケージのインストールに応じて、いくつかの構文でuntar / configure / make / make package

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