deasylife (var: Et guide program)

Dette forum bruges på EGET ANSVAR til at lege med scripts og andre ting med risiko for at beskadige sit eget og andres systemer.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

deasylife (var: Et guide program)

Indlæg af lath »

Hej alle sammen

Her er en ide jeg har ruget på nogen tid.

Idéen er et program, der gør det samme som vores guides:

Kort sagt:


  1. så sætter man flueben ud for det på det man vil have, og
  2. så fjerner et flueben ud for det man ikke vil have
Ja, det er rigtig jeg har prøvet at starte noget ligende op før, og ramt panden mod muren i deb pakke systemets voldsomme kompleksitet. Kompleksiteten ses tydeligt ved at gå på opdagelse i libtapt-pkg-dev.
Dengang opdagede jeg desværre ikke tilstedeværelsen af libept, som er ret tæt på at være en apt-get, apt-cache, og apt-file for programmører = det er meget nemmere, så der skulle være mere garanti for succes, når jeg begynder at gå avanceret.
---

Det jeg går efter først er at skrabe så meget funktionalitet sammen først,
og så lave programmet smartere og mere avanceret og elegant senere.

Måden jeg gør det på er følgende

Uteknisk forklaring
Jeg opsamler oplysninger om brugerens valg, og konstruerer et script i RAM.
Bagefter producerer jeg nogle sikkerhedsoplysninger, og så gemmer jeg scriptet i en midlertidlig fil.
Derefter starter jeg et nyt program, der efter ændringer af rettigheder, og kørsel af nogle sikkerhedschek kører scriptet

Teknikbasker forklaringen
  1. GUI programmet (Program A), helst et Qt, eller GTK+ giver brugeren de valgmuligheder det nu engang har.
  2. Når brugeren har lavet sine valg og vælger at forsætte, så vil programmet brygge
    et bash script sammen i RAM, der er beregnet på at køre uden at stille dumme spørgsmål.
  3. program A beregner nu en md5sum, en SHA1 sum, og en SHA256 hash sum af scriptet i RAM
  4. program A gemmer scriptet i /tmp i en midlertidlig fil
  5. program A starter i en ny tråd et ny program, B, og venter på at program B bliver færdigt.
    Program B gør følgende:
    1. ændrer filrettighederne af filen til: -r-------- (0400), og skifter ejer og gruppe af scriptet til root
    2. cheker om md5 sum af indholdet af filen passer med den md5sum sum, som program A leverede til program B:
      Hvis det ikke er tilfældet er indholdet af filen ændret, og filen slettes fra /tmp, og programmet afslutter
    3. cheker om sha1 sum af indholdet af filen passer med den sha1 sum, som program A leverede til program B:
      Hvis det ikke er tilfældet er indholdet af filen ændret, og filen slettes fra /tmp, og programmet afslutter
    4. checker om sha256 sum af indholdet af filen passer med den sha256 sum, som program A leverede til program B:
      Hvis det ikke er tilfældet er indholdet af filen ændret, og filen slettes fra /tmp, og programmet afslutter
    5. program B er er nu sikker på at indholdet af filen ikke er blevet ændret siden det kom fra program A, og det kan nu køres
    6. scriptet gøres kørbart, til et program: user execute bit sættets på filen
    7. program B starter scriptet og venter på at det er færdigt for ikke at få en zombie process
    8. Når scriptet er færdig sættes write bit på scriptet
    9. ... og filen slettes

Jeg vil gerne starte med script metoden, fordi der er 2 fordele med den.
  • Det er efter KISS princippet (KISS=Keep It Simple, Stupid)
  • Administratorer af mange computere med samme Ubuntu opsætning kan rulle et batch script ud til hver computer,
    som så foretager sin opdatering
  • Programmet kan udvides til at understøtte opsætning af servere, hvor den kan producere et script der bare skal
    køres med sudo foran.

Meget senere kan jeg gøre programmet elegant, og avanceret (man behøves ikke at bruge et script engang
ude i fremtiden), men script metoden beholdes stadigvæk.

