É uma boa prática copiar a distribuição binária do Go em '/ usr / local /'? [fechadas]

0

Da página de instalação do Go,

Download the archive and extract it into /usr/local, creating a Go tree in /usr/local/go. For example:

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

Choose the archive file appropriate for your installation. For instance, if you are installing Go version 1.2.1 for 64-bit x86 on Linux, the archive you want is called go1.2.1.linux-amd64.tar.gz.

(Typically these commands must be run as root or through sudo.)

Add /usr/local/go/bin to the PATH environment variable. You can do this by adding this line to your /etc/profile (for a system-wide installation) or $HOME/.profile:

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

A hierarquia de diretórios do meu /usr/local é

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

A distribuição binária do Go extraído cabe em /usr/local ? É uma boa prática copiar a distribuição binária do Go em /usr/local/ ?

Se não, qual é a sua recomendação sobre onde colocá-lo? O /opt ou meu diretório pessoal é um lugar melhor?

Obrigado.

    
por Tim 19.07.2016 / 18:01

3 respostas

3

A minha recomendação é NÃO seguir as instruções de instalação no site do Go language.

Em vez disso, instale os pacotes para sua distribuição.

O Debian, por exemplo, tem o golang 1.6.1 empacotado, junto com centenas de bibliotecas Go.

O Ubuntu também tem o 1.6.1. link

apt-get install golang irá instalar o compilador, docs e fonte do golang.

apt-cache show -n golang lhe dará uma lista de todos os outros pacotes com "golang" no nome do pacote - à primeira vista, nem de longe tantos quanto o Debian.

Se você realmente precisar compilá-lo e instalá-lo, use pelo menos checkinstall :

CheckInstall keeps track of all the files created or modified by your installation script ("make install", "make install_modules", "setup", etc), builds a standard binary package and installs it in your system giving you the ability to uninstall it with your distribution's standard package management utilities.

Homepage: http://checkinstall.izto.org

Use-o para qualquer biblioteca Go que você compilar também.

    
por 20.07.2016 / 06:48
2

Seguir as instruções de instalação geralmente é uma boa prática.

Acho que é uma boa ideia manter o material Go em /usr/local/go . Dessa forma, você pode remover facilmente a instalação completa antes de atualizá-la, removendo apenas a hierarquia de diretórios.

Nada impede que você o coloque em /opt as /opt/go ou /sw ou $HOME/local ou onde você quiser, contanto que você adicione o caminho apropriado à variável PATH shell.

Não é inédito para o software criar suas próprias hierarquias abaixo de /usr/local . Em alguns sistemas BSD, a instalação do GNU coreutils criará /usr/local/gnu com itens como gls , gcp , grm etc. (os utilitários comuns com g prefixo) como links simbólicos de /usr/local/bin em /usr/local/gnu/bin .

    
por 19.07.2016 / 18:26
2

De acordo com a FHS , /usr/local/ é exatamente para isso:

The /usr/local hierarchy is for use by the system administrator when installing software locally.

A alternativa seria /opt :

/opt is reserved for the installation of add-on application software packages.
A package to be installed in /opt must locate its static files in a separate /opt/ or /opt/ directory tree,

Mesmo em /usr/local , uma árvore separada é útil para manter diferentes pacotes separados uns dos outros e simplificar atualizações, remoções e manter várias versões do mesmo programa presentes. A escolha entre /usr/local é muito boa para você como administrador do sistema.

    
por 19.07.2016 / 18:53