Ir al contenido principal

Ralsina.Me — El sitio web de Roberto Alsina

Respondiendo blogs al azar. Hoy: 2009: la instalación de software en GNU/Linux no funciona -- y un camino para arreglarla

Co­mo no ten­go cuen­ta en FSM y no pien­so abrir una ho­y, voy a res­pon­der acá, don­de na­die se dé cuen­ta. Por­que soy así de se­gu­ro. Avi­so, es­ta res­pues­ta es­tá lle­na de prue­ba-­po­r-a­fir­ma­ción y ge­ne­ra­li­za­cio­nes in­vá­li­da­s, pe­ro así es la opi­nió­n.

Em­pie­za con una in­te­re­san­te pre­mi­sa:

Y sin em­bar­go, la ins­ta­la­ción de so­ftwa­re en GNU/­Li­nux no fun­cio­na... No, no es que no fun­cio­na... es­tá te­rri­ble­men­te ma­l. ¿Por­qué, y qué se pue­de ha­cer pa­ra arre­glar­la?

Pre­ten­do mos­trar que hay un pe­que­ño pro­ble­ma con esa ase­ve­ra­ció­n: la rea­li­da­d. Rea­li­da­des co­mo "¿­Cuál es la pla­ta­for­ma de en­tre­ga de so­ftwa­re a usua­rios co­mu­nes de ma­yo éxi­to en 2009, y por­qué eso im­por­ta?". Pis­ta: no es win­do­ws, y no es al­go en ma­c.

Es el ipho­ne, y su App Sto­re. Y lo que el au­tor pro­po­ne es aban­do­nar al­go que fun­cio­na muy pa­re­ci­do y vol­ver a la era de las ca­ver­nas del "ba­já­te és­to del si­tio de la apli­ca­ció­n", el mo­de­lo que usa win­do­ws.

Des­cri­be el pro­ce­di­mien­to ha­bi­tual de ins­ta­la­ció­n. Hoy en día ca­si to­das las dis­tros ha­cen lo mis­mo, sea con ap­t, yu­m, pa­c­man o lo que sea, y em­pie­za a des­cri­bir el pro­ble­ma.

  • Los usua­­rios ne­­ce­­si­­tan ser root pa­­ra in­s­­ta­­lar so­­­ftwa­­re; no se pe­r­­mi­­ten in­s­­ta­­la­­cio­­­nes pa­­ra un usua­­rio.

Es­to se­ría un pro­ble­ma en las vie­jas épo­cas de com­pu­ta­do­ras com­par­ti­da­s. Hoy en día sos root, o (en al­gún ca­so) la ma­má de root. To­das las dis­tros mo­der­nas usan su­do, así que no ne­ce­si­tás ac­ce­so a la cuen­ta root, só­lo tu pro­pia pa­ssword (o nin­gu­na pa­sswor­d).

Así que és­to es un no­-­pro­ble­ma.

  • Es co­m­­pli­­ca­­do in­s­­ta­­lar va­­rias ve­r­­sio­­­nes del mis­­mo pro­­­gra­­ma. Pien­­se en el po­­­bre di­se­­ña­­dor grá­­fi­­co que ne­­ce­­si­­ta in­s­­ta­­lar va­­rias ve­r­­sio­­­nes de Ope­­ra o Fi­­re­­fo­­­x; Los usua­­rios es­­tán fo­r­­za­­dos a usar el so­­­ftwa­­re in­s­­ta­­la­­do en el sis­­te­­ma.

¿Có­mo ins­ta­lo iFart 1.0 y 2.0 en un ipho­ne? ¿Se pue­de? Usua­rios es­pe­cí­fi­cos (co­mo di­se­ña­do­res grá­fi­co­s) de­ben ser aten­di­dos por so­lu­cio­nes es­pe­cia­le­s, co­mo por­ta­ble fi­re­fox. Hay una ne­ce­si­dad de eso? Ade­lan­te, es tal vez un día de tra­ba­jo.

  • El so­­­ftwa­­re tie­­ne que ob­­te­­ne­r­­se de los re­­po­­­si­­to­­­rios ofi­­cia­­le­s. Bue­­­no, no tie­­ne que ob­­te­­ne­r­­se así pe­­ro un usua­­rio pro­­­me­­dio quie­­re man­­te­­ne­r­­se ale­­ja­­do de re­­po­­­si­­to­­­rios ex­­tra­o­fi­­cia­­les por mo­­­ti­­vos té­c­­ni­­co­­s;

