Zero Install
Encyclopedia
Zero Install is a means of distributing and packaging
software for multiple operating systems (Linux
and Unix-like
, MacOS X, and Windows). Many distributions offer it as an additional non-default component.
), packages distributed using Zero Install need only be run. The first time software is accessed, it is downloaded from the Internet
and cached; subsequently, software is accessed from the cache. Programs are accessed by the fully qualified name of their URL; for example one would not run "myeditor textfile.txt", but "http://www.example.org/edit textfile.txt". Inside the cache, each application unpacks to its own directory, as in Application Directory
systems.
The system is implemented as a Python
program, called the Injector (a reference to Dependency injection
). The system is intended to be used alongside a distribution's native package manager.
The main advantage of Zero Install over more popular packaging systems is that no root password is needed to install software; packages can be installed in system locations writable by that user. Thus, package installation affects only the user installing it, which makes it possible for all users to be able to install and run new software.
Software package (installation)
In package management systems, which are commonly used with Linux-based operating systems, a package is a specific piece of software which the system can install and uninstall....
software for multiple operating systems (Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and Unix-like
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
, MacOS X, and Windows). Many distributions offer it as an additional non-default component.
Design
Rather than the normal method of downloading a software package, extracting it, and installing it before it can be used (with the accompanying use of destructive updates and privilege escalationPrivilege escalation
Privilege escalation is the act of exploiting a bug, design flaw or configuration oversight in an operating system or software application to gain elevated access to resources that are normally protected from an application or user...
), packages distributed using Zero Install need only be run. The first time software is accessed, it is downloaded from the Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
and cached; subsequently, software is accessed from the cache. Programs are accessed by the fully qualified name of their URL; for example one would not run "myeditor textfile.txt", but "
Application directory
An application directory is a grouping of software code, help files and resources that together comprise a complete software package but are presented to the user as a single object....
systems.
The system is implemented as a Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
program, called the Injector (a reference to Dependency injection
Dependency injection
Dependency injection is a design pattern in object-oriented computer programming whose purpose is to improve testability of, and simplify deployment of components in very large software systems....
). The system is intended to be used alongside a distribution's native package manager.
The main advantage of Zero Install over more popular packaging systems is that no root password is needed to install software; packages can be installed in system locations writable by that user. Thus, package installation affects only the user installing it, which makes it possible for all users to be able to install and run new software.
See also
- Application virtualizationApplication VirtualizationApplication virtualization is an umbrella term that describes software technologies that improve portability, manageability and compatibility of applications by encapsulating them from the underlying operating system on which they are executed. A fully virtualized application is not installed in...
- Portable application creatorsPortable application creatorsPortable application creators allow the creation of portable applications . They usually use application virtualization.- Creators of independent portable applications :...
- Java Web StartJava Web StartIn computing, Java Web Start is a framework developed by Sun Microsystems that allows users to start application software for the Java Platform directly from the Internet using a web browser....
- AutopackageAutopackageAutopackage is a free computer package management system aimed at making it simple to create a package that can be installed on all Linux distributions.In August 2010, Listaller and Autopackage announced that the projects will merge....
- Klik
- RUNZ
- ROX DesktopROX DesktopThe ROX Desktop is a graphical desktop environment for the X Window System. It is based on the ROX-Filer which is a drag and drop spatial file manager. It is free software released under the GNU General Public License. The environment was inspired by the user interface of RISC OS...
- ClickOnceClickOnceClickOnce is a Microsoft technology that enables the user to install and run a Windows application by clicking a link in a web page. ClickOnce is a component of Microsoft .NET Framework 2.0 and later, supports deploying applications made with Windows Forms or Windows Presentation Foundation...
External links
- The Zero Install webpage
- Decentralised Installation Systems - essay on OSNews.com
- pkgsrc and the concepts of package management 1997-2007 (part 2) - The Zero Install system
- Zero Install: An executable critique of native package systems - linux.com review and interview
- Neue Zero Install-Implementation - article on pro-linux.de
- Zero Install: The Future of Linux on the Desktop? - Slashdot article