New Projects - Fresh from the Labs
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.
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.
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.
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
|Introduction to MapReduce with Hadoop on Linux||Jun 05, 2013|
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Linux Systems Administrator
- Validate an E-Mail Address with PHP, the Right Way
- Introduction to MapReduce with Hadoop on Linux
- RSS Feeds
- Weechat, Irssi's Little Brother
- New Products
- Tech Tip: Really Simple HTTP Server with Python
- Poul-Henning Kamp: welcome to
2 hours 3 min ago
- This has already been done
2 hours 4 min ago
- Reply to comment | Linux Journal
2 hours 50 min ago
- Welcome to 1998
3 hours 38 min ago
- notifier shortcomings
4 hours 2 min ago
5 hours 39 min ago
- Android User
5 hours 40 min ago
- Reply to comment | Linux Journal
7 hours 33 min ago
10 hours 23 min ago
- This is a good post. This
15 hours 36 min ago
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?