imported>Vix |
imported>Vix |
Строка 1: |
Строка 1: |
| '''Как установить GoLang (язык программирования Go) в Linux''' | | '''Установка и настройка''' |
| '''Go''' (также называемый '''GoLang''') — это язык программирования с открытым исходным кодом который позволяет пользователям легко писать простые, надежные и высокоэффективные компьютерные программы.
| |
|
| |
|
| Разработанный в 2007 году в '''Google''' командой программистов — '''Робертом Гриземером''', '''Робом Пайком''' и '''Кеном''' '''Томпсоном''', это статически типизированный язык, такой же, как и другие системные языки, такие как '''C''', '''C++''', '''Java''' и многие другие.
| | Прежде всего обновите локальный список пакетов с помощью вашего пакетного менеджера, например на Ubuntu и Debian это можно сделать с помощью apt: |
| | apt-get update |
|
| |
|
| '''GoLang''' является высокопроизводительным языком с поддержкой сетевой и многопроцессорной обработки, а также масштабируемым в обширных системах. Ниже приведен список нескольких хорошо известных проектов с открытым исходным кодом, разработанных с использованием '''GoLang''':
| | Для установки выполните команду: |
| | apt-get install exim4 |
|
| |
|
| '''Docker'''
| | Примечание: если вам необходимо использовать ACL и другие расширенные функции, то установите exim4-daemon-heavy: |
| '''Kubernetes'''
| | apt-get install exim4-daemon-heavy |
| '''Lime'''
| |
| '''InfluxDB'''
| |
| '''Gogs (Go Git Service)''' и другие.
| |
|
| |
|
| ==Установка GoLang в Linux-системах==
| | Чтобы перейти к настройке, выполните команду: |
| | dpkg-reconfigure exim4-config |
|
| |
|
| 1. Перейдите на страницу https://golang.org/dl/ и загрузите последнюю версию (т.е. 1.7.3) GoLang следующим образом:
| | Нажмите Ok для начала настройки. |
| | | '''РЕШЕНИЕ ПРОБЛЕМ''' |
| $ cd ~/Downloads
| | <hr> |
| $ wget -c https://storage.googleapis.com/golang/go1.7.3.linux-amd64.tar.gz
| | * '''defer (-53): retry time not reached for any host''' |
| | | Повреждены ваши exim db Это возможно связанно с недоступостью почтового сервера какой-то время. |
|
| |
| | |
| 2. Затем проверьте целостность архива, проверив контрольную сумму SHA256 архивного файла, используя команду shasum, как показано ниже, где флаг -a используется для указания алгоритма, который будет использоваться:
| |
| | |
| $ shasum -a 256 go1.7.3.linux-amd64.tar.gz
| |
| ead40e884ad4d6512bcf7b3c7420dd7fa4a96140 go1.7.3.linux-amd64.tar.gz
| |
| | |
| '''Важно:''' чтобы показать, что содержимое загруженного архивного файла является точной копией, предоставленной на веб-сайте '''GoLang''', используется '''256-битное''' хеш значение, генерируемое из вышеприведенной команды. Результат выполнения команды, должен быть таким же, как и значение полученное вместе с ссылкой для загрузки. | |
| | |
| Если это так, переходите к следующему шагу, иначе загрузите по новому архив и запустите проверку еще раз.
| |
| | |
| 3. Теперь извлеките файлы из архива в каталог /usr/local, используя приведенную ниже команду.
| |
| | |
| $ sudo tar -C /usr/local -xvzf go1.7.3.linux-amd64.tar.gz
| |
| | |
| Где, '''-C''' указывает каталог назначения.
| |
| | |
| ==Настройка среды '''GoLang''' в '''Linux'''==
| |
| | |
| 4. Сначала настройте рабочее пространство Go, создав каталог ~/go_projects, который является корнем вашего рабочего пространства. Рабочее пространство состоит из трех каталогов, а именно:
| |
| | |
| bin, который будет содержать исполняемые двоичные файлы Go;
| |
| src, который сохранит ваши исходные файлы;
| |
| pkg, который будет хранить объекты пакета.
| |
| | |
| Теперь создайте указанное выше дерево каталогов следующим образом:
| |
| | |
| $ mkdir -p ~/go_projects/{bin,src,pkg}
| |
| $ cd ~/go_projects
| |
| $ ls
| |
| | |
| 5. Вот и пришло время запустить Go, как и остальные Linux-программы, его каталог установки должен быть сохранен как одно из значений переменной среды PATH.
| |
| | |
| Теперь добавьте /usr/local/go/bin в переменную среды PATH, вставив строку приведенную ниже в файл /etc/profile для общесистемной установки или $HOME/.profile или $HOME./Bash_profile для пользовательской установки:
| |
| | |
| Используя ваш любимый редактор, откройте соответствующий файл профиля пользователя в соответствии с вашим дистрибутивом и добавьте строку приведенную ниже, сохраните файл и выйдите из него:
| |
| | |
| export PATH=$PATH:/usr/local/go/bin
| |
| | |
| 6. Затем установите значения переменных среды GOPATH и GOBIN в файле профиля пользователя (~/.profile или ~/bash_profile), чтобы указать на ваш каталог рабочей области.
| |
|
| |
|
| export GOPATH="$HOME/go_projects"
| | '''решение:''' |
| export GOBIN="$GOPATH/bin"
| |
|
| |
|
| Примечание. Если вы установили GoLang в пользовательский каталог, отличный от значения по умолчанию (/usr/local/), вы должны указать этот каталог как значение переменной GOROOT.
| | cd /var/spool/exim/db |
| | rm -f retry retry.lockfile |
| | rm -f wait-remote_smtp wait-remote_smtp.lockfile |
| | service exim restart |
|
| |
|
| Например, если вы установили GoLang в домашний каталог, добавьте строки приведенные ниже в файл $HOME/.profile или $HOME/.bash_profile.
| | В дальнейшим имеет смысл: внести изменения в /etc/exim/exim.conf |
| | в раздел |
|
| |
|
| export GOROOT=$HOME/go | | begin retry |
| export PATH=$PATH:$GOROOT/bin | | * rcpt_451 F,1h,15m |
| | * refused F,1h,2m |
| | * timeout_connect F,2h,2m; F,6h,1h; F,4d,6h |
| | * * F,2h,2m; G,16h,1h,1.5; F,4d,6h |
|
| |
|
| 7. Последним шагом в этом разделе является внесение изменений в профиль пользователя в текущем сеансе bash следующим образом:
| | также обратите внимание на запуск с какой опцией он стартует: -q5m |
| | * [https://www.linuxshop.ru/forum/f7/t31431--resheno-remote-smtp-defer-53-retry-time-not-reached-for-any-host-exchange-exim.html взято тут] |
|
| |
|
| $ source ~/.bash_profile | | * Для решения проблемы с ssl в exim4.conf.template изменить: |
| | ... |
| | REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = * |
|
| |
|
| ИЛИ
| | на |
| | ... |
| | REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = !* |
|
| |
|
| $ source ~/.profile | | * Если нужно жестко указать порт smtp, то: |
| | ... |
| | dc_smarthost='mail.myhost.ru::25' |
| | ... |
|
| |
|
| ИСТОЧНИКИК:
| | '''ИСТОЧНИКИ:''' |
| <hr> | | <hr> |
| * [http://blog.sedicomm.com/2018/01/21/kak-ustanovit-golang-yazyk-programmirovaniya-go-v-linux/ Как установить GoLang (язык программирования Go) в Linux] | | * [https://qna.habr.com/q/146009 Exim и внешний SMTP сервер, как заставить ходить почту?] |
| | * [https://1cloud.ru/help/linux/nastrojka-exim4 Настройка EXIM4 для отправки почтовых сообщений в Linux] |
| | * [https://serverspace.by/support/help/nastroika-exim-4-na-ubuntu/ Ubuntu. Настройка Exim4] |
Установка и настройка
Прежде всего обновите локальный список пакетов с помощью вашего пакетного менеджера, например на Ubuntu и Debian это можно сделать с помощью apt:
apt-get update
Для установки выполните команду:
apt-get install exim4
Примечание: если вам необходимо использовать ACL и другие расширенные функции, то установите exim4-daemon-heavy:
apt-get install exim4-daemon-heavy
Чтобы перейти к настройке, выполните команду:
dpkg-reconfigure exim4-config
Нажмите Ok для начала настройки.
РЕШЕНИЕ ПРОБЛЕМ
- defer (-53): retry time not reached for any host
Повреждены ваши exim db Это возможно связанно с недоступостью почтового сервера какой-то время.
решение:
cd /var/spool/exim/db
rm -f retry retry.lockfile
rm -f wait-remote_smtp wait-remote_smtp.lockfile
service exim restart
В дальнейшим имеет смысл: внести изменения в /etc/exim/exim.conf
в раздел
begin retry
* rcpt_451 F,1h,15m
* refused F,1h,2m
* timeout_connect F,2h,2m; F,6h,1h; F,4d,6h
* * F,2h,2m; G,16h,1h,1.5; F,4d,6h
также обратите внимание на запуск с какой опцией он стартует: -q5m
- Для решения проблемы с ssl в exim4.conf.template изменить:
...
REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = *
на
...
REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = !*
- Если нужно жестко указать порт smtp, то:
...
dc_smarthost='mail.myhost.ru::25'
...
ИСТОЧНИКИ: