Linux základný kurz

Týždenný plán semestra - Sylabus

  1. Úvod, história Linuxu a kontext
  2. Používanie Linuxu (desktop)
  3. Používanie Linuxu (príkazový riadok)
  4. Inštalácia Linuxu - lilo, grub, ...
  5. Linuxové distribúcie a správa balíkov: deb, rpm, gentoo, a configure/make install
  6. Hardvér
  7. Linuxove jadro - konfigurácia a kompilácia
  8. Apache, cgi-bin, virtualizácia
  9. Email
  10. Skriptovanie v Linuxe
  11. Sieťové filesystémy
  12. záverečná písomka a hodnotenie

Prednášky

  1. Úvod, história Linuxu a kontext (16.2.2009)

    1. história: vývoj UNIXu a vznik Linuxu 1970-2000
    2. štruktúra operačného systému - moderný Linux
    3. internetové zdroje
    4. licencie: GPL/LGPL, artistic/MIT, public domain
    5. distribúcie: Slackware, Red Hat, Fedora, Debian, Ubuntu, Knoppix, Suse, Novell, Gentoo, Sorcerer, ROCK Linux, LFS
    6. príkazový riadok versus grafický interface
      • postupnosť jadro-init-login-shell versus grafika
      • window manager versus desktop environment
  2. Programovanie v Linuxe, Textové editory, Distribúcie, Príkazový riadok vs. GUI, Siete (23.2.2009)

    1. Sieťové prostredie
    2. programovanie v linuxe
    3. kernel
  3. Práca v Linuxe, súborový systém (2.3.2009)

  4. Desktop (9.3.2009)

  5. Adresárová štruktúra (16.3.2009)

  6. Inštalácia (lilo/grub) ()

  7. Hardvér ()

  8. Linuxové jadro (6.4.2009)

  9. Apache a cgi-bin (20.4.2009)

    1. História Apache a web-serverov
    2. Prehľad web-serverov
    3. Dynamický versus statický web
    4. Vlastnosti web-servera
    5. Proxy
    6. Virtuálny hosting
    7. Logovanie
    8. Konfigurácia Apache
    9. Princíp cgi-bin, argumenty, FastCGI
  10. Email: SMTPD,Postfix,Exim,Spamassassin (27.4.2009)

    1. História a terminologia: SMTP, MUA, MTA, DNS MX

    2. Client-Server princíp pri SMTP
    3. Pop3 a IMAP
    4. Prehľad: sendmail, Exim, qmail, postfix, Novell Netmail, Microsoft Exchange Server, Sun Java System Messaging Server
    5. MIME
    6. Ukážka SMTP komunikácie
    7. TLS
    8. Greylisting (Blacklist, Whitelist)
    9. Napojenie na databázy (BerkleyDB, DBM, LDAP, MySQL)
    10. Mbox, Maildir
    11. Rozdelenie procesov vrámci Postfix-u

    12. Spamassassin - historia, perl a regulárne výrazy, použitie

    13. Konfigurácia pre Exim: domény, lokálne doručovanie pošty, aliasy, rúry a listserver, scheduling.

  11. Linuxový fileserver (4.5.2009)

    1. História fileserverov - 1980 až Google
    2. Protokol ftp - anonymný prístup, tftp
    3. Protokol http v kontexte fileservera
    4. SMB/CIFS - Microsoft prístup
      1. Samba

