A package is a group of related files that comprise everything you need to install an application. Packages are stored in repositories, and each package is managed via a package profile, which is a record of the package's dependencies and conflicts.

Landscape uses package profiles (also called meta packages) to make sure the proper software is installed when you request packages. You can think of a package profile as a package with no file contents, just dependencies and conflicts. With that information, the package profile can trigger the installation of other packages necessary for the requested package to run, or trigger the removal of software that conflicts with the requested package. These dependencies and conflicts fall under the general category of constraints.

To manage package profiles, click the PROFILES menu entry under your account and the Package profiles link. The Package profiles screen displays a list of existing package profiles and a link that you can click to add a new package profile.

Click on that link to display the Create package profile screen:

Here you enter a name for the package profile, a description (which appears at the top of the package profile's information screen), the access group to which the package profile should belong, and, optionally, any package constraints - packages that this profile depends on or conflicts with. The constraints drop-down lists lets you add constraints in three ways: based on a computer's installed packages, imported from a previously exported CSV file or the output of the dpkg --get-selections command, or manually added. Use the first option if you want to replicate one computer to another, as it makes all currently installed packages that are on the selected computer dependencies of the package profile you're creating. The second approach imports the dependencies of a previously exported package profile. The manual approach is suitable when you have few dependencies to add, all of which you know.

When you save a package profile, behind the scenes Landscape creates a Debian package with the specified dependencies and conflicts and gives it a name and a version. Every time you change the package profile, Landscape increments the version by one.

If Landscape finds computers on which the package profile should be installed, it creates an activity to do so. That activity will run unattended, except that you must provide explicit administrator approval to remove any packages that the package profile wants to delete.