New Projects - Fresh from the Labs

Keryx—Packaging Solution for the Net-Deprived (keryx.betaserver.org)

One of my chief bug bears of Linux systems over the last eight years or so is the high level of dependence on Net connectivity and the constant assumption that you even have a connection in the first place. “I'm trying to compile MPlayer, but there are dependency problems.” “Just install it with apt, it's easy.” “I don't have the Net.” Blank stare. My twin brother, for example, is a loyal Linux user and lives in a flat where it's hard to get a connection, and as a musician, it's very hard for him to stay in Linux to do his work, because the programs he needs have niggling dependencies. These can take a day to resolve when he has to go to an Internet café, grabbing random .deb files and hoping they work.

Well for all you Net-deprived people, I feel your pain, and so does Chris Oliver, with his new program Keryx. Keryx is a free, open-source application for updating Ubuntu. The Keryx Project started as a way for users with dial-up or low-bandwidth Internet to be able to download and update packages on their Debian-based distribution of Linux. Mainly built for Ubuntu, Keryx allows users to select packages to install and check for updates and download those packages onto a USB key. The packages are saved onto the device and then can be taken back to the Linux box to be installed. Because of the design, Keryx can be run on any OS that has Python, GTK and PyGTK installed. For Ubuntu (GNOME) users, everything is pre-installed. Windows users also will have no software to install, because Keryx and everything it depends on will be made to run portably off a USB Flash drive.

Keryx offers an impressive way of managing packages on PCs without a Net connection.

Keryx saves packages that can be used between multiple machines and distributions—very handy.

Installation

If you've got a standard Ubuntu system, you're set. If you have a variant of some sort, make sure you install all of the standard GTK, Python and PyGTK libraries before continuing. Head to the Web site, grab the latest tarball, extract it somewhere locally and open a terminal in the main keryx directory. And, that's it.

Usage

In the main keryx folder, enter the following command:

$ python keryx.py

You'll be greeted by the main screen where the first thing you need to do is start a new project with the aptly titled New Project button. Each project is designed to keep track of a different computer's packages, meaning you can take care of multiple machines with the one USB stick. Once you've entered your project name, you'll be prompted to choose between Local Files or Internet. Local Files is meant for those without any connection at all, but at this point, there's no technical difference between either Local Files or Internet. At this stage, Keryx will appear to hang, but it isn't, it's just processing a whole bunch of repository information—things about local files and so on. Give it a minute or two, and it should be back with you.

Once Keryx has sprung back to life, you'll be presented with a long list of packages, Synaptic style. For choosing packages to install, the interface is a little quirky. Those tick boxes won't let you choose a package; they just tell you whether it's installed already. To install a package, click on the actual name of the package, and if you want multiple packages, Ctrl-click or Shift-click the same way you would in any modern file manager. When you're ready to download the packages, click Download Selected at the top-right of the screen. Keryx will download everything and save any downloaded packages to the packages folder in the main keryx directory.

From here, you'll have to install these packages yourself manually, either by command line with dpkg or with a package management program under X. It's a bit of pain, I'll admit. However, this project is very young, the interface is still very much in its infancy, and adding the option to install the packages from within Keryx should take only a few GUI shortcuts to some pretty basic commands. It's in its early days, but it does genuinely look promising, with a planned Mac port even in the works once the project becomes more stable. Poor Linux enthusiasts without the Net rejoice. In the near future, your savior may be arriving in the form of Keryx!

______________________

John Knight is the New Projects columnist for Linux Journal.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Keryx's homepage has moved

Chris Oliver's picture

We've moved Keryx's homepage to http://keryxproject.org/

CloneKeenPlus

gerstrong's picture
White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState