Agenda for Linux Basics dat8tf063-26 Autumn 2015

Learn the basics of Linux in just 8 weeks!
1 Pre-Exam, Installation w35

2 Desktop Linux, Licenses w36
3 Command Line Interface w37
4 Package Management and Administration w38
5 Apache Web Server w39
6 OpenSSH Server and Client w40
7 Shell Scripting and Hello Worlds  w41
8 Final In-class Lab Exercise w42
Tero teaches all the classes in h5004, Mondays 12:00-15:45.

There might be changes to this initial agenda.
Course ends at the final evaluated in-class lab exercise in the end of the period.

Evaluation

Course grade consists of homework (50%) and final in-class lab exercise (50%).
Homework is evaluated with homework reports and in-class quizes. Homework reports are returned weekly, for example by publishing on the web and returning the link. We’ll talk about homeworks at the beginning of each class, and you can get oral feedback on your work. All homework is evaluated at the end of the course with one grade, based on a package of combined homework. Still, each individual homework must be completed before next class. Homework is obligationary, and must be returned in time to be allowed to take part in the final in-class lab exercise and pass the course.

Links

Feel free to check feedback from previous instance, an even earlier intance and older feedback, too.

Administrivia

Updated: during the course, this page is continuously edited to reflect the latest information.

Posted in Uncategorized | Tagged , , , , , , , , , | 42 Comments

