GNU/Linux >> Linux の 問題 >  >> Linux

Update-golangスクリプトを使用してLinuxにGolangを簡単にインストールする

Goのインストール Linuxのプログラミング言語は大したことではありません。 Go言語のインストールと構成には数分しかかかりません。良い点は、 Update-golangを使用してLinuxにGolangをインストールするのがさらに簡単になったことです。 スクリプト。

Update-golangは、最小限のユーザー操作で最新のGolangバージョンを簡単にフェッチしてインストールするためのシェルスクリプトです。このスクリプトを使用すると、誰でもLinuxマシンに安定したGoリリースを簡単にインストールできるようになります。すべてが自動化されています!このスクリプトを実行して、座ってください。このスクリプトは次のことを行います:

  1. まず、Update-golangスクリプトは、Golangのリリース履歴ページから利用可能な最新のGolangバイナリを検索します。
  2. 次に、LinuxシステムのOSバージョンとアーキテクチャを検索して、一致するバイナリをダウンロードします。ダウンロードしたファイルは、/usr/localに保存されます。 ディレクトリ。 Goのインストール後に削除できます。
  3. 正しいGoバイナリがダウンロードされると、/usr/local/goにインストールされます。 場所。
  4. 次に、パス/usr/local/go/bin $PATHに追加されます 。
  5. 次に、GOROOTパスを設定します。
  6. 最後に、hello worldを実行して、Golangのインストールをテストします。 プログラム。

このスクリプトは、新規インストール用だけでなく、現在インストールされているGoバージョンを次に利用可能なバージョンに更新するためにも使用できます。

Update-golangスクリプトを使用してLinuxにGolangをインストールする

GitHubからリポジトリのクローンを作成してUpdate-golangスクリプトをダウンロードします:

$ git clone https://github.com/udhos/update-golang

上記のコマンドは、公式のupdate-golangリポジトリの内容をupdate-golangという名前のローカルディレクトリに複製します。 。このディレクトリへのCd:

$ cd update-golang

インターネットからダウンロードしたスクリプトの整合性を確認することを常にお勧めします。それでは、update-golangスクリプトのCHECKSUM値を確認して、これを実行しましょう。

$ wget -qO hash.txt https://raw.githubusercontent.com/udhos/update-golang/master/update-golang.sh.sha256
$ sha256sum -c hash.txt

OKとして出力が得られたら、準備は完了です。

update-golang.sh: OK

chekcsumを確認したら、次のコマンドを実行して、最新のGolangバージョンをLinuxマシンにインストールします。

$ sudo ./update-golang.sh

出力例:

update-golang.sh: version 0.24
update-golang.sh: find_latest: found last release: 1.16.2
update-golang.sh: user: uid=0(root) gid=0(root) groups=0(root)
update-golang.sh: RELEASE_LIST=https://golang.org/dl/
update-golang.sh: SOURCE=https://storage.googleapis.com/golang
update-golang.sh: DESTINATION=/usr/local
update-golang.sh: RELEASE=1.16.2
update-golang.sh: OS=linux
update-golang.sh: ARCH_PROBE=uname -m
update-golang.sh: ARCH=amd64
update-golang.sh: PROFILED=/etc/profile.d/golang_path.sh
update-golang.sh: CACHE=/usr/local
update-golang.sh: GOPATH=
update-golang.sh: DEBUG=
update-golang.sh: 
update-golang.sh: will install golang go1.16.2.linux-amd64 as: /usr/local/go
update-golang.sh: https://storage.googleapis.com/golang/go1.16.2.linux-amd64.tar.gz is remote
--2021-03-30 06:02:35--  https://storage.googleapis.com/golang/go1.16.2.linux-amd64.tar.gz
Resolving storage.googleapis.com (storage.googleapis.com)... 2404:6800:4009:81f::2010, 2404:6800:4009:820::2010, 2404:6800:4009:81d::2010, ...
Connecting to storage.googleapis.com (storage.googleapis.com)|2404:6800:4009:81f::2010|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 129010536 (123M) [application/octet-stream]
Saving to: ‘/usr/local/go1.16.2.linux-amd64.tar.gz’

/usr/local/go1.16.2.linux-amd64.t 100%[=============================================================>] 123.03M   501KB/s    in 5m 2s   

2021-03-30 06:07:40 (417 KB/s) - ‘/usr/local/go1.16.2.linux-amd64.tar.gz’ saved [129010536/129010536]