Andre idéer er at en guide er et plugin.
Det tænkes at guiden er en simpel tekstfil der beskriver, hvordan en guide skal se ud i GUIen, og
hvad den så skal reagere.
At en guide er en tekstfil betyder at en guide kan indlæses.
Jeg bemærker dog lige at det guide tekstfiler ligger meget lang ude i fremtiden, da jeg jeg skal lave
en fortolker(engelsk: interpreter), som således bruger et programmeringssprog, der er specielt
godt egnet til at lave visuelle guides.

Navn?
Er der nogen der har et forslag til et godt navn til programmet?
Husk at "Ubuntu" ikke kan bruges på grund af at Canonical har det ord som et registreret varemærke.
Husk også at det potentielt er anvendeligt for andet end Ubuntu, og at programmets resultat er anvendeligt på både desktops og servere. hint: tænk bredt i anvendelse

Eksempel:
myGuide: my er micro tegn i SI systemet, og betyder også "mig/min".
^-- hvad synes du om det navn

Hvad synes du om programmet?

/Lars

Edit1:
Pakkerne der bruger libept er synaptic, goplay, debtags, libept-dev, aptitude

Edit 20120602 15:21:
emne felt rettet

Edit 20120602 15:26
typo i emnefeltet retter
Senest rettet af lath 2. jun 2012, 15:27, rettet i alt 2 gange.
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
kfj1972
Indlæg: 152
Tilmeldt: 1. jun 2011, 01:37

Re: Et guide program

Indlæg af kfj1972 »

Jeg sad og "legede" en del med InstallShield i Windows i 90'erne. Der var andre muligheder dengang end InstallShield men InstallShield var et must og det rigtige signal at sende overfor end-users. InstallShield havde før jeg stoppede med at bruge programmet ganske mange og også avanceret muligheder. Stort set alt var WYSIWYG.

Søgte lige for sjovs skyld på InstallShield efter at have læst dit indlæg, og det ser ud til at InstallShield idag er ejet af et andet firma end dengang.

Link: www.flexerasoftware.com

På deres side faldt jeg så over et andet og måske endnu mere interessant produkt ved navn InstallAnywhere
InstallAnywhere is the leading multiplatform application installer for software producers who need to deliver a professional and consistent cross platform installation experience for desktop and server applications. From a single project file and build environment, InstallAnywhere enables developers to create reliable installations for the broadest range of current platforms including Windows, Linux, Mac OS X, Solaris, AIX , HP-UX, and IBM iSeries.

Interessant og smart lyder det da. Hvordan det så fungere i virkeligheden ved jeg ikke.

Nå, men uanset hvad. Så må den smarteste og mest fleksible installere idag være en singel install-fil som virker på flere/alle OS'er (hvis det er muligt at lave en dag) og som detektere og derefter henter indholdet til rette OS og i seneste version fra skyen.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Et guide program

Indlæg af lath »

kfj1972 skrev:Jeg sad og "legede" en del med InstallShield i Windows i 90'erne. Der var andre muligheder dengang end InstallShield men InstallShield var et must og det rigtige signal at sende overfor end-users. InstallShield havde før jeg stoppede med at bruge programmet ganske mange og også avanceret muligheder. Stort set alt var WYSIWYG.

Søgte lige for sjovs skyld på InstallShield efter at have læst dit indlæg, og det ser ud til at InstallShield idag er ejet af et andet firma end dengang.

Link: www.flexerasoftware.com

På deres side faldt jeg så over et andet og måske endnu mere interessant produkt ved navn InstallAnywhere
InstallAnywhere is the leading multiplatform application installer for software producers who need to deliver a professional and consistent cross platform installation experience for desktop and server applications. From a single project file and build environment, InstallAnywhere enables developers to create reliable installations for the broadest range of current platforms including Windows, Linux, Mac OS X, Solaris, AIX , HP-UX, and IBM iSeries.

Interessant og smart lyder det da. Hvordan det så fungere i virkeligheden ved jeg ikke.


Det er ikke en installer, for den erstatter ikke Debian pakkesystemet.

Det er et guide program, hvor programmet kan tilføje/fjerne pakkearkiver (repositories), tilføje/fjerne bunker af pakker, og senere nok også lave ændringer i en desktop.
Kogt ned er det hvad vores guides går ud på for hurtigt at få en bruger i gang med en mere komplet Ubuntu installation.

Med andre ord så arbejder mit program oven på pakkearkiv infrastrukturen.

