Гид по технологиям

Установка и настройка Go на Debian 11

• 5 min read • Программирование • Обновлено 20 Nov 2025
Установка Go на Debian 11 — быстрое руководство
Установка Go на Debian 11 — быстрое руководство

Фотография логотипа Go и пример кода на фоне ноутбука

Go — это компилируемый язык программирования от команды Google, задуман как более простой и быстрый в компиляции заменитель C для задач сетевого и распределённого ПО. Его часто называют «язык облака» благодаря простоте развёртывания статически скомпилированных бинарников и удобству работы с сетевыми сервисами.

В этом руководстве рассмотрим, как установить Go и настроить рабочую среду (workspace) на Debian 11 через командную строку. Инструкции также применимы к другим дистрибутивам на базе Debian.

Предварительные условия

  • Сервер или машина с Debian 11.
  • Непользователь root с правами sudo.
  • Подключение к интернету для скачивания архива Go.

Обновление системы

Перед установкой пакетов обновите индексы и систему:

sudo apt update && sudo apt upgrade -y

Установим утилиты, которые пригодятся для загрузки и обработки пакетов:

sudo apt install -y wget software-properties-common apt-transport-https

Важно: всегда обновляйте систему перед установкой новых инструментов.

Скачивание и установка Go

Перейдите в домашний каталог и скачайте официальный tarball с сайта Go. В примерах ниже используется go1.17 — проверьте https://golang.org/dl/ и замените URL на актуальную версию при необходимости.

cd
wget https://golang.org/dl/go1.17.linux-amd64.tar.gz

После загрузки распакуйте архив в /usr/local (рекомендуемое место):

sudo tar -C /usr/local -xzf go1.17.linux-amd64.tar.gz

Этот путь создаст каталог /usr/local/go с бинарниками и стандартной библиотекой.

Настройка окружения Go

Нужно добавить /usr/local/go/bin в PATH и (рекомендуется) задать переменную GOPATH для рабочего каталога проектов.

  1. Создайте скрипт для системного PATH, чтобы все пользователи получили доступ к бинарникам Go:
echo "export PATH=/usr/local/go/bin:${PATH}" | sudo tee /etc/profile.d/go.sh
sudo chmod +x /etc/profile.d/go.sh
source /etc/profile.d/go.sh
  1. Добавьте настройки в ваш пользовательский профиль (~/.profile) для сохранения настроек в сессиях SSH:
echo "export GOPATH=
$HOME/go" >> $HOME/.profile
echo "export PATH=
/usr/local/go/bin:${PATH}:
$GOPATH/bin" >> $HOME/.profile
source $HOME/.profile

Примечание: в примере выше GOPATH установлен в $HOME/go — это общепринятая практика. Если вы используете другой путь для проектов, укажите его.

  1. Проверьте PATH и переменные окружения:
echo $PATH
go env GOPATH

Если вы видите /usr/local/go/bin в PATH и правильный GOPATH — окружение настроено.

go version
go env

Эти команды покажут установленную версию Go и полные переменные окружения.

Настройка переменных окружения Go в терминале

Создание тестового проекта

Проверим установку простым приложением «Hello World».

  1. Создайте файл в домашней папке:
cd
nano helloworld.go
  1. Вставьте код:
package main

import "fmt"

func main() {
    fmt.Println("Howtoforge, Hello World!")
}
  1. Сохраните и запустите программу:
go run helloworld.go

Вы увидите:

Howtoforge, Hello World!

fmt — пакет форматирования, Println выводит строку в консоль. Этот вывод подтверждает, что рабочая среда Go функционирует корректно.

Частые ошибки и решения

  • Ошибка: “command not found: go” — проверьте, добавлен ли /usr/local/go/bin в PATH; выполните source /etc/profile.d/go.sh и source $HOME/.profile.
  • Ошибка при распаковке архива — убедитесь, что вы используете sudo и правильный путь: sudo tar -C /usr/local -xzf <файл>.
  • Конфликты версий при установке из репозитория apt — если ранее устанавливали golang через apt, удалите пакет (sudo apt remove golang) перед ручной установкой.

Альтернативные способы установки

  • Установка из репозитория пакетного менеджера: sudo apt install golang — простой вариант, но версия в репозитории Debian может быть устаревшей.
  • Использование snap: sudo snap install go --classic — даёт удобные обновления, но не всегда подходит для серверных окружений.
  • Менеджеры версий: gvm (Go Version Manager) или asdf — удобны для работы с несколькими версиями Go на одной машине.

Когда выбрать ручную установку из tarball: вам нужен контролируемый, фиксированный путь и совместимость с CI/CD, а также последняя стабильная версия.

Ментальные модели и лучшие практики

  • Статическая компиляция: Go создаёт один бинарник, который проще распространять и запускать на сервере.
  • Минимализм стандартной библиотеки: используйте стандартные пакеты для сетевых операций, а внешние зависимости управлять через go.mod.
  • Разделение ролей: системному администратору — установка и безопасность; разработчику — настройка GOPATH, модулей и CI.

Чек-листы по ролям

Для администратора:

  • Обновить систему и установить wget.
  • Распаковать /usr/local/go с правильными правами.
  • Добавить /etc/profile.d/go.sh и проверить PATH.
  • Настроить бэкапы и права на /usr/local/go.

Для разработчика:

  • Убедиться в доступности go в PATH.
  • Настроить GOPATH или включить модули (go mod).
  • Инициализировать проект: go mod init .
  • Запустить тестовый билд и линтер в CI.

Критерии приёмки

  • go version возвращает установленную версию (ожидается go1.17 в примере).
  • go run helloworld.go выводит ожидаемую строку.
  • /usr/local/go/bin присутствует в PATH в новой SSH-сессии.
  • GOPATH настроен и каталог $GOPATH/bin доступен.

Советы по безопасности и окружению

  • Не запускайте бинарники от root по умолчанию.
  • Держите /usr/local/go под контролем прав доступа: достаточно root:root с режимом 755.
  • Для продакшн-сборок используйте CI, который собирает исходники в контролируемой среде.

Сравнение подходов и миграция

  • apt (удобно) vs tarball (контроль) vs manager версий (много версий): выбор зависит от требований к версии и окружению CI.
  • Если ранее установлен golang через apt — удалите пакет перед ручной установкой, чтобы избежать конфликтов путей.

Краткий глоссарий

  • GOPATH — рабочая директория для старой модели рабочего пространства Go.
  • go mod — система управления модулями и зависимостями в Go.
  • go run — компилирует и запускает временный бинарник без сохранения.

Фактбокс: ключевые числа и пути

  • Рекомендуемый путь установки: /usr/local/go
  • Пример версии в руководстве: go1.17 (проверяйте актуальность на golang.org/dl)
  • Рекомендуемый GOPATH: $HOME/go

Заключение

Мы прошли процесс установки Go на Debian 11: скачали tarball, распаковали в /usr/local, настроили PATH и GOPATH, проверили установку запуском простого приложения. Go удобен для разработки сетевых и облачных сервисов благодаря быстрой компиляции и простоте развёртывания бинарников.

Если у вас остались вопросы — оставьте комментарий или поделитесь этой инструкцией с коллегами.

Важно: всегда проверяйте официальный сайт загрузок Go перед установкой, чтобы использовать актуальную стабильную версию.


Сводка:

  • Установите Go через tarball в /usr/local.
  • Добавьте /usr/local/go/bin и $GOPATH/bin в PATH.
  • Проверьте командой go version и запустите go run для проверки.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро