OSinfo is a cross-platform OS Version collection tool. It is designed to unify multiple OS detection methods in a single module that can easily be integrated into other projects.
Windows | MacOS | Linux | BSD |
---|---|---|---|
Windows Server 2012 | 10.6 - Snow Leopard | Ubuntu | FreeBSD |
Windows Server 2016 | 10.7 - Lion | Debian | OpenBSD |
Windows Server 2019 | 10.8 - Mountain Lion | MXLinux | |
Windows 7 | 10.9 - Mavericks | Mint | |
Windows 8 | 10.10 - Yosemite | Kali | |
Windows 10 | 10.11 - El Capitan | ParrotOS | |
10.12 - Sierra | OpenSUSE Leap | ||
10.13 - High Sierra | OpenSUSE TumbleWeed | ||
10.14 - Mojave | OpenSUSE SLES | ||
10.15 - Catalina | Arch | ||
11.0 - Big Sur | Manjaro | ||
Alpine | |||
Fedora | |||
RHEL | |||
CentOS | |||
Oracle |
- Create
fetchinfo.go
package main
import (
"fmt"
"github.com/JustinTimperio/osinfo"
)
func main() {
release := osinfo.GetVersion()
fmt.Printf(release.String())
}
go mod init
go mod tidy
go run fetchinfo.go
--------------------
Runtime: linux
Architecture: amd64
OS Name: Arch Linux
Version: rolling
Kernel: 5.11.2-arch1-1
Distro: arch
Package Manager: pacman
--------------------
Runtime: linux
Architecture: amd64
OS Name: Debian GNU/Linux 10 (buster)
Version: 10
Kernel: 4.19.0-13-amd64
Distro: debian
Package Manager: apt
--------------------
Runtime: windows
Architecture: amd64
OS Name: Windows Server 2016 Standard Evaluation
Version: 10
Build: 14393
--------------------
Runtime: darwin
Architecture: amd64
OS Name: Mac OS X
Version: 11.0.1
Version Name: MacOS - Big Sur
--------------------
Runtime: freebsd
Architecture: amd64
OS Name: FreeBSD 12.1-RELEASE
Version: 12.1-RELEASE
Kernel: 1201000
Package Manger: pkg
--------------------
Runtime: openbsd
Architecture: amd64
OS Name: OpenBSD 6.7
Version: 6.7
Kernel: GENERIC.MP#182
Package Manger: pkg_add
--------------------