Hvis man endeligt ville lave en installer, skal det nok være en kopi af den som PC-BSD bruger.
Overnævnte links i listen er fra PC-BSD Users handbook, som er meget udførlig og ret god: http://wiki.pcbsd.org/index.php/PC-BSD_Users_Handbook#Table_of_Contents


Men som sagt vil jeg ikke lave sådan en installer. Det er ikke formålet med mit program.

kfj1972 skrev:Nå, men uanset hvad. Så må den smarteste og mest fleksible installere idag være en singel install-fil som virker på flere/alle OS'er (hvis det er muligt at lave en dag) og som detektere og derefter henter indholdet til rette OS og i seneste version fra skyen.

Du har aldrig udviklet software til en desktop, vel?

Bliv ved med at drømme, det kommer aldrig til at ske.
Hvis du er softwareudvikler har du også en klar idé om hvorfor det aldrig kommer til at ske.


/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
eyvind
Indlæg: 691
Tilmeldt: 14. jan 2007, 16:40
Geografisk sted: Smørum

Re: Et guide program

Indlæg af eyvind »

Da det nok mest er et valg der foretages er mit forslag til navn dette:

MyChoice
MyappChoice
AppChoice
Rigtige mænd tager ikke backup.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Et guide program

Indlæg af lath »

eyvind skrev:Da det nok mest er et valg der foretages er mit forslag til navn dette:

MyChoice
MyappChoice
AppChoice


Udmærkede idéer. Jeg kan bedst lide myChoice, da jeg synes at App er gået hen og blevet lidt for management pop-smart.
Softwareudviklere har generelt en meget god radar for hvornår noget er gået hen og blevet for business/management pop-smart.

Er der nogen der har et andet forslag til et navn?

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
zerben

Re: Et guide program

Indlæg af zerben »

Hej.Tænker du på noget som easylife til Fedora?Så stemmer jeg for det.

http://easylifeproject.org/img/el-snapshot.png
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Et guide program

Indlæg af lath »

zerben skrev:Hej.Tænker du på noget som easylife til Fedora?Så stemmer jeg for det.

http://easylifeproject.org/img/el-snapshot.png


Hej zerben
Ja det er faktisk meget tæt på - bare mere primitivt i starten ved selve installationen af pakkerne, og nok mere avanceret hen over tid.

Jeg kendte den ikke, så jeg takker for oplysninger om den.
Jeg kan måske gafle noget af (læs: lave et fork af) det program for at komme hurtigere i gang - med open Source er den slags heldigvis lovligt, man bliver næsten tilskyndt til at gøre det i GPL.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Et guide program

Indlæg af lath »

zerben skrev:Hej.Tænker du på noget som easylife til Fedora?Så stemmer jeg for det.

http://easylifeproject.org/img/el-snapshot.png


En email er sendt til easylifeproject.org, så får vi at se hvad de svarer.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

deasylife

Indlæg af lath »

Så kom der svar fra Luis Felipe Marzagão fra Brasilien.

Kort fortalt, så er det Open Source og jeg er mere end velkommen til at lave et fork af det.
Koden er på GitHub: https://github.com/easyLife/easylife/

Jeg vil så forke Luis' projekt.
Programmet kommer til at hedde deasylife, hvor det første d står for debian, og resten giver giver sig selv.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
zerben

Re: deasylife (var: Et guide program)

Indlæg af zerben »

Super.Jeg glæder mig til det er færdigt.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: deasylife (var: Et guide program)

Indlæg af lath »

zerben skrev:Super.Jeg glæder mig til det er færdigt.


...
Edit:
Nye designbeslutninger, Indhold her er derfor slettet.
Se længere nede i tråden

/Lars
Senest rettet af lath 12. sep 2012, 21:48, rettet i alt 1 gang.
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
kfj1972
Indlæg: 152
Tilmeldt: 1. jun 2011, 01:37

Re: Et guide program

Indlæg af kfj1972 »

lath skrev:
kfj1972 skrev:Jeg sad og "legede" en del med InstallShield i Windows i 90'erne. Der var andre muligheder dengang end InstallShield men InstallShield var et must og det rigtige signal at sende overfor end-users. InstallShield havde før jeg stoppede med at bruge programmet ganske mange og også avanceret muligheder. Stort set alt var WYSIWYG.

