Skip to content
Courses

Prepare Your Course Workspace

Lab SetupLesson 2 of 230 minutesLessonBuilds on: UTM for macOSNo lab next

Finish the setup guide for your computer before you start this one. Boot the Ubuntu virtual machine and log in, because everything below happens inside the guest and not on your host.

Open Ubuntu’s application menu, search for Terminal, and open it. A terminal is just a window for talking to the computer in text. Inside it, a program called a shell reads whatever you type. We’ll be living in this window for most of the course.

Before we create anything, let’s confirm this is actually the guest the course expects:

Terminal window
grep '^VERSION_ID=' /etc/os-release
uname -m
python3 --version

The first two results must include:

VERSION_ID="24.04"
x86_64

Python should probably report 3.12.x. If the release or the architecture comes back different, go back to your VM setup guide right now and fix it. Carrying the wrong guest into the later x86-64 labs wastes a lot more of your time than rebuilding does today.

The terminal should show a line similar to:

student@course-vm:~$

That line is the prompt, and it means the shell is sitting there waiting for you.

  • student is the example username.
  • course-vm is the example computer name.
  • ~ means your home folder, the normal place for your files.
  • $ marks the end of the prompt.

Your username and computer name will probably be different, and that’s fine. The important part is that you never type the prompt itself, so when this page shows a command in a block, type only the command.

Use Ubuntu desktop help if the file or application controls differ from what you expected on your host. The steps here belong to the guest desktop.

A folder, also called a directory, gives files a named place to live. We’ll keep every bit of course work inside one folder named underdunn-course, so exercises, downloads, and notes are easy to find again.

Type these four commands, pressing Enter after each line:

Terminal window
mkdir -p ~/underdunn-course/exercises
mkdir -p ~/underdunn-course/labs
mkdir -p ~/underdunn-course/notes
mkdir -p ~/underdunn-course/downloads

mkdir means make directory, and the -p option lets it create a missing parent folder along the way (without -p it would just complain). The / characters separate one folder from the next, so ~/underdunn-course/notes means the notes folder inside underdunn-course, itself inside your home folder.

Before running the next command, predict the four names you expect and whether their order will matter. Now list the contents of the course folder:

Terminal window
ls ~/underdunn-course

You should see these four names, although the terminal may arrange them on one line:

downloads exercises labs notes

Notice they came back in alphabetical order rather than the order you typed them. ls sorts names by default, so the order you created the folders in never mattered.

If one of them is missing, check its spelling against the commands above and run just that one again. Running the same mkdir -p twice is harmless, and it won’t erase the folder or anything inside it.

Folder What belongs there
exercises Small files you create while following lessons
labs Working copies of supplied lab files
notes Optional notes and reminders
downloads Original lab archives downloaded from the course

Open Text Editor in Ubuntu. Enter Hello from the course VM, save it as ~/underdunn-course/exercises/hello.txt, then close and reopen it. If the text is still there, you can create and find the files we’ll use in later lessons.

The notes folder is available if notes help you. Nothing needs to be submitted.

Run these checks in the terminal:

Terminal window
grep '^VERSION_ID=' /etc/os-release
uname -m
python3 --version
ls ~/underdunn-course

Check for Ubuntu 24.04, x86_64, a Python 3 version, and the four course folders. If one is missing, return to that setup step before continuing.

Most commands finish on their own and hand the prompt back to you, but some will happily run until you stop them.

Type:

Terminal window
ping 127.0.0.1

ping keeps checking whether another network address answers, over and over. The special address 127.0.0.1 points right back at this VM (it is usually called localhost), so this is a completely harmless local test. After two or three lines show up, hold Ctrl and press C.

The command should stop and the prompt should come back. That key combination is written as Ctrl+C, and you’ll want it any time a lesson command keeps running and you need your terminal back.

Closing the terminal window won’t normally delete files you already saved, so if you shut it by accident, just open Terminal again.

Your VM setup guide had you create a snapshot, a checkpoint, or a powered-off copy. That recovery point captured the VM exactly as it was at that moment, and nothing since.

So restoring it rolls the VM’s files back to that earlier moment too. Anything you made afterward can disappear, and that includes the text file you just saved. Before you restore a whole VM, copy any notes you care about somewhere outside it, and I’d reach for a lab’s own reset instructions first whenever they exist.

You don’t need to test a restore right now. Just confirm the recovery point actually exists in VMware Workstation, Hyper-V, or UTM, and if it doesn’t, go back to the last section of your setup guide and make one before continuing.

Later labs hand you download links, and those files belong in ~/underdunn-course/downloads. If your browser drops one into ~/Downloads instead, move it over with Ubuntu’s Files application.

Don’t extract or run a downloaded lab file until its instructions tell you to. The first lab introduces archives and checksum verification using the file you download there.

You’ve now got one place for course work, a saved text file, and a way to stop a command. You also know to copy any work you want to keep outside the VM before restoring it. Continue to Linux Foundations, where we start pulling apart what those commands actually mean and how to read what they hand back.

Knowledge check

Question 1 of 2

The editor shows your note, but you have not reopened the saved file. What remains unverified?