How can I use the packages produced by this project?
GF has a 'gf-release' package that includes gpg keys for package signing and repository information. Installing this package for your Enterprise Linux version should allow you to use normal tools such as yum to install packages and their dependencies. By default the stable GF repo is enabled, there is also a 'gf-testing' repository that contains packages that are not yet deemed stable.
If you are running an EL8 based system, please visit here to get the newest 'gf-release' package for EL8: gf-el8
dnf --nogpg install https://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el8.noarch.rpm
If you are running an EL7 based system, please visit here to get the newest 'gf-release' package for EL7: gf-el7
yum --nogpg install https://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm
You can verify these packages and their keys from the GhettoForge project's keys page: Ghettoforge Keys
Many of the packages built for GhettoForge require packages in the EPEL repository. It is recommended that you enable EPEL before you attempt to install packages from GhettoForge:
yum install epel-release
For EL8 it is also recommended that you enable the PowerTools repository:
dnf config-manager --enable PowerTools
End Of Life Releases
You can access archived packages for end of life releases of EL at https://mirror.ghettoforge.org/distributions/gf/archive/. Please note that these releases are no longer maintained by GhettoForge and are available for archival purposes only.
How Can I browse the Repositories?
You can browse our repositories here.
Are there special instructions / installation notes for GhettoForge packages?
You can find special installation instructions for the various GhettoForge Packages at Category:Packages.
List of Available Repositories & Suggested Usage
GhettoForge has multiple repositories that are organized as follows:
- [gf] - This is the base repo that contains packages that do not conflict with packages in [base]/EPEL. This repo is enabled by default.
- [gf-plus] - This repo is for packages that supercede or conflict with those in [base]/EPEL. This repo is disabled by default.
- [gf-testing] - Packages that are not yet ready for production use are located in this repo. There is no distinction made here for packages which may conflict with those in [base]/EPEL. Users that are testing components are expected to understand that these packages may not be fully functional and that they may conflict. Caution is urged in using this repo. This repo is disabled by default.
- [gf-source] - All source rpms for packages in the [gf] repo are located here.
- [gf-plus-source] - Similarly source for packages in [gf-plus] can be found here.
- [gf-testing-source] - Source for packages in [gf-testing] are here.
Packages in [gf] are deemed "safe" due to their non-conflicting nature against [base]/EPEL and no special precautions are required for their use. Please note, however. that we are only concerned with [base]/EPEL; there may be conflicts against packages that are in other 3rd-party repos.
However care should be exercised when using packages from [gf-plus] due to their nature. Historically this has been done with the "priorities" and "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 background.
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 [gf-plus] repo then yum will _only_ consider the samba and vim packages when installing or upgrading while everything else from the repo is excluded. Note that if the packages you are wanting to install have dependencies in [gf-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, ansible or similar tools this method is trivial 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/gf-plus.includes
and in that file we have the "includepkgs" line itself:
includepkgs = samba* vim*
You are again urged to read "man yum.conf" for more information on the "include" directive.