Setting up GnuPG from scratch

The default setting of GnuPG are quite reasonable but often you will want to make changes to further improve the security and usability, one good reason to do this is to ensure your keys are in the newer pubring.kbx format rather than the pubring.gpg, it is still compatible but using the new format is recommended.

Firstly you want to export all your keys including secret keys, to do this run the following commands.

gpg --export --armor > pubkeys
gpg --export-secret-keys --armor > seckeys

Once this is done delete the contents of your GnuPG home folder, typically ~/.gnupg/ or GNUPGHOME, you may want to keep your trustdb.gpg and configuration files.

Ensure the private-keys-v1.d folder exists otherwise you will get an error when importing the secret keys, import all your keys in to the new keyring.

gpg --import pubkeys
gpg --import seckeys

If you did not keep your trustdb.gpg make sure you run the following:

gpg --update-trustdb

Recommended GnuPG Settings

GnuPG has a huge number of settings which you can adjust, but these are the most important ones  I recommend adding to your gpg.conf

expert
- Expert mode gives you much more control, a must if you want to generate ECC keys

s2k-digest-algo SHA256
This sets the digest algorithm to SHA256 rather than the less secure SHA1

default-key (your key id)
- Sets the default key which is a good idea


ask-cert-level
- Asks for certification level when signing a key (recommended)

Building GNU GCC 6.2.0

The guide will show you how to build GCC 6.2.0, as always with this kind of thing results may vary, I tested this on Debian 8 x64 and it worked fine, although I did do a fresh build of binutils.

Prerequisites

  • gcc, g++, binutils and make as well as your Linux kernel headers
  • Additional requirements are gzip, bzip2, tar,  perl, awk, GNAT (for Ada), DejaGNU, TCL and Expect, most of this should be present on most distributions.
  • A good amount of free disk space, 20GB suggested
  • You may need gcc multilib if you want to build a multilib version

Setup

Download GCC 6.2.0 here and unpack it, I recommend the following directory structure:

gcc-6.2.0/
 build/

Before you build you need to install the prerequisite libraries GMP, MPC, MPFR and ISL in to the source tree, this can be done manually but it’s usually easier to use the included script.

cd gcc-6.2.0
 ./contrib/download_prerequisites

Configuration

One thing I always suggest adding is –disable-nls which remove the native language error messages which are not really needed.

cd build
 ../gcc-6.2.0/configure --prefix=/usr/local --enable-languages=c,c++
--disable-nls --host=x86_64-linux-gnu --build=x86_64-linux-gnu
--target=x86_64-linux-gnu --with-tune=generic

I strongly recommend reading the documentation to ensure you have it configured how you want, the host, build and target options are probably not needed unless it gets confused with what your system is as mine did.

Building

The build process it quite painless although it will take some time since it does essentially three complete builds, this can be disabled with –disable-bootstrap but it’s not at all recommended except for testing, for a fairly modern machine expect 30 minutes, for an older machine you may need to give it some hours.

make -j9
 make check -j9
 make install

The number adjusts the number processor threads used, 1 plus your total is usually good and will give a significant speed boost.
If you’re really short on space try make bootstrap-lean -j9 instead.Running the check is extremely important, if you get more than a few errors it’s strongly recommended that you not use it.

Testing

gcc -v

You should get something like this:

Using built-in specs.
 COLLECT_GCC=gcc
 COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-linux-gnu/6.2.0/lto-wrapper
 Target: x86_64-linux-gnu
 Configured with: ../gcc-6.2.0/configure --prefix=/usr/local --enable-languages=c,c++ --disable-nls --host=x86_64-linux-gnu --build=x86_64-linux-gnu target=x86_64-linux-gnu --with-tune=generic
 Thread model: posix
 gcc version 6.2.0 (GCC)

Since /usr/local/bin is typically in at the front of your PATH variable it will replace your installed gcc, to prevent this I suggest using –program-prefix=prefix or –program-suffix=suffix or installing it outside of /usr/local.

A final test would be to compile something and check if it works as expected.

Installing Minecraft on Linux

Installing everyones favorite game (well okay not everyone) is fairly simple on Linux, as to why you’d want to install it on Linux a lot of players find they get much better performance, especially when you start adding lots of mods.

Java

The first thing you need to do is make sure you have Java installed, this can be done by typing:

java -version

You should get something like this:

java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

Mojang recommend that you use the Oracle JVM rather than IcedTea but I’ve not had any  real trouble with it on the latest 1.8.9 version of Minecraft, perhaps slightly slower but that’s all, if Java is not installed do a search for how to install for your particular Linux distribution, for Gentoo simply emerge jre and then oracle-jre-bin.

Installing Minecraft

Go to minecraft.net and download the launcher, once it’s done type:

java -jar Minecraft.jar

Login to your Minecraft account and install the latest, or your preferred version of Minecraft, once it’s done launch, if all is well it should run without problems, if you notice performance problems try the Oracle JVM instead.

Some older Minecraft versions may benefit from updating the included LWJGL library, particularly if you get input issues.