Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>Not sure why you feel so compelled to talk about OSs I didn't mention.

Because you said:"Linux, unlike a modern OS, lacks any kind of sane dependency management", which is of course non-sensical, as it is the only OS with dependency management. Also in the case of RPM the dependencies are listed inside the package, the YUM then just does the dependency resolution and fetches the required packages. I really don't understand what point you're trying reach, since automatic dependency management/resolving is one of the most important reasons Linux is chosen for server environments and deployments.

Since I've been doing this for a living for more than 10 years, I really don't know how you have found so many problems and issues with it. Maybe you're using some kind of rolling-release distro?

And of course nope; you can't do that on any OS, because.... we would have done it! That's why homebrew for Mac feels like a poor man's apt/yum system.



> I really don't understand what point you're trying reach, since automatic dependency management/resolving is one of the most important reasons Linux is chosen for server environments and deployments.

>Since I've been doing this for a living for more than 10 years, I really don't know how you have found so many problems and issues with it. Maybe you're using some kind of rolling-release distro?

For average desktop users things like third party repos, PPAs, etc induce failure modes in apt-get that are quite common. One of the most common ways that users get screwed is by adding too many third party repositories or steping outside the repository and build/install via source or installing an rpm/deb file manually. The main reason is the OS does not handle dependencies, only the package manager does. So if you step outside the package manager.. you can get burnt fairly easily doing benign things. A few examples I found in under a minute...

http://unix.stackexchange.com/questions/43952/ http://unix.stackexchange.com/questions/5505/ http://unix.stackexchange.com/questions/59930/ http://unix.stackexchange.com/questions/96282 http://unix.stackexchange.com/questions/8963/

>because.... we would have done it! That's why homebrew for Mac feels like a poor man's apt/yum system.

That's rather poor reasoning. There are several factors why one would not want to maintain a giant repository of packages and associated dependencies. For one, atleast on newer OSX installs the presence of the Mac App Store negates any large scale interest in such a project.

Also the fact that tech like macports, chocolatey, nuget, etc exist, demonstrates the proof of concept. Also I'd like to stick my neck out a bit for MS tech like AppV which is the underlying tech for MS Office 2013 IIRC which allows centralized deployment for enterprises. Its better than apt-get IMHO.

Across platforms I'd say Steam is a much more better platform than apt-get/yum etc for digital distribution of software. On Windows - the only dependencies would be third party libs like PhysX, OpenAL, etc. Windows, since XP, has a great OS-level dependency solution (unlike apt-get and the rest - which the Linux kernel/executable loader/etc do not know about explicitly) for installing multiple versions of libraries side by side and having the developer specify things like - whether they want the latest version or whether they want a specific version, etc via simple application manifests.


Look, no offence, but by the look of the links you gave, you have no leg to stand on and you seem to conflate package management and resolution with software distribution platforms(which has more to do with marketing than technology).

All the links you provided have one of the following traits: 1) User decided to build from source - That's outside the package management and FYI "make && make install" on Linux is exactly the same on Mac.

2) User decided to include Testing repositories on Debian which, since you don't know, it's like having a different Debian distro.

3) User decided to install broken proprietary software(in that case Oracle) that for arbitrary reasons forced the user to install x86 packages while the user's system is 64-bit.

In any case, you don't install Debian if you want bleeding edge packages - wrong tool for the job. Choose Fedora, Ubuntu or OpenSUSE.

If you work in the CS industry and you say that no one wants something like Linux package management, well you simply... don't work in the industry.

AppStore, Steam and whatnot have absolutely nothing to do with package management and dep resolution. Also try something, make a script or program that installs and deploys automatically a development environment with either of the aforementioned technologies. Oh you can't? Yeah that's because you conflate technology issues with marketing issues.


>1) User decided to build from source - That's outside the package management and FYI "make && make install" on Linux is exactly the same on Mac.

So Linux as an OS does not do dependency management - you have to stay within a third party tool/package manager. Thanks for proving my point.

