This page is OBSOLETE and stored for historical reasons.
Did you mean the latest: Linux Basics?
Linux Basics 11 - 2009 Autumn - dat8tf063-11
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-11 is lectured on Tuesdays 12:00 - 15:45 in classroom h5013. Course lasts for period 1 of 2009. The course is taught by Tero Karvinen (karte's timetable).
There is a pre-exam for Linux Basics on the first class. On autumn 2009, total 47 students applied for the course, 19 accepted in the pre-exam. This includes those doing a project. Best score was maximum points, worst was 0.
Agenda
1 Pre-exam, Installation w35
2 Desktop Linux, Licenses w36
3 Command Prompt w37
4 Package Management and Administration w38
5 Apache Web Server w39
6 OpenSSH Server and Client w40
7 Automation w41
8 Exam w42 Tue 2009-10-13 12:00
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 - all your users 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
- See also: Commands for Admin
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
Assignments
Publish homework reports on your myy homepage in the URL given. For example, task h-1 will be published in http://myy.helia.fi/~a12345/linux/install.html , Where a12345 is your student number and 1 is the number of the task. Use normal html for publishing web pages. Each student does homework separatly 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: “This document can be copied under the GNU General Public License”.
Homeworks are official only after announced in the class. But feel free to have a look what I’m initially planning.
Install
h-1: a) Burn Ubuntu 9.04 Desktop on a CD-ROM. b) Install Ubuntu 9.04 on your movable hard drive.
Publish your report on tero.sulautetut.fi. If you want, you can also publish it any web page and put a link on tero.sulautetut.fi. There is some advice on burning CD-ROMs in Burning ISO HowTo
Desktop
Remember to publish h-1 if you have not done that already.
h-2: a) Install three applications using package manager. Describe their functionality. Include screenshots. Try to pick software that’s interesting or usefull to you.
b) 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?
c) 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.
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.
http://myy.haaga-helia.fi/~a12345/linux/command-line.html
See also: Command Line.
Administration
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
Apache
h-5:
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.
Optional c) install and test mysql-server and phpmyadmin, see my Bilkent notes.
d) optional challenging: write a php program to access mysql database.
Remember the basics: command line
SSH
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
Programming
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!
Links
Projects
Some students already know Linux quite well, and want to show their skills with a project.
Herranen (PyPong - Python 3D programming on Ubuntu 9.04)
Korpi (FUSE - mount file systems over SSH and others, 9.04)
Novikov (Emacs Code Folding for Python and Syntax Highlighting for Lisp, Ubuntu 9.04)
Vein (Atmega88 Microcontroller on Ubuntu 9.04)