Søgte lige for sjovs skyld på InstallShield efter at have læst dit indlæg, og det ser ud til at InstallShield idag er ejet af et andet firma end dengang.

Link: www.flexerasoftware.com

På deres side faldt jeg så over et andet og måske endnu mere interessant produkt ved navn InstallAnywhere
InstallAnywhere is the leading multiplatform application installer for software producers who need to deliver a professional and consistent cross platform installation experience for desktop and server applications. From a single project file and build environment, InstallAnywhere enables developers to create reliable installations for the broadest range of current platforms including Windows, Linux, Mac OS X, Solaris, AIX , HP-UX, and IBM iSeries.

Interessant og smart lyder det da. Hvordan det så fungere i virkeligheden ved jeg ikke.


Det er ikke en installer, for den erstatter ikke Debian pakkesystemet.

Det er et guide program, hvor programmet kan tilføje/fjerne pakkearkiver (repositories), tilføje/fjerne bunker af pakker, og senere nok også lave ændringer i en desktop.
Kogt ned er det hvad vores guides går ud på for hurtigt at få en bruger i gang med en mere komplet Ubuntu installation.

Med andre ord så arbejder mit program oven på pakkearkiv infrastrukturen.

Hvis man endeligt ville lave en installer, skal det nok være en kopi af den som PC-BSD bruger.
Overnævnte links i listen er fra PC-BSD Users handbook, som er meget udførlig og ret god: http://wiki.pcbsd.org/index.php/PC-BSD_Users_Handbook#Table_of_Contents


Men som sagt vil jeg ikke lave sådan en installer. Det er ikke formålet med mit program.

kfj1972 skrev:Nå, men uanset hvad. Så må den smarteste og mest fleksible installere idag være en singel install-fil som virker på flere/alle OS'er (hvis det er muligt at lave en dag) og som detektere og derefter henter indholdet til rette OS og i seneste version fra skyen.

Du har aldrig udviklet software til en desktop, vel?

Bliv ved med at drømme, det kommer aldrig til at ske.
Hvis du er softwareudvikler har du også en klar idé om hvorfor det aldrig kommer til at ske.


/Lars


Beklager mit indlæg.
Hav en god dag.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Et guide program

Indlæg af lath »

kfj1972 skrev:Jeg sad og "legede" en del med ...
...

Beklager mit indlæg.
Hav en god dag.


Årh det var nu ikke så hårdt ment endda - jeg var muligvis ikke i så godt humør da jeg svarede ...

og i lige måde - ha' en god dag :)

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Teknikbasker, analyse og design af deasylife

Indlæg af lath »

Seneste nyheder for deasylife, 20120714.

Teknikbasker, analyse og design af deasylife
apt-pkg pakken er den pakke man skal bruge hvis man vil installere, afinstallere pakker, søge efter information om en pakke, og håndtere pakkearkiver.

Jeg har så opdaget den ubehagelighed at apt-pkg har et ustabilt API.

Et ustabilt API betyder at jeg skal gøre tingene noget mere avanceret for at skærme min kode mod alt for store ændringer på grund af ændringer i apt-pkg.

...

Edit:
Nye designbeslutninger, Indhold her er derfor slettet.
Se længere nede i tråden


/Lars
Senest rettet af lath 12. sep 2012, 21:50, rettet i alt 1 gang.
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

deasylife - designbeslutninger

Indlæg af lath »

Her mine design beslutninger for Deasylife.

  • Jeg har besluttet mig for et program der kalder dpkg, dpkg-query, apt-get, jockey-tekst, og add-repository kommandoerne efter at have stillet en række af spørgsmål, som brugeren svar ja eller nej til.
  • Jeg vil simplificerer yderligere og udelader ncurces til at starte med.
  • programmet er datastyret:
    • I første omgang bliver data hårdt kodet ind i programmet. Hårdt kodet er et udtrykker at dataene er kildekode, så data kan kun ændres af en programmør med indgående kendskab til programmet.
    • Hårdt kodede data er noget skidt, så der skal laves et dataformat, måske et DSL (domæne specifikt programmeringssprog=Domain Specific programming Language).
    • Når jeg har lavet sådan et data format kan andre med dokumentation om dataformatet i hånden lave en anden datafil med data format i. Man kan sige at de har lavet en deasylife guide-fil.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags