C2110 Operační systém UNIX a základy programování U06: Vzdálený přenos dat -1C2110 Operační systém UNIX a základy programování 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 U06: Vzdálený přenos dat PS/2022 Prezenční forma výuky: Rev5 C2110 Operační systém UNIX a základy programování U06: Vzdálený přenos dat -2Vzdálený přenos souborů ➢ scp (rsync) ➢ wget (curl) ➢ transfer dat mezi OS Unix/macOS a MS Windows (WinSCP) C2110 Operační systém UNIX a základy programování U06: Vzdálený přenos dat -3Vzdá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.ncbr.muni.cz:/scratch/kulhanek $ scp wolf01.ncbr.muni.cz:/scratch/kulhanek/pokus.txt . Ke vzdálenému kopírovaní slouží příkaz scp. Pro kopírování většího množství dat (synchronizaci adresářů) je výhodnější příkaz rsync (C2115). C2110 Operační systém UNIX a základy programování U06: Vzdálený přenos dat -4Cvičení 1 1. Vytvořte kopii adresáře ~/Documents/C2110 do adresáře /scratch/username (ujistěte se, že v adresáři ~/Documents/C2110 máte nějaké soubory, např. prezentace k cvičení). 2. Překopírujte obsah adresáře /scratch/username/Documents na vzdálený stroj dle vašeho výběru do adresáře /scratch/username/wolfXX, kde wolfXX je číslo zdrojového stroje. Ke kopírování použijte příkaz scp. 3. Smažte adresáře /scratch/username/Documents a /scratch/username/wolfXX použijte dva terminály username – vaše uživatelské jméno C2110 Operační systém UNIX a základy programování U06: Vzdálený přenos dat -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 velké O Podobným příkazem je curl, který však umožňuje oboustrannou komunikaci se vzdáleným stroje. C2110 Operační systém UNIX a základy programování U06: Vzdálený přenos dat -6Kontrola stažených dat Během stahování velkých souborů může dojít k celé řadě chyb, např. v důsledku HW či SW chyby zdrojových či cílových uložišť (pevné disky), nebo mohou být data záměrně podvržena během přenosu dat po síti. Proto je nutné integritu stažených dat ověřit, obzvláště pokud se jedná o instalační obrazy operačního systému. Jinak hrozí zanesení malware do systému (malicious software, škodlivý software) nebo ke vzniku chyb při jeho běhu. K ověření se používají kryptografické hashovací funkce. Ty z předložených dat vypočítají otisk (malou číselnou reprezentaci), přičemž hodnota otisku se značně mění i při malé změně dat. Zároveň existuje velmi malá pravděpodobnost, že by dva soubory (velmi podobné) poskytly stejný otisk (tj. došlo by k tzv. kolizi). soubor stažený soubor poskytoval konzumentwget, … sha256sum sha256sum jednou při zveřejnění po každém stažení musí být stejné https://cs.wikipedia.org/wiki/Ha%C5%A1ovac%C3%AD_funkce C2110 Operační systém UNIX a základy programování U06: Vzdálený přenos dat -7Cvičení 2 1. Pomocí příkazu wget stáhněte PDB strukturu 1SS9 do souboru s názvem struktura.pdb a uložte ji do adresáře ~/Documents/C2110 2. Do adresáře /scratch/username stáhněte pomocí příkazu wget instalační obraz pro Ubuntu Server 22.04.1 LTS (ubuntu-22.04.1-live-server-amd64.iso). 3. Příkazem sha256sum ověřte, že byl soubor stažen správně. 4. Instalační obraz smažte. username – vaše uživatelské jméno https://cz.releases.ubuntu.com/releases/ C2110 Operační systém UNIX a základy programování U06: Vzdálený přenos dat -8Transfer dat MS Windows <> UNIX Textové soubory vytvořené pod MS Windows a Linuxem (macOS) nejsou zcela kompatibilní, protože každý operační systém používá jiné kódování konce řádku. Linux (macOS): \n (line feed 0x0A) MS Windows: \r+\n (carriage return 0x0D, line feed 0x0A) Konverze kódování, viz C2110-CZ-MSWindows-M01.pdf C2110 Operační systém UNIX a základy programování U06: Vzdálený přenos dat -9Domácí úkoly C2110 Operační systém UNIX a základy programování U06: Vzdálený přenos dat -10Domácí úkol 1. Stáhněte si na svůj počítač prezentace z adresáře /home/kulhanek/Documents/C2110/Presentations pomocí WinSCP či příkazu scp. Prezentace jsou ve formátu pdf.