Any views expressed within media held on this service are those of the contributors, should not be taken as approved or endorsed by the University, and do not necessarily reflect the views of the University in respect of any particular issue.

LCFG Ubuntu Project

LCFG Ubuntu Project

Progress reports on the LCFG Ubuntu Project

Package Lists


The base list for a platform is mostly just all the required, important and standard packages. On top of that are the packages necessary to satisfy the dependencies for the LCFG core and standard component along with utilities that administrators would expect to have available as standard on all machines. We are still working on that list and it is likely to continue evolving for a while. See lcfg_ubu2004_base.pkgs for the latest available.

Mostly this can be generated quite easily with a small Python script which uses the python-apt module to examine the repository.


As with EL7 we need a list of package updates which should be applied to fix security issues and other serious problems. We do this through the LCFG profile rather than allowing the package manager to blindly apply all upgrades as soon as they become available so that we have time to test the updates and, if necessary, avoid applying updates if they might cause problems.

In EL7 only the packages in the updates/security are used by default. Occasionally extra packages are manually selected from updates/fastbugs to resolve serious functionality (i.e. non-security) problems. In Ubuntu the repository is split into 4 components – main, universe, multiverse and restricted. For each there are several types of updates available – security, updates, proposed and backports. The LCFG updates list will contain the security and updates packages for all 4 components.

To generate the Ubuntu updates lists the pkglist-tools have had a big overhaul. The chance was also taken to update the scripts to use the LCFG::Package Perl modules provided in the LCFG core. Currently these scripts query an external package server and I am regularly experiencing problems with the server giving 403 errors which makes generating them a bit of a pain. Although we mostly just do HEAD requests, it appears there is some Denial of Service protection in place and the rate of requests regularly exceeds the allowed limit. Once we have a local package mirror in place that issue will thankfully disappear.

See lcfg_ubu2004_updates.pkgs for the latest available.


The options list makes it easy to add extra packages and their dependencies to a machine through the LCFG profile. This is done by just adding an extra option to the profile.pkgcppopts resource (e.g. LCFG_OPTIONS_FOO).

In EL7 we generate the list using the lcfg-yummy tool which was based on yum and used a chroot which I would generate using updaterpms. For Ubuntu a replacement tool – lcfg-soy – has been created which can do a similar job using the python-apt modules. This similarly can use a chroot, this is easily created using the standard debootstrap tool.

I’ve been working with lcfg-soy recently and I am very impressed with what it can do. I particularly appreciate being able to declare that options depend on other options, this helps to massively reduce the size of the generated package list. See lcfg_ubu2004_options.pkgs for the latest available.

It is so easy to generate the options package list for a new platform that I intend to move all packages provided as part of the standard distribution out of the LCFG headers into the options list. This should hugely reduce the ongoing essential maintenance effort.

Leave a reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


Report this page

To report inappropriate content on this page, please use the form below. Upon receiving your report, we will be in touch as per the Take Down Policy of the service.

Please note that personal data collected through this form is used and stored for the purposes of processing this report and communication with you.

If you are unable to report a concern about content via this form please contact the Service Owner.

Please enter an email address you wish to be contacted on. Please describe the unacceptable content in sufficient detail to allow us to locate it, and why you consider it to be unacceptable.
By submitting this report, you accept that it is accurate and that fraudulent or nuisance complaints may result in action by the University.