Packages / golang
APT repository · deb.freshdeb.com/golangprinted 28 Oct 2026, 07:20 UTC
golang
Go, the compiler, tools and standard library. golang-go makes it /usr/bin/go, as the distribution's does, and each supported minor is its own line, installable side by side. Two release lines, each its own APT component, for Debian 12 and 13, Ubuntu 22.04, 24.04 and 26.04 on amd64 and arm64.
latest 1.27.3go.devupstream sourcepackaging
Componentlatest
mirrors v1.27, currently 1.27.3, and moves when a newer line takes over.
Not published yet. The first golang release is being built. These commands will work once it lands at deb.freshdeb.com/golang; the versions shown are the ones package.yaml will publish.
1Trust the signing key (once per machine)
sudo install -d -m 0755 /etc/apt/keyrings curl -fsSL https://deb.freshdeb.com/freshdeb-archive-keyring.gpg \ | sudo tee /etc/apt/keyrings/freshdeb-archive-keyring.gpg >/dev/null
Fingerprint 3BBD F03A 9C0B F890 F8CA 9510 7595 CC55 468F 3161. How to verify.
2Add the source
sudo tee /etc/apt/sources.list.d/freshdeb-golang.sources >/dev/null <<EOF
Types: deb
URIs: https://deb.freshdeb.com/golang
Suites: $(. /etc/os-release && echo $VERSION_CODENAME)
Components: latest
Signed-By: /etc/apt/keyrings/freshdeb-archive-keyring.gpg
EOFWith auto, the shell reads the codename from /etc/os-release on the machine you paste this into.
3Install
sudo apt update && sudo apt install golang-go
apt policy golang-go # expect 2:1.27.3-1+freshdeb~…Already on the distribution's golang? The freshdeb version sorts higher, so apt upgrade moves you over in place. Config and data stay where Debian put them.
Compared with Debian's package
Debian's packaging decides where things go: package names, paths, users, services and how upgrades behave. The build follows upstream's own release builds wherever Debian's differs.
- Source
- Upstream's release tarball, pinned by the sha256 go.dev publishes, built with upstream's
make.bash. None of Debian's patches: they only skip tests on architectures not built here. - Bootstrap
- A pinned Go from go.dev, since the older releases have no Go recent enough to build 1.26 or 1.27.
make.bashthen rebuilds the toolchain with itself, so the bootstrap compiler isn't in the packages. - Default go
golang-go,golang-src,golang-doc,golangandgolang-any, which Debian builds from golang-defaults, come from the same source, soapt install golang-gogives this Go as/usr/bin/goandgofmt. Like golang-defaults' they carry epoch 2.- Layout
- Debian's:
golang-1.27-goin/usr/lib/go-1.27, with-srcand-doc. Each minor has its own packages, so the distribution'sgolang-1.26-goor ours can stay installed next togolang-1.27-go. - Defaults
- Upstream's
go.env, as Debian's: proxy.golang.org, sum.golang.org andGOTOOLCHAIN=auto. Settings fromgo env -wstay.
Packing list
Every release line of golang and the distributions it's built for. Each line is its own APT component and only gets the releases it follows (v1.27: 1.27.x, patch releases only). After upstream end of life it stops building but stays installable. Hatched cells have no build: usually that distribution already ships the same or a newer version itself.
| Line | Component | Current | bookwormDebian 12 | trixieDebian 13 | jammyUbuntu 22.04 | nobleUbuntu 24.04 | resoluteUbuntu 26.04 | Support |
|---|---|---|---|---|---|---|---|---|
| 1.27 | v1.27latest | 1.27.3 | built: 2:1.27.3-1 | built: 2:1.27.3-1 | built: 2:1.27.3-1 | built: 2:1.27.3-1 | built: 2:1.27.3-1 | until Aug 2027 |
| 1.26 | v1.26 | 1.26.10 | built: 2:1.26.10-1 | built: 2:1.26.10-1 | built: 2:1.26.10-1 | built: 2:1.26.10-1 | built: 2:1.26.10-1 | until Feb 2027 |
Versions follow <upstream>-<revision>+freshdeb~<distro>, distro being deb12, deb13, ubuntu22.04, ubuntu24.04 or ubuntu26.04, for amd64 and arm64. Published versions are never rebuilt or replaced.
Contents
- golang-1.27-go
- The compiler, tools and compiled standard library, in /usr/lib/go-1.27.
- golang-1.27
- Metapackage for the minor's compiler, sources and documentation.
- golang-1.27-doc
- The minor's documentation.
- golang-1.27-src
- The minor's standard library sources.
- golang-go
- /usr/bin/go and gofmt for this Go.
- golang-any
- Transitional, depends on golang-go.
- golang-src
- The default Go's standard library sources.
- golang-doc
- The default Go's documentation.
- golang
- Metapackage for the default Go, its sources and documentation.
Origin
- Upstream
- go.googlesource.com/gorelease tags pinned to commit hashes, built from the checksummed release tarball
- Debian packaging
- salsa.debian.org/go-team/compiler/golangimported unmodified at 8f81a73 (1.27.3-1, unstable)
- Our changes
- overlays under
overlays/for bookworm, trixie, jammy, noble, resolute. - Built for
- bookworm, trixie, jammy, noble, resoluteamd64, arm64, built natively
- Notes
- packaging notes · package.yaml · report an issue