4 ms·
Subuser is not a revolutionary peice of software. You are right that it is a LOT like a zip file or tar.gz file full of bundled dependencies. It is, however, a
by timthelion 11y ago
Subuser is not a revolutionary peice of software. You are right that it is a LOT like a zip file or tar.gz file full of bundled dependencies. It is, however, a big improvement on just that. Subuser contains the subusers, so they cannot mess with the rest of your system, making a lot eisier to trust those bundled dependencies. It also provides some rather primitive update mechanisms for those bundled dependencies. But it's main advantage is the containment and the "blank slate".
In the future, I would like to expand on the vision, to include the ability to do deduplication, so that all those zip files with bundled dependencies take up less space. And deduplication done right, will save bandwidth too. Indeed, when you have these "deduplicated zip files", with deduplication done algorithmically, you'll save even MORE space and MORE bandwidth than with a traditional dependency resolving file manager. Take for example debian. Debian uses packages. These packages have dependencies. The dependencies are shared. This saves space over a case where you have a bunch of zip files with unshared dependencies. But when you update a dependency, even if only one line of one file has changed, that dependency must be downloaded completely anew. But with algorithmic de-duplication, updating one line of one file means you only have to download one line of one file anew.
Space savings are there for a similar reason.
- sandGorgon 11y agoIt is revolutionary - if you manage to build the ecosystem. Remember that Docker itself was not considered revolutionary ("yawn.. Use lxc"). I would really recommend you look at nix, zeroinstall, click packages and http://0pointer.net/blog/revisiting-how-we-put-together-linux-systems.html http://0pointer.net/blog/revisiting-how-we-put-together-linu...
- txutxu 11y ago0pointer... after break half of the internet... and need to patch the other half... now releases a pid 2 silently (see release notes for last release), because people was right, because of architecture. Fortunately still I'm free to use my non market targeted, written by myself, configuration management tool, to pick how i boot my personal systems. Sorry, will not buy more blog posts from that domain.
- timthelion 11y agozeroinstall and click are interesting. But zeroinstall doesn't do anything on the security front. Click is rather confusing, I haven't found a webpage for it yet, or any information about how to like install and use a click package on Debian(I think that this is because it's not possible/supported). However, I don't see nix or redhats various efforts(they have annoced a new universal package format every year or two for a decade now) to be very serious. The problem with these efforts is that they always want to impose some opinion on HOW things should be packaged. And I don't think that is useful as a global standard.
- sandGorgon 11y agoyou should really kickstarter this project if you are really serious. I think this can really be something if pushed hard. For all its hate, systemd is a one man effort that changed Linux. And so was git. There are people out there who would love to financially support this if you ask and have a good sense of what you want to do. IMHO your post above (about zeroinstall and click) are jumping the gun. Would love to see what you come up with.. once the excitement has died down ;)
- digi_owl 11y agoI keep wondering how much traction systemd would have gotten without having a long standing project like udev latched onto it (never mind the consolekit replacement logind). I'm just waiting for some project to be wholly dependent on the existence of networkd or some such...
- txutxu 11y agoI will not trust some binary logic that interacts with my data, just because it runs with a dferent numeric uid on my system. That's the point. People is calling "containers" to operative system images pulled from third party repositories under certain laws. If we left all that behind, yes, it's better if your firefox cannot read you ssh private key for example. But I don't need docker for that, sorry. I need a third party blob, when I don't want to embrace the postgresql source code for free and it's manual, and make myself more free tomorrow. But the... how many millions was it? dollars campaign behind certain technologies (and providers), has more power than any thinking, regarding network effects.
- timthelion 11y agoRunning something in subuser is no more of a binary blob than installing it through apt-get. Indeed, it uses apt-get by default! https://github.com/subuser-security/subuser-default-repository/blob/master/iceweasel/docker-image/SubuserImagefile https://github.com/subuser-security/subuser-default-reposito...
- falsedan 11y agoYour needs and point-of-view are pretty specialised. But just because you don't need to use it doesn't mean no one else could benefit.
- drdaeman 11y ago> to include the ability to do deduplication But... Won't it be an ugly kludge? From what I understood, Subuser does introduce the duplication problem just because of the way it works. It didn't exist with traditional package management when done right (because shared components are packaged separately), and it didn't exist with Docker (because it uses layers). If software (any software) essentially adds some issue and then tries to fight it off, it's very likely that things will be ugly in architectural sense. > But when you update a dependency, even if only one line of one file has changed, that dependency must be downloaded completely anew Are you aware about debdelta?
- timthelion 11y agoNo, algorithmic deduplicaton is not a kludge! It is the oposite of a kludge. It is a beautiful way of letting the computer do hard work for you! Rather than trying to deduplicate things by hand (aka, traditional dependency management) you let the computer do it for you :)
- drdaeman 11y agoOh, no, I guess I wasn't clear on what I mean. Sorry. Data compression (which deduplication essentially is a subset of) absolutely isn't a kludge. I meant, introducing the duplication (by design) and then inventing some workaround to get back to square one - that's the suspicious part. It adds complexity, when there could be none.
- timthelion 11y agoSquare one, being, in your opinion cramming all of the dependencies together in one place? There is a big advantage to immutable dependencies though... Your code NEVER breaks. If the dependencies are immutable, and the architecture stays the same, then your code will run. Of course, you can still use apt-get or another package manager to build your images, so the whole updating of dependencies thing is no worse than where you started. It's just, you have the option of not changing things, and not breaking things as well.