42 Responses to Agenda for Linux Basics dat8tf063-26 Autumn 2015

  1. h1: Create a Linux live-CD or a live USB. Try it on a computer outside the lab. Report. List the tested hardware configuration.
    ps.
    – Get a free (add funded) blog from http://wordpress.com
    – Write USB-memory with UNetbootin http://unetbootin.github.io/ . It’s available for Linux, Windows and Mac. Settings: Distribution: Xubuntu, 14.04_Live_x64; Type: USB Drive, Drive: /dev/sdb1; OK. (Write to USB Drive, drive name depends on your system. Don’t write on hard disk.)
    – Take backups, for example to an external USB drive. After that, installing Linux is a good idea
    – For this assignment, you don’t have to install, trying live USB is enough
    – It’s a good idea to publish your work. If for some reason you don’t dare or want to publish, you can put your work to a web page behind a password, using wordpress.com password feature or myy private directory. Homeworks must be returned as web pages (not as odt, doc, pdf nor rtf), as links to Moodle (not by email).
    – You can return just a link to Moodle
    – Write your report so that another person could repeat what you did. Write the report at same time when you work. Describe environment, hardware; steps you took; what happened; conclusions.
    – Good luck!

  2. Antonio says:

    Am I missing something because I cannot find where I can post my link (wordpress) in Moodle. Please guide me on where to post my wordpress link, thankyou!

  3. Happy to hear that you already wrote your report. The form for returning the link is now in Moodle.

  4. Mika-Petri Lauronen says:

    Here are my experiences. All wasn’t smooth as can be read in the last item:
    https://mixunlinux.wordpress.com/2015/08/28/moikka-maailma/

  5. h2:
    Learn the Free software definition. https://www.gnu.org/philosophy/free-sw.html . For this subtask “Learn the Free…”, no report is needed.
    Read from dissertation by Välimäki 2005: Rise of Open Source, chapter 5 “Open Source Licenses as alternative governance mechanisms”. http://lib.tkk.fi/Diss/2005/isbn9529187793/isbn9529187793.pdf For this subtask “Read from dissertation…”, no report is needed.
    List to your report the software you normally use (on any system, including Windows, OSX or Android). For each software, name its purpose. For each purpose, name a Free Linux program if you know it. (You probably don’t know Free Linux alternatives to each purpose, feel free to leave Linux alternative empty and we look it on the class). For example: Prorgram: Microsoft Word, purpose: word processor, Free Linux alternative: LibreOffice Writer.
    Try & report three Linux programs in the graphical user interface. Use programs for their intended purpose (just opening the program is not enough).

  6. Here is my tutorial on installing Xubuntu 14.04 on an HP Pavilion Notebook. I’ve had some interessting issues to solve but finally managed 😉

  7. Tero Karvinen says:

    h3.
    a) Create a directory hierarchy, where top dirs are weekdays, and each directory contains text files one.txt and two.txt.
    Mon/
    one.txt
    two.txt
    Tue

    b) Connect to myy with SSH.
    c) My day on the command line. (Extra task: you can also use more advanced commands here if you are a guru)
    For a to c, write a report on a web page and put a link to Moodle.
    Learn the commands by heart:
    http://terokarvinen.com/2009/command-line-basics-4

  8. h4. Create and test an apt-get install line of your dreams. It should automatically install your favorite software.
    Analyze two lines from your logs. One example of something succeeding, one of something failing.
    Voluntary difficult bonus task: turn your apt-get line into a metapackage (google: karvinen metapackage)

  9. h5.
    – Install Apache and create an HTML5 user homepage. (Make sure user can edit his page, don’t go sudoing around user homedirs).
    – Install a database server and create a table. You can use ‘mysql’ client or PhpMyAdmin.
    – Play SqlZoo “1 SELECT basics” and “2 SELECT from World”. For this SqlZoo subtask, only report what you found especially interesting. http://sqlzoo.net/wiki/Main_Page
    Articles that could help you:
    http://terokarvinen.com/bilkent.html
    http://terokarvinen.com/2008/install-apache-web-server-on-ubuntu-4
    http://terokarvinen.com/2012/short-html5-page
    http://en.wikipedia.org/wiki/SQL
    Voluntary extra tasks, more challenging:
    – Create a sample php page that reads some rows from the database.
    – Use prepared queries in your php page
    – Create a CRUD (create read update delete) example with PHP and a database
    – Use PostgreSQL as the database server (use same database name as your user)
    – Use nginx web server

  10. Connecting PHP to MySQL database, with the PDO library. Miro explains:
    https://miro.metsanheimo.fi/2015/09/24/pdo/

  11. Elizaveta Kantina says:

    I believe that it was very useful to discuss LAMP stack during the Linux Basics course, not only Apache installation. For instance, that was one of the questions during a job interview: “Can you install LAMP?”

  12. h7.
    – Write Hello World in at least two languages
    – Install openssh-server, create user (for a named person, with good password), log in with ssh
    – Link to a page with all your homework.

  13. Eric Esapa says:

    The end of the course

  14. Gerard Boot says:

    The Linux Basics course was a very useful and nice course to follow. I will definitely play with Linux at home after this class, as there is a lot of potential for it I think. I would like to write some documentation in Linux in the future (for school or work)
    The exam was quite good and demonstrates if a student is capable of working with the basics of Linux
    As for tips of improvement
    – allow students to take notes. Everyone learns in their own way and although it might be distracting, it is easier for some to write down things that are being done or said. As an alternative, allow students to apply their newly obtained knowledge directly in class (reserve time for this). This was done in the last class and worked quite well in my opinion
    – I think going through people’s homework in class is a bit tedious. I think its better if either the amount of pages discussed is limited to 1 or 2 max, or the teacher shows how it should be done
    I would recommend this to anyone who wants to learn the basics of Linux. Very interesting and good class to follow with a good and experienced teacher!

  15. Moi Tero!
    I want to give you feedback to the course 🙂
    Did you learn something?
    Yes of course. I already had one similar course before but I learned a few more very useful things. The part with installing and using the LAMP package was very interesting.
    How do you plan to use your skills after the course?
    I want to improve my skills, maybe I’ll choose an advanced course in my home university in Austria.
    How could the course be improved?
    One important part for me is how to perform backups correctly and scheduled. Maybe this can be an interesting additional part if there is time.
    How was the test?
    Nothing unexpected – not very hard if you did the homework and listened during the lessons.
    Would you recommend this course to your friends or collegues?
    Yes!! 😉
    Finally I want to say that it is too bad, that I am here just for one semester because I think an advanced Linux course with you would be very interesting.
    thank you for that!
    BW
    Raphael Böröcz

  16. Mika-Petri Lauronen says:

    I was a pretty experienced Linux user before the course, but still managed to learn something. I have used L at home, with a single user, so user management was important. I also finally started using grep. Also enabling local directories for html and PHP was useful.
    I would highly recommend this course, especially to newcomers to L.

  17. Ashkan Yaldaie says:

    I really liked the course…
    Looking foreword to the advanced course…

  18. I knew most of the things we’ve went through already due to my prior experience with linux, but there was always something that I didn’t know or had known that it was possible to do it in another way. I really enjoyed this course as it helped refresh my knowledge and even made me more secure working with stuff through the Linux terminal.
    I would recommend this course to everyone as it’s really good, the lessons are nicely planned and YOU LEARN things! Everyone should know how to operate a basic Linux distro, and with this course you really will learn all the essentials to help you in your future student/work life.
    I can only give good feedback as I really can’t come up with anything negative. Thanks for the awesome teaching and I look forward to go on a more advanced Linux course (when there is one) and learn even more!

  19. Daniel Vainio says:

    Hey!
    I was not completely new to Linux when I started the course. I have however learned several new things during the course and I will most certainly continue using Linux at home.
    The contents overall for the course is great. I would suggest a change for the lectures. It would be important with more theory combined with some hands-on exercises as preparation for the homework instead of spending 60 minutes in the beginning of each class going through an assignment. It becomes a little ‘backwards’ given that every student comes to class in order to learn something new.
    I am pleased with the course overall and I have personally learned new things that I perhaps not would not learn if it was not for this course. More Linux courses in English, please!
    //Daniel

  20. Thanks for the course Tero!
    I learned a lot, and the course was even somewhat humbling. It gave me an insight into just how complicated and yet powerful Linux can be and that even though I felt I knew a lot of advanced things, there was a lot of basics that I didn’t know.
    I don’t have any real advice to give you on teaching future courses except perhaps to cover things like ‘file permissions’ in lessons (which ended up being important in the test).
    See you in an Advanced Linux course in the future I hope!
    Respectfully,
    Daniel

  21. Trinh Ngo says:

    Hi Tero!
    This is my feedback about your Linux Basics Course
    1. Did you learn something?
    Linux was a brand new thing for me before this course so I did learn a lot of things during the course. All of them are very interesting to me. I will definitely play with Linux at home to improve my skills.
    2. How do you plan to use your skills after the course?
    I don’t think I’m good enough so I think I will take more Linux courses (at school or maybe virtual courses) to improve myself.
    3. How could the course be improved?
    Well actually I think the course went a little bit fast. I can’t find any other negative things about this course.
    4. How was the test?
    I think its quite simple if you paid attention during the classes and did all of the homework. I could have done them all if I hadn’t messed up with Apache2 and could not reinstall it.
    5. Would you recommend this course to your friends or collegues?
    Of course I will. Its such a well-planned course in which you can actually learn and do useful things with Linux.
    I really do look forward to take more advanced Linux course from you Tero! 🙂

  22. david camoin says:

    Great course Tero I Learnt so much and am now a Linite! Looking forward to more courses like this. Your a great teacher we should just clone you a 100 times.I would recommned this course to anyone and everyone.

  23. Elizaveta Kantina says:

    Thank you, Tero!
    That’s the best course in Haaga-Helia, I really enjoyed it.
    This course is a must for everyone who chose the path of web-developer/programmer.
    I wish there is an Advanced course in English.

  24. Pavel Ivanov says:

    The course was very useful and it’s content is applicable to real world situations. I have learned some crucial basics of Linux operating system which will allow me to use OS and learn it further on. That knowledge is almost mandatory in current job market.
    I plan to “play” with Linux after the course as well because there is a lot more to learn about this OS.
    I am not quite sure how to improve this course, because it is only possible to cover so many topics in 8 weeks. I wish that the course was at least a full semester long because I fell that knowledge of Linux is one of the most important skills a modern IT professional should have. As for this 8 week introduction, I think it would be nice to spend less time discussing homework during the lectures (only to answer some important questions quickly and continue with course content). This way, it might be possible to cover some additional topics.
    Test was okay, it was good that it was based on real life tasks (which have been already covered in HW tasks). Public web was allowed, and that is a good thing, because it is available in real life as well. So overall, it was not hard, but unfortunately I had one error which I could not resolve.
    I would definitely recommend this course to others, even for non IT people, because nowadays it is mandatory to understand the technology no matter what your occupation is. That includes being able to use a variety of systems and software.

  25. esapa eric says:

    The exam task is more complicated and difficult than the exercise in the class.but i learned a lot and hope to continue because its interesting when you get to know how to use the command.

  26. I love this class! Although I am not a BITE student, but I still could catch up with what was teaching in this class, all started from basic of Linux. Due to lack of knowledge about programming, I was a bit weak when asked to write python, html5 or script in other coding languages. Now I am able to setup LAMP, I am able to play with shell script, setup ufw firewall, ssh, etc, all with command line. Now I am more comfortable with using command line in Linux all the time.
    I think I can use the skills I ve learnt in this class to get a job in IT industry in Finland a lot easier.
    Test was a little bit tricky as I was practising with Live CD at home most of the time, but seems like something is slightly different in Live CD environment than on a native environment (I was able to fix it luckily).
    I would recommend this course to anyone who wants to learn about Linux.

  27. Alexandru says:

    Excellent course! During this almost 2 months I learned more about Linux and web-servers than during the whole year (and I tried self-studying). This knowledge will be very useful for me, since I dream about full-stack developer career in future. Great, understandable and beginner-friendly course.
    I wish we had more of this, not only for half a semester. If it was an advanced continuation of this course next autumn, I would definitely enroll.
    Thank you, Tero!

  28. -I have learned a lot of new things, it was my first experience working with linux and I don’t want to stop exploring it
    -I think it’s really useful for me and will help me in a future, absolutely on my workplace and probably in simple life tasks
    -I wonder to have a work connected somehow with Linux, I’ll probable install distribution on my own computer, to have possibility to play with it every day
    -Maybe to speed up a bit the beginning of the course and extend the whole course, to have possibility to learn more during the course
    -It’s easy if you were present on lectures
    -Absolutely YES! and I’d like to have another more advanced course

  29. Gjergji says:

    The course was very interesting even though we had to use much time familiarizing ourselves with the new OS. I hope I will use this skills later on in my life since Linux is everywhere and every IT Department requires it. I would not change anything to the way of teaching beside the fact that pushing students more and more to practice Linux.

  30. Enxhi says:

    The course was interesting and I got a lot of information about it. Now I consider myself very familiar with Linux.

  31. You wonder about backups. It’s important to start soon: just buy an external USB drive, copy your files there and disconnect it from your computer. Bonus points for storing it off-site (away from your home).
    For timely backups for a single user laptop or workstation, dejadup is an easy program to get started.
    Remember to test that you can also restore files from your backup.
    Only once you are making periodic backups manually or with a simple program like dejadup, it might be time to consider bigger backup solution. Enterpricey programs tend to add a level of complexity to the setup, but are needed for larger installations.