Manual Setup for the Learn.co / Flatiron School on a Linux Virtual Machine inside Windows 10 Home

Danny Lee
7 min readOct 18, 2019

--

Source: Fedora Magazine . Learn more, support and volunteer the Fedora Design Sig

[***Update 4/24/2020*** Another learn.co resource for setting up in Linux is available on Learn.co’s github. Ubuntu Environment Setup is a bare-bones guide. The only caveat is that you have to remember to setup your postgresql user. This guide on how to install Postgres at Linuxize.com is pretty good.]

[***Update 2/7/2020*** Thanks Guy Bryant for directing me to the official Learn.co/Flatiron School guide for setting up a Linux virtual machine. It comes with a pre-configured Virtual machine image (.ova). I’ll leave this article up for reference, but I imagine it will be much smoother to run the official version. As always, good luck and well-wishes!]

Alternative Title “How do I do my hw & labs on my big computer?”

⚠️ Disclaimer⚠️: This is not an official resource, and there’s no guarantee that it will work, but if you run into errors, feel free to drop a comment and Ill get to it when Im free! 😬 I walked through the entire procedure on a newly created Virtual Machine, and it seems to be working fine. But, its only been about a week. As with many FOSS setups, I find a relatively high margin (3–8%) for random errors to start occurring once you state that the setup is “running fine” , 🤞🏼😅 so we’ll see. [update (11/24/19) runs a-OK, but I do have an issue with suspending the machine and restarting and losing internet connection. I haven’t resolved it, instead I just shut down the VM each time.]

Before I start, here is my current computer’s specs and some photos [i7–6700k]. tl;dr; I’m running a i7–6700k (not overclocked), with 16 RAM, with a 500GB Samsung 850EVO SSD and 2 HDDs (a 1 TB 3.5", and 750 GB 2.5"). Running Win 10 (version 1903— no idea if that helps, but why not 🤷) A GTX 1080 video card and a luscious 29" monitor which makes coding less unpleasant. 😃

The VMware Workstation 15 Player software is 15.5.0, and Fedora is the current stable version F30, but this link will take you to latest stable version. Note: prior to F30 I was running F31 beta — NeuroFedora Spin, which is being released for the first time, very soon! 🤩🙌

So, temporary note: this morning I am taking my Mod 2 coding challenge and really shouldn’t be blogging about setting up Learn.co on Fedora, but rabbit-holes, you know!

source: giphy

So, my compromise is to write a nice introduction and then 💥 BAM 💥drop the notes I wrote while going through the procedure. At least until I finish code challenge and catch up on some labs. I get to feel a sense of accomplishment, you guys get some vague, kind-of-helpful instructions for setting up Fedora/Learn-co/ruby/rails — we both win! 🙋💁‍♂️🤷‍♂️ Be back soon, I promise!