2) User decided to include Testing repositories on Debian which, since you don't know, it's like having a different Debian distro.

Adding more repos leads to breakage - Exactly what I said. You are adding nothing new.

3) User decided to install broken proprietary software(in that case Oracle) that for arbitrary reasons forced the user to install x86 packages while the user's system is 64-bit.

It would have made no difference if it wasn't proprietary. Also I have seen such breaks multiple times with F/OSS software.

>If you work in the CS industry and you say that no one wants something like Linux package management, well you simply... don't work in the industry.

Stop putting words in other peoples mouths. Thats dishonest.

>AppStore, Steam and whatnot have absolutely nothing to do with package management and dep resolution.

Good job replying to something I never said. My mention of Steam and the App store was specifically for digital distribution. Heck .. I even said so myself...

Let me quote myself.. (rather sad that I have to do this)

"The Apple App Store distributes _self contained_ binaries+dependencies (excluding OS libs) which is one sane way of doing things."

"Across platforms I'd say Steam is a much more better platform than apt-get/yum etc for digital distribution of software."

This is my last reply. Goodbye.


> So Linux as an OS does not do dependency management - you have to stay within a third party tool/package manager. Thanks for proving my point.

Debian is an OS. Linux is a kernel. Within a debian (or ubuntu) install, dpkg/apt-get are a first party tool, supplied as part of the operating system.

So debian, as an OS, does do dependency management. I'd include a mirror "thanks for proving" comment here but I don't want to lower myself to your level of supercilious condescension.

The multiple upstream repository problems you describe are very real, though - the nix approach avoids a lot of the upgrade-related problems but still relies on a curated channel of compatible versions, although given the capacity to have multiple versions of things installed relying on multiple such channels will be safe for the user, and the disadvantages at that point largely accrue to the effort required of the curator.


I don't consider the package manager tool-set to be part of the OS. Certainly it is part of a distribution much like other tools are. There is some amount of pedanticness involved when it comes to differentiating the common use of Linux as an OS, Linux as a kernel, Linux distributions, etc. I was using "Linux OS" as a catch all for the kernel + whatever to make it boot to a console.

FYI condescension is reserved for intentionally dishonest replies - which I did detect earlier from the other poster.


I think the 'distribution' concept mostly exists because Linux is just a kernel - I consider the whole thing the OS, especially given apt-get is how I mostly get my kernels.

To my mind, Slackware is an OS that chooses not to ship something of the order of apt-get, rather than separating 'OS' from 'distribution'.

But given you're (by default) booting Debian's choice of Linux kernel, and Debian's choice of userland, all tied together by the dependency resolution of Debian's shipped package manager, which is what provided you with said kernel ... I still think calling it a third-party tool is silly.

Or at least, I see Debian as the first-party rather than Linux here, and I think the fact that your way of looking at it is ... well, "not how I commonly see things regarded" ... the problem wasn't so much dishonesty as a complete failure to realise you were using a different communication protocol.

Never attribute to dishonesty that which can be adequately explained by terminology mismatches :)


You're a riot. I was not dishonest in the slightest. The part which you "detected"(more like you needed something to evade answering) as dishonest was me saying "If you work in the CS industry..." which everyone understood as "If someone works in the industry" and not you specifically!

But yeah, of course, you prefered to think of it as if I was putting words in your mouth. Pfft.

Nevermind that you twisted every answer I gave you with your denial and ignorance.

At least everyone else sees who's dishonest and vote with their 'downvote' button.

Internet is like that sometimes.


So basically it boils down to "I am not a professional and thus I am not qualified to have strong opinions in such matters".

You can close your ears and do "la la la la... I can't hear you" and be as much in denial as you want. Unfortunately it won't change the reality.

Instead of writing "This is my last reply. Goodbye.", I suggest that you avoid commenting on issues you have just a passing familiarity and leave that to the professionals. It would save you from future embarassements.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: