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 CT« B3 Iräŕ Ť4. 4>) 10:47AM fy 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 pera ční systém UNIX a základy programování 1. lekce Virtualizace Oracle VM VirtualBox d Mos W S Ť4. 4>) 10:47AM {|> - □ Záznamník učitele - Mozilla Firefox Záznamní... X |0ubuntuunity... f^XWindows... fOKalendářGo... fSopenOffice.... y A https://is.muni.cz/auth/ucitel/?fakulta=1431 iS INFORMAČNÍ SYSTÉM MASARYKOVY UNIVERZITY Záznamník učitele IS MU > Osobni administrativa > Zazriamnik učitele ZVÝRAZNĚNI IS.MUNI.CZ POŠTA LIDÉ Thunderbird Mail ŠKOLITEL PUBLIKACE STUDENT ROZVRH PŘEDMĚTY STUDIUM PŘIJÍMAČKY VÝVĚSKA DISKUSE PERSONÁLNÍ SETKÁVÁNÍ X X Dříve použité výběry -Moje predmety: CB060 Seminář NCBR -• C2110 Operační systém UNIX a základy programováni -• C2110/01 Po 13:00-14:50 A4-118 — C2110/02 Út 15:00-16:50 A4-118 — C211S Praktický úvod do superpočltánl — C7790 Počítačová chemie a molekulové modelováni I —• C7800 Počítačka chemie a molekulové modelováni I - cvičeni Předměty spravoyjh>všemi učiteli Vybrané Jťšechny Vyber: všichni aktivní studenti zapsáni do zvolených předmětů Omezit JlnaJF: Nápověda, n n .j» Tvary g| Vložit tvary □ WinXP [Running] - Oracle VM VirtualBox *0 ' I 5 C2110-Lesson-00_001 - Microsoft PowerPoint nekomerč Domů Vloženi Návrh Animace Prezentace Revize Zobrazeni Nást.. * > Abc Abc Abc H ' l_) — Styly tvaru A Styly Word... Vývojář %Jj Přenést do popředí ■ÍJl Přenést do pozadí - Rychlé . |! styly- Ä* 'SiPodoknovýběru Uspořádat Formát a x ®| l\ Velikost I ■10-1 '9 • i ■3•i-2 • Motivace, pokračovaní j Alternatívni desktopový systém --—□—--c Čeština Total Commander 7.0.,. ■ 4 Microsoft Office P... CS "< I 10:47 Find: pra < Previous ► Next HigntrgntaTt rM3l zoter Q^fiO O® Right Ctrl 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 Automatizace t -2 0 2 4 reaction coordinate [A] -4 -2 0 2 4 reaction c cord in rite [A] ABF: Petr Kulhánek 6 4 2 0 2 4 6 reaction coordinate [A] Ukázat video Data: /home/kulhanek/Documents/C2110/Lesson01/video BsoBI: Ivo Kabelka Dperač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: 16. záři 2019 - 20. prosince 2019 Zkouškové obdobi: 2. ledna 2 02 0 - 14. února 2 02 0 Zakončení: kolokvium (2 kredity) Celkový počet odpřednášených hodin: 14 x 2 hodiny = 28 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: 24 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 27.1. - 31.1. 2019 možnost zápisu i v průběhu semestru Dperační systém UNIX a základy programování 1. lekce -13- Evidence docházky Snímač karet Učebna 1.18/A4 Registrují se příchody -/+ 30 minut od zahájení výuky. Nestandardní situace (např. náhrada v jiné seminární skupině) se řeší domluvou. Dperač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 Základní informace: > Učebna s 23 PC > Uspořádaní do výpočetního klastru Bezpečnost práce! 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. Dperační systém UNIX a základy programování 1. lekce -16- Struktura klastru WOLF výpočetní uzly 0.18 univerzitní síť server/čelní uzel wolf30 wolf31 wolf32 ■ ■ ■ i 0.57 _i. Všechny uzly jsou přístupné přímo z veřejné sítě. switch Doména: ncbr.muni.cz wo If 01 wolf02 wolf03 ■ ■ ■ i 1.18 2.11 zakázáno se přihlašovat pracovní stanice (výpočetní uzly) Místnosti: 0.18 Serverovna A4/UKB 1.18 Počítačová učebna A4/UKB 2.11 Seminární místnost A4/UKB 0.57 Seminární místnost (knihovna) A4/UKB Operační systém: Ubuntu 18.04 (Bionic) 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_d^ 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 -18- 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 (LCC Support) 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) Podrobnosti: https://einfra.ncbr.muni.cz -> Uživatelská podpora Dperační systém UNIX a základy programování 1. lekce -20- 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 * Na klastru WOLF je jako display manager (DM) používán lightdm. Výchozím DM je však gdm3, který umisťuje terminály jiným způsobem. Dperační systém UNIX a základy programování 1. lekce -22- 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 -23- Přihlášení - LightDM X manager O fBlen 4>)) 6:02PM O ubuntU*12.04LTS 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í Ubuntu. 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 navštivte v něm portál klastru WOLF. Přihlaste se do vnitřní části a zobrazte si 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 -25- Standardní aplikace Hlavní menu Filtrování výsledků Podskupina menu Firefox LibreOffice Gimp Inkscape Okular firefox webový prohlížeč ibreoffice textový editor (Writer), tabulkový kalkulátor (Calc) prezentace (Impress) gimp inkscape okular editor rastrové grafiky editor vektorové grafiky prohlížeč PDF dokumentů 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í Ubuntu. V programu nakreslete domeček jedním tahem. Vzniklé trojúhelníky vyplňte různými barvami. 2. Spusťte program Inkscape. V programu nakreslete vlajku české republiky. Zkuste odhadnout principiální rozdíl mezi programy Inkscape a Gimp. 3. 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 -27- 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:~$ pwc /home/kulhanek kulhanek@pes:~$ I jednoduché, přitom značně konfigurovatelné common : kwrite H) vs-server : kate H 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 -29- 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í Ubuntu. 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 -31- Správce souborů WinXP [Running] - Oracle Ví *) - o ) ? lomů Vloženi Návrh Vyjmout Kopírovat Kopírovat formát Nový snímek - ranka )snova izová řádka ...... 3 mtiB «MI / f "od >OBoro/fai i jo i»o-jt »i lvi:e:a*>e s i: ij ■ tí t>~->* :-pirl : 34 "Vlastní návrh" ^ !!!! 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 -34- 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 -35- Změna hesla Dperační systém UNIX a základy programování 1. lekce -36- 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 profile. Bližší informace naleznete zde: https://einfra.ncbr.muni.cz -> e-INFRA profil 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 -38- Desktopová prostředí Desktopová prostředí Unity (v menu volba Ubuntu) Dperační systém UNIX a základy programování 1. lekce -40- Desktopové prostředí Poznámky: > V současné době (2019) jsou na klastru WOLF dostupné pouze prostředí Ubuntu (gnome) a Unity (bez podpory). > Různé prostředí si můžete vyzkoušet na virtuálních instancích (viz Lekce 2). Dperační systém UNIX a základy programování 1. lekce -41- Poděkování Na přípravě kurzu se podíleli: Zora Střelcová, Jakub Štěpán, Tomáš Trnka, Tomáš Bouchal, Pavel Janoš evropský sociálny londvČR EVROPSKÁ UNIE INVtS I ICt DO HOZVOJt VZDĚLÁVÁNÍ Dperační systém UNIX a základy programování 1. lekce