Linux Basics 13 – 2010 Autumn – dat8tf063-13

Linux Basics 13 – 2010 Autumn – dat8tf063-13

Exam of Linux Basics 13

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-13 is lectured on Tuesdays 12:00 – 15:45 in classroom h5013. Course lasts for period 4 of 2010. The course is taught by Tero Karvinen (karte’s timetable).

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 w34

2 Desktop Linux, Licenses w35

3 Command Prompt w36

4 Package Management and Administration w37

5 Apache Web Server w38

6 OpenSSH Server and Client w39

7 Automation w40

8 Exam w41

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. You can use your myy homepage or 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“. 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)


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

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 Old Site | Tagged , , , | Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *



You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • Picks

  • Boxing Clock for AndroidOcton8 Diving T-ShirtsShaking Tower Panda Android GameLearn Chinese with Android
  • Student projects