Take Apart A Computer: Follow-Up Post

(If you’re here because you want to know what to do with your shiny new Linux DVD, you can skip about the first third of this.)

Today I attended Take Apart A Computer Day, hosted by the Women In Computing club here at UNI. This was kind of a beta test run for a potentially larger event later on.

I worked together with two other girls (if you ladies are reading and want your names here, let me know–but I don’t generally mention names on this blog unless asked, for people’s privacy) on a huge old box. We have no clue if it worked beforehand (the consensus after two professors and all three of us took a crack at testing it was no), but it definitely isn’t working now, so I guess that’s a success. After all, the event isn’t called “Put a Computer Back Together in Full Working Order Day,” and we did get it apart. Eventually.

So, we learned a couple things from the beta run for next time:

  1. Test all the machines beforehand–after moving them.
  2. The test monitors that the computers also need to be tested on a known working box, so we know our testers work. Nothing like screwy monitor settings to make you crazy wondering what’s up with the computer.
  3. Two people is probably a good number for working on a computer together… three is a bit much. Having a partner makes things easier, but six hands is pretty awkward even if the people are friendly.
  4. WHERE IS THE RIGHT SCREWDRIVER. WHAT EVEN IS THE RIGHT SCREWDRIVER. NONE OF THESE SCREWDRIVERS WORK. HOW.
  5. Juice boxes! Yes, this is kind of a tradition with me now: bring juice into a place where it would be very bad to spill juice. But they were still all consumed! On the other hand, we need more people willing to take home pizza that’s been sitting out for a few hours…
  6. Having extra Linux install DVDs to hand out is a good thing! Not necessary, but good–people are curious!

Anyway, I’m sending this post around the WIC mailing list (er… Google group? It’s different from the CedarLUG list, which is legitimately an old-fashioned mailing list). About five of you folks from this event now have Linux test/install DVDs. If I remember right, I handed out a Xubuntu, a Mint, two versions of Debian, and… something else? Maybe that was it.

I’m pretty sure I’ve used each of them at one point, and they should all work even if they’re not all the newest and greatest; I think they’re all the long-term-stable releases so they’ll be fine. If they don’t work for whatever reason, don’t sweat it; email me or whatever and I’ll make more, or if you have blank DVDs lying around (or are willing to buy a pack for $5 at an office supply store), you can make one.

 

Anyway, when I give people techie stuff, I like to make sure they can easily figure out how to use it. (Doesn’t always happen, but I try to.)

So! If you’re curious about Linux and maybe just got a DVD from me, here’s a guide to all the guides I’ve written on the subject:

If you didn’t get a DVD or yours turned out to be a non-functional dud, here’s how to make one.

If you don’t have an optical drive in your computer, or want a more permanent plaything than the DVD, here’s how to make a virtual machine instead.

If you’re confused about the Linux ecosystem, here’s how I learned what I know.

If you’re just confused, period, here’s the FAQ I wrote for another event which involved lots of Linux newbies.

If you just want to run Linux off your DVD to play with it a little, it’s simple. Stick it in the optical drive of your computer, and restart the computer. While it boots, tap F12 (it’s probably F12, but keep an eye out for what key you’re supposed to press for menu options during your computer’s boot sequence) and select “Boot from CD/DVD” in the menu.

The difference between doing that and making a virtual machine is that a virtual machine will save any files you create from session to session (unless you do magic to configure it otherwise). An install DVD won’t save anything, so you get a fresh, clean system every time you start it up.

If that’s not working for you, email me in the list or comment on this post and I’ll try to help. If that still doesn’t work for you, bring the offending computer to the next WIC meeting if it’s portable (let me know what you’re doing so I make sure to come), or invite me over to your place if it’s not/if you can’t attend the meeting. I will help you get a Linux running if that’s something you want.

