From Psychotic Ninja Package Repository
Jump to: navigation, search

How can I use your packages?

As is typical with third-party repositories, Psychotic Ninja has a 'psychotic-release' package that includes our gpg key and repository configuration information. Installing this package for your Enterprise Linux version will permit the use of yum to install packages and their dependencies.

To get started you first need to import our GPG key:

rpm --import

We use a single, unified psychotic-release package that works across all releases and architectures. This may be installed by:

rpm -ivh

As stated earlier the psychotic-release package works across all releases and architectures so even if you are running the 64-bit version of CentOS-7 the above package will work perfectly fine for you.

List of Available Repositories & Suggested Usage

Psychotic Ninja has multiple repositories that are organized as follows:

  • [psychotic] - This is the base repository that contains packages that do not conflict with packages in your distribution's base package set. This repository is disabled by default.
  • [psychotic-plus] - This repository is for packages that supersedes or conflict with those in your distribution's base package set. Care is urged when using this repository. This repo is disabled by default.
  • [psychotic-testing] - Packages that have not yet been fully vetted and are awaiting feedback are located in this repository. Please note that these packages are not considered safe for use in production. Packages in this repository may end up in either [psychotic] or [psychotic-plus] and as such may conflict with packages in your distribution's base package set. Users that are testing components are expected to understand that these packages may not be fully functional. Caution is urged in the use of this repository. This repository is disabled by default.

Packages in [psychotic] are deemed "safe" due to their non-conflicting nature and no special precautions are necessary for their use. Please note, however. that we are only concerned with conflicts against your distribution's base package set; there may well be conflicts against packages that are in other 3rd-party repositories.

Care, however, must be exercised with the use of packages from [psychotic-plus] due to their nature. This has historically been done with either the "priorities" or "protectbase" functionality of yum. We do not feel that this is the most optimal approach and we instead recommend the use of the yum "includepkgs" directive. You are urged to read "man yum.conf" for a full understanding of this method.

The use of this directive will ensure that _ONLY_ the packages that you specify will be considered for installation / upgrade while excluding everything else from the repository. For instance, if you add the line:

includepkgs = samba* vim*

to the configuration stanza for the [psychotic-plus] repository yum will _only_ consider the samba and vim packages when installing or upgrading - everything else from the repository is excluded. Note that if the packages you are wanting to install have dependencies in [psychotic-plus] you will need to list those dependencies explicitly as well. While this method takes a little more administrator intervention it effectively guarantees that there will be no conflict from similarly named packages from other sources.

Additionally if you are running with a configuration management system such as puppet, chef, saltstack, ansible or similar tools this method is fairly easy to automate. Since yum has an "include" functionality we can make use of it by specifying an include file that is maintained by your config management system such as:

include = file:///etc/sysconfig/psychotic-plus.includes

and in that file we have the "includepkgs" line itself:

includepkgs = samba* vim*

This method can also be expanded up by using the "glob" functionality to include a set of files in a directory that is under configuration management. You are again urged to read "man yum.conf" for more information on the "include" directive and on "glob" functionality.

Other Requirements

Some of our packages may depend on packages available from either the EPEL or IUS repositories. Please refer to the usage instructions for these repositories if necessary.