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) • 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 12.04 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: 18. záři 2017 - 19. prosince 2017 Zkouškové obdobi: 2. ledna 2 018 - 12. února 2 018 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.). Dperační systém UNIX a základy programování 1. lekce -13- 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_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 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ů í jméno příkazu, který spouští aplikaci »erač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 kulhanek@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ě (2017) 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. 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