The Learn.co reference page for setting Mac OSX is the best 💛 source for a lot of the setup procedure. There’s only a few places where it was necessary to use different command structures to install software (such as for homebrew, which is ported as linuxbrew). The Fedora/Linux window-style user interfaces (🕳️rabbit hole🐇) are also different, but for the most part I am doing all the things on Fedora Linux, that I am concurrently doing on a Mac Airbook.

  1. Download the Fedora F30 Workstation [link] (or current stable version). You want to download the x86_64 DVD ISO file 💿. { What is an .ISO file? 📀 } The download will take some time, the current version is approximately 1.9 GB. While waiting for this let’s get and install VMWare.
  2. Download [link] and Install VMWare [install docs]
  3. After installation, restart your machine (⚠️ IMPORTANT! Make sure your download finished.) and open VMWare.
  4. The recommended size of the hard drive space is 20 GB and I’d say this is reasonable for a learning machine. You can also have the system only use partial amounts of disk drive space, up to that maximum, but you make sure running out of disk space (or memory for that matter) will not be an issue.
  5. Click “Create a New Virtual Machine.” Select your Installer disc image file that you downloaded from Fedora.
  6. On the next screen, name your machine and where you want the system to be saved.
  7. Next, select your disk drive space. I usually set 30 GB, but even with 20 GB I’ve never run into an issue. I’ve read the full install of Fedora is around 10 GB, but VMWare allows you to expand the disk size later, although there are some hoops, so if you have the space, set it higher. The great thing about VMs is that if you don’t like, you can delete the machine files and start over. (At the cost of some time 🕰️.)
  8. The final screen lets you customize some more options like memory, processors and some other features I haven’t used yet 😉. I have 16 GB memory and i6700k processor, which has 4 CPU cores. I usually allot 1 processor and 4 gb and my machine runs fine for most tasks.
  9. After finishing, boot your VM up and you will boot into Fedora. Follow the prompts to install Fedora to disk. This will take some time so take a walk, make a sandwich or look at the window for a while and relax !🧘🏻‍♂️
  10. Once you’ve logged into Fedora, click on “Activities” in the top left hand side of the screen. (This is the GNOME windowing system, by the way! You can change systems, but I haven’t tried it yet. Maybe, a future article? 🤔)
  11. A search bar will show up center, top of your screen and a bar with application icons on your left. These on the left are your favorites apps. Type ‘terminal’ in the window at top and when it shows up below, right click it and “Add to favorites”, it will now show up whenever you click Activities.
  12. When the terminal loads up, you will see the word “Terminal” appear next to Activities. Click it to drop down the menu and select Preferences. Click Unnamed (below profiles) and then the Command tab on top. Mark off the checkbox for “Run command as a login shell”. { What’s the difference?}
  13. Ok, from here, we’ll speed up and it will require you to either be comfortable with running things in terminal/shell/cli or that you are good at googling and patient.
  14. Update your Fedora operating system :
sudo dnf -y update 

You will have to enter your password. Sudo elevates your user to admin privileges. Be careful with this because if you install some stuff with sudo you will not be able to access it as a user. In this case, it is fine.

15. Install git:

sudo dnf install git-all

16. Then follow step 3 in the Learn.co MacOSX setup guide to get your SSH key setup. Its the same commands. Then configure git (step 4).

17. Try and install these, but they were already loaded on my system:

sudo dnf install gmp gnupg

18. Then follow step 6, 7, 8 in the Learn.co MacOSX setup guide to install Ruby Version Manager.

19. Actually, just follow the rest of the Learn.co setup guide. You are a smart person and you are clever and great at taking initiative and figuring things out! That’s why you’re attending the Flatiron School, so be scrappy and you’ll soon be up and running a VM on Win 10 and editing on your big computer! 🌊😁 🤙🏄‍♂️🏄‍♀️🏖️

Good luck!

Hints:

  • Where the guide says ‘brew’ , try ‘dnf’. If not, you might want to look into installing linuxbrew.
  • For installing sqlite/postgres, try these commands:
sudo dnf install sqlite-devel sqlite-tcl sqlite-jdbc
sudo dnf install postgresql-server postgresql-contrib
  • The postgresql server is turned off and disabled by default. You can enable its start during the boot using following command:
sudo systemctl enable postgresql
  • Install db browser for sqlite
sudo dnf install sqlitebrowser
  • You can use the pre-installed Firefox to search for and install Chrome.
  • Don’t forget you can use “Activities” to search for applications you install and after you open them you can save them to your sidebar Favorites. I recommend also searching for screenshot and text editor and adding them to your favorites.

Other Links:

  • Visual studio code — Install instructions here — FYI where you see the command 🏄‍♀️ ‘yum’ you can replace ‘dnf’ 🏖️
  • Slack for Linux [link] — 🏄‍♂️ FYI Fedora uses .RPM install files 🌊.

Until next time! Be well, dream big, love freely and continue chasing dreams and racing Father Time!

--

--

Danny Lee

a nyc based coding enthusiast, handyman, farmer at-heart, artist and future surfer