Instaliranje fajlova bez naknadnih zavisnosti

1

Instaliranje fajlova bez naknadnih zavisnosti

offline
  • real 
  • Elitni građanin
  • Pridružio: 25 Nov 2004
  • Poruke: 2297
  • Gde živiš: Kragujevac

Interesuje me da li postoji Linux distribucija kod koje instalacija programa ne mora da se radi preko instalacionog menadžera, a da su pri tome instalacioni fajlovi sami sebi dovoljni, tj. da nema potrebe za naknadnim rešavanjem zavisnosti. Sistem instaliranja novog softvera bi trebao da radi kao na Windows-u (exe fajlovi) ili na PC-BSD (pbi fajlovi). Nebitno je da li je distribucija zasnovana na deb, rpm, source ili nekom drugom formatu.

Dakle, bitno je samo: da je kompletna instalacija sadržana u jednom fajlu, da nema potrebe za Internet konekcijom u toku instalacije i da posle instalacije softvera nema potrebe za bilo kakvim rešavanjem zavisnosti.

p.s.

Pod rešavanjem zavisnosti ne računam stvari kao što su npr. prethodno instaliranje JRE ili tako nečeg. Uostalom to postoji i na Windoews-u; treba npr. doinstalirati .NET, JRE i td.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Nije u pitanju distribucija.
Rec je o tome da li program koristi neke spoljne biblioteke ili ne.
I na Windowsu imas isto to - instaler programa sadrzi i sve potrebne DLL fajlove, i ubacuje ih u System32 folder i bez da pita.

Poenta instalacionog menadzera je da ne ne dozvoli da neka instalacija zameni neku biblioteku starijom verzijom, sto na Windowsu moze da se desi ukoliko instaler ne koristi Windowsov MSI za instaliranje programa.

Lako ti mozes da napravis RPM koji sadrzi sve potrebne biblioteke, pa da ih ubaci u odgovarajuce foldere pri instalaciji, ali se time rizikuje da pregazis novije verzije starijim, pa da prestanu da rade oni programi koji zavise od novijih verzija.
Isto tako, pri kompjliranju programa mogu sve biblioteke staticki da se ukompajliraju u zavrsni izvrsni fajl, ali se to uzasno odrazava na velicinu samog fajla.

Bas iz tog razloga su napravljeni ti menadzeri, da bi regulisali sta fali nekom programu da bi radio, i da li ce to izazvati konflikt sa nekim drugim programom (ukoliko izricito zahtevaju razlicite verzije istih biblioteka).



offline
  • real 
  • Elitni građanin
  • Pridružio: 25 Nov 2004
  • Poruke: 2297
  • Gde živiš: Kragujevac

OK, ali је činjenica da na Windows-u to sasvim lepo funkcioniše i da se veoma, veoma retko dešavaju problemi.

Vidiš i da je i PC-BSD usvojio sličan koncept instaliranja programa.
Ne znam kako stoje stvari na Mac X.?

Ne bih da sad uđemo u raspravu o tome koji je koncept bolji. Ja znam šta je za mene bolje i samo me interesuje da li postoji neka od mainstream distribucija kod koje se programi instaliraju kao na Win ili PC-BSD?

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Na Macu su instaleri u stvari arhive (kao ZIP), i samo je raspakujes u neki folder. Sve sto programu treba (a da nije nesto sistemsko) se nalazi u tom jednom folderu.

Sto se Linuxa tice, ne verujem da ces naci to sto trazis.
U sustini, svaki RPM, DEB itd. moze da se napravi da sadrzi sve sto je programu potrebno, ali niko to nece da radi zbog velicine downloada, i zato sto ces neku biblioteku skinuti hiljadu puta zato sto ce je svaki RPM ili DEB sadrzati.

offline
  • Spy
  • Pridružio: 21 Jul 2007
  • Poruke: 9424
  • Gde živiš: Kako kad

real ::Ne znam kako stoje stvari na Mac X.?

Mac OS X je po tom pitanju otisao jos ponajdalje. Program je jedan fajl i za vecinu aplikacija ima ekstenziju .app ( aplication ). Ti mozes da otvoris taj fajl, nije problem, unutra imas "milion" biblioteka koji su tom programu potrebni za rad, ali zato ne postoji instalacija. Program se moze staviti bilo gde i pokrenuti, ne bitno da li je to desktop, aplication folder ili neki custom folder. Znaci sve je u tom jednom fajlu. Zato prakticno i ne postoji instalacija i deinstalacija. Ako ne zelis vise da koristis taj program jednostavno ga prevuces u kantu za smece i to je to. Sa njim odlaze i sve ono sto je program na sistem doneo.

Vrlo prakticno, brzo i neverovatno jednostavno, zbog toga je mozda Mac OS X i najvise userfrendly os koji postoji.

Losa strana je bas ono sto je Bobby napomenuo, aplikacije su ogromne. Isti program Win -> Mac OS X moze da bude i 1:5 u odnosu velicina.

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