update-golang.sh: remove_old_link: not found symlink for old install
update-golang.sh: untar: tar -x -f /usr/local/go1.16.2.linux-amd64.tar.gz
update-golang.sh: profile_path_add: issuing new /usr/local/go/bin to /etc/profile.d/golang_path.sh
update-golang.sh: profile_path_add: issuing $HOME/go/bin to /etc/profile.d/golang_path.sh
update-golang.sh: golang go1.16.2.linux-amd64 installed at: /usr/local/go
update-golang.sh: testing: /usr/local/go/bin/go version
update-golang.sh: unsudo: running_as_root:ostechnix: /usr/local/go/bin/go version
update-golang.sh: go version go1.16.2 linux/amd64
update-golang.sh: /usr/local/go/bin/go version: SUCCESS
update-golang.sh: unsudo: running_as_root:ostechnix: mktemp -t hello-tmpXXXXXXXX
update-golang.sh: unsudo: running_as_root:ostechnix: tee /tmp/hello-tmpqGBVcjhy.go
update-golang.sh: testing: /usr/local/go/bin/go run /tmp/hello-tmpqGBVcjhy.go
update-golang.sh: unsudo: running_as_root:ostechnix: /usr/local/go/bin/go run /tmp/hello-tmpqGBVcjhy.go
update-golang.sh: hello, world
update-golang.sh: /usr/local/go/bin/go run /tmp/hello-tmpqGBVcjhy.go: SUCCESS
update-golang.sh: running_as_root: yes
update-golang.sh: recursively forcing build cache [/home/ostechnix/.cache/go-build] ownership to 1000:1000

Golangのバージョンと環境情報を確認する

インストールされているGoのバージョンを確認するには、次のコマンドを実行します。

$ go version
go version go1.16.2 linux/amd64

ご覧のとおり、Update-golangスクリプトはGoバージョン 1.16.2をインストールしています 。これは、このガイドを書いている時点での最新の安定したGoバージョンです。

Go環境情報を印刷するには、次を実行します。

$ go env

出力例:

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/ostechnix/.cache/go-build"
GOENV="/home/ostechnix/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/ostechnix/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/ostechnix/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.16.2"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build883237217=/tmp/go-build -gno-record-gcc-switches"

Golangベータ版またはリリース候補(RC)バージョンをインストールする

デフォルトでは、Update-golangスクリプトは最新の安定バージョンをインストールします。ベータ版またはリリース候補版をインストールする場合は、以下のようにバージョンを明示的に記載してください。

Golangベータ版をインストールする:

$ sudo RELEASE=1.9beta1 ./update-golang.sh

リリース候補(RC)のインストール:

$ sudo RELEASE=1.11rc1 ./update-golang.sh

Golangのユーザーごとのインストール

デフォルトでは、Update-golangスクリプトはGolangをシステム全体にインストールします。現在のユーザーにGolangをインストールする場合は、~/golangなどのインストールディレクトリを作成するだけです。 :

$ mkdir ~/golang

次に、コマンドを使用してGOをインストールします:

$ DESTINATION=~/golang PROFILED=~/.profile ./update-golang.sh

ユーザーごとのインストールにはrootは必要ないことに注意してください またはsudo 許可。

ダウンロードしたファイルのキャッシュを防ぐ

前述のように、Update-golangスクリプトは、ダウンロードしたアーカイブを/usr/localに保持します。 ディレクトリ。アーカイブファイルをキャッシュしたくない場合は、-declutterを使用してください。 オプション:

$ sudo ./update-golang.sh -declutter

今回は、インストールファイルはキャッシュされません。

Golangを削除

Update-golangスクリプトによって実行されたすべての手順を元に戻すには、複製されたディレクトリに移動して、次のコマンドを実行します。

$ sudo ./update-golang.sh remove

このコマンドは、Goと関連するすべてのエントリを$PATHから削除します。

update-golang.sh: version 0.24
update-golang.sh: find_latest: found last release: 1.16.2
update-golang.sh: remove: found symlink for old install: /usr/local/go1.16.2.linux-amd64
update-golang.sh: remove: removing symlink: /usr/local/go
update-golang.sh: remove: removing dir: /usr/local/go1.16.2.linux-amd64
update-golang.sh: profile_path_remove: removing old settings from: /etc/profile.d/golang_path.sh

Linux
  1. ソースコードを使用してLinuxにphpMyAdminをインストールする方法

  2. Arch Linux / ManjaroにGo(Golang)をインストールする方法

  3. Linux でソースから (および YUM を使用して) MongoDB をインストールする方法

  1. Linuxで「シェルの説明」スクリプトを使用してシェルコマンドを簡単に理解する

  2. Linux – BIOSを備えた32ビットシステムにGptを使用してインストールしますか?

  3. Pythonスクリプトを使用してLinuxターミナルを終了するには?

  1. LinuxでResticを使用してデータをバックアップおよび復元する方法

  2. LinuxでNpmまたはYarnを使用してパッケージを安全にインストールする方法

  3. LinuxでShfmtを使用してシェルプログラムをフォーマットする方法