Goバイナリディストリビューションを「/usr/local/」にコピーするのは良い習慣ですか? [閉鎖]

Goバイナリディストリビューションを「/usr/local/」にコピーするのは良い習慣ですか? [閉鎖]

Go インストール Web ページから

アーカイブをダウンロードして/usr/localに抽出し、/usr/local/goにGoツリーを作成します。たとえば、

tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz

インストールに適したアーカイブファイルを選択します。たとえば、Linuxに64ビットx86用のGoバージョン1.2.1をインストールする場合、必要なアーカイブ名はgo1.2.1.linux-amd64.tar.gzです。

(通常、これらのコマンドはrootまたはsudoを介して実行する必要があります。)

PATH 環境変数に /usr/local/go/bin を追加します。 /etc/profile (システム全体のインストールの場合) または $HOME/.profile に次の行を追加します。

export PATH=$PATH:/usr/local/go/bin

私のディレクトリ階層/usr/localは次のとおりです。

$ ls /usr/local/
bin  etc  games  include  lib  man  sbin  share  src  texlive

抽出されたGoバイナリディストリビューションは適切ですか/usr/local? Goのバイナリディストリビューションをコピーするのは良い習慣ですか/usr/local/

そうでない場合は、どこに配置するかを提案できますか?/opt私のホームディレクトリはより良い場所ですか?

ありがとうございます。

答え1

私の提案はいいえGo言語のウェブサイトのインストール手順に従ってください。

代わりに、ディストリビューションに適したパッケージをインストールしてください。

たとえば、Debian は golang 1.6.1 と数百の Go ライブラリをパッケージ化しています。

Ubuntuにも1.6.1があります。 http://packages.ubuntu.com/xenial/devel/golang

apt-get install golangコンパイラ、ドキュメント、 golang ソースコードがインストールされます。

apt-cache show -n golangパッケージ名に「golang」を含む他のすべてのパッケージのリストを提供します。一見するとDebianほど多くはありません。


実際に直接コンパイルしてインストールする必要がある場合は、少なくとも以下を使用する必要がありますcheckinstall

CheckInstallは、インストールスクリプト(「make install」、「make install_modules」、「setup」など)によって生成または変更されたすべてのファイルを追跡し、標準のバイナリパッケージをビルドしてシステムにインストールするため、展開バージョンを使用して削除しますできます。標準パッケージ管理ユーティリティの1つです。

ホームページ:http://checkinstall.izto.org

コンパイルしたGoライブラリと一緒に使用してください。

答え2

~によるとFHS/usr/local/丁度この目的のために:

/usr/local階層は、システム管理者がソフトウェアをローカルにインストールするときに使用します。

これ代わりに /opt:

/opt追加のアプリケーションパッケージのインストール用に予約されています。
インストールするパッケージ/optには、別のディレクトリツリーに静的/opt/<package>ファイルが必要です/opt/<provider>

別のツリーは/usr/local、異なるパッケージを互いに分離して維持し、更新、削除を簡素化し、同じプログラムの複数のバージョンを維持するのに役立ちます。どちらかを選択するのは、/usr/local主にシステム管理者によって異なります。

答え3

通常、インストール手順に従うことをお勧めします。

私の考えでは、Goアイテムを 。下に置くのが良い考えのようです/usr/local/go。これにより、そのディレクトリ階層を削除して更新する前にインストール全体を簡単に削除できます。

シェル変数に適切なパスを追加する限り、必要に応じてまたは目的の場所/opt/opt/go変数を配置することを防ぐことはできません。/sw$HOME/localPATH

ソフトウェアが下に独自の階層を作成することは前例がありません/usr/local。一部のBSDシステムでGNUをインストールすると、(プレフィックス付きの一般的なユーティリティ)などのプログラムがからのシンボリックリンクとしてcoreutils生成されます。/usr/local/gnuglsgcpgrmg/usr/local/bin/usr/local/gnu/bin

関連情報