- rozházená stromová struktura
- různé distribuce - různé konfiguráky v jiných místech(nenodržení standardu)
- neekvivalence kitu jako je DX (OpenGL není DX)
- user unfriendly instalace
- někdy komplikované nastavování uživatelských práv
(wokení desktop/wokení programy /více uživatelů)
To se dá obrečet a překonat.
Ale závislosti se mě často pokouší dokáží dohnat k šílenství.
Možná už jsem se zbláznil :-E
Zavislosti urcite dokazu rozculit nejedneho uzivatela balickovacieho systemu RPM. Avsak treba si uvedomit, ako by sme skoncili, ak by si museli programy nosit vsetky potrebne kniznice so sebou; Ak opomenieme instalaciu zo zdrojvych kodov, tak by to v zasade by skoncilo tak, ze program vyuzivajuci GTK+ by musel obsahovat kniznice GTK+ (neviem, ako je to s linkovanim s kniznicami zostavenymi pre iny typ procesora, nez je program, s ktorym sa kniznica linkuje), casto zbytocne. Toto by viedlo k tomu, ze lenivi programatori by urcite chceli instalovat prave tu svoju verziu GTK a vysledkom by bolo `kniznicne silenstvi` podobne Windowsom a instalacne baliky siahajuce do radovo megabytov.
Na skrotenie zavislosti do rozumnych rozmerov staci, ak balickovaci system vie urcit zavislosti nainstalovaneho balika a ma dostatocne velke repozitare balikov online. RPM je podla mna extrem, pretoze implicitne nedovoli nainstalovat balik, ktory nema poriesene zavislosti (teda byvalo to tak, neviem, ako to je dnes). Druhym extremom je slackware pkgtool, ktory sam o sebe ma zavislosti na haku.
Swaret, emerge, apt-get, yum a ja neviem co este sa snazia zavislosti riesit co najefektivnejsie, takze s ich vyuzitim su zavislosti takmer banalnou zalezitostou.
Me nejvic vyhovuje zpusob distribuce app na m$ windows, vetsinou si opravdu vsechny dll nese sebou, ale pozor uz jsou pryc casy, kdy je to pralo do systemu. Zustavaji v adresari aplikace, jak jednoducha je pak instalace a odinstalace (staci smazat adresar :) Samo ze jsou vyjimky ktere ti zaserou cely system...
Nerozumim proc se to v linuxu nedela stejne, balicky by byli vetsi, ale na druhou stranu, kdyz si neco stahnu tak vim ze mi to bude hned fungovat.
Protoze pokud je knihovna nainstalana globalne v systemu, tak jednotlive procesy sdili jeji kod (v RAM). Pokud by si kazdy program tahal vsechny knihovny s sebou, tak by je ani nesdilel v RAM a tedy by programy zabraly vice RAM (odhaduji tak 2-3x vic).
a) je potreba uvazovat ze spousta knihoven je v systemu treba ve 20ti verzich - pak se stejne neda sdilet jejich kod
b) AFAIK pokud ma dllhost nactenou knihovnu v pameti tak se prvne diva pred loadovanim nove jestli uz tam takovou nema a az potom pripadne nacte dalsi knihovnu
c) ale hlavni je ze samotny kod DLL knihoven neni natolik velky (DLL pres 5MB se vidi hodne malo) aby jich nemohlo byt v pameti vic - v kazdem programu jsou mnohem vetsi zrouti nez samotny cisty kod DLL.
Přesně tak, ale nejenom u gentoo. Před pěti rokama to byl problém, ale dnes? Use emerge / aptitude / yum / yast / rpmdrake / swaret / ipkg / na_co_jsem_ještě_zapomněl. V podstatě mi vždycky stačí, když vím, který program chci používat a která optiona mi ho nainstaluje, tak jaképak dependency hell? Možná u LFS, ale pokud něco takového dělám, tak je to právě proto, že se v těch závislostech cíleně chci ručně babrat.
No momentalne po me nektere balicky z distribuce Fedora Core 4 pozaduji knihovnu libc.so.6(GLIBC_2.4),
bohuzel nevim ktery jim mam kvuli tomu predhodit balicek (nejaky ekvivalent compatlibs ci tak) a ani yum nepomaha. Kompilovat to ze rpm-src je mozne, ale u automatickych updatu to uz vyzaduje neautomaticky zasah. A to jsem do ted zadny hrozny "dependency hell" nezazil.
Hmmm, pokud jsou ty balíčky z FC4, pak je to chyba FC4 (a měla by se hlásit), pokud odněkud jinud, pak buď nejsou pro FC4 určené (co k tomu říct?), nebo jsou blbě udělané (a pak to hlásit jako chybu do toho repozitáře).
vo windowse ma MS Project 148MB bez dependency hell
funkcny rozdiel je naozaj takmer minimalny (pracujem s tymi aplikaciami skoro kazdy den).
mimochodom, ak si windowsovska aplikacia prinesie vsetky .dll vo svojom instalacnom baliku a potom sa pri odinstalovani pyta: "xxxx.dll seems to be no longer used by any application, delete? yes/no", tak podla vas toto nie je dependency hell? nemal by sa skor system starat, ci sa dana .dll moze vymazat? (zlaty apt-get)
mimochodom - za to ze odinstalator pta nemuze windows ale autor toho instalatoru ;)
navic tenhle problem s nastupem .NETu mizi (stejne jako problem DLL Hell u COMu). u .NETu si aplikace nese veskera DLL s sebou a jedine co udela, je ze je zaregistruje do GAC a pri odinstalaci je zase smaze.
Jen tak na okraj: většina knihoven se do GAC ani neregistruje - to je vyhrazeno pro balíky, kde je velká pravděpodobnost, že budou používány větším množstvím aplikací (např. jádro .NET, různé služby, middleware apod.).
nesrovnávej MS Project (což je nástroj pro řízení projektů) s gantovým malovátkem MrProject. Znám obé a jejich možnosti jsou přímo úměrné velikosti kódu.
spise k nazoru jednoho z diskutujicich pod tim clankem.
nevim jestli je to mozno bez nejakych problemu prelozit
a uverejnit, ale bylo by to jiste mnohem potrebnejsi
nez rada jinych clanku a serialu, ktere se na netu v posledni
dobe objevuji.
perli svinim: souhlas. v clanku je mj. neporozumeno pojmum "Standard Input, Standard Output". zadny program prece neni omezen na 1 deskriptor na cteni a 2 na vystup, to je totalni nesmysl. jsou to pojmy pro standardni pouziti urcitych deskriptoru. jestli nekdo dela nejaky demultiplex, tak samozrejme nebude pouzivat pouze 2 deskriptory na vystup, jenom proto, ze existuji pojmy "Standard Output" a "Standard Error". dal se tam mluvi treba o x11. to je podle me taky blud. to, ze jsme donedavna meli jediny takto popularni system pro okynkovani prece neznamena, ze x11 = unix. "Small Tools, Not Small Libraries" - ten chlapik predstira, ze hvezdicku nejde escapovat? u vetsiny z tech veci je proste mimo misu. mozna par tipu na skutecne problemy ma, ale jejich vyresenim se z unixu ne-unix nestane. dal mi prijde legracni, jak se tady spousta lidi rozepsala o linuxovych distribucich :)
no tak jednoduche to bohuzel neni. Tech svini je totiz obrovske mnozstvi a krici neustale po novem zradle. A proto se rozhodli nekteri, kteri budto unix vubec nepochopili, nebo nepochopili dopad sveho jednani, ze perly by mely vypadat jako ty jine odpadky, aby svine pokojne zraly - v nadeji ze s vetsim odbytem tech manipulovanych perel (ty manipulovane perly jsou jaksi svobodnejsi) se rozroste svoboda vseobecne a omezi vliv toho monopolniho vyrobce tech odpadku.
Vysledkem podobnych snah jsou takove clanky a diskuze, produkujici opet jine perly, jak z diskuze patrno. Bohuzel, nejak se nam vytraceji ty skutecne perly - a to je ten problem.
No proste si uvedomte, ze unix je postaveny na principech asi 20 let starych, svet je dneska nekde uplne jinde - muzete to tisickrat obhajovat, ale je to fakt ;)
ovsem porad je to nejlepsi operacni system jaky kdy kdo vymyslel.
alespon pro me potreby, ktere jsou velmi siroke (od grafiky, pres
bezny desktop az po slozite vypocty)
Nebudou ty principy jeste starsi? Zrovna si o nich ctu brozurku z roku 1969. Mimochodem, je to sama matematika a vsechno co tam pisou je pokud vim do dneska neprekonany...
No nevim, ale i starej Cadillac ze sedesatejch let ma v sobe neco, co v dnesich karach nenajdes ... k cemu Ti je auto prospekovany "nejmodernejsi" elektronikou, kdyz Ti za pet let stejne shnije ??? :))
Vem si treba viry. Jeste jsem na linuxu - nejrozsirenejsi klon *NIXu zadnej nechyt. Ani se neptej, kolik lidi sme odpojovali ze site kvuli zavirovanymu kompu,pac nam to zralo traffic.
WinXP, coz je 5 let starej system, hnije tak nak sam od sebe.
Staci parkrat neco nainstalovat, odinstalovat ..., pak se mu zvysi odezva a de do kytek. (Testovano na me mladsi sestre :-)
Je pravdou, ze staci nekdy jen kliknout nekam na webu a clovek, co se neorientuje nebo neumi anglicky, to proste potvrdi a hned ma v systemu nakej vir nebo podobnou verbez. Takovy system, kde se bez vule uzivatele mohou spoustet procesy, me opravdu desi.
Kdysi sem instaloval XP a nevytah sem sitovy kabel, hadejte jak to dopadlo. Po prvnim bootu to chytlo blastera a moh sem instalovat znova. Fakt pouzitelnej system.
možem sa pridať k tahaniu vecí čo nechcete ešte s čias ked som používal XP a jedným updatom (akokolvek som mal automatický update vždy vzpnutý mz prihodilo malu utilitku vypínajucu hodinu nepoužité procesz teda aj router/nat :) utilitku Microsoft (s Microsoft updates) potom stiahol ale do vtedy bola vkladana ako aktualizácia bey ohladu na to že OS aktualizovať nechcem.
Neviem no vidím to ako možnosť nainštalovať si na váš počítač čo len chcem, ved neni problem odchitiť komunikaciu a vdaka neakemu serveru cesetou sa yatvariť že toto je s Windows Update....
PS:tejto inštalacii nezabranil ani Kerio Firewall napriek tomu že prístupy s Win (okrem Opery a Nod-ky) mal všetky (ktoré Stanicou len neprechádyali) blokované blokovane.