El so­ftwa­re de ipho­ne tie­ne que ba­jar­se del app sto­re. Eso no mo­les­tó a na­die (s­al­vo de­sa­rro­lla­do­res, di­go­).

  • En al­­gu­­nos ca­­sos (es­­pe­­cia­l­­men­­te si el usua­­rio aña­­de re­­po­­­si­­to­­­rios o in­s­­ta­­la pa­­que­­tes di­­re­c­­ta­­men­­te), el me­­ca­­nis­­mo de de­­pen­­den­­cias sue­­le fa­­llar y los usua­­rios te­r­­mi­­nan con de­­pen­­de­­ni­­cas ci­r­­cu­­la­­res.

No veo una de­pen­den­cia cir­cu­lar des­de 2003, pe­ro bue­no, en una de ésas exis­ten. En ese ca­so: no ha­gas eso.

  • Ca­­da pro­­­gra­­ma es­­tá ata­­do a una dis­­tri­­bu­­ción es­­pe­­cí­­fi­­ca, y — lo que es peor — a una ve­r­­sión es­­pe­­cí­­fi­­ca de esa dis­­tri­­bu­­ció­­n. No es tri­­vial in­s­­ta­­lar Ope­­no­­­ffi­­ce 3.1 en Ubun­­tu 8.10. Pue­­den de­­cir que se pue­­de in­s­­ta­­lar el mo­n­­tón de .deb que hay en el si­­tio de Ope­­nO­­­ffi­­ce. In­­tén­­ta­­lo con tu abue­­­la o un usua­­rio pro­­­me­­dio sin ex­­pe­­rien­­cia.

Al­gu­nas apli­ca­cio­nes de ipho­ne no fun­cio­nan sin el fir­mwa­re 3.0. So­lu­ció­n? Ac­tua­li­zar el fir­mwa­re. ¿Cuál es la di­fe­ren­cia con Li­nu­x?

  • No es tri­­vial “da­r­­le” un pro­­­gra­­ma a un ami­­go. Pa­­ra el usua­­rio fi­­na­­l, da­r­­le un pro­­­gra­­ma a un ami­­go de­­be­­­ría ser tan si­m­­ple co­­­mo arra­s­­trar un icono a un me­­mo­­­ry sti­­ck; en vez de eso, te­­ne­­mos ar­­chi­­vos es­­pa­r­­ci­­dos por to­­­do el sis­­te­­ma.

Es aún mas sim­ple que eso: per­mi­ti­me que te de rs­t2­pdf pa­ra ubun­tu: "Ton­y, ins­ta­ll rs­t2­pdf, it's in 'u­ni­ver­se'". Ni si­quie­ra ten­go que dar­te un flo­ppy o lo que sea que los chi­cos usan hoy en día.

Ah, y "¿­có­mo le doy a al­guien una apli­ca­ción ipho­ne?"

En­ton­ces pa­sa a pro­po­ner so­lu­cio­nes, que pien­so son peo­res que el sta­tus quo:

  • Los usua­­rios de­­be­­­rían po­­­der in­s­­ta­­lar so­­­ftwa­­re sin ser root.

Los usua­rios son root, o la ma­má de root. Es­to no es un pro­ble­ma.

  • Los usua­­rios de­­be­­­rían po­­­der in­s­­ta­­lar di­­fe­­ren­­tes ve­r­­sio­­­nes del mis­­mo so­­­ftwa­­re con in­­men­­sa fa­­ci­­li­­da­­d.

La úni­ca ma­ne­ra de ha­cer es­to es ha­cer to­do es­tá­ti­co o con­ge­lar las bi­blio­te­cas del sis­te­ma.

