As Linux (ab)users, most of us take networking for granted. Luckily for us, this is made easy due to the Linux kernel design. But this can be abused, and badly. Although UNIX and Linux administrators tend to have a better handle on networking than most others, I want to relate something that, while it happened on a Windows network and was exacerbated by poor practice, also can happen on a Linux network.
Some 18 months or more ago, I reviewed a client's network before installing a Linux firewall. Their network was running 10Mb and had some long cable runs (in some places using telephone cable rather than Cat 5 cable), poorly terminated cables and up to four hubs cascaded. They also were running three protocols (IP, IPX and NetBEUI). Needless to say, with over 15% packet loss, communications were poor. A couple of weeks ago, this client decided to upgrade from a slow 64k frame-relay connection to a significantly faster 128k wireless connection. At over 26% packet loss, their network collapsed. They're doing better today with a redesigned network: 100Mb circuits, one protocol (IP), the removal of the hub cascade and correct, well-made cables. But their administrators did not understand what had happened. We might blame this on the fact they were MCSEs and had no UNIX network training, but it can happen anywhere administrators don't have a full grasp of network basics. There's a lot of networks out there, and many are in bad shape. So don't laugh, you might just inherit one.
Before I get started reviewing software, I want to note that this is the first issue of the fourth year of Focus on Software. During this time, some programs featured here have advanced significantly, while others have (seemingly) disappeared. So I'm going to feature one program from three years ago each month; if you have a favorite I featured in the past, let me know.
For this month's flashback, I looked at several very good programs, including the GTK+ Equation Grapher (geg), gtkfind (which seems to have disappeared from the Web) and X Northern Captain, among others, but my selection is PySol.
Whenever I upgrade my system, I always try to clean out all the cruft (and I have a lot of cruft). Well, the day I upgraded my system, not less than two members of the family complained that PySol was gone. Few programs are as used as this one, so despite the fact that it's a game, this one deserves another mention. I called it “Windows Solitaire on steroids” three years ago, but it has really advanced—sound, music, card sets and hundreds of games. This eclipses any commercial card game software I've seen. Requires: Python.
Hard-core network gurus might like to plow through a tcpdump file and find it easy to read. But if you're just starting out, Netdude is a very nice utility that will read a tcpdump file and format the output so that it's extremely readable. You can even make changes to the file and save it back. Requires: libgtk, libgdk, libgmodule, libdl, libXext, libX11, libm, libglib, libpcap, glibc.
The ifmonitor utility will watch an interface for you, collect data on it from the /proc filesystem and insert it into an SQL database. A PHP script is then available to access that data and display it as a graph in a web browser. It's simple and easy to install and use. Requires: MySQL, /proc, Perl, Perl module DBD::MySQL, PHP with gd and MySQL, web server with PHP, web browser.
This should keep folks occupied for some time. Try to align five same-color balls to remove them and score points. Each time you don't, three new balls appear randomly on the grid. Requires: libtk, libgdk, libgmodule, libglib, libdl, libXext, libX11, libm, glibc.
Manhattan Virtual Classroom manhattan.sourceforge.net
This is an extremely simple, easy-to-use system for students and teachers. A truly virtual classroom, the author built it with security in mind. While not the simplest of applications to install, the author provides clear, concise installation instructions. Follow them to the letter, and you can't go wrong. If you are a teacher or consultant working with a school, this program deserves a demonstration. Requires: glibc, Apache Web Server.
This is an extremely impressive 3-D star viewer. You can visit the known universe from your computer. The graphics are well done, and you have a lot of data available. While the beauty is striking, what it will do to your system is just as striking. I may not have the latest and greatest gigahertz system going, but I didn't think it was that slow until I ran this. I wouldn't even consider trying to run this on a classic Pentium I. Requires: libpng, libjpeg, libGLU, libGL, libSM, libICE, libXmu, libXi, libXext, libX11, libstdc++, libm, libz, libpthread, libdl, libXt, glibc.
Until next month.
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- SUSE LLC's SUSE Manager
- My +1 Sword of Productivity
- Managing Linux Using Puppet
- Non-Linux FOSS: Caffeine!
- Tech Tip: Really Simple HTTP Server with Python
- SuperTuxKart 0.9.2 Released
- Doing for User Space What We Did for Kernel Space
- Parsing an RSS News Feed with a Bash Script
- Google's SwiftShader Released