Cryptocurrency and Linux go hand in hand, and it may go without saying, but the world of free software is heavily, centrally, based around Linux and its many variants. It is likely that those who have delved into freeware have come across projects on GitHub and seen guides on how to compile the program themselves if they were to have Linux installed. Then, without a further thought, we have all clicked on the download link for the Windows executable and moved on with life.
For those with less powerful hardware, one of the only ways you can mine coins is to get in on mining incredibly early. My laptop is not a match for any desktop out there with a dedicated GPU, and this is the only way that I will ever get in on the ground level for a new currency without purchasing it.
Finding new cryptocurrencies and getting in early is fairly complex. It took me almost a week before I managed to get my first attempt at compiling a program to work, and another before I could get a new coin in the wild to work. Through all of it I wish I had had a blog dedicated to walking everyone through the process of how to do just this simple task. So here we are.
Part 1: Setting up a Linux Distro
A quick forward: if you are new to doing things on computers that are more complicated than simply installing a game or a web browser, you may want to take things slow. It is likely that at some point you may find yourself in a position where Linux will crash, boot into tty (more on that in a minute), or do other things that are confusing or erratic.
Step 1: Download a Virtual Machine Platform
You may want to consider what kind of things you will be doing in Linux (in this case compiling new cryptocurrency software), and what kind of access you want it to have to your main operating system. I, as well as most others, would recommend strongly that you utilize a virtual machine platform to install Linux onto your computer. It is much more secure than having a separate partition on your boot drive, as well as offers the ability to easily create backup checkpoints in the operating system before doing anything that may break it, which if you are doing anything Cryptocurrency related, you may break your Linux distro.
Windows users should look into using the free version of VMware Workstation. Yes, Virtual Box is free as well, and more often associated with the use of Virtual machines on Windows, but there is a huge advantage to using a virtual machine platform with a well designed hypervisor (its the software that manages the machines resources for both operating systems), and the personal use version of VMware Workstation is certainly going to be a better match for tasks relating to crypto than the one in Virtual Box.
As for those on MacOS devices, I can only recommend Parallels Desktop. Parallels has made the process of installing and managing a virtual machine incredibly lightweight and easy. Not to mention the ability to quickly isolate virtual machines from your main operating system as well as a hypervisor that works nearly flawlessly to provide power to both operating systems at the same time. Especially if you are on a laptop, Parallels features provide a huge edge in power management when running a virtual machine.
Step 2: Pick a Linux Distro (All Are Good for Cryptocurrency)
There are a massive amount of Linux distributions out there, so much so that its a bit overwhelming (although most work well for Cryptocurrencies). For most users though, the main three will serve the purpose best. Ubuntu, CentOS, and Debian offer the best set of pre-installed tools and community resources that you should be safe with any of them. Ubuntu is by and far the most popular, although it is a bit more heavyweight than Debian, it has by and far the most community based support avialible. CentOS stands somewhere in the middle. Debian is very similar to Ubuntu, except a bit lighter on install size and resources, but it lacks as much community support and can be a bit more tricky to learn than Ubuntu.
Overall, if you are brand new to Linux, go for Ubuntu. If you know your way around terminal commands already, you can try Debian or CentOS and shouldn't have any issues. At the end of the day, people have their preferences for which distro they want to use, and they usually stick with them. However, all of them should work fine for cryptocurrencies.
Step 3: Install and Update
Not so different from Windows or MacOS, you'll need to install the Linux distro and then update the software within it. Usually this process goes relatively quickly, especially in a virtual machine environment, you may be able to install a Linux distro in about ten minutes.
The first thing to do once your virtual machine install of Linux is installed is go ahead and install any tool set that your virtual machine platform offers. These tools often allow for the virtual machine to handle internet, hardware, and resource requests better by bridging the gap between being installed directly onto a HDD partition, and being installed into a virtual machine. Which can be a bit confusing for things like networking adapters and USB controllers (the software that talks to your USB ports, not a game controller that plugs in via USB).
Finally you'll want to update the built in applications that came with Linux. All of the distros mentioned above have built in software managers, similar to the app store or Microsoft store. You can simply use those to update if you want to, or you can dive into terminal commands early and get a jump on things.
To update all software on your Linux distro, simply open up the terminal application, and then use the following commands.
$ sudo apt update
(enter your administrator password)
##The terminal will then run some commands and return with a line that either says
##"All applications are up to date." or "X packages need to be upgraded, run apt upgrade to ##upgrade them." Either way you can just go ahead and run the next command.
$ sudo apt upgrade
How Do These Commands Work?
Lets break down whats going on here for everyone, as its important to know what you are typing instead of just typing it. We are really only using one command above, with a permissions modifier, and two different command "arguments". Also you will notice I have put a "$" before lines where we have commands to enter and "##" before lines where I made comments. This is commonly how code is expressed. The "$" almost always indicates that you should enter the text after it into the terminal, and the "##" almost always indicates a comment to explain what is going on directly in the codes or commands being provided.
Sudo is not really a command, but instead it is a permissions modifier for terminal commands. You can actually use it on most operating system's terminals, except for Windows. All that "sudo" does is tell the computer that you want to run the command as an administrator instead of as the current user. This is especially important on Linux as only the administrator, and not user accounts (even if its the only one on the computer) can access the "root" director, or the top level of the hard drive space the operating system is on. More than that, there may be times where "sudo" doesn't even cut it for permissions, and you have to modify the permissions for a file using other commands. With that said, "sudo" can be added to the front of any command, and with some commands the computer may pretend it doesn't know them unless you use "sudo".
Sudo does have a lot of modifiers that can be added, just a quick glance is confusing.