Linux ve škole – Usnadnění instalace – 3. díl

Dnešní díl bude poměrně krátký. Jde spíše o doplnění dílu předchozího, ale koncepčně by mi to tam nezapadalo aniž bych musel dělat rozsáhlé úpravy. Tak tedy k věci…

S jídlem roste chuť. A tak, když jsme začali instalovat třetí počítač, přestalo nás bavit opisovat stále ty samé příkazy. My jsme ale v Linuxu, my nemusíme, máme skripty!

Jelikož je potřeba různý software do různých strojů, skriptů bylo hned několik. Zde to omezím na dva. Jeden, který je takovým průnikem toho, co jsme instalovali a druhý, který vlastně jen spouští ten první. Proč vysvětlím.

Jak jsem zmínil v prvním díle, rád používám síťová úložiště. Moje myšlenka byla tedy taková, že na úložiště si uložím několik různých skriptů. Podle toho, kam instaluji vyberu skript, jehož název bude v jiném skriptu, který bude uložen na instalačním médiu. Ještě jednou: Na instalačním médiu mám skript, který spouští jeden skript ze síťového úložiště. Který záleží na tom, odkud zrovna instaluji.

Zdá se to zbytečné? Vysvětlím proč není.

Pokud by skripty uložené na úložišti byly přímo na instalačním médiu, tak když instalují tři lidé a jeden se rozhodne do skriptu něco přidat, musí aktualizovat skripty na všech používaných instalačních médiích (každý jsme používali asi tři, to by bylo na devíti flashkách… fuj). Takhle provede změnu na síťovém úložišti a ostatním se spustí aktualizovaný (a tudíž správný) skript. Skript na instalačním médiu se tak nemusí měnit téměř nikdy, „jen“ spouští jiný skript.

Zde je kód skriptu z instalačního média a pod ním vysvětlení:

mkdir tardis
sudo mount //10.15.15.15/install -o user=abcd,pass=abcd ./tardis/
./tardis/programy-U9.sh
sudo umount ./tardis/
rm -r ./tardis/
echo "Calibri-Carlito Cambria-Caladea"
$SHELL

První řádek vytváří složku, kam se namountuje síťové úložiště (NASka, sdílený disk, zkrátka místo v síti). V mém případě je to adresář tardis.
Druhý řádek provádí samotné mountování. Zde se trochu zastavím. Začátek příkazu je celkem jasný a s parametrem -o jsme se také již setkali. Zde je navíc připojena vlastnost pass s hodnotou abcd. Na cílovém síťovém úložišti (u mě na NASce) musí být tedy vytvořen uživatel abcd s heslem abcd, který má přístup do složky install na NASce s oprávněním číst obsah složky a spouštět skripty. Je to zde proto, aby nebylo nutné vždy při spuštění skriptu zadávat přihlašovací údaje do NASky (ke složce isntall).
Třetí řádek spouští samotný skript, který se nachází na NASce ve složce install. Zde se jmenuje programu-U9.sh a to proto, že se jedná o skript pro počítačovou učebnu U9. Jeho obsah naleznete dále.
Na čtvrtém a pátém řádku následují uklízecí akce, co si skript namountoval, to si odmountuje, co vytvořil si smaže. Příkaz rm potřebuje parametr -r protože bude mazat adresář (i když je prázdný, musí se mazat rekurzívně).
Na pátý řádek jsem si napsal jen „oslí můstek“, který mi má za úkol připomenout, že musím provést změnu písma, které jsem pomocí skriptu nainstaloval (o tom v některém z dalších dílů).
Poslední řádek s příkazem $SHELL má za úkol nezavřít terminál po dokonání příkazu (aby mi poznámka o písmech zůstala pěkně na obrazovce). Jiný smysl nemá.

A teď už slíbený skript z úložiště

sudo apt-get update -y
sudo apt-get install wine -y
sudo apt-get install vim -y
sudo apt-get install elinks -y
sudo apt-get install fonts-crosextra-carlito fonts-crosextra-caladea -y
sudo apt-get install nano -y
sudo apt-get -f install -y
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable -y
sudo apt-get update -y
sudo apt-get install qgis -y
cd tardis
sudo dpkg -i geogebra5_5.0.262.0-48501_amd64.deb
sudo apt-get update -y

Pár vysvětlení: ty -y jsou tam proto, aby se instalace neptaly, jestli opravdu chcete nainstalovat ten který program. Prostě se na všechno odpoví, že ano.
Pátý řádek instaluje písma, která nám pomohou v některém z příštích dílů vymýtit Calibri a Cambria (odůvodnění proč, také jindy).
Na sedmém řádku je pro jistotu kontrola závislostí,
na osmém přidáváme repozitář, ve kterém je velmi oblíbený program pro geografy QuantummGIS (qGIS), který se instaluje po updatu o dva řádky za ním.
V síťovém úložišti je ještě umístěn balíček s programem Geogebra, oblíben u učitelů matematiky, takže se přepneme do namountovaného adresáře a spustíme instalaci .deb balíčku.
Na závěr ještě jeden update.

