C2110 Operační systém UNIX a základy programování 3. lekce -1C2110 Operační systém UNIX a základy programování Petr Kulhánek, Jakub Štěpán kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kotlářská 2, CZ-61137 Brno CZ.1.07/2.2.00/15.0233 3.lekce C2110 Operační systém UNIX a základy programování 3. lekce -2- Obsah  Vědecko-technické aplikace • module  Vzdálený přenos souborů • scp, wget  Vzdálené spouštění grafických aplikací • export displeje  Virtualizace • co je to virtualizace, typické použití, přehled hypervisorů, • MS Windows ve VirtualBoxu, instalace Ubuntu OS  MS Windows jako klient • Putty, WinSCP • Přenos textových souborů C2110 Operační systém UNIX a základy programování 3. lekce -3Vědecko-technické aplikace  module C2110 Operační systém UNIX a základy programování 3. lekce -4Vědecko-technické aplikace Přehled dostupných aplikací: $ module $ module versions vmd Přehled dostupných verzí aplikace: Aktivace aplikace: $ module add vmd Spuštění aplikace z modulu vmd $ vmd 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. $ module add vmd:1.9.0 číslo verze se od jména modulu odděluje dvojtečkou aktivuje výchozí verzi modulu C2110 Operační systém UNIX a základy programování 3. lekce -5- Cvičení 1. Vypište seznam aplikací dostupných přes systém modulů. 2. Jaké verze jsou dostupné pro modul vmd a nemesis. 3. Aktivujte modul vmd ve verzi 1.9.0 a spusťte z něj program vmd. 4. Aktivujte modul nemesis ve výchozí verzi a spusťte z něj program nemesis. C2110 Operační systém UNIX a základy programování 3. lekce -6Vzdálený přenos souborů  scp  wget C2110 Operační systém UNIX a základy programování 3. lekce -7Vzdálené kopírování $ scp [-r] zdroj cil Příklady použití: Syntaxe: [] - možno vynechat Zdroj a cíl může být soubor nebo adresář. V případě kopírovaní adresářů je nutno použít volbu –r (recursive). Vzdálený cíl nebo host se identifikuje názvem stroje odděleného od jména souboru či adresáře dvojtečkou. [user@]hostname:[cesta/]soubor $ scp pokus.txt wolf01.wolf.inet:/scratch/kulhanek $ scp wolf01.wolf.inet:/scratch/kulhanek/pokus.txt . Ke vzdálenému kopírovaní slouží příkaz scp. C2110 Operační systém UNIX a základy programování 3. lekce -8Stahovaní souborů z webu Ke stahovaní souborů z webu lze využít příkaz wget. Vzdálené stroje musí soubory poskytovat pomocí protokolu ftp, http nebo https. $ wget [-O output_name] url url (uniform resource locator) www identifikátor souboru Příklady použití: $ wget http://www.rcsb.org/pdb/files/1SS9.pdb PDB kód struktury velké O C2110 Operační systém UNIX a základy programování 3. lekce -9Vzdálené spouštění grafických aplikací  Export displeje C2110 Operační systém UNIX a základy programování 3. lekce -10Vzdálené spouštění GUI aplikací Grafické aplikace je možné spouštět přímo v prostředí X11 (grafickém terminálu) nebo s exportem displeje na vzdálenou plochu prostředí X11. Přímé spouštení Export displeje aplikace wolf01 aplikace wolf01 aplikace wolf01 wolf02 C2110 Operační systém UNIX a základy programování 3. lekce -11Export displeje aplikace wolf01 wolf02 Příkaz ssh nastaví všechny potřebné náležitosti pro export displeje automaticky při použití volby -X (velké X). [wolf01] $ ssh -X wolf02 [wolf02] $ ./my_application Volba -x (malé x) export naopak zakáže. Export displeje, lze provest i manuálně, nicméně je nutné nastavit proměnnou DISPLAY a správně volat příkazy xhost a xauth. C2110 Operační systém UNIX a základy programování 3. lekce -12- Cvičení 1. Přihlaste se na stroj vašeho kolegy pomocí příkazu ssh. Navzájem si ověřte přihlášení (příkazem w nebo who). 2. Vytvořte podadresář pdb v adresáři /scratch/vas_login 3. Do adresáře stáhněte strukturu 1SS9 z PDB databáze pomocí příkazu wget a uložte ji pod názvem test.pdb. 4. Strukturu otevřete v programu vmd. Ověřte si, že vám aplikace běží na vzdáleném stroji (ps -e). Ověřte, že aplikace vašeho kolegy běží na vašem stroji (ps -u jeho_login). 5. Na vašem stroji vytvořte adresář structures v adresáři /scratch/vas_login 6. Soubor 1SS9.pdb zkopírujte na váš stroj pomocí příkazu scp do adresáře /scratch/vas_login/structures 7. Strukturu otevřete v programu vmd na vašem stroji. Srovnejte rychlost (kvalitativně) zobrazení pro program vmd, pokud je spuštěn lokálně a vzdáleně. Pracujte ve dvojicích. C2110 Operační systém UNIX a základy programování 3. lekce -13- Virtualizace  co je to virtualizace  typické použití  přehled hypervisorů  MS Windows ve VirtualBoxu  instalace Ubuntu OS C2110 Operační systém UNIX a základy programování 3. lekce -14Virtualizace - Hypervisor Hardware Hostitelský OS Hypervisor OS 1 OS 2 OS 3 Virtualizace jsou postupy a techniky, které umožňují k dostupným zdrojům přistupovat jiným způsobem, než jakým fyzicky existují. Virtualizovat lze na různých úrovních, od celého počítače (tzv. virtuální stroj), po jeho jednotlivé hardwarové komponenty (např. virtuální procesory, virtuální paměť atd.), případně pouze softwarové prostředí (virtualizace operačního systému). zdroj: www.wikipedia.org Hypervisor – správce virtuálního strojů Hostující OS (ve virtuálním stroji) C2110 Operační systém UNIX a základy programování 3. lekce -15Výhody virtualizace • Na jednom fyzickém stroji může běžet více virtuálních strojů (každý může mít instalován jiný OS). • Výkon fyzického hardware je lépe využit (nižší provozní náklady). • Snadnější zálohování. Stav virtuálních strojů je možné zaznamenávat do tzv. snímků (snapshosts), ze kterých je možné chod virtuálního stroje obnovit. • Teleportace. Virtuální stroje lze přenést mezi dvěma fyzickými stroji s minimální dobou zastavení virtuálního stroje. Vhodné pří výměně vadného hardware nebo jeho upgrade. • Snadnější testování OS. C2110 Operační systém UNIX a základy programování 3. lekce -16Přehled nástrojů pro virtualizaci VirtualBox www.virtualbox.org Podporovaný hostitelský OS: MS Windows, Mac OS X, Linux Licence: freeware + proprietární rozšíření pro nekomerční použití KVM součástí kernelu Linuxu Podporovaný hostitelský OS: Linux Podpůrné programy: virt-manager, qemu Licence: freeware VMWare http://www.vmware.com/ Podporovaný hostitelský OS: MS Windows, Linux Licence: komerční C2110 Operační systém UNIX a základy programování 3. lekce -17MS Windows na klastru WOLF Spuštění MS Windows XP ve virtuálním stroji (hypervisor VirtualBox) $ /win/win C2110 Operační systém UNIX a základy programování 3. lekce -18Ovládání virtuálního stroje Přepnutí do/z Fullscreen Host = (pravá klávesa Ctrl) (pod MSWindows a Linuxem) Zmáčknutí kláves Ctrl+Alt+Del C2110 Operační systém UNIX a základy programování 3. lekce -19Vypnutí virtuálního stroje správný způsob vypnutí špatný způsob vypnutí C2110 Operační systém UNIX a základy programování 3. lekce -20- Cvičení 1. Spusťte virtuální stroj s MS Windows XP (příkaz /win/win). 2. Ve virtuálním stroji otevřete Internet Explorer a ve Wikipedii (anglické) nalezněte klíčové slovo Hypervisor. 3. Na hostitelském OS monitorujte běh hypervisoru pomocí příkazu top. 4. Pozastavte běh virtuálního stroje. 5. Obnovte běh virtuálního stroje. 6. Ukončete běh virtuálního stroje. C2110 Operační systém UNIX a základy programování 3. lekce -21Instalace Ubuntu 12.04 LTS  Nainstalujte si program VirtualBox (http://www.virtualbox.org).  Stáhněte si instalační obraz pro OS Ubuntu ve formě iso obrazu. http://www.ubuntu.com/ Ubuntu 12.04 LTS (Ubuntu Desktop)  Vytvořte virtuální stroj ve správci VirtualBoxu zvolíme OS Linux a verze Ubuntu zbytek nastavení je vhodné nechat na výchozích hodnotách  První spuštění virtuálního stroje při prvním spuštění virtuálního stroje budeme vyzváni k vložení instalačního media, médium vložíme do virtuálního OS ve formě iso obrazu (ikona vpravo a zvolení staženého instalačního obrazu)  Instalace systému po spuštění instalátoru z instalačního média pokračujte dle průvodce Domácí úkol. C2110 Operační systém UNIX a základy programování 3. lekce -22MS Windows jako klient  Putty  WinSCP  Přenos textových souborů C2110 Operační systém UNIX a základy programování 3. lekce -23MS Windows jako klient - přehled Přihlašování do Linuxu z MS Windows (textový terminál)  putty www.chiark.greenend.org.uk/~sgtatham/putty  ssh např. z prostředí cygwin; www.cygwin.com Kopírování dat mezi Linuxem a MS Windows  WinSCP www.winscp.com, dvou panelový správce souborů  scp z prostředí cygwin; Export displeje z Linuxu do MS Windows (X11 server)  cygwin www.cygwin.com  Xming http://sourceforge.net/projects/xming/ Přihlašování z Linuxu do MS Windows (vzdálená plocha)  rdesktop C2110 Operační systém UNIX a základy programování 3. lekce -24- Putty Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/ Implementace SSH (Secure Shell) pro Windows, která umožňuje vzdálené připojení k počítačům podporující tento protokol (převážně unixového a linuxového typu). C2110 Operační systém UNIX a základy programování 3. lekce -25Putty – nastavení wolf.ncbr.muni.cz adresa vzdáleného stroje Správné fungování klávesy backspace. C2110 Operační systém UNIX a základy programování 3. lekce -26Putty – nastavení II selekce myší kompatibilní s Unixovými terminály neproporcionální písmo (všechny znaky mají stejnou šířku) C2110 Operační systém UNIX a základy programování 3. lekce -27- WinSCP WinSCP http://winscp.net/eng/docs/lang:cs Program pro přenos souborů mezi MS Windows a počítači podporující SFTP či SCP protokoly (převážně unixového a linuxového typu). lokální stroj vzdálený stroj C2110 Operační systém UNIX a základy programování 3. lekce -28Textové soubory MS Win  Linux Textové soubory vytvořené pod MS Windows a Linuxem nejsou zcela kompatibilní, protože každý operační systém používá jiné kódování konce řádku. Linux: \n (line feed 0x0A) MS Windows: \r+\n (carriage return 0x0D, line feed 0x0A) Ke konverzi souborů lze použít programy d2u a u2d (na klastru WOLF). 1) Aktivace modulu cats $ module add cats 2) Konverze MS Windows => Linux $ d2u soubor.com 3) Konverze Linux => MS Windows $ u2d soubor.log Doplňující informace: http://en.wikipedia.org/wiki/Newline C2110 Operační systém UNIX a základy programování 3. lekce -29- Cvičení 1. Spusťte virtuální stroj s MS Windows XP (/win/win). 2. Spusťte aplikaci Putty. 3. Pomocí terminálu Putty se přihlaste na stroj wolf.ncbr.muni.cz. 4. Monitorujte, kdo je na stroj wolf.ncbr.muni.cz přihlášen. 5. Zkuste v terminálu Putty spustit aplikaci vmd. Proč spuštění aplikace selže? 6. Spusťte aplikaci WinSCP. 7. Do virtuálního stroje stáhněte soubor 1SS9.pdb. Soubor otevřete v programu Poznámkový blok (Notepad). Zobrazí se obsah souboru správně? 8. Opravte kódování konců řádků v souboru 1SS9.pdb a soubor znovu otevřete ve virtuálním stroji v programu Poznámkový blok.