I’ve installed Linux on some weird old machines and gotten at least workable solutions out of them. Sometimes a setting needs to be tweaked or Google needs to be scoured for information. Sometimes a certain distro just doesn’t like your hardware, and you need to try a different one or download extra driver files or plug your computer into a wired Internet connection or something weird. Such is technology.

That’s usually not the case though. Most installs these days go really smoothly, especially with Mint or Xubuntu.

Speaking of installs, CedarLUG–UNI’s Linux Users Group–is holding a Backup Day pretty soon, and an Install Day sometime after that. If you want in on that, here’s the web site (I coded that! The penguin at the top is a bit of a giveaway…). Subscribing to that mailing list will get you updates on those events, and the occasional computer puzzle.

Happy Linux-ing!

This is lovely and I want to share it

I ran across this JSON tutorial that I think is going to be really helpful. (Yes, I’m still messing with JSON.)

http://pythontips.com/2013/08/08/storing-and-loading-data-with-json/

It looks like the site has a bunch of other useful tutorials and stuff. Definitely worth a bookmark if you’re learning Python. I don’t see a Gittip button, so hopefully I can pay the writer in a little well-deserved publicity.

Happy hacking!

What confuses you about seasoned programmers?

This one’s for the (comparatively) more normal people.

Is there some custom/habit/trait of programmers that you’d like explained? Let me know in the comments!

I’ll also take general post requests as per the common-sense guidelines I set up a week ago. Basically–you can ask for how-tos, you can ask to discuss something (even if it’s controversial) but it can’t be one-sided, be civil and PG-13 in the comments, and I reserve the right not to take your post request if I decide there’s a reason.

A dozen people stumble across this site every hour. Some of you probably have opinions on what you want to read! You don’t need any kind of account to post comments on this site, so go straight ahead. I like to hear from you guys. 🙂

Hey, Shan, this is for you ;)

Shan Reddy commented on How I Learned Linux:

I’ve landed here from Steve’s page. Great post. It was so neat, helpful, clean like a crystal. I’ve bookmarked all the links which you’ve included. That’s such a great help. Oh yeah! your blog as well and I’d be following regularly to check the updates and read more. Your writing skills are excellent. Appreciate it. Wish someday I could write as well and share my info all that I learn with the rest of the world like you.

I liked the part where you said that someone if they weren’t interested or not confident they could do it would not have read through so much. I was so happy to read that. ‘Cause for me my programming journey was very steep but once I picked up I could find the intellect in me moving much faster. And now I’m looking to learn hacking and that’s how I landed on Steve’s page and here finally from there. I’m currently on Windows but after reading this article and understanding the importance from Steve’s I’m determined to learn the whole of Linux no matter how hard/long it takes. And the other languages which Steve has mentioned in his article. I’m currently programming in Java but learning more web technologies as well.

I look forward to more great articles from you and hope to stay in touch. Cheers!!!

Thanks for your comment, Shan! You brought up a few things that I wanted to discuss not only with you, but with others in your situation.

Programming can be really tough at first glance. It depends on how you were introduced to it. I started off with HTML and CSS when I was 13 (not counting my RPG Maker XP experiments a year before that) and I think that helped make other languages seem not so intimidating. HTML is kind of the gateway drug to programming, haha.

In your case, I’d suggest that Java hasn’t made it any easier on you. Java is not a great first language. Java isn’t a spectacular language anyway; it can be very useful, and sometimes it’s the right tool for the job, but it’s not the first tool that a programmer with a varied language skill set will reach for. Python is cleanly designed, easy to read, and won’t give you fifty lines of error messages because you forgot a semicolon.

(Also, contrary to popular opinion, starting with a more difficult language is not necessarily going to make you a better programmer. It may just make you a more frustrated programmer. In other words–don’t start off with C or Lisp either, even if knowing those later on *will* make you a better programmer.)

Furthermore, you expect learning Linux to be a long, hard slog because you started off with Java and that was a long, hard slog. This is likely to MAKE learning Linux a long, hard slog. And that doesn’t help you! Don’t be so pessimistic. Programming is fun!