To je pro dnešek vše, na další díl seriálu si budete muset, bohužel, chvilku počkat, protože už nás začíná tlačit čas a je třeba pracovat, aby bylo o čem psát, ale už teď Vám prozradím, že tam najdete první konflikty těch „hodných a zkušených uživatelů Windows“ s oním „zlým Linuxem“ na které jsme narazili a tedy jak jim předejít.

<< Linux ve škole – První kroky – 2. díl Linux ve škole – Uživatel útočí – 4. díl >>
Štítky .Záložka pro permanentní odkaz.

7 reakcí na Linux ve škole – Usnadnění instalace – 3. díl

  1. beer říká:

    Ty -y pro update jsou zbytečné, ty je potřeba dát pro upgrade. A sudo apt upgrade -y nebo sudo apt-get upgrade -y tam jaksi nevidím.
    Dále je zbytečné používat apt-get, postačí místo toho apt.

    • Wochozka říká:

      Pro update je -y pravda asi zbytečné. Ale rozdíl mezi apt a apt-get jsem zaznamenal. Občas jsem od apt dostal hlášku:
      „The apt command is meant to be pleasant for end users and does not need to be backward compatible like apt-get(8).“
      A apt-get mi to v pohodě schroustal. Také jde spíše o zvyk.
      Dále „sudo apt-get upgrade“ (ani „sudo apt upgrade“) tam není záměrně. Upgrade se mi několikrát nevyplatil a některé aplikace (LibreOffice, QuantummGIS) pak chtěly dodatečně přeinstalovat.
      Největší podpásovkou bylo, když se po upgrade „kousnul“ Cinnamon a po zadání hesla při přihlášená (pokud bylo zapnuté automatické přihlašování tak rovnou při startu) mi řekl „This session not available“ a odhlásil se.. a tak pořád dokola a ne a ne pustit mě dovnitř. Z vedlejšíto TTY jsem pak reinstaloval Cinnamon, jak jsem našel na nějakém fóru, a problém se vyřešil. Od té doby dělám zkušební upgrade na samostatném počítači a odzkouším zda funguje bez problémů, nebo, což je častější, neupgraduji, pokud to není nezbytné.

  2. kamowski říká:

    k pripomienke („oslí můstek“):
    možno sa bude hodiť: https://www.linuxexpres.cz/praxe/zenity-vlidna-tvar-pro-vase-skripty?highlightWords=zenity
    k písmu:
    http://www.linux-mint-czech.cz/mso-loaoo-mala-uprava-na-zlepsenie-kompatibility/
    k tomu apt:
    apt install ,,, spapá mint ale napr. ubuntu už nie
    ja si v termináli píšem len apt ale ak píšem niekam článok, tak je to sudo apt-get install …
    pre istotu 🙂

    už sa teším na pokračovanie 🙂

    • Wochozka říká:

      Ahoj, díky, k tomu písmu mám už přesně tenhle odkaz připravený v dalším díle 😉
      Každopádně děkuji za zenity, to jsem ještě do teď nepotkal.. Určitě se to bude hodit 😉

      • kolega říká:

        Já jsem tu o zenity dokonce i někde psal článek, kdysi dávno :)…

  3. Milhouse říká:

    No nedá mi to. 🙂
    Stačí nainstalovat programy jedním příkazem na jeden řádek. Řetězení voleb -f a -y se píše dohromady -fy. Znak # lze použít jako komentář, systém si ho odfilktruje.

    Silně doporučuju knihu Dokumentační projekt

    Změnil bych pořadí takto, bude to rychlejší a méně náročné:

    sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
    sudo apt-get -y update
    sudo apt-get install -y wine vim elinks fonts-crosextra-carlito fonts-crosextra-caladea nano qgis
    sudo apt-get -fy install #[TO JAKO PROČ?]
    cd tardis
    sudo dpkg -i geogebra5_5.0.262.0-48501_amd64.deb
    sudo apt-get clean

    Chce totestnout. 🙂

    • Wochozka říká:

      Ahoj, díky za úpravu. Jen vysvětlím, že -y píšu na konec tak nějak ze zvyku. Vím, že se dá -f a -y sloučit pod -fy, ale přijde mi to „yes“ na konci řádku tak nějak hezčí.
      Stejně tak to je i důvod proč mám rozepsáno na řádky. Je to sice pomalejší, ale když pak instaluji stroj, který nepatří do téhle „rodiny“, vezmu skript a „dd“čkem ve „vi“čku vyházím co nechci (málokdy něco přidávám).
      Dále „sudo apt-get -fy install“ je tam pro opravu závislostí. Praxí se jsem zjistil, že ho potřebuji na tomhle místě kvůli tomu programu „qgis“.
      Ale díky za „clean“ a zkrácení, vypadá to lépe a také dnes už bych to napsal trochu jinak. Brzo snad vyjde další článek, kde už scripty budou učesanější.