Há­gan­lo pa­ra ver­sio­nes "por­ta­ble­s" de apli­ca­cio­nes es­pe­cí­fi­cas si quie­ren. No ha­gan que el sis­te­ma sea una por­que­ría por fa­vo­r.

  • Los usua­­rios de­­be­­­rían po­­­der co­­­rrer sus pro­­­pias ve­r­­sio­­­nes del so­­­ftwa­­re o las in­s­­ta­­la­­das en el sis­­te­­ma (si exis­­ten)

No ten­go pro­ble­ma. ¿Por otro la­do, co­mo ha­cés eso en un ipho­ne? No lo ha­cé­s. Por fa­vo­r, no di­ver­jan de lo que fun­cio­na en 2009.

  • De­­be­­­ría ser po­­­si­­ble des­­ca­r­­gar e in­s­­ta­­lar so­­­ftwa­­re aun­­que no ven­­ga de un re­­po­­­si­­to­­­rio ofi­­cial

De nue­vo, el ipho­ne no te de­ja, y a na­die le im­por­ta. Si te im­por­ta no sos el usua­rio nor­mal que afir­más de­fen­de­r.

  • El so­­­ftwa­­re de­­be fun­­cio­­­nar — sin mo­­­di­­fi­­car — aún si es un po­­­co vie­­jo y co­­­rre en una dis­­tri­­bu­­ción nue­­va.

Sí, quie­ro Qui­ck Shot pa­ra ipho­nes con fir­mwa­re 3.0!

Es­tás ac­tuan­do co­mo un usua­rio de Li­nux hom­bre!

  • De­­be­­­ría ser po­­­si­­ble “da­r­­le” un pro­­­gra­­ma a un ami­­go arra­s­­tran­­do un icono a un me­­mo­­­ry sti­­ck.

¡De­cí­le el nom­bre de la apli­ca­ción a tu ami­go de una ve­z!

To­do es­to es cier­to con OS X de Apple. Ma­ne­jan la ins­ta­la­ción de so­ftwa­re de ma­ne­ra per­fec­ta — aun­que al­gu­nos pro­gra­ma­s, ul­ti­ma­men­te, vie­nen con pro­ce­sos de ins­ta­la­ción ho­rri­ble­s.

Na­die eli­ge una mac por es­to. La eli­gen por­que es más lin­da, o por­que les di­je­ron que son me­jo­res, o lo que sea, pe­ro ¿al­guien di­cien­do "he­y, en una mac te pue­do dar Offi­ce com­par­tien­do es­te dmg de 800M­B!"? No só­lo na­die lo ha­ce, es ile­ga­l!

Apar­te, le das el dmg a tu ami­go, y 92% de las ve­ce­s, tu ami­go tie­ne win­do­ws o Li­nux y no le sir­ve! Así que tu pro­ba­bi­li­dad de exi­to es ape­nas 8%!

Ima­gi­na­te que só­lo fun­cio­na­ra si la com­pu­ta­do­ra de tu ami­go fue­ra una Ace­r? Ahí te­nés un 10.5%! Na­die di­ría que eso es bue­no!

No, com­par­tir apli­ca­cio­nes así con tus ami­gos no es el pro­ble­ma.

Por fa­vo­r, que­ri­dos de­sa­rro­lla­do­res de dis­tros de li­nu­x, mi­ren al­re­de­do­r, y vean lo que fun­cio­na en 2009.

Sor­pren­den­te­men­te, lo que fun­cio­na es mu­y, muy pa­re­ci­do a lo que ve­ni­mos dis­fru­tan­do des­de 1998 o al­go así, así que si­ga­mos dis­fru­tán­do­lo y ha­gá­mos­lo me­jo­r, en vez de in­ten­tar con­ver­tir­nos en una ma­c, o en win­do­ws, pla­ta­for­mas an­ti­guas en la era del smar­tpho­ne y el ne­tbook.

AC­TUA­LI­ZA­CIÓ­N: más co­men­ta­rios so­bre es­ta his­to­ria, en re­ddit, lxer y OS­News.

iggykoopa / 2009-06-23 20:07:

I agree with most of your points, only thing thing I would change is having standard directories and packages for linux so that a package will work for most distros. Thats probably not gonna happen though.

Roberto Alsina / 2009-06-23 20:32:

Well, you can always package for LSB, I suppose :-)

y0p / 2009-06-23 21:13:

I am so tired of all those articles saying "Is Linux ready for the desktop", "Linux is not ready for the Desktop" etc

Linux IS ready for the desktop but users ARE dumbass... that's the fact.

James M / 2009-06-23 21:26:

When I first started using linux 8 yrs ago, my inclination was to install software by downloading *.rpms. I quickly figured out how to manage repositories. It's a Windows mentality that installing software requires downloading a file, launching it, accepting an EULA, and clicking 'next' until the installer is finished. I can't look back and understand why I initially preferred that system because it seems so archaic, like a relic of the pre-internet age where files had to be installed from floppies. Repository-based application management, which Apple's app store is an example of, is an easier and more secure method of managing software. I predicted that Microsoft would eventually develop their own app store.

Roberto Alsina / 2009-06-23 21:41:

@yOp: I think the right position in "linux and the desktop" is something between "I don't give a crap" and "it's good enough for *my* desktop"

Karl / 2009-06-23 22:38:

Heh, a guy at work uses Photoshop on the Mac. His version doesn't work on Mac OS 10.5 so he has to dual boot with OS 10.4. So much for the idea that everything "just works" on a Mac.

Packaging non-repo applications into a single directory is quite easy on Linux. Just link with -rpath and include the libraries needed!

Bodo / 2009-06-23 22:56:

I kinda agree with you..but you have to admit-the point wich he says about giving software to a friend is really wrong right now.

If I want to give a software to a friend wich has internet,yes,it's okay

But what if that friend lives in an area where there is no internet access? (please,stop thinking the world is USA and Canada)
For example,in Romania,Moldavia,Ukraine,etc. there are villages in wich there isn't even Cable TV - what can I say about Internet? Think about that too.

At this point,windows got over us-you can just go with the .exe and install it and that's that.In linux,it's more complicated - .debs that have dependencies,and those dependencies have other dependencies,etc etc,you get the idea.

Dave / 2009-06-23 23:15:

Great post. I agree with you. I love using Ubuntu now and I would be miserable going back to the way I installed software on Windows. It sucked (stated in the past tense because I no longer use Windows).

Roberto Alsina / 2009-06-23 23:46:

@Bodo: I am not in the US, or Europe.

In fact, I have friends in Cuba, where access to FTP or HTTP is restrictd by the government.

How do they get their software? They ask for it by mail, then we send it to them in hundreds of tiny files.

However, I don't think just because some have special needs everyone should share their inconveniences.

So by all means package portable apps and mail them or send them via carrier pigeon!

One thing doesn't hurt the other *at all*!

Roberto Alsina / 2009-06-23 23:49:

Oh, I forgot, the cubans *obviously* don't have macs, either.

LP Mike / 2009-06-24 04:12:

>It should be possible to download and install software even though it doesn’t come from an official repository

GetDEB.net anyone?

Ravi / 2009-06-24 05:42:

It's really disingenuous to point to the iPhone app store as the ideal distribution model. Not only does it have well-documented flaws with respect to apps which Apple refuses to accept, but it's also very different from the Linux model which you're arguing for.

Root access *is* important. It's incredibly glib to just assume that everybody has root access because it's the common case. The fact is, though, that Linux supports this better than most OSes, because you can compile programs from source and install them to arbitrary paths. Linux distros, on the other hand, don't support this (except for Gentoo derivatives). This is a problem with current distros which can and probably should be looked at.

Installing multiple versions of a piece of software isn't just a "special solution", it's actually required for many libraries where programs require specific versions (autotools being one egregious example), and those programs are specifically designed for it. Distros *could* support this, by allowing alternate installation paths for different versions, but this would be tricky from a package manager perspective, so nobody has yet. For a nontrivial application like a web browser, it's a lot more than one day work to do it properly. :p

It is already really easy to give a program to a friend, though, since you can just give them whatever file (rpm, deb, source tarball) you installed it from in the first place. Not sure what that guy was getting at there. XD

Finally, I'm not really sure why you're arguing so strongly against becoming more "mac-like", when your whole argument revolves around the iPhone.

