Computer Science 491
Senior Seminar

Dickinson College
Fall Semester 2018
Grant Braught

Ubuntu Install
Introduction

For the first several weeks of the semester you will be completing tutorials, in-class exercises and homework assignments to help familiarize you with some of the types of tools and techniques that are commonly used in H/FOSS projects. We, of course, can't cover them all. However, the experiences of learning new tools and techniques should translate well into learning others that you will inevitably need as you get into your selected H/FOSS project.

All of the tutorials, in-class exercises and homework assignments will use the Ubuntu Linux operating system. In addition, because the vast majority of H/FOSS projects are created and run under Linux based operating systems, learning a bit about it will likely be useful. So the first task will be to get a Ubuntu up and running so that you can use it.

Prerequisites

Before starting you should read a bit about Ubuntu Linux and Virtual Box. The following sites are good starting points:

Getting Started

For this assignment you will work in pairs to install Ubuntu Linux in Virtual Box. While doing so you will keep a live-log in a Slack channel to document your time and effort on this assignment. To get started:

As you progress through the assignment, use this channel to live-log your activities. Enter questions you have, answers you find, where you found them, steps you've taken, mistakes you've made, how you've corrected them, etc. The idea is for you to paint a picture for me and a record for you of what you've done. Because Slack is indexed and searchable, live-logs of your work can be a great time saver helping you to (re)find answers, reconstruct actions, and avoid repeating mistakes that you've made before. Live-logs will also provide a means for me to assess your time and effort investment on assignments (see the Syllabus).

The #sample-live-log channel in our Slack team contains a small sample of what might go into a live-log.

I recommend that one partner control the computer on which the work is occurring while the other partner keeps the live-log on another computer. I also recommend that you frequently switch roles so that both partners gain experience with the assignment and with live-logging.

Virtual Box

Virtual Box is a "a general-purpose full virtualizer for x86 hardware." In other words, Virtual Box is a program that acts like it is a full machine. It allows you to run a full "guest" operating system (OS) and associated software inside a window on a "host" computer (e.g. Linux (guest) in a window on a Mac (host)). Some advantages of this arrangement include:

You have two options for using Virtual Box:

Be sure you are able to launch Virtual Box (either on a lab machine, or your machine) before proceeding to the next section.

Ubuntu Linux

Ubuntu is a popular flavor of the linux operating system and is what we'll use for the next several weeks. Many of you may then find that it is also a good choice for working with your H/FOSS projects. Though, once you get a feel for Ubuntu, it is relatively easy to move to other flavors of linux if they are a better match to your project.

Tasks:

  1. Download Ubuntu 18.04 Desktop

  2. Install Ubuntu 18.04 into a Virtual Box virtual machine.

  3. Install the VirtualBox Guest Additions for Ubuntu. These additions greatly improve the interaction between the host operating system (e.g. MacOS) and the guest operating system (e.g. Ubuntu). This includes better graphics performance, the ability to copy and paste into and out of the VM, and a host of other smaller features. Once you have this installed try to copy and paste from the guest to the host and vice versa to confirm that they are working (note: Will also require a small configuration adjustment).

  4. Once your machine is up and running and you can log in, create a snapshot of its current state in Virtual Box.

  5. Open a text editor and type in your name and your partner's name and "COMP491 Fall <YEAR>". Then take a screen shot of the VirtualBox window and include it in your Live-log.

Acknowledgements: This assignment builds from and adapts ideas and content from the following activities created by others: