Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: SH skript install  (Přečteno 4006 krát)

René Baran

  • Návštěvník
  • Příspěvků: 75
    • http://linux.remontsw.eu
SH skript install
« kdy: 26 Listopadu 2009, 20:09:37 »
Ahoj,

mam dotaz. Na NETu jsem si nasel par programu pro instalaci a byly ve formatu SH (shell skript). Vim, ze lze udelat RPM, DEB nebo pomoci programu GlassWorks JAR soubor. Ale SH netusim jak. Poradi mi nekdo jak udelat instalacni soubor s priponou sh?


Moc dik za kazdou radu

Renek


Odra

  • Aktivní člen
  • *
  • Příspěvků: 461
  • Docendo discimus.
Re: SH skript install
« Odpověď #1 kdy: 26 Listopadu 2009, 21:19:54 »
Audi, vide, tace.
ddg.gg , DNSCrypt

ufaak

  • Závislák
  • ***
  • Příspěvků: 2296
Re: SH skript install
« Odpověď #2 kdy: 27 Listopadu 2009, 08:55:03 »
a proc to nenainstalujes pomoci te binarky?
notebook MSI EX720X, Ubuntu 10.10

René Baran

  • Návštěvník
  • Příspěvků: 75
    • http://linux.remontsw.eu
Re: SH skript install
« Odpověď #3 kdy: 28 Listopadu 2009, 18:02:12 »
Ahoj,

no asi jsem to spatne vysvetlil. Pokud mam jiz z netu stahly binarni balicek, tak nemam potrebu jej prevadet (pokud neprevadim DEB na RPM). A nainstaluji si jej. Jde o to, ze obcas potrebuji preposlat neco sveho vlastniho, jako automatickou instalaci. RPM je vazano na RPM balickovaci system, DEB zase vazan na DEB balickovaci system (ne kazdy umi prevadet pomoci utility alien rpm na deb a naopak). SH je spustitelny na lib. distribuci. Ten SH skript ma ve strukture cast prikazovou a cast pak v hexadecimalni podobe nebo nejake binarni forme. Takovou instalaci ma napr. Java NetBeans (instalaci vyvoj. prostredi). Vypada to uvnitr asi takto (ukazka instalatoru programu GlassWork):


Dekuji.



« Poslední změna: 29 Listopadu 2009, 19:34:28 od René Baran »

jfoot

  • Aktivní člen
  • *
  • Příspěvků: 197
  • ..nemožné ihned, zázraky do tří dnů...
Re: SH skript install
« Odpověď #4 kdy: 29 Listopadu 2009, 00:20:52 »
Zdravím Vás, René,

podle toho co píšete a pochopil jsem-li Vás správně, je návod na vytvoření takového scriptu zde :
Kód: [Vybrat]
http://www.linuxjournal.com/content/add-binary-payload-your-shell-scripts
Přiznám se , bez mučení, že mne nikdy nenapadlo použít shell script jako container pro instalovanou binárku. Pokud budete úspěšný, dejte sem, prosím, Vaše řešení za účelem vzdělání mas (dík  ;) )...

Btw, měl jste tady thread týkající se komunikace přes RS232.  Byl jste úspěšen ?
Po šesté atomové válce  povrch planety Rogoz nevypadal pěkně...

Dítě nevinné...Co ty můžeš vědět...o sadomasochistické derivaci oidipovského komplexu...(O.Neff, K. Saudek, Arnal & Dva dračí zuby)

NoWin

  • Host
Re: SH skript install
« Odpověď #5 kdy: 29 Listopadu 2009, 03:10:18 »
Džejfůt: Rač se podívat třeba na instalačku ovladače nVidia (soubor*.run), kterej lze stáhnout z jejich serveru- je to obyčejnej shellovej skript, v němž je zakomponovaná binárka. Toho jsem si všimnul i u jiných souborů *.run ;)

René Baran

  • Návštěvník
  • Příspěvků: 75
    • http://linux.remontsw.eu
Re: SH skript install
« Odpověď #6 kdy: 29 Listopadu 2009, 09:33:37 »
Zdravim,

psal jsem ohledne komunikace se seriovym portem i na jina fora (builder.cz ...). Tam mi poradili nastavit si jiny timeout. Jeste jsem to neestoval. To zarizeni nemam u sebe (ma ho kolega, je to jeho zarizeni jako soucast diplomky).


http://forum.builder.cz/read.php?24,3092026


Kamaradi., co se zivi obdobnym zpúusobem mi rekli, ze to programuji v pythonu. Uvidime ... jeste jsem netestoval.

R.


René Baran

  • Návštěvník
  • Příspěvků: 75
    • http://linux.remontsw.eu
Re: SH skript install
« Odpověď #7 kdy: 29 Listopadu 2009, 09:58:37 »
Zdravim,

ten navod jsem mirne upravil (parametry dekomprese tar ...) a fungujeeeeeeeeeeeeee :-))))))) Moc vsem dekuju.


Renek

jfoot

  • Aktivní člen
  • *
  • Příspěvků: 197
  • ..nemožné ihned, zázraky do tří dnů...
Re: SH skript install
« Odpověď #8 kdy: 29 Listopadu 2009, 12:07:39 »
Džejfůt  :D zdraví Romana Horníka,

