C2110 Operační systém UNIX a základy programování -1- C2110 Operační systém UNIX a základy programování 3. lekce Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kotlářská 2, CZ-61137 Brno C2110 Operační systém UNIX a základy programování -2- Obsah  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 C2110 Operační systém UNIX a základy programování -3Vzdálený přenos souborů C2110 Operační systém UNIX a základy programování -4Vzdá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í -5Stahovaní 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 C2110 Operační systém UNIX a základy programování -6Vzdálené spouštění grafických aplikací C2110 Operační systém UNIX a základy programování -7Vzdá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í -8Export 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í -9- Cvičení 1. Přihlaste se na stroj vašeho kolegy pomocí příkazu ssh. Navzájem si ověřte přihlášení (w). 2. Vytvořte adresář pdb v adresáři /scratch/vas_login 3. Do adresáře stáhněte strukturu 1SS9 z PDB databáze pomocí příkazu wget. 4. Strukturu otevřete v programu vmd. Ověřte si, že vám aplikace běží na vzdáleném stroji (ps). Ověřte, že aplikace vašeho kolegy běží na vašem stroji. 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 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í -10- Virtualizace C2110 Operační systém UNIX a základy programování -11Virtualizace - 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í -12Vý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í -13Př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í -14MS 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í -15Ovlá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í -16Vypnutí virtuálního stroje správný způsob vypnutí špatný způsob vypnutí C2110 Operační systém UNIX a základy programování -17- Cvičení 1. Spusťte virtuální stroj s MS Windows XP (/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í -18Instalace Ubuntu 12.04 LTS  Nainstalujte si program VirtualBox (http://www.virtualbox.org).  Stáhněte si instalační obraz pro OS Ubuntu ve forme 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ání 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í -19MS Windows jako klient C2110 Operační systém UNIX a základy programování -20MS Windows jako klient - přehled Přihlašování do Unixu z MS Windows (textový terminál): putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/) ssh (např. z prostředí Cygwin; http://www.cygwin.com/) Kopírování dat mezi Unixem a MS Windows: WinSCP (http://winscp.net) scp (např. z prostředí Cygwin; http://www.cygwin.com/) Export displeje z Unixu do MS Windows (X11 server): Xming (http://sourceforge.net/projects/xming/) cygwin (http://www.cygwin.com/) Přihlašování z Unixu do MS Windows (vzdálená plocha): rdesktop C2110 Operační systém UNIX a základy programování -21- 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í -22Putty – 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í -23Putty – 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í -24- 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í -25Textové 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 C2110 Operační systém UNIX a základy programování -26- Cvičení 1. Spusťte virtuální stroj s MS Windows XP (/win/win). 2. Spusťte aplikaci Putty (Aplikaci stáhněte z internetu). 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 gimp. Proč spuštění aplikace selže? 6. Spusťte aplikaci WinSCP (Aplikaci stáhněte z internetu jako Portable executables). 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.