@Simke
Zar se bundle ne raspakuje pre upotrebe?

offline
  • Spy
  • Pridružio: 21 Jul 2007
  • Poruke: 9424
  • Gde živiš: Kako kad

bobby ::Zar se bundle ne raspakuje pre upotrebe?

Zavisi. Obicno paket dolazi kao dmg i unuta je "obican" app, tada ga je potrebno samo prevuci gde se zeli ( bukvalno drag n drop Smile ) ili cak se moze pokrenuti i odatle ( ali ne mozes sacuvati podesavanja, ako ih pravis, sto je i logicno ). Ako je pak paket pkg ( package ), onda moze da postoji nesto kao instalacija ( ono I Agree Next -> Next -> Finish ), to je u stvari samo raspakivanje programa, kao sto si vec i rekao, a potrebno je recimo da korisnik prihvati nekakve uslove koristenja ili pak da ukuca serijski broj, ako se program placa i slicno.

U svakom slucaju ti na kraju imas jedan app, koji deinstaliras tako sto ga obrises i to je to Smile. Naravno, taj program moze da napravi nekakve zavisne foldere na sistemu koji mogu da ostanu posle deinstalacije ( recimo cache folder od browsera ili sta slicno ).

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12520
  • Gde živiš: Južni pol

Napisano: 15 Mar 2010 1:42

Postojalo je nekoliko sličnih projekata za Linuks ali nikad nisu ušli u širu upotrebu. Nisam siguran da li je ikada postojala distribucija koja se zasnivala isključivo na ovom principu. Međutim ovi projekti su podržavali više ili neku od specifičnih popularnijih distribucija.

1. ZeroInstall

Zero install paketi dolaze sa svim potrebnim zavisnostima. Paket se može pokrenuti direktno sa neta ili "instalirati" u virtualizovani direktorijum aplikacije.

Citat:Rather than the normal method of downloading a software package, extracting it, and installing it before it can be used (with the accompanying use of destructive updates and privilege escalation), packages distributed using Zero Install need only run and usually comes in Application Directory format (presented to the user as a single file). The first time software is accessed, it is downloaded from the Internet and (if so configured) cached; subsequently, software is accessed from the cache. Programs are accessed by the fully qualified name of their URL; for example one would not run "myeditor textfile.txt", but "http://www.myeditor.org/edit textfile.txt".

http://0install.net/

2. ROX desktop

Rox desktop environment je zasnovan na ROX file manageru. Sam ROX file manager od davnina ima podršku za virtualizovane foldere aplikacija. Ovaj sistem je zasnovan na ZeroInstall-u.

Citat:The ROX Desktop is a desktop environment based on the ROX-Filer file manager. Files are loaded by dragging them to an application from the filer, and saved by dragging back to the filer. Applications are executable directories, and are thus also installed (copied), uninstalled (deleted), and run through the filer interface. ROX has a strong link with Zero Install, a method of identifying and executing programs via a URL, to make software installation completely automatic.

http://roscidus.com/desktop/

3. Klik

Ovaj projekat više ne postoji. Bio je relativno popularan neko vreme i bio je dostupan za nekoliko distribucija zasnovanih na Debianu (Knoppix, Mepis), a mislim da je podržavao i Suse. Postojao je veliki broj paketa za klik, uključujući i neke closed source ili komercijalne aplikacije.

Citat:klik does not "install" software in the traditional sense (i.e., it does not put files all over the place in the system). It uses one .cmg file per application. Each one is self-contained: it includes all libraries the application depends on and that are not part of the base system. In this regard, it is similar to "application virtualization". One can klik a file even if they are not a superuser, or they are using a live CD.

http://web.archive.org/web/20070626012138/http://klik.atekon.de/

4. Autopackage

Ovaj projekat je izgleda trenutno neaktivan. U prethodnih nekoliko godina je bio čak i dosta popularan. Neke od popularnijih aplikacija su nudile i download Autopackage paketa umesto distro specific paketa. Ali broj paketa je bio mali i ograničen. Autopackage instalira samo one zavisnosti koje ne dolaze uz podrazumevanu instalaciju sistema. Autopackage paketi su relokabilni, što znači da je u mogućnosti da koristi biblioteke različitih verzija koje se nalaze na različitim lokacijama na sistemu. Ovo omogućava jednostavno instaliranje autopackage paketa na različitim distribucijama.

Citat:Autopackage is intended to be used for installing binary, or pre-compiled, versions of non-core applications such as word processors, web browsers, and personal computer games, rather than core libraries and applications such as operating system shells. Autopackage is not intended to provide installation of core applications and libraries for compatibility reasons. Using Autopackage to distribute non-core libraries is something of a thorny issue. On the one hand distributing them via Autopackage allows installation on a greater range of systems, on the other hand there can be conflicts with native package dependencies.

Autopackage is intended as a complementary system to a distribution's usual packaging system, such as RPM and deb. Unlike these formats, Autopackage verifies dependencies by checking for the presence of deployed files, rather than querying a database of installed packages. This simplifies the design requirements for autopackage by relying on available resources, rather than necessitating tracking all the package choices of all targeted distributions.