Džejfůt: Rač se podívat třeba na instalačku ovladače nVidia (soubor*.run), kterej lze stáhnout z jejich serveru- je to obyčejnej shellovej skript, v němž je zakomponovaná binárka. Toho jsem si všimnul i u jiných souborů *.run ;)

Dík za info, toť názorný příklad , jak jedinec (zde já) dokáže žít v zajetí svých zažitých stereotypů, zde instalačních...Info tohoto threadu je pro mě přínos. Dík.

Zdravím Reného Barana,

Zdravim,

psal jsem ohledne komunikace se seriovym portem i na jina fora (builder.cz ...). Tam mi poradili nastavit si jiny timeout. Jeste jsem to neestoval. To zarizeni nemam u sebe (ma ho kolega, je to jeho zarizeni jako soucast diplomky).

http://forum.builder.cz/read.php?24,3092026

Kamaradi., co se zivi obdobnym zpúusobem mi rekli, ze to programuji v pythonu. Uvidime ... jeste jsem netestoval.

R.

Dík za ten odkaz, já to testnu...
Po šesté atomové válce  povrch planety Rogoz nevypadal pěkně...

Dítě nevinné...Co ty můžeš vědět...o sadomasochistické derivaci oidipovského komplexu...(O.Neff, K. Saudek, Arnal & Dva dračí zuby)

René Baran

  • Návštěvník
  • Příspěvků: 75
    • http://linux.remontsw.eu
Re: SH skript install
« Odpověď #9 kdy: 29 Listopadu 2009, 13:27:04 »
Zdravim.

Zde je upraveny soubor install.sh.in. Je odzkousen a funkcni. Kdyztak lze jeste upravit pro dekompresi do ciloveho adresare.

============== install.sh.in =======================

#!/bin/bash

uuencode=1
binary=0

function untar_payload()
{
   match=$(grep --text --line-number '^PAYLOAD:$' $0 | cut -d ':' -f 1)
   payload_start=$((match + 1))
   if [[ $binary -ne 0 ]]; then
      tail -n +$payload_start $0 | tar xvfz -
   fi
   if [[ $uuencode -ne 0 ]]; then
      tail -n +$payload_start $0 | uudecode | tar xvfz -
   fi
}

read -p "Install files? " ans
if [[ "${ans:0:1}"  ||  "${ans:0:1}" ]]; then
   untar_payload
   # Do remainder of install steps.
fi

exit 0
=====================================

Dekuji moc za pomoc.


Renek (Monty)



jfoot

  • Aktivní člen
  • *
  • Příspěvků: 197
  • ..nemožné ihned, zázraky do tří dnů...
Re: SH skript install
« Odpověď #10 kdy: 29 Listopadu 2009, 13:31:29 »
Zdravím René Barana,
Zdravim.

Zde je upraveny soubor install.sh.in. Je odzkousen a funkcni. Kdyztak lze jeste upravit pro dekompresi do ciloveho adresare.

OK. Dik K+
Po šesté atomové válce  povrch planety Rogoz nevypadal pěkně...

Dítě nevinné...Co ty můžeš vědět...o sadomasochistické derivaci oidipovského komplexu...(O.Neff, K. Saudek, Arnal & Dva dračí zuby)

René Baran

  • Návštěvník
  • Příspěvků: 75
    • http://linux.remontsw.eu
Re: SH skript install
« Odpověď #11 kdy: 29 Listopadu 2009, 19:30:51 »
Zdravim.

Jen drobnost. Zkusil jsem zabudovat do "install.sh.in" nejaky ten dialog. Take to funguje. Jen je potreba davat pozor na regulernost syntaxe u dekomprese.

================== UKAZKA install.sh.in ====================
#!/bin/bash

uuencode=1
binary=0

function untar_payload()
{
   match=$(grep --text --line-number '^PAYLOAD:$' $0 | cut -d ':' -f 1)
   payload_start=$((match + 1))
   if [[ $binary -ne 0 ]]; then
       your_target=`cat cil.txt`
      tail -n +$payload_start $0 | tar xvfz - --directory=$your_target
   fi
   if [[ $uuencode -ne 0 ]]; then
       your_target=`cat cil.txt`
      tail -n +$payload_start $0 | uudecode | tar xvfz - --directory=$your_target
   fi
}


dialog --backtitle "INSTALACE ..." \
       --title "" \
       --yesno "Chcete pokračovat v instalaci?" 6 25
return_choice=$?       
clear

if [ $return_choice == "0" ]
  then
     dialog --backtitle "INSTALACE ..." \
        --title "" \
        --msgbox "\nVítejte v instalaci  ...\n" 7 35
     clear
     dialog --backtitle "INSTALACE ..." --title "Zedej cílový sh skript včetně cesty" --no-shadow --inputbox "Cíl:" 0 0 "" 2> cil.txt
     clear
    untar_payload
    rm cil.txt
    # Do remainder of install steps.
  else
     dialog --title "" \
        --msgbox "\nAkce byla zrušena !" 7 35
     clear
fi

exit 0



===================================================








Nejspis bude fungovat i gdialog nebo zenity. Ale to jsem nezkousel. Nechal jsem jen shell dialog.

Renek
« Poslední změna: 29 Listopadu 2009, 19:35:04 od René Baran »

 

Provoz zaštiťuje spolek OpenAlt.