Хорошей практикой является копирование бинарного дистрибутива Go в `/ usr / local /`? [закрыто]

Мне удалось исправить ваш код, добавив echo. Причина этого описана здесь, вопрос, почему он печатает два других значения.

while read line;
do
        echo "$line" | awk -F":" '{print $2}'
done < test.txt

0
19.07.2016, 19:07
3 ответа

Обычно рекомендуется следовать инструкциям по установке.

Думаю, неплохо было бы хранить материалы Go в / usr / local / go . Таким образом, вы можете легко удалить всю установку перед ее обновлением, просто удалив эту иерархию каталогов.

Вам ничто не мешает поместить его в / opt как / opt / go или в / sw или $ HOME / local . или где угодно, если вы добавите соответствующий путь к переменной оболочки PATH .

Нередко программное обеспечение создает свои собственные иерархии под / usr / local . В некоторых системах BSD установка GNU coreutils создаст / usr / local / gnu с такими вещами, как gls , gcp , ] grm и т. д. (обычные утилиты с префиксом g ) как символические ссылки из / usr / local / bin в / usr / local / gnu / bin .

1
28.01.2020, 02:14

Согласно FHS , / usr / local / предназначен именно для этого:

Иерархия / usr / local предназначена для использования системным администратором при локальной установке программного обеспечения.

Альтернативой будет / opt :

/ opt зарезервирован для установки дополнительных пакетов прикладного программного обеспечения.
Пакет, устанавливаемый в / opt, должен располагать свои статические файлы в отдельном дереве каталогов / opt / или / opt /,

Даже в / usr / local , отдельное дерево полезно для хранения разных пакетов отдельно друг от друга, а также для упрощения обновления, удаления и сохранения нескольких версий одной и той же программы. Выбор между / usr / local в значительной степени зависит от вас как системного администратора.

2
28.01.2020, 02:14

Моя рекомендация - НЕ следовать инструкциям по установке на веб-сайте языка 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" и т.д.), собирает стандартный бинарный пакет и устанавливает его в вашу систему, предоставляя вам возможность удалить его с помощью стандартных утилит управления пакетами вашего дистрибутива.

Домашняя страница: http://checkinstall.izto.org

Используйте его и для любых компилируемых вами библиотек Go.

3
28.01.2020, 02:14

Теги

Похожие вопросы