Programs that use autopackage must also be relocatable, meaning they must be installable to varying directories with a single binary. This enables an autopackage to be installed by a non-root user in the user's home directory.


http://www.autopackage.org/

Dopuna: 15 Mar 2010 1:45

Simke ::bobby ::Zar se bundle ne raspakuje pre upotrebe?

Zavisi. Obicno paket dolazi kao dmg i unuta je "obican" app, tada ga je potrebno samo prevuci gde se zeli ( bukvalno drag n drop Smile ) ili cak se moze pokrenuti i odatle ( ali ne mozes sacuvati podesavanja, ako ih pravis, sto je i logicno ). Ako je pak paket pkg ( package ), onda moze da postoji nesto kao instalacija ( ono I Agree Next -> Next -> Finish ), to je u stvari samo raspakivanje programa, kao sto si vec i rekao, a potrebno je recimo da korisnik prihvati nekakve uslove koristenja ili pak da ukuca serijski broj, ako se program placa i slicno.

U svakom slucaju ti na kraju imas jedan app, koji deinstaliras tako sto ga obrises i to je to Smile. Naravno, taj program moze da napravi nekakve zavisne foldere na sistemu koji mogu da ostanu posle deinstalacije ( recimo cache folder od browsera ili sta slicno ).


Što se tiče Mac OS 10.x, naidjoh na ovo:

http://www.tuaw.com/2009/09/21/the-confusing-art-of-installing-apps/

offline
  • real 
  • Elitni građanin
  • Pridružio: 25 Nov 2004
  • Poruke: 2297
  • Gde živiš: Kragujevac

Ima li u tom smislu neko iskustva sa PC-BSD?

Čisto informativno me interesuje kako se instaliraju programi i na Solarisu, mada njega isključujem jer i nije baš najsrećnije rešenje za desktop.

Mada malope napisah da ne bih da se upuštam u raspravu oko koncepata za instalaciju softvera, moram ipak nešto da napišem, da bi ste shvatili zbog čega sam na početku postavio onakvo pitanje.

Npr., skoro mi se desilo da sam na Win7 morao da instaliram jedan stari editor (od pre 3 godine), jer najnoviji koji imam nije mogao lepo da otvori stare projekte a ja nisam imao vremena da od tih starih projekata pravim nove. Lepo sam instalirao taj stari editor pored ovog novog i oba rade bez problema. Baš me interesuje da li je takva akcija lako izvodljiva na Linux-u, u smislu, da ako imam staru instalaciju, da li ću lako da nađem i odgovarajuće dependencies za nju?

Primedba:
Kada je reč o veličini fajlova, to me ne zabrinjava. Uvek se nađe neka alternativa. Npr. instalacija IE8 za Win je ~80% veća od instalacije za FF. Sa druge strane, ako korisnici Mac-a ne prave pitanje oko veličine instalacija, ne vidim zašto bi to smetalo korisnicima ostalih operativnih sistema, kad bi taj koncept bio moguć i kod njih?

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12520
  • Gde živiš: Južni pol

real ::Ima li u tom smislu neko iskustva sa PC-BSD?[

Čisto informativno me interesuje kako se instaliraju programi i na Solarisu, mada njega isključujem jer i nije baš najsrećnije rešenje za desktop.


Hajde postavi to pitanje na *BSD. Nisam siguran koliko sox posećuje Linux forum. Postavi mu link ka ovoj temi.

real ::Baš me interesuje da li je takva akcija lako izvodljiva na Linux-u, u smislu, da ako imam staru instalaciju, da li ću lako da nađem i odgovarajuće dependencies za nju?

Lako izvodljiva ne. Izvodljiva možda. Zavisi od prirode paketa, kako i sa kojim bibliotekama je aplikacija linkovana i koliko je star paket. Na Linuksu se API-ji mnogo brže menjaju nego na Windowsu. Ako su u pitanju dinamički linkovane aplikacije (preuzete iz neke od starijih distribucija) najčešće ne. Pokušaj instalacije će javljati greške o nedostupnim zavisnostima.

Kada su open source aplikacije u pitanju, vrlo je mali broj onih za koje ne postoje noviji paketi. Većina budu portovane na nove API-je ili zamenjene novim sličnim aplikacijama.

Ko je trenutno na forumu
 

Ukupno su 1121 korisnika na forumu :: 31 registrovanih, 4 sakrivenih i 1086 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 8u47, _Rade, A.R.Chafee.Jr., acatomic, Arsenije, Belac91, bobomicek, cavatina, Dannyboy, darkangel, Denaya, dolinalima, DonRumataEstorski, dragoljub11987, gomago, Hans Gajger, ILGromovnik, kokodakalo, kybonacci, mackenzie, Metanoja, milenko crazy north, mrav pesadinac, Panter, sabros, theNedjeljko, User98, vathra, Vlad000, W123, wizzardone