Guest / 2009-06-24 05:50:

I was directed to your article after being directed to the original source article.

I've heard a lot of people talking about the "other guy" as being a "mac fanboy", or an "idiot".

I'm going to be honest, and I don't mean any disrespect, but I think your response misses the boat. Completely.

First of all, comparing a home computer to an iPhone doesn't have any real value. They are two completely different devices, with completely different practical application, needs, and software models.

Second, there may have been a lot of holes in his proposed solution, but he in no way said "This is how it needs to be done". He simply offered suggestions off the top of his head. A more productive response would have been to offer better alternatives to his solutions that still address the problem.

Third, is recognizing that there is a problem, which I don't believe you do. The bottom line, is that the current method of program distribution walks on a tightrope, and is very very easy to break your system if you don't grab and use exactly what is in the package manager on your system.

Fourth, the user is not root. Bottom line. Yes, there may only be a single user at a home computer, but there may be 4. If someone logged in as root wants to install OpenOffice systemwide for everyone to use, great.

If somebody's 12 year old brother then wants to install a game, also great. Excpet when it's a game that needs a different version of a library that is installed systemwide. The package manager should then put that version in the game folder... no root access needed.

That example was of course, beyond hypothetical, but I'm just saying, the user is not root.

I see your points, and where you're coming from, but I think your points were very poorly made, and backed up.

Thanks for the opportunity to leave my 2 cents.

Tsue Desu / 2009-06-24 09:03:

@ Daniel...

erm.. The iphone is a portable computer.. it uses a managed, centralised repository (albeit one you pay to access) It does not support multiple versions of the same thing on your device. The system is what we're looking at, not the symantecs.

I'd like to know how you install multiple versions of anything on a mac. The dmg does everything. Whats worse, it isnt that portable, you actually need the .dmg to give to someone else.

And yes, there is a way to dl the repository, and put it on DVD and give said DVD to your friend... Then, not only do you give him the APP he wants from you.. but a whole host of MORE stuff.

And it can be trivial to install multiple versions on a linux machine, but, why would you? and honestly, this is hard to do on any system. Because, programs to not only affect their own binaries, they affect others too. That said... you can usually run older programs on newer libs.

I agree with the post, Users mustnt be root, and shouldnt JUST install things, it would create the WINDOWS ideal bot distribution system in Linux. Login, or get the root personage to login when you want to install. Sudo, but use a password.

zypper in WORKS!!!

Nuff said!

Roberto Alsina / 2009-06-24 12:17:

@Daniel Costalis: just to be clear: I didn't call Tony Mobily any of those things, I just think he is wrong.

I am not comparing Linux to the ophone perse, but their software distribution strategies, to see what works in 2009.

It turns out that every user *loves* the App Store. Blackberry, Palm, Nokia and Windows are going to implement the same thing.

And here we are, already proud owners of wheels, and this article suggests reinventing the sled.

Guest / 2009-06-24 18:22:

@Tsue Desu

The iPhone may be considerably more feature rich than your standard phone, but the iPhone is not a portable computer.

Even if we do decide to not split hairs about it, and agree that it IS, comparing the iPhone to a desktop computer isn't a fair comparison.

A DMG is a disc image file, similar to an ISO. Installing another version of something is as simple as moving the contents of the DMG to a different location.

Having multiple versions of an application has a lot of value, specifically for somebody that would like to try a new version of a product without having to destroy their old version. An example of this would be a newer version of video editing software that may have heavy system requirements, or multiple versions of Firefox for testing web applications.

@Robert Alsina
iPhone users may in fact love the app store. If they didn't, however, they'd be SOL, because that is their ONLY option. However, we're talking about ONE device and ONE operating system, not numerous OS choices and numerous different possibilities for hardware and software configuration. It's simply comparing Apple and oranges.

Roberto Alsina / 2009-06-24 19:14:

@Daniel Costalis: it sure is a portable computer. It even runs OS X (kinda).

About the app store:

They love it. It's successful. Everyone is going in that direction now.

Arguing that if they didn't love it it woud suck is pointless because they love it.


Contents © 2000-2024 Roberto Alsina