So, learn HTML5 and CSS, and tinker with it a while. That should keep you busy for about, oh, three weeks. Maybe more, maybe less. Then head over to learn Python. That’ll take you… mm, six weeks maybe. Maybe more, more likely less. Don’t let yourself get bored with either of these tasks–if you’re bored, then either make it interesting or move on, because if you’re bored, you aren’t working at your full efficiency.

(Bored || frustrated || mentally tired) programmers == ineffective programmers.

THEN come back to Java. Wow, it’s a lot easier, right?

It’s like this. Imagine a guy walking down a path. He comes across a boulder in the middle of the path, and thinks, “I should move this boulder so I can move on.” He could go around the boulder, but he sort of wants to try to move it because he thinks moving the boulder will make him stronger and thus be a better option than going around. So he shoves and pushes and presses all his weight and muscle against it for hours, until his muscles are extremely sore and he is hungry, thirsty and exhausted. He gives up for the night and goes home.

From here, the story splits into two parallel universes.

In Universe 1, the man goes back the next day. He pushes and pushes the boulder until, like the previous night, he’s sore and exhausted.

In Universe 1a, he gives up and goes home to watch TV and drink beer. He’s pretty happy about that but he never got to go on his hike. This is the more likely outcome from Universe 1, really.

In Universe 1b, he doesn’t give up. He goes back to the boulder every day, and while he gets stronger and stronger from trying to move it, he’s started to hate going out onto the path to push against it. One day he goes out and is finally strong enough to move the boulder, but is too fed up with just the sight of his path that he goes home to watch TV and drink beer anyway. Besides, the seasons [current technology] have changed and the mountain the path led up is five feet deep in snow.

In Universe 2, he just goes around the boulder… and finds a pickaxe. He uses it to get rid of the boulder and then goes on his hike. The hike is long and in places difficult, but at the end, he is as strong as he would have been from trying to push the boulder, and he’s enjoyed his time out in the fresh air.

You see where I’m going with this?

Yet there are a lot of teachers (and old programmers! and competenprogrammers!) who will insist that the best way to get the metaphorical boulder out of your way is to push and push until you hate the path, even if there’s a more efficient way to move it and a more enjoyable way to become strong.

Anyway, I’ve heard a lot of people struggle with this problem, so I wanted to write about it.

The bottom line is that Linux, and programming in general, won’t be as hard for you as you think it is as long as you use the right tools in the right order.

If you get told that the ONLY way to move a boulder is with a pickaxe, though, but it doesn’t work for you, try a crowbar or something instead. Not everyone’s creative brain works the same way; if they did, we’d have a billion copies of Mona Lisa and no “Starry Night”s or “The Scream”s or “Persistence of Memory”s. And sometimes you just need a break from trying a certain approach.

So, even as I give you advice to learn HTML5/CSS and Python (a set of introductory but objectively useful tools which has indeed worked for many programmers), I warn you that it may not be the right beginner’s set for you. But be warned away from anything that’s specifically meant as a teaching tool; these generally aren’t worth learning because you can’t use them for anything bigger than a 50-line toy program.

Anyway, get yourself a VirtualBox download and set up a Linux VM. I’ll warn you that BASH scripting is annoying to work with, but you should learn it at some point. You know where to go for links on learning the command line and stuff, of course 😉

Oh, and if you ever make a blog to share what you learn, send along the URL and I’ll link you on here.

Happy hacking!

I found another useful trick in VirtualBox

You know how I love VMs because if it all goes pear-shaped, you can bomb the thing and make it over?

I found out how to make it even easier to revert changes by using snapshots. HowToGeek already covers this subject well, so I’m just going to link to them; this post is here as reference material for those of you who are following my site to learn about virtualization. As noted before, not all aspects of VMs and the software that builds them are obvious. I’m still exploring this technology, too; I’ve only been at it for a couple months maybe, so I haven’t discovered all the features yet, but I’ll update here when I find anything new.

