Seminár k operačným systémom: záverečné zadania 2020

  1. Termíny obhajob sú

    1. piatok, 29. 1. 2021 od 17:00
    2. pondelok 1. 2. 2021 od 17:00

    Obhajoby sa uskutočnia cez platformu Teams. Na vybraný termín obhajoby sa prihláste cez AIS2.

  2. Vypracujte obe zadania.

    • jedno zadanie vypracujte v PowerShelli.
    • druhé zadanie vypracujte v unixovskom shelli.
  3. Zadanie musí implementovať celú požadovanú funkcionalitu. Vynechanie ktoréhokoľvek bodu má za následok zamietnutie zadania a hodnotenie FX.

  4. Hodnotenie sa odvíja od spôsobu implementácie zadania a od odpovedí na kontrolné otázky zamerané na pochopenie vypracovania.

  5. Zadanie spokojne vzájomne konzultujte. Vypracovanie však musí byť samostatné a jednoznačné.

  6. Plagiátorstvo a identický kód je trestaný okamžitým hodnotením FX. Ak využijete kusy kódu alebo rady z internetu, ste povinní uviesť do zdrojového kódu odkaz na zdroj (URL blogu, odkaz na StackOverflow a pod.) V opačnom prípade je zadanie zamietnuté ako plagiát.

  7. Zadanie bude obhájené individuálne a ústne v termíny uvedené vyššie.

Redakčný systém shellpress

Firma ShellPress si objednala redakčný systém s názvom shellpress, ktorý musí byť – z neznámeho dôvodu – implementovaný v shelli. Články v redakčnom systéme sú písané vo formáte MarkDown, s drobnými obmenami (viď nižšie). Systém shellpress prevedie články do formátu HTML a vygeneruje niekoľko dodatočných obslužných stránok.

Požiadavky

Vstupné súbory

shellpress pracuje nad adresárom s článkami, v ktorom sa nachádza niekoľko súborov s príponou .markdown.

Každý súbor obsahuje:

  • názov článku uvedený ako prvý markdownovský nadpis prvej úrovne
  • dátum vzniku uvedený ako dátum poslednej modifikácie súboru (linuxový atribút mtime).

Ukážkový súbor about.markdown

# Hamlet
Hamlet (angl. The Tragedy of Hamlet, Prince of Denmark, dosl. 
Tragédia o Hamletovi, princovi dánskom) je nájznámejšou a najčastejšie
citovanou divadelnou hrou anglického dramatika Williama Shakespearea.

Hamlet patrí medzi najinscenovanejšie hry vo všetkých krajinách západnej 
kultúry a taktiež patrí medzi najprekladanejšie literárne diela na svete.    
Okrem iného je považovaný za akúsi skúšku ohňom pre vyspelosť herca. 
Zrejme najznámejšou scénou z hry je Hamletov monológ o zmysle života 
z tretieho dejstva, začínajúci otázkou „Byť, a či nebyť?“ 

Vygenerovanie HTML súborov

Nasledovný príkaz vygeneruje HTML súbory pre všetky články v adresári s článkami. HTML súbory nech sa uložia do adresára site v adresári s článkami. Publish-Portal [-Statistics] [-Destination cieľ] [súbor.markdown...]

Portál vygeneruje HTML súbory pre články zadané v parametri. Nasledovný príkaz vygeneruje HTML súbory pre vybrané články:

Publish-Portal intro.markdown about.markdown test.markdown

Ak nie je zadaný žiaden súbor, vygenerujú sa všetky súbory s článkami v adresári.

Okrem toho sa vygeneruje stránka index.html so zoznamom všetkých článkov na portáli. Každá položka zoznamu nech obsahuje názov článku (z prvého nadpisu), dátum zverejnenia a hypertextový odkaz na text článku.

Štatistické informácie

Parameter -Statistics zapne generovanie HTML súboru so štatistickými informáciami, kde je nutné uviesť:

  • počet článkov
  • počet slov vo všetkých článkoch

 Zverejnenie portálu

Parameter -Destination určí cieľ, kde sa má portál vypublikovať. Implementujte kopírovanie na vzdialený server ľubovoľným protokolom (HTTP, FTP a pod.).

Technické poznámky

  • na generovanie HTML súborov použite nástroj pandoc

Sumárne informácie o stroji

 Zadanie

Vytvorte manažment sumárnej informácie o aktuálnom stroji. V sumárnej informácii uveďte nasledovné informácie.

  • Aktuálny dátum a čas v ISO formáte
  • Názov aktuálneho stroja
  • Používanú distribúciu Linuxu
  • Verziu nainštalovaného Linuxu
  • MAC adresy sieťových adaptérov
  • IP adresu v aktuálne pripojenej sieti
  • Zoznam nainštalovaných balíčkov

Podporte nasledovné funkcionality:

  • techsummary -s <nazovsuboru.json> — uloží sumár funkcionality ako JSON do súboru.
  • techsummary -s — vypíše sumár ako JSON na štandardný výstup

Vypracujte mechanizmus, ktorým je možné porovnať dva súbory so sumárnou informáciou a zistiť rozdiely medzi nimi. Cieľom je zistiť, čo sa zmenilo v sumárnej informácii medzi dvoma stavmi stroja, prípadne porovnať konfigurácie dvoch strojoch na základe ich sumárnych informácií.

  • techsummary -c <nazov-prveho-stavoveho-suboru> <nazov-druheho-stavoveho-suboru>

Technické poznámky

  • Zadanie v shelli demonštrujte na serveri student.ics.upjs.sk alebo na vlastnej inštalácii Linuxu.
  • Zoznam nainštalovaných balíčkov získajte spracovaním výstupu príslušného správcu balíčkov (napr. apt na debianovských inštaláciách).
  • V zadaní použite len nástroje vymenované v norme POSIX. Výnimkou sú nástroje pre prácu so sieťovými adresami (napr. ip addr alebo ifconfig.)
  • Zadanie skontrolujte nástrojom shellcheck dostupnom buď online alebo na serveri student.ics.upjs.sk.
  • vyhnite sa využitiu bashismov, teda konštrukcií, ktoré fungujú len v bashi. Najlepšie je spúšťať skript pod shellom dash, ktorý je dostupný na serveri s.ics.upjs.sk. alternatívne využite skript checkbashism (viď dokumentácia)

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *