Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
To install snap packages on non-Ubuntu distributions, Linux desktop and server users will have to first install the newly cross-platform snapd. This daemon verifies the integrity of snap packages, confines them into their own restricted space, and acts as a launcher. Instructions for creating snaps and installing snapd on a variety of distributions are available at this website. Snapd itself is installed as traditional packages on these other operating systems. That means there's a snapd RPM package for Fedora, for example. It's the same snapd code for every Linux distribution, just packaged differently, and applications packaged as snaps should work on any Linux distro running snapd without needing to be re-packaged." Snapd is available for Arch, Debian, and Fedora. It's also being tested by CentOS, Elementary, Gentoo, Mint, openSUSE, OpenWrt and RHEL.
Posted Jun 14, 2016 19:30 UTC (Tue)
by pizza (subscriber, #46)
[Link] (30 responses)
Posted Jun 14, 2016 19:45 UTC (Tue)
by rahulsundaram (subscriber, #21946)
[Link] (25 responses)
Posted Jun 14, 2016 19:50 UTC (Tue)
by asaz989 (guest, #67798)
[Link] (13 responses)
https://git.launchpad.net/~bjoern-michaelsen/df-libreoffi...
I've heard vague rumblings about deduplication support to reduce this problem at the scale of a whole system (basically a poor man's Nix package manager) but I don't know if that's actually implemented yet.
Posted Jun 14, 2016 19:52 UTC (Tue)
by asaz989 (guest, #67798)
[Link] (12 responses)
Posted Jun 14, 2016 19:58 UTC (Tue)
by rahulsundaram (subscriber, #21946)
[Link]
http://flatpak.org/
Posted Jun 15, 2016 2:18 UTC (Wed)
by drag (guest, #31333)
[Link] (10 responses)
The Gnome or KDE runtimes have the full suite of dependencies needed for their applications. Applications are layered on top of those runtimes. So Libreoffice only needs to bundled dependencies that are not provided by the default runtime.
Posted Jun 15, 2016 11:59 UTC (Wed)
by jospoortvliet (guest, #33164)
[Link] (9 responses)
For embedded, though, it is great, I think.
Posted Jun 15, 2016 13:30 UTC (Wed)
by ovitters (guest, #27950)
[Link] (8 responses)
Posted Jun 15, 2016 13:57 UTC (Wed)
by alexl (subscriber, #19068)
[Link] (6 responses)
Did they disable the containment support when porting snappy? That makes this pretty worthless.
Posted Jun 15, 2016 16:03 UTC (Wed)
by rahulsundaram (subscriber, #21946)
[Link] (5 responses)
Yep. They did disable on it every distribution but Ubuntu.
Posted Jun 15, 2016 16:22 UTC (Wed)
by alexl (subscriber, #19068)
[Link] (4 responses)
Posted Jun 15, 2016 16:43 UTC (Wed)
by rahulsundaram (subscriber, #21946)
[Link] (3 responses)
I feel like you are missing the point.
The current news is primary a marketing move and doing the minimal necessary to get a package running on a number of distros is sufficient for that. The little details like lack of confinement or disabling SELinux doesn't matter much as long as you get more popular software like Firefox and ISV's to buy into it. The technical issues can be fixed later.
The quick takeaway for Flatpak developers should be: Be better at marketing. It really matters.
Posted Jun 15, 2016 18:48 UTC (Wed)
by pizza (subscriber, #46)
[Link] (2 responses)
The famous last words of many a marketing person, eh?
Posted Jun 15, 2016 19:26 UTC (Wed)
by rahulsundaram (subscriber, #21946)
[Link]
Most media outlets will look no deeper than the PR. So why not? It is pretty effective.
Posted Jun 15, 2016 19:45 UTC (Wed)
by NightMonkey (subscriber, #23051)
[Link]
Posted Jun 23, 2016 6:52 UTC (Thu)
by callegar (guest, #16148)
[Link]
Posted Jun 14, 2016 19:57 UTC (Tue)
by asaz989 (guest, #67798)
[Link] (4 responses)
Posted Jun 14, 2016 20:00 UTC (Tue)
by asaz989 (guest, #67798)
[Link]
Posted Jun 15, 2016 10:31 UTC (Wed)
by nye (subscriber, #51576)
[Link] (2 responses)
Unless it has a vastly larger set of dependencies on Linux - like bundling an entire OS stack including the full DE - I don't see how this x5 Snappy package can add up.
Posted Jun 15, 2016 17:55 UTC (Wed)
by flussence (guest, #85566)
[Link]
Thankfully everyone in the target audience for these things has unmetered, uncapped 1Gbit internet connections! Everyone in a poor or rural area wants to keep using cracked CD versions of Windows/MSOffice anyway, right? /s
Posted Jun 16, 2016 10:40 UTC (Thu)
by hitmark (guest, #34609)
[Link]
Posted Jun 15, 2016 1:08 UTC (Wed)
by AdamW (subscriber, #48457)
[Link] (3 responses)
Posted Jun 15, 2016 1:28 UTC (Wed)
by rahulsundaram (subscriber, #21946)
[Link]
To some extend, for flatpak there is. Flatpak developers have been advocating for a runtime/application split model where apparently large portions of what LibreOffice wants is part of the GNOME runtime and maintained by GNOME developers and not bundled within LibreOffice directly. Also, it appears that snappy could do this as well except that there isn't a GNOME snappy runtime/framework published yet.
Posted Jun 15, 2016 10:25 UTC (Wed)
by swilmet (subscriber, #98424)
[Link] (1 responses)
For Flatpak (previously known as xdg-app), this email explains the reasoning for what to put in the GNOME runtime and what to bundle with applications.
Not every GNOME library is present in the GNOME Flatpak runtime. What is part of the runtime: libraries that are security sensitive, or libraries that are widely used. For example GtkSourceView and libpeas (plugin system) are not part of the GNOME runtime. But WebKitGTK+ is (and thankfully, because it takes ages to build).
Posted Jun 15, 2016 17:59 UTC (Wed)
by AdamW (subscriber, #48457)
[Link]
Posted Jun 16, 2016 13:32 UTC (Thu)
by hunger (subscriber, #36242)
[Link]
Source: https://skyfromme.wordpress.com/2016/06/16/a-third-of-a-l...
Posted Jun 16, 2016 17:57 UTC (Thu)
by if.gnu.linux (guest, #88877)
[Link]
Posted Jun 15, 2016 10:13 UTC (Wed)
by eru (subscriber, #2753)
[Link]
I wonder, the whole approach sounds similar to linking the application statically, except that a completely statically linked app would gain performance benefits (just read the image into core and run, no runtime linking or indirect jumping around needed).
But I guess modern development style (using explicit loading of .so:s for plugins) and tools make statical linking infeasible, except in the simple cases.
Posted Jun 16, 2016 13:30 UTC (Thu)
by fdrs (subscriber, #85858)
[Link]
Posted Jun 17, 2016 6:21 UTC (Fri)
by voltagex (guest, #86296)
[Link] (1 responses)
Posted Jun 17, 2016 7:30 UTC (Fri)
by halla (subscriber, #14185)
[Link]
Posted Jun 14, 2016 19:31 UTC (Tue)
by Tov (subscriber, #61080)
[Link] (4 responses)
I am especially interested in how it achieves containerization, to what extend packages are distribution agnostic and how these containerized applications will interact with the rest of the system (e.g. file system).
Thanks.
Posted Jun 14, 2016 20:02 UTC (Tue)
by leoc (guest, #39773)
[Link]
Posted Jun 14, 2016 21:25 UTC (Tue)
by zyga (subscriber, #81533)
[Link] (1 responses)
I'm an upstream developer on snapd and snap-confine. I am working on an article that describes snap confinement system. If you wait a few days I will link it here.
Regards
Posted Jun 17, 2016 16:01 UTC (Fri)
by kena (subscriber, #2735)
[Link]
Posted Jun 16, 2016 2:15 UTC (Thu)
by liam (guest, #84133)
[Link]
Posted Jun 14, 2016 19:44 UTC (Tue)
by lkundrak (subscriber, #43452)
[Link] (4 responses)
Posted Jun 14, 2016 20:26 UTC (Tue)
by thomas.poulsen (subscriber, #22480)
[Link] (3 responses)
To enable this repository type:
Posted Jun 14, 2016 20:32 UTC (Tue)
by rahulsundaram (subscriber, #21946)
[Link] (2 responses)
"Important: on Fedora 24 you currently have to switch SELinux to permissive mode. This restriction will be lifted later. Please edit /etc/selinux/config and change the file to contain SELINUX=permissive. After this change you have to reboot your system.
Posted Jun 14, 2016 21:02 UTC (Tue)
by sjj (guest, #2020)
[Link] (1 responses)
Posted Jun 14, 2016 21:34 UTC (Tue)
by zyga (subscriber, #81533)
[Link]
Posted Jun 14, 2016 20:25 UTC (Tue)
by cyperpunks (subscriber, #39406)
[Link] (23 responses)
Size of snaps don't bother me much if diff download size of updated snap is sensible.
Even packages like gcc and friends (as in devtoolset) are very welcome as snaps.
RHEL did a mistake going with rpm based Software Collection, they should have created
Posted Jun 14, 2016 20:39 UTC (Tue)
by evad (subscriber, #60553)
[Link] (5 responses)
Posted Jun 14, 2016 21:14 UTC (Tue)
by sjj (guest, #2020)
[Link] (4 responses)
Posted Jun 15, 2016 1:12 UTC (Wed)
by AdamW (subscriber, #48457)
[Link] (2 responses)
Posted Jun 15, 2016 10:33 UTC (Wed)
by swilmet (subscriber, #98424)
[Link]
Posted Jun 15, 2016 20:57 UTC (Wed)
by sjj (guest, #2020)
[Link]
I truly wish that these groups could come to an understanding of a standard, or we'll just end up with several almost-but-not-quite-the-same stacks.
Posted Jun 15, 2016 3:00 UTC (Wed)
by rahulsundaram (subscriber, #21946)
[Link]
Posted Jun 14, 2016 21:17 UTC (Tue)
by pizza (subscriber, #46)
[Link]
Posted Jun 14, 2016 21:17 UTC (Tue)
by callegar (guest, #16148)
[Link] (8 responses)
Apart from the fact that it should provide better "isolation" between different applications, everybody seems to welcome this format on the basis that it "avoids dependencies" by bundling all libraries in each software package. Yet, this has somehow been possible even with the traditional packaging formats (even if distros were obviously trying not to do it by any means). Many debs or rpm exist (mainly for commercial applications) that literally pack in everything.
Furthermore, it looks like the proponents of these formats saw that it was not possible to really bundle everything and introduced "frameworks", that look a lot like "dependencies" but at a much coarser resolution than what distros made us used to. Hence, it seems that the main point is the trade off that exists in the framework "coarseness".
Finally, I am trying to think of some practical cases. Suppose that I want to package the "asymptote" vector drawing program. This uses TeX internally. Should the huge texlive be incorporated in the much smaller asymptote package? Or should texlive be a framework that asymptote depends on? And if so, how much of texlive should go in the framework? All of it or just a subset? And if it is just a subset, will asymptote be able to use parts of texlive that are not in the framework by letting one install them later as other packages?
Posted Jun 14, 2016 21:25 UTC (Tue)
by pizza (subscriber, #46)
[Link]
If the answer is anything other than "All of it" then they are just setting themselves up for some major headaches down the line as they'll be forced to re-learn the lessons that Linux distros took to heart two decades ago.
Posted Jun 15, 2016 2:55 UTC (Wed)
by drag (guest, #31333)
[Link] (6 responses)
What does your application require to run?
Your goal here isn't to boil the oceans. Your goal is to ship a running application. Your container does not need to do anything beyond that.
If your application requires the entire Texlive to be bundled then that is what you will have to do. If it only requires the asymptote package then just include that.
This is up for you to decide.
Posted Jun 15, 2016 8:21 UTC (Wed)
by mjthayer (guest, #39183)
[Link] (4 responses)
Posted Jun 15, 2016 12:15 UTC (Wed)
by jospoortvliet (guest, #33164)
[Link] (2 responses)
In any case, I see it more useful as a server tool, to be honest. Then again, the ownCloud and already-done Nextcloud snap is all I've played with of course...
Posted Jun 15, 2016 12:33 UTC (Wed)
by pizza (subscriber, #46)
[Link] (1 responses)
Okay, I want to install two snaps that provide some independent web services. Let's say.. oh, wordpress and owncloud. How's that going to work?
Posted Jun 15, 2016 20:27 UTC (Wed)
by drag (guest, #31333)
[Link]
Posted Jun 15, 2016 14:56 UTC (Wed)
by drag (guest, #31333)
[Link]
For containers intended to run network services (ie docker) the ideal approach is to ruthlessly strip out anything you don't need.
This is one of the reasons why golang is popular (besides specifically adapted for network services). You can compile statically so you know for a fact it will have everything it needs in it's binary. The 'container' then consists of just dropping the binary into a directory.
This way to launch a new service or perform a new update the downtime caused by downloads is measured in a few KB rather then hundreds of MB. The container's major advantage over full VMs is just how fast it is. If you are using a proper 'CI' service like Jenkins to pull and copy code and send it to containers for unit testing it's very nice to get results in seconds rather then minutes. Also if you are doing on-demand services then even if a container never been deployed before on a physical host the time it takes for that physical host to copy down the container and respond is critical. If you can reduce the response time to sub-handful-of-seconds then that cuts out of a lot of infrastructure you need in place to handle user requests and such things.
Python you can do similar things. There are various modules for doing static building. 'pyinstaller' is one, but there are others.
So, for example...
I can use pyenv to setup multiple python installations in my homedir. I can switch between them and set python versions for 'shell', 'local' (directory/project), and 'global'. I can then use 'pip' to install any library or python program that pip provides. Each python version is independent. Then I can add Pyenv support to Emacs and have Emacs know which version of python to use with whatever script I am editing.
I can then set up the similar environment, but built for RHEL6 on a remote machine. I can copy the python scripts I want over to that and then build a static binary for my python script. Because my scripts are written for other people to use on machines I don't control I can just give them this binary and have them execute it on anything newer then EL6 and it should 'just work'.
That is extremely convenient. I can use python 2.7.11 or 3.whatever and have it 'just work'.
Now there are problems, of course. Python wasn't designed to do this so I have occasional problems with complicated modules or C modules.. like 'requests' is something I have trouble with. This is one of the reasons I am interested in golang.
How does all that translate to desktop applications though?
I don't know. Increasingly use of containers for network services is becoming perfected, but for desktop applications in Linux it's still a very unknown.
I have also been thinking about things like IPFS... 'the InterPlanetary File System'. So this is something that is meant to augment the WWW. Files are referenced by hashes and those hashes are made available by anybody that downloads a file. So this way if you used a website or accessed a file when your machine is online it doesn't go away when you disconnect temporarily. If somebody deletes the file then it doesn't go away as long as somebody else doesn't have it deleted. It's very P2P, very distributed, very scalable. It's currently fast enough you can stream HD media files and seek in them as they are being downloaded and it 'just works just fine'.
It can be exposed to posix-land via fuse file system.
So what if in the future 'application installation' in Linux consists of you logging into a web page and mounting a fuse file system. All possible containers of all possible versions of all possible software is available for you to use immediately. A read-only ipfs fuse mount with a read-write layer on top of it. You have a website to help you manage the apps you want to use and to perform a 'security update' is as easy as killing your running program and then starting it back up. Updates are atomic, roll backs are instantaneous. If a dependency is missing or breaking something then it can be fixed upstream and instantaneously be made available to anybody running any Linux with a internet connection. Containers are only downloaded when you use them and getting disconnected from the internet doesn't mean you lose anything that you've already started running.
I think that containers with file system images like what you can do with snappy or flatpak could go a long way to making it so no Linux user will ever need to install software ever again.
Posted Jun 16, 2016 9:40 UTC (Thu)
by callegar (guest, #16148)
[Link]
Would that be possible/easy with snap packages?
- If this minimal TeX subset is incorporated in the asymptote package, will it be possible for the user to later install extra "TeX packages" on the system and have this TeX that is somehow private to asymptote find and use them? TeX is very picky on where things are placed on the system and builds its own indexes for finding things. Where should these extra TeX bits go? In the data area of the asymptote package or as other snaps?
- Alternatively, if TeX is made into a framework and, for obvious reason, it is not made to contain the whole world of TeX which is impractically huge, will it be possible for the user to later install some extra stuff to extend the framework functionality as needed? Will that need to use the TeXlive package manager so that two layers of package management (snap and Texlive) will be needed anyway?
- How is this going to be standardized? Is there going to be an "official" TeX framework or multiple competing ones? Will it be possible to have different frameworks (say TeXliveA and TeXliveB) declare that they both provide TeX and for a snap package to declare that its dependency can be satisfied by any framework providing this TeX functionality?
The trade off in how dependency on frameworks should be specified and used is something that is not completely clear to me at this point and I would be glad to anyone capable of offering some insight.
Posted Jun 15, 2016 1:11 UTC (Wed)
by AdamW (subscriber, #48457)
[Link] (5 responses)
flatpak is just a rebranding of xdg-app (which is kind of an implicit recognition that snappy has been winning the PR race so far). The first commit to xdg-app's git repo came in December 2014, which is also when Canonical first announced snappy (as 'Ubuntu Core Snappy Edition With Go Faster Stripes' or something like that).
Posted Jun 15, 2016 2:06 UTC (Wed)
by drag (guest, #31333)
[Link] (4 responses)
Flatpak/xdg-app is slightly newer, but the packaging functionality used in the 'runtime' generation and management is OSTree, which has been around since 2012.
OSTree has been used in Redhat's 'Project Atomic' which is a attempt to make a competitive cloud computing platform. They have Atomic Fedora and Atomic CentOS. They use 'rpm-ostree' to take binaries from rpm packages and build their OS images. It's worth checking out.
Posted Jun 15, 2016 2:58 UTC (Wed)
by AdamW (subscriber, #48457)
[Link]
Posted Jun 15, 2016 3:13 UTC (Wed)
by rahulsundaram (subscriber, #21946)
[Link] (2 responses)
If we are talking about history, it should be noted that flatpak is derived from glick
https://2016.guadec.org/author/muelli/
And of course, AppImage is based on Klik which is older than other solutions.
Posted Jun 15, 2016 12:21 UTC (Wed)
by jospoortvliet (guest, #33164)
[Link] (1 responses)
Klik sure was an interesting technology, yes.
Posted Jun 15, 2016 12:51 UTC (Wed)
by halla (subscriber, #14185)
[Link]
http://www.valdyas.org/fading/index.cgi/hacking/krita/kli...
http://lwn.net/Articles/153158/
https://blogs.kde.org/2006/02/07/klik-ing-koffice-150-bet...
Gosh, that's really ten years ago now!
Posted Jun 17, 2016 10:14 UTC (Fri)
by walex (guest, #69836)
[Link]
«fairly stable base OS (RHEL or Ubuntu LTS lifecycle) and combine with always fresh versions of Firefox, Thunderbird, Emacs etc.» For that you don't need a new un-packaging format, just a different distribution policy. Currently most distributions have either a "rarely updated runtime/rarely updated apps" or a "continuously update runtime/continuously updated apps" policy, but other combinations are possible. Things like Snap/Flatpak/Docker/... are designed instead to enable an "appstore" business model and thus to establish DLL-hell which shifts a large chunk of system maintenance to developers; what you hope with Snap is that you maintain the base system and the developers of «Firefox, Thunderbird, Emacs etc.» maintain those chunks of your system, for free. We'll see :-). Note: there are two types of DLL-hell. I am referring to the "this library is stored in many copies on the system in random places" type of DLL-hell.
Posted Jun 14, 2016 20:34 UTC (Tue)
by mm7323 (subscriber, #87386)
[Link] (12 responses)
When discussed before, I often noted the community really didn't want closed source packages and a lot of distros have a goal of openness. This I understand, though it does seem to raise a barrier to a lot of useful software on Linux.
I hope these snaps are finally a way to enable more closed source software on Linux, in an acceptable way to the community, and without compromising security (like static linking can).
Posted Jun 14, 2016 20:46 UTC (Tue)
by halla (subscriber, #14185)
[Link] (3 responses)
Not just closed-source software. Any application that's big, used for productive work and updates often has that problem. No way Krita users are going to be happy with Krita 2.9.7 on Ubuntu 16.04 for the duration of the LTS. I've got users on 12.04, still, and CentOS 6.5.
And even some rather endearingly deranged demands for support for Ubuntu 10.04 -- but since there was no chance of money changing hands, I told them to go and build it themselves.
Posted Jun 15, 2016 11:44 UTC (Wed)
by k8to (guest, #15413)
[Link] (2 responses)
I had to work on a "bug" which turned out to be a case where SuSE froze a beta version of a library in 2006, which was buggy, and because it was their "enterprise" distribution they kept shipping the buggy library for a 6 months or a year or similar. I didn't dig far enough, but suspect there were probably optional updates to the distribution that our mutual customer wasn't organized enough to install.
The bug was fixed in the upstream project before SuSE shipped that release. I encountered the bug in 2014, 8 years later than the SuSE release. Luckily that version of Linux was so old it did not fall under our carte blanche "any linux of rev x or later" that we support, so I didn't have to completely repackage our optional component to hide the 8 year old bug that the upstream project never included in a general non-beta release.
Users have somewhat odd ideas about what versions of software to use sometimes.
Posted Jun 15, 2016 12:23 UTC (Wed)
by jospoortvliet (guest, #33164)
[Link] (1 responses)
Posted Jun 15, 2016 12:49 UTC (Wed)
by evad (subscriber, #60553)
[Link]
Posted Jun 14, 2016 21:23 UTC (Tue)
by hitmark (guest, #34609)
[Link]
If you have one program that can't work with newer than lib-1.0, while another needed lib-1.1 or newer, you had play silly name games with the lib packages, and thus the dependencies of other packages for the package manager to play along.
Now hop on over to Gobolinux, where each lib version is given its own branch in the directory tree, the problem largely evaporates.
This because unix from times immemorial have had mechanisms for dealing with multiple lib versions, and the GNU tools provide them to the Linux ecosystem.
Or you can go one further and look at Nix/Guix, where even compile time differences are taken into account when creating branches.
What the likes of Snap and xdg-app/flatpak is doing is just wrapping all that in containers/cgroups to be fancy.
Posted Jun 15, 2016 0:05 UTC (Wed)
by Wol (subscriber, #4433)
[Link] (5 responses)
I don't think the LSB *tried* to address these issues. What they did was to define a bunch of packages that the package manager would make available to apps. What they *should* (imho) have done was tried to define a way for the app to tell the package manager what was required.
They tackled the problem from the wrong end ...
Cheers,
Posted Jun 15, 2016 6:06 UTC (Wed)
by shemminger (subscriber, #5739)
[Link] (4 responses)
Unless you take the Google Chrome/Chromium model of update early and often, it will lead to security bugs never getting fixed.
Posted Jun 15, 2016 7:25 UTC (Wed)
by mm7323 (subscriber, #87386)
[Link] (3 responses)
At least in this case it looks like there is some infrastructure around a snap and some metadata so it is at least theoretically possible to record build inputs and later warn if any are afflicted by security issues. That said, I don't see if snaps support or plan support for such functionality.
It also looks like snaps have a privilege model (plug and slots) to add some hardening to each app, though I don't think there has been a useful sandbox in history that hasn't been compromised at one time or another. That's not to say that sandboxes don't have a lot of value though.
Posted Jun 15, 2016 8:12 UTC (Wed)
by mjthayer (guest, #39183)
[Link] (2 responses)
Posted Jun 15, 2016 9:11 UTC (Wed)
by mm7323 (subscriber, #87386)
[Link] (1 responses)
With just the blob of a statically linked application it becomes quite difficult to determine which libraries and their specific versions have been included in a build, depending on how well the library is versioned and how agressive the compiler has been at discarding unused code and data.
Posted Jun 15, 2016 9:48 UTC (Wed)
by mjthayer (guest, #39183)
[Link]
Posted Jun 15, 2016 22:26 UTC (Wed)
by HenrikH (subscriber, #31152)
[Link]
No need to worry about different library versions, package managers of package names (who really cares if your propitiatory package does not exactly match the naming standard of distribution X?) and file layouts is a moot point for propitiatory packages anyway since they should all install into /opt/ anyway on all distributions.
Of course that would not build a single package for all to download, i.e the "how we are used to work on Windows" model which perhaps is the main problem here since those developers are used to how things work over there and expect Linux to be just like that but slightly different.
Posted Jun 14, 2016 20:42 UTC (Tue)
by halla (subscriber, #14185)
[Link] (3 responses)
Making appimages was harder, but appimages run everywhere, even on older distributions, even where there's no runtime, so that's a big advantage. And I know how to handle translations with appimages, I don't know yet with snap.
As for flatpak, I've heard that people were trying to package Krita using flatpack, but I haven't seen results yet.
Posted Jun 14, 2016 21:09 UTC (Tue)
by alexl (subscriber, #19068)
[Link] (1 responses)
It seems that krita is in the git repo for apps that have been built, but i can't find a built version of it.
Posted Jun 14, 2016 22:10 UTC (Tue)
by andreasn1 (guest, #88420)
[Link]
Posted Jun 14, 2016 21:09 UTC (Tue)
by sjj (guest, #2020)
[Link]
I'm really happy that they went with a wide release. I suspect becoming a (/"The") Linux Appstore is part of this strategy. Maybe we'll actually get a Year of Linux Desktop!
Posted Jun 14, 2016 21:09 UTC (Tue)
by abatters (✭ supporter ✭, #6932)
[Link] (11 responses)
Posted Jun 14, 2016 21:32 UTC (Tue)
by zyga (subscriber, #81533)
[Link]
On distributions with the right kernel features enabled you could run them with strong confinement (X11 notwithstanding) for an added layer of security.
Posted Jun 15, 2016 17:31 UTC (Wed)
by fandingo (guest, #67019)
[Link] (9 responses)
> I have heard that there are occasional conflicts between packages that the base Linux OS (e.g. Debian) wants to install vs. the versions that Steam wants to install.
Probably just initial teething issues with packaging new software and a vendor getting used to a new platform. I've never seen any material issues, and beyond users misunderstanding 32-bit requirements, I can't recall any issues in my 2 years of using it.
It would be trivial to distribute Steam in a Snap, but you'd see the same behavior where the shipped app just bootstraps an per-user installation in ~/. Of course they could change to shipping a Snap and hosting updates through that mechanism. However, I believe it works this way at present because it works on all supported operating systems: OS X, Windows, and Linux. The minority platform is unlikely to get special treatment.
Posted Jun 17, 2016 10:31 UTC (Fri)
by walex (guest, #69836)
[Link] (1 responses)
«the Steam client does it's own updates. The distro package just pulls in dependencies» That's in essence the appstore/Snap/Flatpak/... model too: the whole purpose of "containers" is to hand over the cost of maintaining the app in the container to the developer of the app.
Posted Jun 17, 2016 16:02 UTC (Fri)
by fandingo (guest, #67019)
[Link]
Posted Jun 19, 2016 21:15 UTC (Sun)
by oak (guest, #2786)
[Link] (6 responses)
As-is, Steam doesn't currently work on Ubuntu 16.04 with any 3D drivers than use libstdc++:
3D drivers' use distros' C++ library, Steam bundles it's own (from ancient Ubuntu version), and there was libstdc++ ABI change last year, so they conflict. While the issue is trivial to workaround, bundles can't include 3D drivers because they're too fast moving target (there are all the time new GPU versions that need updated driver), so they would need to updated for system changes like this...
Posted Jun 20, 2016 8:36 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link] (5 responses)
Posted Jun 20, 2016 17:40 UTC (Mon)
by zlynx (guest, #2285)
[Link] (4 responses)
Posted Jun 20, 2016 20:30 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link] (3 responses)
Posted Jun 20, 2016 20:42 UTC (Mon)
by zlynx (guest, #2285)
[Link] (2 responses)
Posted Jun 20, 2016 21:19 UTC (Mon)
by excors (subscriber, #95769)
[Link]
That's already a common problem on Windows even with dynamic linking - every version of MSVC has a different CRT, and debug vs release builds have different CRTs, so you need to either compile your whole dependency tree with the same compiler and similar compiler flags, or limit all your APIs to either plain C or very carefully restricted C++ with lots of custom wrapper types.
That's not much fun, but if you're already designing your code with those limitations then statically linking the CRT shouldn't make it that much worse.
Posted Jun 20, 2016 21:32 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Posted Jun 14, 2016 22:55 UTC (Tue)
by kjp (guest, #39639)
[Link] (1 responses)
And it should be noted that Xwindows will be deprecated by wayland.
Posted Jun 15, 2016 19:13 UTC (Wed)
by drag (guest, #31333)
[Link]
Formal APIs for accessing OS services along with containers is what is required. A model that works is how Android manages it's sandboxes.
Building helps to create the strong division between what is 'OS' and what is 'Application'. So it's needed, but by itself is not the full solution.
A high level example is: Application wants to perform some action that requires some privileged access to OS features (ie: networking, printing, etc) then OS assesses if the app should be given access to those services. If application is denied then it gets a error back and how it proceeds after that is up to the application developer.
Dbus is a good mechanism in which to provide standard APIs, but something like kdbus is needed if you want more robust solution, I think.
One of the reasons why containers have grown in popularity is because Linux offers fantastic features in the form of MAC, namespaces, cgroups, etc. Simple things that are possible, like assigning a unique IP address and networking namespace to a application, is very difficult to take advantage of without resorting to using containers.
When IPv6 gains in popularity then it's possible to use a unique IP address for every TCP connection a application makes and the lifespan of the IP address tracks the lifespan of the TCP connection itself. How do you make features like this easily available to applications?
With containers even stuff like SELinux can be simplified considerably. Consider that Android has successfully moved to using strict SELinux rules by default with minimal disruption to users. This is because Android application environment was built with the concept of 'sandboxes' from the ground up.
> And it should be noted that Xwindows will be deprecated by wayland.
Sort of. X Server being the display manager is depreciated. Support for X11 protocol is not. Support for X11 is available by default in most Linux desktops using Wayland via 'xwayland'. I doubt many people are expecting that X11 is going away anytime soon.
Posted Jun 15, 2016 7:49 UTC (Wed)
by luya (subscriber, #50741)
[Link] (1 responses)
Posted Jun 15, 2016 12:24 UTC (Wed)
by jospoortvliet (guest, #33164)
[Link]
Posted Jun 15, 2016 19:49 UTC (Wed)
by NightMonkey (subscriber, #23051)
[Link] (2 responses)
I hope I'm missing something, but this whole thing just seems like a hand-waving exercise to stop having to 'deal' with security updates, bugfixes in libraries, etc. It doesn't actually *solve* the problem, it just shatters it into a thousand individual pieces that will be impossible to track, therefore "invisible". How wrong am I here?
Posted Jun 15, 2016 19:57 UTC (Wed)
by NightMonkey (subscriber, #23051)
[Link] (1 responses)
It just seems so strange, and perhaps that's just on me for being too 'experienced'. If I put all my software version 'eggs' into the 'old' model of a distribution, I have one database to query to determine pending urgent and suggested updates from my disro. Now, I have:
* gem
All potentially on one system. Is this really a reasonable alternative? Or is there some force that I'm missing here that is giving such benefits I'm ignorant of?
Don't get me wrong, I'm thankful for the permanent employment plan these ever-dividing abstractions gives us sysadmins. I'm really curious to read about the thinking behind it (and trying to avoid marketing blather as I go). Cheers.
Posted Jun 15, 2016 20:33 UTC (Wed)
by drag (guest, #31333)
[Link]
Distributions still need to exist to create the base OS.
Also they can maintain repositories of snap packages like rpm or debs. It would be better if they don't sign them themselves and instead use signed packages from upstream, but I don't know how well that would work out ultimately.
Also distributions can audit and vet the packages and provide ways to advise users what packages can be trusted. For example you don't want to have people randomly install 'firebrowser' snaps from 'Evil corp, incorporated' by mistake. It would be easy for experienced Linux people to know what to look for and what to avoid, but for 'Joe Six pack', not so much.
Plus distributions can provide tools and advice for developer to build 'snaps' or 'containers' or whatever. Not everybody instinctually is going to be able to produce good application bundles. Making it easy to do the right thing and difficult to do the wrong things is very important.
So if you think less of 'package repo' and more of 'curated app store' then it is pretty easy to see what role the distributions can play.
Posted Jul 1, 2016 14:42 UTC (Fri)
by callegar (guest, #16148)
[Link]
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
https://whatofhow.wordpress.com/2016/06/01/libreoffice-5-...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Aren't dependencies called frameworks in snapland?
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
> Well, there's no standard or even best practice for deciding how much stuff goes in the bundle and how much is expected to exist in the underlying system yet, right?
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
https://skyfromme.wordpress.com/2016/06/16/a-third-of-a-l...
whereas an equivalent snap is 1016MB.
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
The package maintainer did make a post regarding libreoffice snap size.
That build had all debug symbols, at was a beta version.
He did create another snap without debug symbols, and now the package has 287MB, including the JVM.
Here is the post:
https://skyfromme.wordpress.com/2016/06/16/a-third-of-a-l...
Well, I suppose bundling an entire distro is one way to go about it...
Well, I suppose bundling an entire distro is one way to go about it...
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
And AppImage.
I'd also love to see an LWN article comparing and contrasting all these newfangled packaging systems.
Old man yells at cloud.
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
ZK
Article? Link?
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
https://github.com/probonopd/AppImageKit/wiki/Similar-pro...
Really? On my Fedora 24:
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
# dnf install /usr/bin/snap
No package /usr/bin/snap available.
From http://snapcraft.io:
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
sudo dnf copr enable zyga/snapcore
To install snapd type:
sudo dnf install snapd and log-out or reboot
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
I also hope this means I can have fairly stable base OS (RHEL or Ubuntu LTS lifecycle)
and combine with always fresh versions of Firefox, Thunderbird, Emacs etc.
something like snap instead (flatpak is far late too).
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
...Let the next round of GPL compliance headaches begin.
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
https://blogs.gnome.org/alexl/2007/08/21/glick-01-released/
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Closed source software
Closed source software
Closed source software
Closed source software
Closed source software
Closed source software
Closed source software
Wol
What about the next heartbleed bug?
Think of what will happen when 10 applications all use one library with a security bug. Since there are 10 copies, you
can't just update the openssl package.
What about the next heartbleed bug?
What about the next heartbleed bug?
What about the next heartbleed bug?
What about the next heartbleed bug?
Closed source software
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
https://community.kde.org/Flatpak
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Snaps for gaming?
Snaps for gaming?
Snaps for gaming?
Snaps for gaming?
Snaps for gaming?
Snaps for gaming?
https://bugs.launchpad.net/ubuntu/+source/steam/+bug/1527669
Snaps for gaming?
Snaps for gaming?
Snaps for gaming?
Snaps for gaming?
Snaps for gaming?
Snaps for gaming?
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
One thing I learned about this article, real journalism i.e. critical analysis based on research has become a rare pearl this day.
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
* pip
* rpm and/or apt
* cargo
* curl | sh #omg
* npm
Ubuntu’s snap apps are coming to distros everywhere (Ars Technica)
Dependencies...
