2 příspěvky / 0 new
Poslední
Obrázek uživatele JirkaZ
Offline
Naposledy viděn: 6 let 5 měsíců zpět
Připojen: 17.10.2006 - 19:12
Skript pro Smart - poraďte prosím

Tak se zase jednou na něco zeptám a potřeboval bych tentokrát "ortodoxního linuxáka"...

Chci vytvořit skript, který:

1) se bude spouštět v KDE přes ikonu na ploše

2) otevře konzoli a v ní spustí a) smart update, po skončení jeho běhu b) smart upgrade (tyto programy musí samozřejmě spustit coby root a je tedy třeba, aby v konzoli vyskočila výzva k zadání jeho hesla)

3) nechá konzoli otevřenou, aby byl zřejmý výsledek celé činnosti.

Jelikož jsem skripty nikdy nepsal a nevím o nich tedy téměř nic, uvítám, když to někdo napíše a zveřejní zde, aby to příp. posloužilo i ostatním.

Díky.

Obrázek uživatele ra100
Offline
Naposledy viděn: 14 let 19 hodin zpět
Připojen: 05.06.2006 - 16:04
nepouzivam smart.snad ti

nepouzivam smart.snad ti toto alebo toto pomoze:)

Obrázek uživatele JirkaZ
Offline
Naposledy viděn: 6 let 5 měsíců zpět
Připojen: 17.10.2006 - 19:12
Tak to jsem

samozřejmě už viděl, ba dokonce i popisoval...(ten první odkaz). Je tu ale drobná chybka: oba odkazy mluví úplně o něčem jiném, než na co se ptám ;-)

Tak ještě jednou a polopaticky: Smart znám a umím s ním jak v GUI, tak v konzoli. Potřebuju ale ten skript, který za mě (za druhého - je to pro absolutního laika) na jedno kliknutí na ploše + zadání root hesla udělá to, co bych já normálně udělal ručně v konzoli - neboli

otevřu konzoli
přihlásím se jako root
spustím smart update, počkám na skončení
spustím smart upgrade

Pochopeno? Je to prostě principiálně skript pro spuštění jakýchkoliv dvou konzolových aplikací, kdy druhá musí čekat na ukončení běhu první...

JirkaZ

Obrázek uživatele JirkaZ
Offline
Naposledy viděn: 6 let 5 měsíců zpět
Připojen: 17.10.2006 - 19:12
Díky, už jsem

to mezitím vymyslel sám - viz výše. A jsem rád, že se moc nelišíme ;-)

JirkaZ

Obrázek uživatele JirkaZ
Offline
Naposledy viděn: 6 let 5 měsíců zpět
Připojen: 17.10.2006 - 19:12
No prostě zvládáte

Linux z konzole, to já holt ne ;-)

Že se dá update použít jako parametr pro upgrade jsem se dočetl až teď, když jsem si ověřoval Váš zápis. "Yes" je taky potřeba, máte pravdu. Pěkný....

A jak by to bylo bez hesla (tedy aby user mohl spustit tuto rootovskou záležitost)? Dělat mu to nebudu, je potřeba, aby si uvědomoval "nebezpečnost" té akce - ale zajímá mě to...

JirkaZ

Obrázek uživatele JirkaZ
Offline
Naposledy viděn: 6 let 5 měsíců zpět
Připojen: 17.10.2006 - 19:12
Jo a pozor....

celá ta záležitost se dá díky víceparametrickému spouštění Smartu ještě dále zjednodušit tak, že není potřeba žádný skript. Prostě tak, že se v kartě aplikace při vytváření zástupce napíše to Vaše

smart upgrade --yes --update

načež se nastaví běh v konzoli a root plus podle uvážení zavření či nezavření konzoly po skončení běhu (zavření to pro BFU dále zjednoduší, ale zase nevidí výsledek).

Paráda.

JirkaZ

Obrázek uživatele ra100
Offline
Naposledy viděn: 14 let 19 hodin zpět
Připojen: 05.06.2006 - 16:04
co sa to sem aka viagra

co sa to sem aka viagra stale cpe?:-)

Obrázek uživatele JirkaZ
Offline
Naposledy viděn: 6 let 5 měsíců zpět
Připojen: 17.10.2006 - 19:12
Jako většinou jsem

si pomohl sám... Zde je článek, který polopaticky vysvětluje základy, včetně např. smyslu prvního řádku skriptu... Čili ten můj funkční skript je zcela jednoduchý a pro ostatní ho popíšu krůček po krůčku:

1) skript je normální textový soubor (tedy editovatelný v Kate apod.). Po vytvoření a prvním uložení je ovšem potřeba mu změnit oprávnění - tedy zejména ho učinit spustitelným. Já si jako člověk neprogramátor nejsem s to zapamatovat číselné parametry pro chmod (příkaz pro změnu práv), proto to dělám pravým myšítkem v nějakém správci souborů přes "Vlastnosti" (např. v Krusaderu).

2) skript je vlastně souslednost příkazů, které by se normálně postupně zadávaly v konzoli. V tomto smyslu je zcela analogický dávkovým (*.bat) souborům z DOSu, což je zajímavá informace pro jedince, kteří na něm vyrostli...

3) skript zajišťující výše popsanou funkci Smartu vypadá takto

#!/bin/bash
smart update
smart upgrade

a to je vše. Jak prosté.... Čekání před druhým spuštěním Smartu (s parametrem upgrade) je zajištěno automaticky a není třeba ho ve skriptu nijak ošetřovat...

4) na takový skript se pak v KDE (opět mým oblíbeným pravým myšítkem, tentokrát na ploše) dá vyrobit odkaz - postup je zcela jasný z nabídky. Je samozřejmě třeba na kartě "Pokročilé možnosti" zatrhnout "Spustit v terminálu" (tedy v konzoli) a dále "Spustit pod jiným uživatelem" (root). Další nabízené možnosti jsou libovolně měnitelné (ikona, název aj.).

Výsledkem po poklikání na odkaz je otevření konzoly s výzvou k zadání hesla, poté už se spustí Smart, updatují se kanály a všechen software.

Není co řešit.

JirkaZ