Here’s HowToGeek’s article: http://www.howtogeek.com/150258/how-to-save-time-by-using-snapshots-in-virtualbox/

Play with Linux without changing your main OS: How to set up a VM

In this post, I’ll give you what will hopefully be a shortcut around all the nonsense I went through trying to make a Linux (specifically: Lubuntu) VM to play with. Not everything you do to make these things run well is terribly obvious, so I’m covering it for you.

I’m not going to assume you know everything, so I’m going to cover a lot of really basic info in this article. If you’re well-grounded in the basics, the tl;drs are in red.

VOCABULARY

OS: Operating System. Windows is one; Mac OS X is one; Linux is one.

RAM: aka “memory,” this isn’t the same thing as storage. RAM is like your computer’s short-term memory. Upgrading RAM often speeds up computers because it’s a common system bottleneck; that is, the system can only go as fast as its slowest component, and that’s often RAM. That’s not to say that every system will speed up if you upgrade RAM, because there are other components which could slow down a system (e.g., a fragmented hard drive, a really inefficient piece of programming). In addition, not every system needs a lot of RAM to run what it needs to run.

VM: A virtual machine is just a program that thinks it’s a real computer. It runs an operating system and has its own files. Anything you save to a VM stays there even if you shut the VM off (unlike a live USB). There are tons of uses for VMs. For instance, apart from the Linux VMs I made for fun and to mess around with, I also have a VM running Windows 7; this lets me run Windows-specific programs for school without actually having to use it as my main OS.

For more about what a VM is and why you’d want one, HowToGeek has an awfully nice look at the subject. Link opens in new tab.

64-bit; 32-bit; x86: You use 32-bit OSes on systems with = 4GB of RAM. Operating systems marked x86 are 32-bit.

Host OS: your “normal” OS, as opposed to the one that’s on the VM.

Guest OS: the OS that’s on the VM.

——————————————————————

YOU WILL NEED:

– A computer that’s pretty decent on the hardware front. If you don’t have at least 4GB of RAM and two cores, you’ll probably want to look into permanent live USBs instead. Because running a VM means that your hardware is working double-time to keep up two different OSes, plus any programs you’re running on them, things can get pretty demanding in that direction. Live USBs are less demanding because your computer doesn’t have to run your “normal” operating system alongside the new one.

– To install VirtualBox. (opens in new tab) That’s the official site; as always, it’s preferable to get your download straight from the developers’ own site so it doesn’t come with C|Net-bundled crapware or anything like that.

A Linux .iso in your favorite flavor. I used Lubuntu, which is just Ubuntu (pronounced “oo-BOON-tu”; it’s an African word) with a less fancy interface that’s easier on the VM’s limited hardware. You may want to do a little research into the different distributions and interfaces–Lubuntu’s not a bad starter, but there’s also Debian, Mint, and a whole host of others.

You’ll want the 32-bit (x86) version of your chosen distro. Linux can do a lot with a minimal amount of RAM, so don’t worry about it for now, even if you have a powerful computer that can give the VM >4GB of RAM. If, later, you decide your Linux VM really needs the extra power, you’ll know enough by then to whip up a 64-bit VM easily.

It helps the Linux developers if you use a torrent program (e.g., uTorrent) to download the .iso file that contains your chosen distro, rather than downloading straight from their site (which costs a lot of bandwidth, as the files are of course quite large). If you can’t, there are still ordinary downloads available.

If you’re at sea with all these options, just go ahead and grab the 32-bit version of Lubuntu from here. (opens in new tab)

——————————————————————

INSTALLING LINUX ON YOUR VM

1. That .iso you downloaded? Stick it somewhere you won’t lose it. I suggest putting it in your home folder. If you like, you can rename it too, but that’s usually unnecessary. You’ll want to keep the distro name and the version number (which will be something like 14.04) in the name. Don’t use spaces, but underscores and hyphens (_ or -, respectively) are okay.