Cvičenia

  1. Predstavenie, Úvod - príprava na inštaláciu (17.2.2010 - Tuharsky)
  2. Live distribúcie, Inštalácia. (24.2.2010 - Tuharsky)
  3. Práca s Linuxom - úvodné nastavenia a oboznámenie sa so sys. a s GUI (GNOME) (3.3.2010 - Tuharsky)
  4. Príkazový riadok I. Učebnica ABCLinuxu (10.3.2010 - Tuharsky)

  5. Príkazový riadok II. (17.3.2010 - Tuharsky)
  6. Príkazový riadok III. - Sledovanie systému (24.3.2010 - Tuharsky)

    • Procesy, Signály : ps, top, kill, killall, nice, renice (link tu)

    • Job-y : jobs, fg, bg
    • Systémové informácie : uname -a, lsb_release -a, df -h, free -m, fdisk -l, lspci, lsusb, lshw
    • Sys. premenné : set, echo $NAZOV_SYS_PREM
    • Archivácia : tar cvzf archiv.tar.gz , tar xvzf archiv.tar.gz, tar cvjf archiv.tar.bz2, tar cxjf archiv.tar.bz2
  7. Softvér II. (31.3.2010 - Tuharsky)
  8. Sieťové služby I. (7.4.2010 - Tuharsky)
    • Konfiguácia siete
      • Grafický nástroj network-admin

      • Príkazový riadok

      • Démony
        • init.d skripty

        • dostupné démony a ich funkcia
        • štart a zastavenie démona
      • Nástroje na konfiguráciu
        • man interfaces, man ifup
        • /etc/network/interfaces - konfiguračný súbor sieťových rozhraní
        • /etc/init.d/networking [START|STOP|RESTART] - skript sietového démona
        • ifup -a, ifdown -a ("higher level" konfiguračné príkazy, konfig. sieťové rozhrania na základe "/etc/network/interfaces" a "low level" príkazov (ifconfig, route)
      • Mapovanie hosts names a domain names na IP adresy
        • /etc/hosts
        • /etc/resolv.conf - nadstavenie DNS serverov
    • *******************************STARE*********************************
    • Vzdialený prístup
    • *********************************************************************
  9. Sieťové služby II. (14.4.2010 - Tuharsky)
    • ifconfig, route
    • WiFi (STARE)

      • iwconfig, iwlist
    • Sledovanie siete
      • ping, traceroute, netstat, (nmap - STARE)
  10. Sieťové služby III. (21.4.2010 - Tuharsky)
  11. Skriptovanie v BASH
    • BASH Tutoriál

    • BASH reference

    • Čo je to Bash?
    • Súbory obsahujúce skript
      • magic number
      • interpreter
    • Vykonávanie skriptu
      • Parametre príkazového riadka
  12. Skriptovanie v BASH II.

Úlohy

  1. Práca so súbormi
    1. Zistite, čo znamená príkaz "rm -rf /"
    2. Vytvorte katalóg kníh - adresár na prvej úrovni žáner literatúry. adresár druhej úrovve meno spisovateľa. Do adresára s menom spisovateľa umiestnite textový súbor, ktorý sa bude volať podľa knihy a bude obsahovať krátky obsah knihy.
    3. Vytvorte užívateľa fero a priradte ho do novej skupiny spisovateľ. Zabezpečte, aby iba fero a spisovatel mal práva na zmenu adresára s katalógom kníh a všetci ostatní mali práva na čítanie. Overte to pomocou príkazu su
  2. Textový editor vi a práca s textom
    1. Do súboru rozvrh.txt zapíšte váš týždenný rozvrh
    2. Vyznačte všetky slová "cvičenie" a zmente ich na "praktická výuka"
    3. Z týždenného rozvrhu spravte rozvh mesačný - 4 krát ho skopírujte a doplňte nadpis nad každý týždeň
  3. Vyhľadávanie, presmerovanie
    1. Zistite, ktoré všetky súbory obsahujú reťazec conf a zoznam uložte do súboru conffiles.txt
    2. Zobrazte všetky riadky súboru conffiles.txt, ktoré obsahujú reťazec "etc"
  4. Práca s procesmi
    1. Zistite, aké procesy bežia v systéme a vypíšte ich na obrazovku
    2. Spustite vi na pozadí
    3. Opätovne preneste poces vi na popredie (fg)
    4. Ukončite proces vi pomocu príkazu kill
  5. Inštalácia softvéru z balička
    1. Aký software použijete na prehliadanie webu v konzole? Zistite názov balíčka
    2. Aké sú všetky závislosti má tento software?
    3. Ako si aktivujeme kodeky na prehrávanie videa v Ubuntu? Nainštalujete všetky potrebné balíčky.
    4. Odstránte balíček "thunderbird" tak, aby po ňom nezostali žiadne súbory
    5. Skúste nájsť a odstrániť aspoň dva baličky s nepotrebnými knižnicami
    6. Nainštalujte software skype a picassa
    7. Aké súbory a adresáre sú vo vnútri balíčka?
  6. Tar, Gzip, Zip, Bzip
    1. Stiahnite pomocou wget subor http://fph.altervista.org/prog/files/bastet-0.43.tgz

    2. Rozbalte ho a vymazte povodny archiv
    3. Vzniknuty adresar pridajte do archivu novy/bastet.tar
    4. Pomocou prikazu tar vytvorte archiv bastet.tar.gz
    5. Pomozou priokazu bzip2 vytvorte archiv bastet.tar.bzip. Pomocou prikazu time zistite cas vykonania.
    6. Vytvorte archiv bastet.zip
    7. Porovnajte velkosti jednotlivych archivov
  7. Inštalácia softvéru zo zdrojového balíčka
    1. Pomocou apt-get stiahnite zdrojový kód Bastet 0.41
    2. Pomocou dpkg-buildpackage vytvorte balíček
    3. Pomocou dpkg balíček nainštalujte
    4. Skompilujte Bastet 0.43 http://fph.altervista.org/prog/bastet.html

  8. Sieťové zariadenia
    1. Zistite svoju IP adresu
    2. Pingnite kolegov počítač
    3. Zistite aktívne IP vo vašej podsieti
    4. Aká je IP routra vo vašej podsieti
    5. Cez aké IP ide spojenie na stránky www.ubuntu.cz a www.tuke.sk ?
  9. Vzdialený prístup a X Win
    1. Umožnite vzdialené prihlásenie pomocou SSH používateľovi user2
    2. Vzdialene sa prihláste pomocou ssh na kolegov počítač
    3. Vytvorte textový súbor so správou pre kolegu a nazvite ho ~/tajna-sprava.txt. Skopirujte tajnu spravu od kolegu a nazvite ju ~/kolegova-sprava.txt
    4. Spustite X aplikáciu (napr. gedit) na vzdialenom počítači
    5. (bonus) Skúste vytvoriť verejný a súkromný ssh kľúč tak, aby ste pri prihlasovaní nemuseli písať heslo (ssh-keygen)
  10. Apache
    1. Nainštalujte Apache a zobrazte defaultnú web stránku
    2. Nahradte defaultnú web stránku svojou osobnou web stránkou
    3. Vytvorte a zobrazte jednoduchú PHP stránku
    4. Vytvorte virtuálny host na vašom počítači a skúste si ho pozrieť
  11. FTP server
    1. Vytvorte anonymný prístup k adresáru /home/ftp
    2. Vytvorte ftp prístup do vášho počítača pre používateľa ftpuser s heslom ftpuser
  12. Bash Skripty
    1. Vytvorte textový súbor, ktorý sa po spustení sám zobrazí
    2. Vytovre skript, ktorý spočíta 2 zadané čisla a zobrazí výsledok
    3. Vytovre skript, ktorý spočíta odmocninu zadaného vstupu zobrazí výsledok
    4. Vytvorte skript, ktorý všetkým súborom v aktuálnom adresári priradí mená 1.txt 2.txt 3.txt atd. Pozor, nepremenujte si všetky vaše súbory!
  13. Bonusové úlohy
    • Plne funkčný systém (všetok hardware)
    • Nakonfigurovaný Apache + wiki
    • FTP server, anonymný prístup jeden adresár, prístup bez hesla pre 3 používateľov na 3 adresáre
    • nakompilovať jadro na špecifický hardware (vyradiť nepotrebné ovládače)
    • nainštalovať a nakonfigurovať virtuálny server s vlastnou IP a s bežiacim Apache
    • napísať skript na grid computing - spušťanie programu na rôznych PC s rôznymi parametrami a zber výsledkov + dokumentácia na Wiki
    • napísať skript, ktorý zobrazí štruktúru nainštalovaných balíkov a ich závislosti ako graf alebo tabuľku

Hodnotenie

Zápočet:

Odporúčaná literatúra

Študentské odkazy

Copyright R.Jaksa, D.Hladek, J.Tuharsky 2010

student: Linux (last edited 2010-04-28 11:07:25 by JaroslavTuharsky)

Center for Intelligent Technology is equipped with 16 NAO Humanoid Robots for research and educational purposes towards Intelligent technologies.

Annually the branch of AI finishaprx. 25 people in Bc. and MSc. . PhD level is also very active - we do have 11 alumni in AI past 15 years in branch of AI.