Canonical and Ubuntu founder Mark Shuttleworth said in an interview that he was not ready to announce the new SNAP package format for Ubuntu. But just a few months later, many Linux distribution developers and companies announced that they would use SNAP as a generic Linux package format.
Why is it? Because SNAP enables a single binary package to run perfectly and securely on any Linux desktop, server, cloud, or IoT device. According to Canonical's Ubuntu client product and version owner Olli Ries said:
The security mechanism of the snap package allows us to open up new scenarios for faster cross-release application updates because the snap application is isolated from the rest of the system. Users can install a Snap without worrying about whether other applications and operating systems will be affected.
Of course, as the early developers of the Linux kernel and CoreOS security maintainer Matthew Garrett point out: If you use SNAP in unsafe programs, such as the X11 window system, you don't actually get security. (Diligent learning Qkxue.net: X11 is also called the X Window System, the X Window System (X11 or X) is a bitmap display of the Windows system. It is a standard toolkit and protocol for creating graphical user interfaces on Unix and UNIX-like operating systems, as well as OpenVMS, and can be used in almost all existing modern operating systems. )
Shuttleworth agrees with Garrett, but he also says you can control how the SNAP application interacts with the rest of the system. For example, a Web browser can be included in a secure snap package that uses the Ubuntu packaged OpenSSL TLS and SSL libraries. In addition, even if something affects the inside of the browser instance, it cannot go to the underlying operating system.
Many companies also think so. Dell, Samsung, Mozilla, Krita (diligent qkxue.net: Krita is a bit of graphic editing software, a part of the KOffice suite. Contains a painting program and photo editor, Krita is free software and released under the GNU General Public License), Mycroft (diligent qkxue.net: Mycroft is an open source AI smart Home Platform, configuring Raspberry Pi 2 and Arduino Controller), and Horizon Computing (diligent qkxue.net: Provide customers with a high-quality hardware architecture for their running cloud platform) will use Snap. The Arch Linux, Debain, Gentoo and OPENWRT development teams have embraced snap and also added snap to their respective distributions.
The Snap package, also known as "Snaps", is now native to the Arch, Debian, Fedora, Kubuntu, Lubuntu, Ubuntu GNOME, Ubuntu Kylin, Ubuntu MATE, Ubuntu Unity and Xubuntu above. Snap is also validated on CentOS, Elementary, Gentoo, Mint, OpenSUSE, and Red Hat Enterprise Linux (RHEL), and is also easy to run on other Linux distributions.
These distributions are using Snaps,shuttleworth to claim: "Snaps brings a number of applications to every Linux desktop, server, device, and cloud machine, giving users the freedom to choose a distribution while allowing them to use the best apps." ”
These distributions collectively represent the mainstream of Linux desktop, server, and cloud system distributions. Why did they switch from the existing package management system? "The best thing about Snaps is that it supports the first sharp and test channel, which allows the user to choose to use the pre-release developer version or follow the latest stable version," explains Tim Jester-pfadt, a contributor to Arch Linux. ”
In addition to these Linux branches, independent software developers will embrace snap because snap simplifies third-party Linux application distribution and security maintenance issues. For example, the document Foundation will also let the popular open source Office suite LibreOffice support SNAP packages.
Thorsten Behrens, co-founder of the Document Foundation, said:
Our goal is to make LibreOffice as easy to use as possible by most people. SNAP enables our users to get the latest LibreOffice version faster, easier, and consistently on different desktop systems and distributions. Better yet, it will also help our release engineers to finally liberate themselves from the recurring, self-produced, outdated Linux development solutions, and many things can be maintained together.
Nick Nguyen, Firefix vice president of Mozilla, mentioned in the statement:
We strive to provide users with a good experience and enable Firefox to run on more platforms, devices and operating systems. With the introduction of Snaps, the continuous optimization of Firefox is possible, allowing it to provide Linux users with the latest features.
Krita Foundation (KDE-based graphics program) project leader Boudewijn Rempt said:
Maintaining the DEB package in a private warehouse is complex and time-consuming. Snaps is easier to maintain, package, and distribute. It's also very easy to put Snap in the software store, which is the most comfortable software store I've ever used to publish software. Krita 3.0 has just been released as a snap package and it will update automatically when a new version appears.
Not only the Linux Desktop System program is excited for Snap. The Internet of Things (IoT) and embedded developers also embraced Snap with both hands.
Because the Snaps is isolated from each other and brings data security, they can also be automatically updated or rolled back, which is excellent for hardware devices. Multiple vendors have released devices running snappy (qkxue.net: Snap is built based on snappy), which brings a new "smart new" device with the IoT store. The Snappy device is able to automatically receive system updates and is updated with the applications installed on the device.
According to Shuttleworth, Dell was one of the first IoT providers to recognise the great potential of snap, and decided to use snap on their devices.
"We believe Snaps can address the security risk and manageability challenges associated with deploying and running multiple third-party applications on a single IoT gateway," said Jason Shepherd, head of IoT strategy and partner at Dell. This trusted, universal application format is what Dell really needs, and our IoT solution partners and business customers are interested in building a scalable, IT-level, vibrant IoT application ecosystem. ”
"This is simple, Snaps can deliver new applications while keeping the core system intact," said OpenWrt's developer Matteo Croce. Snaps is the quickest way to provide a large amount of software for OPENWRT APS and routers. ”
Shuttleworth does not think that Snaps will replace existing Linux packages such as RPM and DEB. Instead, he thinks they will be mutually reinforcing. Snaps will coexist with existing packages. Each release has its own mechanism for providing and updating the core system and its updates. Snap brings common applications to desktop systems that do not affect the fundamentals of the operating system.
Each snap is limited by the use of a large number of kernel isolation and security mechanisms to meet the needs of the snap application. A prudent review process ensures that SNAP has only the permission to complete the requested operation. Users do not have to consider complex security issues when installing SNAP.
Snap is inherently a self-contained zip file that can be executed quickly within a package. "Snaps is easier to build than traditional Linux packages, allowing us to address dependencies independently of the operating system, so it's easy to provide the best and newest Chinese Linux applications across the distribution," said Jack Yu, head of the popular Kirin team. ”
The SNAP package format designed by Canonical is handled by SNAPD. Its development work is on GitHub. Porting it to more Linux distributions has proved simple and the community is growing, attracting a large number of contributors with Linux experience.
The SNAP package uses the Snapcraft tool to build. The project website is Snapcraft.io, which has guidance and step-by guide for building snaps, as well as documentation for project developers and users. Snap can be built on an existing distribution package, but it is often built with source code to optimize and reduce package size.
If you're not a big fan of Ubuntu or a professional Linux developer, you probably don't know Snap. In the future, anyone who needs Linux to do their job on any platform will know the software. It will become mainstream, especially in terms of installation and update mechanisms for Linux applications.
Read more about Ubuntu tutorials: Http://www.ubuntu.org.cn/index_kylin
Ubuntu Snap takes over the distribution of Linux desktops and IoT software