2. Open up VirtualBox. Click through whatever tutorial junk it throws at you–you can read it if you want, but since this guide will take you through the steps anyway, it’s not necessary. Then go ahead and click the blue round/spiky-shaped button that says New, in order to create a new VM.

3. You need to choose a name for your VM. It doesn’t matter terribly what you name it. I name mine after awesome programmers–so far I have Adalace, Matsumoto, and Eric (points if you know who I’m referring to). Under Type, choose Linux. Under Version, you’ll need to tell it what flavor you picked out. If you’ve been following along with the Lubuntu .iso I recommended earlier, choose 32-bit Ubuntu. Remember, Lubuntu is just Ubuntu with a different user interface–the programming behind it is essentially the same. But it DOES matter that you choose the right bit version. It won’t work if you get that wrong–although if you find you accidentally checked the wrong bit version, you can change this in Settings later.

Other important note: Some Linux systems need you to mark the VM as 64-bit, or they won’t install–even if your .iso is 32-bit. Debian “Wheezy” is this way, and so are some others I’ve tried.

4. Now it wants to know how much RAM you’re going to feed the VM. This RAM gets allocated to the VM when you start it up, but it doesn’t “keep” the RAM when the VM shuts down. If you have a computer with 4GB of RAM and you decide to give your VM 1.5GB, then while the VM is running, your host computer will be running on 2.5GB of RAM and the VM will have 1.5. Then when you shut the VM off, your host will run on all 4GB again. I suggest feeding it at least 1.5GB, although you can give it more if you have more to spare. Remember: your host OS needs at least 2GB of RAM for itself.

Ah, but the slider doesn’t measure RAM in GB, does it? It’s using MB as a unit. 1024 MB = 1 GB, if you’re not familiar. It’s automatically set to 512MB, or half a gig, when you get to the screen. Probably your VM could run on that okay, as Lubuntu is pretty lightweight (this is where the different interface matters), but it’d be pretty slow. So just throw in ~1500MB RAM. Precision doesn’t terribly matter here, you don’t need to get it to 1532 MB exactly (though you can just type it in if you want).

5. Leave the radio button setting on “Create a virtual hard drive now.” Click Create.

6. Leave the radio button setting on VDI (if you knew you needed to use any of the other settings, you’d already be doing something more advanced than what this guide describes, and you wouldn’t be reading this). Click Continue.

7. Most of you will want to go with the dynamically allocated option here. VirtualBox explains the difference between them pretty well in the selection window, so I won’t rehash it. Choose, and click Continue.

8. Here’s where you set how much storage space the VM will have. If you picked dynamically allocated, you’re just setting a cap for how much room on your hard disk the VM can take up, and you can change this value later. You’ll want to think about it a bit more if you chose to make your VM a fixed size. Give yourself at least 8 GB, more if you want, and click Create again.

9. If you chose fixed size, you’ll have to wait for your computer to trundle on with its various creation processes, etc etc. If you chose dynamically allocated, you’ll almost immediately have a drive you can open up. First, though, we want to change a few settings on it. Click your VM once, and then click the Settings button.

10. Important step. There are different tabs available to you; first, go to System. You’re going to change the boot order. Basically no computers have a floppy drive any more, so uncheck that and click the down arrow three times to move it to the bottom of the list.

Leave the CD drive and the hard drive checked. Even if you don’t think you’ll use CDs on your VM, it’s important to leave it checked because (as far as I can tell) the VM thinks it’s booting from a CD in order to install the OS. Under Display, go ahead and let it use 3D acceleration. You may also want to give it more video memory; again, VirtualBox’s default settings are kind of bare-bones, so give it about 36MB instead of the default 12. If you feel the need to adjust this later, you can. The rest of the settings can be left alone until you have your own reasons to change them. Save your changes, close the Settings menu.

