≡ Menu

software management

Puppet is an open source configuration management tool. It is written in Ruby. This software is considered as an alternative to Cfengine configuration management system. I've used Cfengine for:
=> Pushing configurations
=> Applying patches
=> IT management
=> Software management
=> Configuration management etc

Both project reduces complexity and non-portability of shell scripting for Unix / Linux configuration management. From the Linux.com article:

The Puppet project allows you to issue system administration commands to one or more machines, and will smooth over the differences between distributions for you. For example, if you want to install MySQL, that action should be your primary aim, and you shouldn't have to worry about if the machine is running Maemo, Ubuntu, or Fedora.

=> Puppet can ease system administration tasks across the network

Internally we use RT (enterprise-grade ticketing system) for customer support and it is one of the best GPL software around. It enables a group of people to intelligently and efficiently manage tasks, issues, and requests submitted by a community of users. RT manages key tasks such as the identification, prioritization, assignment, resolution and notification required by enterprise-critical applications including project management, help desk, NOC ticketing, CRM and software development.

Linux magazine has published a nice article about RT installation and configuration:

Managing bugs and help requests isn't easy, but it's crucial for effective project management. Using the wrong tool can set your project back to the dark ages, but the right tool can help your team excel. With that in mind, let's look at Request Tracker, an enterprise-grade (and free software) ticketing system written in Perl.

A ticketing system is a piece of software in which every bug, request, or problem is entered as a 'ticket,' which can then be tracked. It can be allocated to someone to fix, given a priority, placed in a queue (to separate out different types of bug or request), commented on, replied to, and finally closed when resolved. The system can also send progress updates and reminders to the initial requester and to other people involved with the ticket. RT handles all of these functions and more.

=> Looking After Your Bugs with Request Tracker

Fedora Linux 9 Beta Released

Fedora Linux 9 beta has been released and available for download. Some highlights of Fedora 9 Beta:

=> GNOME 2.22, with new features like a helpful world time clock, better file system performance, security improvements, power management at the login screen, the ability to dynamically configure displays, better Bluetooth integration, improved podcast support, and many other enhancements

=> KDE 4.0.2, which includes a brand new desktop and panel with many new concepts, integrated desktop search, a brand new visual style called Oxygen, a new multimedia API called Phonon, and a new hardware integration framework called Solid -- all integrated by Fedora's KDE SIG

=> Firefox 3 Beta 5, featuring a native look and feel, desktop integration, the new Places that replaces bookmarks, and a reworked address bar

=> Support for resizing ext2, ext3 and NTFS partitions during install

=> Support for creating and installing to encrypted filesystems

=>PackageKit, a cross-distribution package management solution with a complete yum backend, designed to unify different distributions' software management with the latest technologies

=> Kernel 2.6.25-rc5 etc

Fedora 9 (Sulphur) Beta Version ScreenShot
(Fig. 01: Fedora 9 Desktop)

Download Fedora 9 Beta Software

To download, visit:

I'm looking for good open source software and hardware inventory management software. A quick search on sourceforge returned following inventory management system / software management apps:

=> OCS Inventory NG, Open Computers and Software Inventory Next Generation is an application designed to help administrator keep track of the computers configuration and installed softwares. Low network traffic HTTP communications between agents and server. I'm currently testing this software and I will update all of you about my results.

Other old (outdated) softwares

=> PcInventory Web-based system to track the Pc and the installed peripherals.

=> phpMyInventory is a web-based hardware, software, and peripheral inventory system using PHP & MySQL. Currently stable on PHP version 4xx only!

=> Windows Inventory. A Computer Hardware and Software Inventory system. Based around wmi, vbscript, mysql & php. Expandable via modules to include software distribution, remote control, event viewer, disk monitoring, etc.

Most of these software are outdated. Basically, I need to keep inventory for following items

  • Open source inventory asset management software
  • Should able to track inventory
  • Auditing feature
  • Inventory of equipment owned and leased (including lease expiry)
  • Software inventory for both Windows and UNIX systems
  • Import / Export function etc

Do you have any recommendations for me? Please add them in the comments.

CentOS / Fedora Core / RHEL 5 uses yum for software management. Yum allows you to add a new repository as a source to install binary software.

Understanding yum repository

yum repository configured using /etc/yum.conf file. Additional configuration files are also read from the directories set by the reposdir option (default is /etc/yum.repos.d and /etc/yum/repos.d.

RPMforge repository

Usually repository carries extra and useful packages. RPMforge is one of such repository. You can easily configure RPMforge repository for RHEL5 just by running following single RPM command:
# rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
For 64 bit RHEL 5 Linux, enter:
# rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

Now you can install software from RPMforge.

How do I install 3rd party repository manually?

Let us say you would like to install 3rd party repository from foo.nixcraft.com. Create a file called foo:
# cd /etc/yum.repos.d
# vi foo

Append following code:
[foo]
name=Foo for RHEL/ CentOS $releasever - $basearch
baseurl=http://foo.nixcraft.com/centos/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://foo.nixcraft.com/RPM-GPG-KEY.txt

Save and close the file.

Where,

  • [foo] : Repository name i.e. The [main] section must exist for yum to do anything.
  • name=Foo for RHEL/ CentOS $releasever - $basearch : A human readable string describing the repository name
  • baseurl=http://foo.nixcraft.com/centos/$releasever/$basearch/ : Must be a URL to the directory where the yum repository’s ‘repodata’ directory lives
  • enabled=1 : Enabled or disabled repo. To disable the repository temporarily, set the enabled to 0
  • gpgcheck=1 : Security feature, use GPG key
  • gpgkey=http://foo.nixcraft.com/RPM-GPG-KEY.txt : GPL file location

Also you need to import the gpg key for the repository as follows:
# rpm --import http://foo.nixcraft.com/RPM-GPG-KEY.txt

Now you are ready to install software from foo repository. For further information refer to yum.conf man page:
$ man yum.conf
$ man yum

Hope this tip will help you to configure repository as and when required.

See also:

Howto Setup yum repositories to update or install package from ISO CDROM Image