C2110 Operační systém UNIX a základy programování 1. lekce Začínáme Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kamenice 5, CZ-62500 Brno Operační systém UNIX a základy programování 1. lekce Obsah > Zaměření předmětu * Motivace, probírané okruhy, praktické ukázky > Organizace výuky * Harmonogram, forma výuky * Hodnocení znalostí, zakončení předmětu > Klastr WOLF * Učebna 1.18, struktura, pravidla používání, správci > Začínáme * Místní přihlášení, standardní aplikace, příkazová řádka, vědecko-technické aplikace, změna hesla, desktopová prostředí Dperační systém UNIX a základy programování 1. lekce -2- Zaměření předmětu > Motivace > Probíhané okruhy )perační systém UNIX a základy programování 1. lekce Motivace - superpočítání Stav v roce 2016 MetaCentrum a CERIT-SC (http://metavo.metacentrum.cz) • Národní gridová infrastruktura, OS Debian • cca 11000 CPU jader, 1100 TiB diskové pole, 17 PiB hierarchická úložiště Účet může získat student libovolné vysoké školy ČR. IT4lnnovations (http://it4i.cz) • Národní superpočítačové centrum, OS CentOS a Bullx • salomon (cca 24192 CPU jader, 129TB RAM, Intel Xeon Phi MIC) • 40. nejvýkonnějším superpočítač na světě (TOP500,139. místo 06/2018) • anselm (cca 3000 CPU jader, 15TB RAM) O strojový čas se žádá formou grantových soutěží. Lokální výpočetní klastry LCC • LCC-laboratoř výpočetní chemie Navazující předmět (podzimní semestr - bloková výuka): C2115 Praktický úvod do superpočítání Dperační systém UNIX a základy programování 1. lekce Motivace - desktopový systém Oracle VM VirtualBox Fl ■4 Hcs Q S tl 4)) 10:47AM i> Výhody: zadarmo, flexibilní a rozšiřitelný, možnost skriptování Dperační systém UNIX a základy programování 1. lekce Probírané okruhy > Základní práce s OS > Virtualizace > Práce s příkazovou řádkou > Skriptování v jazyce bash gnuplot awk Iperační systém UNIX a základy programování 1. lekce Virtualizace Oracle VM VirtualBox M 10 Qf) E3i< Hostitel: Ubuntu Host: Windows XP (virtuální stroj) Dperační systém UNIX a základy programování 1. lekce Zpracování textových souborů NSTEP = 6000 TIME(PS) = 206.000 TEMP(K) = 291.69 PRESS = 0.0 142.3142 13.5633 1.5430 0.0000 206.000 291.69 Data: /home/kulhanek/Documents/C2110/Lesson01/dat/rst.out $ grep TIME rst.out | awk '{ print $6, $9 }' $ awk '/TIME/Í print $6, $9 }' rst.out Dperační systém UNIX a základy programování 1. lekce -8- Vizualizace výsledků minimum QM / ABF 4x500ps / variable Rewald T 0.0 0.5 1.0 DD (Ä) Zobrazování extrahovaných dat ve formě grafů (gnuplot). Dperační systém UNIX a základy programování 1. lekce Data:/home/kulhanek/Documents/C2110/Lesson01/video BsoBI: Ivo Kabelka Operační systém UNIX a základy programování 1. lekce Organizace výuky > Harmonogram, forma výuky > Hodnocení znalostí, zakončení předmětu )perační systém UNIX a základy programování 1. lekce Harmonogram, forma výuky Výuka: 17. záři 2018 - 17. prosince 2017 Zkouškové obdobi: 2. ledna 2019 - 12. února 2 019 Zakončení: kolokvium (2 kredity) Celkový počet odpřednášených hodin: 13 x 2 hodiny = 26 hodin Celková hodinová zátěž předmětu: 1 ECTS kredit -> 26 hodin studijní zátěže 2 kredity -> 2x 26 hodin = 52 hodin studijní zátěže ©Samostudium, domácí úlohy, příprava na zkoušku: 26 hodin Dobrovolné procvičování: odpovědníky lx za 14 dnů, přístupné 2 týdny od zveřejnění neomezený počet otevření a vyhodnocení náhodně generovaná sada otázek Povolené jsou dvě předem omluvené absence! (buďe-mailem nebo přes informační systém) Nebo pouze jedna neomluvená absence dle studijního řádu. Dperační systém UNIX a základy programování 1. lekce -12- Zakončení - hodnocení znalostí Dva průběžné testy: (20 minut) 2x10 bodů Zakončeni: - finálni test (1 hodina) 50 bodů - skript podle zadáni (1 hodina) 30 bodů Celkem: 100 bodů Prospěl: >= 80 bodů Můžete používat veškeré studijní materiály, libovolné knihy a internet. Při psaní testu i vytváření skriptu můžete používat počítač, můžete použít skripty z cvičení či z domácích úloh. Nesmíte však spolupracovat s jinými lidmi (Facebook, mobil, apod.). Navazující předmět C2115 Praktický úvod do superpočítání bloková výuka 28.1. - 1.2. 2019 Operační systém UNIX a základy programování 1. lekce Klastr WOLF > Učebna 1.18 > Struktura > Pravidla používání > Správci )perační systém UNIX a základy programování 1. lekce Učebna 1.18 > Učebna s 23 PC >3D vizualizace > Uspořádaní do výpočetního klastru Bezpečnost práce! Základní informace: https://wolf.ncbr.muni.cz Učebna je volně přístupná studentům, kteří pracují na projektech v NCBR, a dále studentům, kterým v daném semestru v učebně probíhá výuka. Operační systém UNIX a základy programování 1. lekce Struktura klastru WOLF univerzitní síť výpočetní uzly 0.18 wolf30 wolf31 wolf32 ■ ■ ■ ■ i wo If 40 Všechny uzly jsou přístupné přímo z veřejné sítě. Doména: ncbr.muni.cz ■ ■ ■ i 1.18 2.11 server/čelní uzel Místnosti: 0.18 Serverovna A4/UKB 1.18 Počítačová učebna A4/UKB 2.11 Seminární místnost A4/UKB pracovní stanice (výpočetní uzly) Operační systém: Ubuntu 16.04 (Xenial) LTS (http://www.ubuntu.com/) Dperační systém UNIX a základy programování 1. lekce Pravidla používání Klastr WOLF je určen výhradně pro účely výuky či pro vědeckou práci v rámci Národního centra pro výzkum biomolekul. Klastr WOLF je vysloveně zakázáno používat pro: > stahování nelegálního obsahu (autorsky chráněná díla apod.) > rozesílání virů, spamů, nevyžádané pošty a podobných materiálů > prolomení ochrany jiných počítačů > čtení, mazaní či změnu nechráněného obsahu souborů jiných uživatelů Závazná jsou pravidla užívání počítačové sítě Masarykovy univerzity: https://is.munixz/auth/do/mu/Uredni_deska/Predpisy_MU/Masarykova_univerzita/Smernice_M Přihlašovací jméno a heslo tvoří identitu uživatele a proto ji zásadně nesdělujeme třetím osobám, neukládáme či zasíláme (např. e-mailem) v nešifrované formě! Dperační systém UNIX a základy programování 1. lekce -17- Pravidla používání.... Na klastru WOLF je dále vysloveně zakázáno: > spouštět úlohy na čelním uzlu (wolf.ncbr.muni.cz) > spouštět úlohy kdekoliv v domovském adresáři (obzvláště datově náročné úlohy) > spouštět úlohy na pracovních stanicích v průběhu výuky (pokud není povoleno vyučujícím) Časově delší úlohy je nutné spouštět pomocí dávkového systému. Bližší informace v C2115 Praktický úvod do superpočítaní. Dperační systém UNIX a základy programování 1. lekce Správci klastru - řešení problému Než kontaktujete správce, konzultujte svůj problém s vaším kolegou, vyučujícím nebo školitelem. Pokud problém nevyřešíte, oznamte problém správcům e-mailem na support@lcc.ncbr.muni.cz Ve zprávě uveďte > Popis problému, název příkazu > Jméno uživatele, stroje > Kopie chybového výstupu (celý od zadání příkazu) Dperační systém UNIX a základy programování 1. lekce -19- Začínáme > Místní přihlášení > Standardní aplikace > Příkazová řádka > Vědecko-technické aplikace > Změna hesla > Desktopová prostředí )perační systém UNIX a základy programování 1. lekce Místní přihlášení Místní terminály: • šest textových terminálů (Fl... F6) • jeden grafický terminál (F7, F8,...) • přepínání pomocí kláves Ctrl+Alt+Fl... Ctrl+Alt+F7 Přihlášení: • nutno zadat přihlašovací jméno (username) a heslo (password) Operační systém Linux je velmi flexibilní a umožňuje i jiné způsoby místního přihlášení, např. pomocí identifikačních karet či kryptografických klíčů. Více lze nalézt v nápovědě systému PAM (Pluggable Authentication Modules). $ man 8 pam Dperační systém UNIX a základy programování 1. lekce -21- Místní přihlášení Textový terminál (F1-F6): > zpřístupňuje příkazovou řádku (CLI - command line interface) > výchozím adresářem je /home/username (domovský adresář) > grafické aplikace (XII) lze spouštět jen s exportem displeje na vzdálený grafický terminál > odhlášení příkazem exit Grafický terminál (F7): > spouští XII server a v něm okenního správce (KDE, Unity, GNOME, atd.) > okenního správce (desktopové prostředí) lze zvolit před vlastním přihlášením > umožňuje přímé spouštění grafických programů (GUI - graphical user interface) > příkazová řádka je dostupná pomocí speciálních aplikací > xterm > konsole > gnome-terminal > odhlášení pomocí nabídky v menu okenního správce Dperační systém UNIX a základy programování 1. lekce -22- Přihlášení - LightDM X manager Volba desktopového prostředí Přihlašovací jméno (Enter) Heslo (Enter) Výchozí klávesnice je anglická (EN). Při použití numerické části klávesnice zkontrolujte, zdali je aktivován NumLock. Operační systém UNIX a základy programování 1. lekce Cvičení 1. Přihlaste se do desktopového prostředí Unity (volba Ubuntu v menu volby prostředí). 2. Přihlaste se do textového terminálu číslo 3. 3. Zadejte v něm příkaz Is. Odhadněte co příkaz dělá. 4. Odhlaste se z textového terminálu a vraťte se zpět do grafického terminálu. 5. Otevřete webový prohlížeč a něm portál klastru WOLF. Přihlaste se do vnitřní části. Zobrazte obsazení klastru. 6. Přihlaste se do ISu a otevřete si tuto prezentaci ze Studijních materiálů. Dperační systém UNIX a základy programování 1. lekce -24- Standardní aplikace Hlavní menu Filtrování výsledků Podskupina menu -- C Rctently U l5 s Firefox LibreOffice Gimp Inkscape Okular firefox webový prohlížeč libreoffice textový editor (Writer), tabulkový kalkulátor (Calc) prezentace (Impress) gimp inkscape okular editor rastrové grafiky editor vektorové grafiky prohlížeč PDF dokumentů t jméno příkazu, který spouští aplikaci lerační systém UNIX a základy programování 1. lekce Cvičení 1. Spusťte program Gimp pomocí menu prostředí Unity. V programu nakreslete domeček jedním tahem. Vzniklé trojúhelníky vyplňte různými barvami. 2. Kde má aplikace Gimp menu? 3. Spusťte program Inkscape. V programu nakreslete vlajku české republiky. Zkuste odhadnout principiální rozdíl mezi programy Inkscape a Gimp. 4. Spusťte program LibreOffice. V tabulkovém kalkulátoru zobrazte průběh funkce sinus v rozsahu 0 až 360°. Dperační systém UNIX a základy programování 1. lekce -26- Terminály Příkazová řádka je přístupná přímo z textových terminálů. V grafickém prostředí XII je nutné spustit vhodnou aplikaci emulující textový terminál: > gnome-terminal (Terminal) > konsole > xterm Výchozím adresářem je: /home/username gnome-terminal * - □ Terminal [kulhanek(Jpes ~]$ | konsole kulhanek: bash v - x File Edit View Scrollback Bookmarks Settings Help kulhanek@pes:~$ pvc /home/kulhanek kulhanek@pes:~$ I jednoduché, přitom značně konfigurovatelné common : kwrite H) vs-server : kate B kulhanek : bash < xterm x @wolf01:- <@wolf01> [kulhanekĚuolfOl ™]í jednoduché, Standard na všech UNIXových systémech Dperační systém UNIX a základy programování 1. lekce Příkazová řádka Prompt - typ uživatele / výzvy ($ běžný uživatel, # super uživatel, další možné %, >) V [kulhanek@wolf ~]$ _ jméno uživatele místo pro příkaz jméno počítače / aktuální adresář (~ znamená domovský adresář /home/username) Příkaz se vykoná zmáčknutím klávesy Enter. Historie: pomocí kurzorových šipek nahoru a dolů lze procházet seznamem již zadaných příkazů. Příkaz z historie lze znovu použít nebo upravit a upravený použít. Historie je přístupná i příkazem history. Automatické doplňování: zmáčknutím klávesy Tab (tabulátor) se interpret příkazové řádky snaží dokončit rozepsané slovo. Doplňují se jména příkazů, cesty a jména souborů (pokud jeden stisk nic nevyvolá, existuje více možností doplnění, opakovaný stisk je zobrazí). Kopírování textu: Ne pomocí Ctrl+C! Pro kopírování textu z terminálu stačí text označit, pro následné vložení stiskněte kolečko (prostřední tlačítko) myši. Dperační systém UNIX a základy programování 1. lekce -28- Vědecko-technické aplikace Vědeckotechnické aplikace, které jsou instalovány v několika verzích (verze aplikace, typ kompilace, paralelní verze), jsou dostupné ve formě modulů. Před použitím aplikace je nutné příslušný modul aktivovat. Přehled dostupných aplikací: $ module zadává se do příkazové řádky, text se píše bez znaku $ Přehled dostupných verzí modulu: $ module versions vmd Dokumentace k modulu: $ module help vmd Aktivace modulu: $ module add vmd Spuštění aplikace z modulu vmd $ vmd číslo verze se od jména modulu odděluje dvojtečkou $ module add vmd:1.9.0 aktivuje výchozí verzi modulu jméno modulu a aplikace nemusí být stejné Dperační systém UNIX a základy programování 1. lekce Cvičení 1. Otevřete terminál v grafickém rozhraní Unity. 2. Z terminálu spusťte program Inkscape. Do příkazové řádky napište „inkscape" a zmáčkněte Enter. 3. Co se stane pokud napíšete „Inkscape"? 4. Zobrazte všechny dostupné moduly. 5. K čemu slouží modul vmd? 6. K čemu slouží modul nemesis? 7. Spusťte program nemesis. Do nového terminálu napište „nemesis" a zmáčkněte Enter. Co se stane? 8. Aktivujte modul „nemesis" a pokuste se program nemesis znovu spustit. 9. V programu namodelujte molekulu kyseliny octové a proveďte optimalizaci její geometrie. Dperační systém UNIX a základy programování 1. lekce -30- Správce souborů WinXP [Running] - Oracle Vr lomů Vložení Návrh M Vyjmout 1 Kopírovat 1 Kopírovat formát t3 Nový snímek ■ jránka ^ bsnova Kazová řádka ■ >cko-technické aplikaci :'-^Í.......rr [ Správce souborů !!!! nepoužívat!!!! V superpočítačových centrech nejsou většinou grafické rozhranní dostupná Během cvičení, pokud není řečeno jinak, používejte výhradně příkazovou řádku. Těžko na cvičišti - lehko na bojišti Dperační systém UNIX a základy programování 1. lekce Závěr Dperační systém UNIX a základy programování 1. lekce Závěr > Ubuntu je moderní desktopové prostředí (platí i pro jiné distribuce postavené na OS unixového typu) > Ubuntu obsahuje alternativy standardních aplikací od kancelářských balíků (Writer, Calc, Impress) přes programy pro vytváření vektorové (Inkscape) či rastrové (Gimp) grafiky až po programy pro zobrazování webových stránek (Firefox) > Má nativní podporu pro práci s příkazovou řádkou Dperační systém UNIX a základy programování 1. lekce -33- Přehled lekcí 1. Začínáme 2. Linux jako víceuživatelský systém 3. Souborový systém 4. Procesy 5. Programy vs skripty, algoritmizace, bash Průběžný test I 6. Linux aneb co se nevešlo do úvodu 7. Skriptování v jazyce bash 8. bash - řídící struktury (podmínky, cykly) 9. bash - dokončení (skoro) 10. gnuplot, bash Průběžný test II 11. awk 12. awk - pokračování 13. Kompilace programů ze zdrojových kódů Dperační systém UNIX a základy programování 1. lekce -34- Změna hesla Dperační systém UNIX a základy programování 1. lekce -35- Změna hesla Standardním příkazem pro změnu hesla v prostředí linuxu je příkaz passwd (man passwd). Na klastru WOLF jej však není možné použít z důvodu využívaní externího správce uživatelských účtů Perun (https://perun.cesnet.cz). Pro změnu hesla (či reset hesla, pokud jste jej zapomněli) tak musíte použít správce eINFRA profilu, který naleznete na následujícím odkazu: https://einfra.cesnet.ez/a/user-profile/fed/ Dperační systém UNIX a základy programování 1. lekce Změna hesla > Heslo by mělo být dostatečně silné. Mělo by obsahovat kombinaci písmen (malých a velkých), číslic a speciálních znaků. > Při zadávání hesla nepoužíváme numerickou část klávesnice, speciální klávesy a přemykače kromě klávesy Shift. Vyvarujete se tak problémům se zadáváním hesla na jiných počítačích. h-q- 1-3 Hl Fl' Výchozí klávesnice na klastru WOLF je anglická (EN). Dperační systém UNIX a základy programování 1. lekce -37- Desktopová prostředí Desktopová prostředí kulhanek: bash Rle Edit View Scrollback Bookmarks Settings Help kulhanek@wolfl2:-$ Is Desktop Downloads Pictures Templat Documents Music Public Videos kulhanek@*olfl2:~$ | rnŕŕh-iflnw * © O kulhanek : bash File Edit view Scrollback Bookmarks Settings Help kulrianek@volfl2:~$ Is Desktop Downloads Pictures Template' Documents Husic Public Videos kulr,anek@wolfl2:-$ | KDE GNOME Dperační systém UNIX a základy programování 1. lekce -39- Desktopové prostředí Poznámky: > V současné době (2018) jsou na klastru WOLF dostupné prostředí Unity a Gnome. > Prostředí Unity bude v nadcházejících verzích Ubuntu nahrazeno prostředím Gnome. > Na klastru WOLF se tak stane až při přechodu na Ubuntu 18.04 LTS (únor 2019). K procvičení: 1. Postupně se přihlaste do jednotlivých desktopových prostředí, které jsou dostupné na pracovních stanicích klastru WOLF. 2. V případě, že si vyberete pro práci jiné desktopové prostředí než Unity, se s ním dobře seznamte. 3. Nainstalujte si do používaného desktopového prostředí českou klávesnici, pokud jste ji navyklí používat. Dperační systém UNIX a základy programování 1. lekce -40- Poděkování Na přípravě kurzu se podíleli: Zora Střelcová, Jakub Štěpán, Tomáš Trnka, Tomáš Bouchal, Pavel Janoš üf evropský Sociální , ■ M|N|$TERSTvC> ŠKOLSTVÍ, OPVnSUiMFir lOndVCR EVHÖPSKAUNIE MLÁDEŽ E A TĚLOVÝCHOVA |K* kettkiiMiictubtpíMt INVtSl ICt DO ROZVOJt VZDĚLÁVÁNÍ Dperační systém UNIX a základy programování 1. lekce