11. Now start up your VM with a double click or by using the green Start button. It’ll pop up with a window asking for a “virtual optical disk file.” That just means the .iso you downloaded earlier and oh-so-carefully put where you won’t lose it. Now you need to find it. Click the folder icon, navigate to it, and pull up your .iso.

12. Hit Enter to select English from the languages menu that pops up (if you’re reading this, you probably speak English), or pick your favorite language (one you understand, please) and hit Enter.

* It’s worth noting that if you click the mouse inside your VM window, it’ll pop up with a warning letting you know the VM will “capture” your mouse cursor, and telling you what key to press in order to un-capture it. It’s not a big deal, just take note of which key it says. For me, on Mac, it’s the command key. It may be the Ctrl or Windows key on Windows; I’m not sure. Pressing whatever key it is for you just tells the VM to let the host system use the cursor, instead of keeping it to itself like a greedy little bugger. Later on, your system may not need to bother you about this, and it may handle the cursor automatically. Usually it takes a minute for this feature to start up, though, so you may see the message from time to time. It’s nothing to worry about.

13. Navigate with the arrow keys and opt to install Lubuntu on your VM. Hit Enter again. It will most likely complain about your BIOS. This is because it doesn’t have a real BIOS, and its complaint does not actually matter. It’ll run anyway, just let it do its thing for a minute. You’re going to fool it into thinking it has a BIOS later.

14. Hopefully you’ll be rewarded with a lovely blue-and-purple background while the installer loads (or whatever color your chosen flavor has). Be patient; it’ll pop up. Pick English (or whatever language) again and hit Continue, unless you actually want to read the linked release notes.

15. It’ll tell you about some basic system requirements and ask that your computer should be plugged in and connected to the Internet. Your system requirements were covered when we allocated those resources to the VM when we made it, so don’t worry about that. Let it install the updates and software it wants to install; that way you don’t have to do it later. It won’t install junk. (Ha!) Click Continue.

16. It will think for a few minutes, trying to figure out if you’ve got any OSes on the disk already. Of course you don’t, as it’s a freshly minted VM. So let it wipe the nonexistent files off the drive and install Lubuntu. This won’t hurt your host (read: normal) operating system, or touch any of its files except for the VM’s personal file. Click Install Now.

17. It’ll ask for your timezone. Click your area on the map, or enter a major city in your timezone (e.g., Chicago, New York, Moscow) and hit Continue.

18. It’ll ask for your keyboard layout. If you’re using an ordinary keyboard such as might be found on a Windows laptop, keep the default settings. If you’re using a Mac, pick Macintosh. If you’re using a Dvorak keyboard, you know bloody well what setting you need. If you’re Russian, you’re gonna have to figure this one out on your own. It does have an option to detect your keyboard layout for you, but that doesn’t always work. Pick your keyboard layout and hit Continue.

19. Type in your name, re-enter your VM’s name, pick yourself a username and password, and pick whether you want to be prompted for said password. Basic stuff. Do the obvious and move on. Remember your password, even if you chose not to have the machine prompt you.

20. It’ll start really installing now. Let it run. You can leave it alone for a bit now.

21. When it declares that it’s finished installing and asks you to reboot the VM, just click the conveniently-located Restart Now button.

22. If it asks you to press Enter when it starts up, press Enter. It’ll complain about the BIOS again, and then it’ll start up for real.

23. It’s in a tiny window, though, even if you pick Fullscreen under the View options. That’s because we haven’t installed the guest additions packages yet. They’re basically a bunch of drivers and stuff that adjust Lubuntu (or whatever you’re using) to the “hardware” of the virtual machine (like the “BIOS”). If it’s not automatically handling switching your mouse and keyboard back and forth between the VM and your host machine, it may start once you install guest additions. So we’ll install those, we’ll reboot, and then hopefully it’ll show up in actual fullscreen when you fullscreen it.

The command to go in and out of fullscreen in VBox is the host key + F. For me, that means Command + F. If you don’t know what your host key is yet, Google it; it depends on your host operating system.

