OLD 2011 Spring Linux Basics tie8tf063-15

This is page is obsolete and stored for historical reasons. I manually set an old date to keep this out of front page.
Agenda for Linux Basics 16, Autumn 2011.
After completing Linux Basics, you

  • Can install a Linux workstation with software
  • Can use command line interface
  • Can install 1-2 most important servers
  • Know the idea of Free software and the most important Free licenses
  • Know how to keep learning Linux independently

Linux Basics tie8tf063-15 is lectured on Fridays 12:00 – 15:45 in classroom h5013. Course lasts for period 1 of 2011. The course is taught by Tero Karvinen.
On spring 2010, total 40 students applied for the course, but there are just 17 seats in the class. Because of the popularity, there is a pre-exam on the first class. Material for the pre-exam is on the web, password protected pre-exam questionnaire is on Moodle.


1 Pre-exam, Installation w3
2 Desktop Linux, Licenses w4
3 Command Prompt w5
4 Package Management and Administration w6
5 Apache Web Server w7
(w8 winter holiday, practice at home)
6 OpenSSH Server and Client w9
7 Automation w10
8 Exam w11

Detailed Agenda

1 Installation, Distributions

  • Install Ubuntu. Obtaining install medium. Demonstration. Trying it. Details. Dual boot installations, backing up. Differences to installing other operating systems.

2 Desktop

  • Basics – some of your users just want to do this: Browsing the web, reading email trough web, writing documents, (printing).
  • Common tasks: Browsing filesystem, publishing on the Web

3 Command Prompt

  • Moving and looking around. Relative and Absolute Path.
  • File Manipulation.
  • SSH Remote Control
  • Help
  • History and Guessing
  • Usefull commands
  • See also: Command Line

4 Management and Administration

  • Many ways to use the package manager: “Applications: Add applications”, “Administration: Synaptic”, “Update Manager”, ‘apt-get’
  • Definition of the package manager. Probelms solved by the package manager.
  • Priviledged use. Root doesn’t surf. ‘sudo’
  • sudo apt-get update, sudo apt-get install inkscape, sudo apt-get upgrade, apt-cache search apache

5 Apache Web Server

  • Installing Apache
    • Enabling user homepages
  • Why Apache

6 OpenSSH Server and Client

  • Installing OpenSSH server
    • Letting a friend log in
  • Why OpenSSH (and how to choose software for remote access)
    • Security, features, price, platforms
  • Posix file permissions
    • Create a folder where your friend can write

7 Automation

  • Benefits of automation, scripting, programming environments

8 Summary
9 Exam


Publish homework where ever you want. Once you’ve published your homework, put a link into Moodle answer box. If you are afraid or otherwise reluctant to publish your work, you can also return the whole thing into Moodle. Publishing will be good advertising for you!
Use normal html for publishing web pages. Each student does homework separately and writes his own report. You can of course advice fellow students if they get stuck. Homeworks must be on the homepage one whole day before next class. Mention my course: “Based on Linux Basics course by Tero Karvinen http://www.iki.fi/karvinen“. If you want, you can use a Free license (like the license of Linux) by adding text: “Copyright 2007 YOUR NAME. GNU General Public License, version 2 or later. “.
Homeworks are official only after announced in the class. But feel free to have a look what I’m initially planning.


h-1: a) Burn Ubuntu Desktop on a CD-ROM. b) Install Ubuntu on your movable hard drive. c) Try live CD on another computer (not lab computer)
Example report by Titta-Maria.


2a) Install three applications using package manager. Describe their functionality. Include screenshots. Try to pick software that’s interesting or usefull to you.
2b) Install language support for your language (If you are a native English speaker, pick another language). System: Administration: Language Support adds languages. Login screen bottom left corner Options let’s you choose language. How well does it work? Characters displaying correctly? Spellcheck working? Translations correct?
2c) List applications you are using on your old operating system (Windows, OSX, Linux). Notice the purpose of each piece of software. Find a Free alternative to each application. This writing task doesn’t require working on a computer.
2d) Bonus (not mandatory): Read Free Software Foundation’s Free Software Definition. Give an example of using each freedom. Make it clear who is using it, doing what, with which software and what is the benefit. This writing task doesn’t require working on a computer.
2e) Bonus (not mandatory): What are the most popular Free licenses (meeting the FSF definition for Free software)? This writing task doesn’t require working on a computer.
2f) Bonus (not mandatory): help translate a program https://translations.launchpad.net/

Command Line

h-3: a) Try all the commands learned, many times – learn them all by heart. For this a part, only document if something unexpected happens or if you want more information about some command. Do and report: b) Try 5 commands (other than those mentioned on the class or the Command Line document). Use ‘man -k foo’ to find new commands if needed c) write a story of a day with command line. Invent relevant tasks. Use commands learned and others.
See also: Command Line.


h-4: a) Install three new pieces of software we have not tried before. Use command line interface for this. b) Give a short example of their use. c) Analyze a log of your choosing. Concentrate on some specific aspect or service. You can choose any log from /var/log/ you want, but most common are syslog, dmesg, Xorg.0.log and apache/*. You can use ‘grep’ to pick interesting lines. d) Optional hard: Install and use PGP enigmail Commands for Admin


a) Mention three specific examples of client and server in client-server architechture. (eg. Firefox web browser is a client for Apache web server).
b) Pick 5 lines from Apache logs and analyze them. Try to choose different kinds of lines. Extract as much information as possible.
c) Install PHP support. Write a “hello world” with PHP. My Bilkent notes is very brief, but made for Ubuntu. Build web interface to a database is more troughout, but it’s not made with Ubuntu in mind.
Optional c) install and test mysql-server and phpmyadmin, see my Bilkent notes.
d) optional challenging: write a php program to access mysql database.
e) optional challenging: install a content management systems, such as WordPress (good choice as the first CMS) or Drupal.
Remember the basics: command line


h-6: a) Change password b) Share files with ssh c) Securely copy files between computers with scp d) Run a graphical user interface program remotely trough ssh e) Optional extra: automate login with ssh client public key authentication f) Difficult optional extra: Use an http tunnel to HH www cache g**) Difficult optional extra: mount sshfs


h-7: a) Read the GNU Free Software Definition. Pay attention to four freedoms. Read Licenses and the Definition of Free Software (This a is just a reading task, no report needed).
b) Run “Hello world” in Java
c) Run “Hello world” in two other languages. (See also: Programming languages on Linux)
d) Write a shell script to display networking information of your computer (eg. ip-address, mask, name servers, default route, fully qualified domain name).
e) Make a shell script available to all users of the system (put in /usr/local/bin).
f) optional extra: install eclipse IDE and compile “Hello World” with that.
Good luck for preparing for the exam!



Some students already know Linux quite well, and want to show their skills with a project.


Old course pages

Posted in Uncategorized | Tagged , , , | Comments Off on OLD 2011 Spring Linux Basics tie8tf063-15

Comments are closed.