How to install Go 1.13.3 on CentOS 8/7.x

Go Language:

The Go programming language is an open source project to make programmers more productive.

Main features:

Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection

Multicore and Networked machines

Support target: windows 32/64bits, linux 32/64bits, MacOS

IDE Integration with vim, visual studio code, goland plugin (intellij) and atom

Quick Guide:

  1. Download using the url: Go 1.13.3 64bits
  2. tar xfz
    go1.13.3.linux-amd64.tar.gz -C /usr/local/
  3. Added this to your profile
    export PATH=$PATH:/usr/local/go/bin
  4. Test your installation by the command: go version
  5. Download the extra Lib:
    go get <git_repo>/<your_module>/<your_lib>

    Go Code example: (for diagnostic)

package main

import (

func main() {
mux := http.NewServeMux()
mux.HandleFunc(“/custom_debug_path/profile”, pprof.Profile)
log.Fatal(http.ListenAndServe(“:5555”, mux))


Redhat / CentOS 8.0 News and issues

RHEL 8.0 / CENTOS 8.0


Main New Features:

  • Glibc 2.28, BIND 9.11
  • Java 11, icetea-web, ant, maven, scala
  • CMake 3.11, Make 4.21, Gcc 8.2, stace 4.24, Go 1.11.5, Binutils 2.30 (optimization for IBM Z)
  • GNOME Shell, version 3.28 and GDM use Wayland as default
  • Git version changed to 2.18, Mercurial to 4.8 and subversion to 1.10
  • Python 3 support, PHP 7.2 support
  • Ruby 2.5 support, Perl 5.26 support, Node.js new support
  • Apache HTTP Server 2.4.37, nginx web server 1.14, Squid 4.4 and Varnish Cache 6.0
  • The nobody user replaces nfsnobody (user and group pair with the ID of 65534)
  • PostgreSQL 10, PostgreSQL 9.6, MySQL 8.0, and MariaDB 10.3
  • Unicode 11.0.0 support (glibc), GDB debugger version 8.2
  • DNF – YUM (v4) support modular content and Increased performance (v4 is compatible with YUM v3)
  • CUPS logs are handled by journald (the end of the logs: /var/log/cups)
  • Anaconda supports a new kernel boot parameter in RHEL 8, Using RPM interface: 4.14. (old RPM: 4.11)
  • XFS now supports shared copy-on-write data extents (Maximum XFS file system size is 1024 TiB)
  • ext4 file system now supports metadata checksum
  • webconsole with firewall interface, using webconsole by default
  • Changed IdM integration (CA, ssh, etc..) with webconsole 
  • Added support for mobile browsers in webconsole
  • Added support to manage Virtual Machine in webconsole
  • Installing RHEL from a DVD using SE and HMC is now fully supported on IBM Z
  • Anaconda supports a unified ISO in RHEL 8
  • Anaconda can install modular packages in Kickstart scripts
  • RHEL 8 supports installing from a repository on a local hard drive
  • Added new support for ARM 52-bit 
  • Added support to Intel Omni-Path Architecture (OPA)
  • Kernel now supports 5-level page tables (4PB of physical memory, 128PB of virtual address space)
  • Supports enhanced IBRS for future Intel CPUs
  • Active Directory users can now administer Identity Management
  • Identity Management packages are available as a module (yum module install idm:DL1/profile_name command)
  • Added the 64-bit ARM architecture in toolchain components

Some known issues:

Some extra limitations for Wayland with NVIDIA users:

Multi-GPU setups are not supported under Wayland.
The NVIDIA binary driver does not work under Wayland.
The xrandr utility does not work under Wayland
No clipboard manager is available
Use the X11 session for virtual environments. (Wayland inside guest virtual machines)


Set WaylandEnable=false to the file /etc/gdm/custom.conf


Special Warning for CentOS/VirtualBox users

If you are planning to install CentOS-8 in a VirtualBox guest, you should not select “Server with a GUI” (default) during the installation

Installing the VirtualBox Addons will produce an error if your version is 6.0.12/5.2.32 or lower. This is fixed with versions 6.0.14 and 5.2.34

PackageKit is unable to resolve local DNF/YUM variables

CentOS 8 in VirtualBox 5.2.32 (graphical install screen problem):

using the vbox Host key + 2 to switch to VT 2 and then vbox Host key + 6 to switch back to the graphical install screen.

Eclipse Plug-in for RPM development

The Eclipse Specfile Editor Plug-in for RPM development

Main features:

To help developers manage .spec files (Eclipse GUI features in editing .spec files)

including outline/quick outline view in the editor,

auto-completion, highlighting, file hyper-links, and folding.

Generating, validating specfile, generating RPM.

Import SRC

.RPM to eclipse project.

The Specfile Editor Plug-in also integrates the rpmlint tool into the Eclipse interface.

Note: rpmlint is a command-line tool that helps developers detect common RPM package errors.

RPM plugin also supports the ability to create your own repository using the createrepo command.


Need rpmlint and createrepo packages installed in your linux machine.

How to install:

In the Eclipse IDE, using the Software Updates and Add-ons menu.

Java9 – new features

  • More Module System, e.g.  self-describing collection of code and data
    • Using jlink, to introduce a new optional phase, link time, which is in-between compile time and run time, during which a set of modules can be assembled and optimized into a custom runtime image
    • The modular JAR file with module-info.class file in its root directory.
    • Using jmod tool, the New JMOD format can be created. (new packaging format similar to JAR)
  • New version schema ($MAJOR.$MINOR.$SECURITY.$PATCH)
  • java shell: jshell
  • Compile for old java version (6 – java6)
    javac -source 6 -target 6
  • More Diagnostic Commands: jcmd (jcmd pid help command)
  • Multi-Release JAR Files: Extends the JAR file format to enable multiple, Java release-specific versions of class files to coexist in a single archive
  • Removes the hprof, jhat from the JDK
  • More Security: DTLS, TLS,  disable X.509 certificate chains with SHA-1-based signatures,  PKCS12 keystores by default, SHA-3 cryptographic hash functions
  • The Garbage-First Garbage Collector (G1 GC) is the default garbage collector in JDK 9.
  • JavaDB, which was a rebranding of Apache Derby, isn’t included in JDK 9.
  • The launchers java-rmi.exe from Windows and java-rmi.cgi from Linux and Solaris have been removed.
  • In JDK 9, the Windows 32–bit client VM is not available. Only a server VM is offered.
  • Java VisualVM isn’t bundled with JDK 9.
  • The AppleScript engine is removed in JDK 9.

Windows Registry Key Changes

The Java 9 installer creates these Windows registry keys when installing the JRE:


The Java 8u152 installer creates these Windows registry keys when installing the JRE:

  • “HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment”
  • “HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8”
  • “HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8.0_152”