Lubuntu has a pretty bare interface. The taskbar is at the bottom, and probably there’s a software updater prompting you to update stuff. Guest additions first, though; we’ll update with the command line soon. So tell it to come back later. There are two ways to install guest additions. I will cover installing via the terminal; if you want to look into doing it via the GUI*, that’s your prerogative.

(*Graphical User Interface, pronounced “gooey.” A sillier name could not have been created, even by the likes of INTERCAL.)

—–INSTALLING GUEST ADDITIONS—–

This part is kind of distro-specific. In other words, if you’re using something other than Ubuntu or its alt-interface cousins Lubuntu, Xubuntu, or Kubuntu, you’re going to need to access the instructions specific to your Linux flavor here, at VirtualBox’s page on the matter.

Hit ctrl+alt+t to open the terminal. You can also access the terminal by clicking on the lower left-hand corner icon, mousing up to Accessories, and picking LXTerminal from the drop-down list. Keyboard shortcut’s faster, though.

Here are the commands you most likely need to enter. Note that they’re case-sensitive and need to be typed in exactly.

sudo apt-get update

sudo apt-get upgrade

[a little info on this pair can be found here]

sudo apt-get install dkms build-essential

[then reboot, open the terminal again, and run…]

sudo apt-get install virtualbox-guest-additions-iso virtualbox-guest-dkms

That should cover all your bases, and install anything that needs to be installed. Reboot again, try fullscreen mode and see if it works. It should.

—–TERMINAL INSTRUCTIONS FOR THOSE WHO ARE NEW TO THINGS—–

If you’re VASTLY new, you may want to have a look at this command-line tutorial made by Zed A. Shaw.

Some general information. People get intimidated by the terminal, so knowing more about it helps.

Any command you run with the sudo (“super-user do”) prefix will prompt you for your password. This is because you CAN do damaging things to your system while using this prefix (in this case, it’s not a system with anything important on it). If someone on the Internet tells you to run a command prefixed with sudo and you don’t know what it does, find out what it does first. There are people who will use these commands to help you, but there are also some people who’d like to play a nasty prank on you. So find out what the thing does from Google, or just run the command under a designated guinea-pig virtual machine, so it can’t damage any files.

You don’t need to worry *too* much about what you do to your VM (unless you put important files on it later), but if you switch to Linux as your main OS, you need to be more careful. VMs are sandboxed away from your host system and your files there, so you won’t hurt anything by screwing up a brand-new VM; if all else fails, you can delete the VM and start over. This is why VMs are a great playground for messing around with Linux–or, really, any unfamiliar piece of software.

It’s worth noting that when you type in a password, it won’t show up, even as character dots; this is a security thing. If you mistype while you’re typing the password, you can use Backspace as always. If you accidentally execute a command with a typo in it and you get that “I don’t know what the heck you’re talking about” message from the computer, you can hit the up arrow key once and it’ll pop back up, and you can correct your typo.

In addition, if you wait too long or reboot between commands, your sudo privileges will time out and you’ll have to prefix your next command with sudo again.

For both of these commands, the system will analyze how much space the suggested operation will take up on your hard disk, and it’ll ask you if you want to continue. Hit y and press enter so it can move on.

Another Linux thing: if it says [Y/n], then just pressing enter will do the same thing as pressing y and hitting enter, because the capitalized option is the default option. Conversely, if it says [y/N], hitting enter is the same as telling it no.

You can tell when your last command has finished running because the terminal will display a prompt that looks kind of like this: 

username@computername: ~$

Typing “exit” closes the terminal, and pressing ctrl+c makes it stop whatever thing it’s doing.

———————–

That should do it! You now have a working Linux VM.

If you don’t, well, Google is your friend, no? The Linux community is a broad one and someone has probably already asked your question on a forum somewhere. And if you still can’t find help, make an account on one of those forums and ask the question yourself! Be nice to the people there; they are helping you out of the goodness of their heart and are not being paid, so thank them!

Happy hacking!