Personal tools
     DOCUMENTATION

Appliance Development:Conary Repository Concepts

From rPath Wiki

Jump to: navigation, search
Image:Rpath-color-16x16-1bitalpha.png  APPLIANCE DEVELOPMENT

Conary provides software from one or more network-accessible repositories. Developers commit and "cook" software in a repository to prepare it for system users, and system users interact with a repository to query its contents and to manage system software. Conary reduces the overhead of this software management process by performing several tasks with a single update command: comparing the revision of installed software with that in the repository, identifying and resolving dependencies from repositories, and updating the software as appropriate.

Conary identifies a repository by its repository hostname. This value corresponds with its fully qualified domain name (FQDN) in DNS. The repository hostname becomes part of the version string used to identify an installable unit within the repository.

Repositories contain installable units of software, often called troves. Types of troves include the following:

  • Packages -- a logical collection of components representing a piece of software
  • Groups -- a container for packages and other groups, created so the contents can be managed together
  • Components -- a collection of files that make up some part of software

Though packagers create and maintain packages and groups, Conary creates components as part of its internal package building process. Conary automatically assigns packaged files to appropriate components, and it allows packages to share components.

In rBuilder, each project has a repository, and each repository contains the troves committed to that repository. The following graphic illustrates the container structure for troves in an rBuilder repository:

rBuilder
Project
Group
Package
Component
Files
Image:Bulbgraph.png   During system updates, Conary only updates components that change between package updates, eliminating the need to download and install an entire package if it was previously installed. This and other component-level features were created to make Conary more efficient and reliable than other package management systems.


<< PREVIOUS: System Administration NEXT: Conary Configuration >>