ProductsDesktop Server For Scientific Computing For IBM POWER For IBM System z For SAP Business Applications Red Hat Network Satellite ManagementExtended Update Support High Availability High Performance Network Load Balancer Resilient Storage Scalable File System Smart Management Extended Lifecycle SupportWeb Server Developer Studio Portfolio Edition JBoss Operations Network FuseSource Integration Products Web Framework Kit Application Platform Data Grid Portal Platform SOA Platform Business Rules Management System (BRMS) Data Services Platform Messaging JBoss Community or JBoss enterprise
SolutionsApplication development Business process management Enterprise application integration Interoperability Operational efficiency Security VirtualizationMigrate to Red Hat Enterprise Linux Systems management Upgrading to Red Hat Enterprise Linux JBoss Enterprise Middleware IBM AIX to Red Hat Enterprise Linux HP-UX to Red Hat Enterprise Linux Solaris to Red Hat Enterprise Linux UNIX to Red Hat Enterprise Linux Start a conversation with Red Hat Migration services
TrainingPopular and new courses JBoss Middleware Administration curriculum Core System Administration curriculum JBoss Middleware Development curriculum Advanced System Administration curriculum Linux Development curriculum Cloud Computing and Virtualization curriculum
ConsultingStandard Operating Environment (SOE) Strategic Migration Planning Service-oriented architecture (SOA) Enterprise Data Solutions Business Process Management
Issue #10 August 2005
- Coming soon: RHN Satellite Monitoring and Solaris Management
- What is Red Hat Network?
- Deploying RHN: One sysadmin does more with less
- Webcast: An overview of RHN
- Debugging code with strace
- CVS is out, Subversion is in
- Fedora Extras Focus
- Red Hat Summit 2006: Goin' country
- Creating vector graphics with Inkscape
- Building the Fedora Foundation: Goals established
- Video: Keybank used Red Hat Enterprise Linux to increase system performance
- Getting data out of MySQL
- Red Hat Scholarships awarded
- Oracle Grid Computing on Red Hat Enterprise Linux
From the Inside
In each Issue
- Editor's blog
- Red Hat speaks
- Ask Shadowman
- Tips & tricks
- Fedora status report
- Magazine archive
Focus on Fedora Extras
by Tim Waugh
- GRAMPS: A family tree research tool
- bash-completion: Extremely clever command line completion for bash
- Firestarter: A graphical firewall configuration tool
- Further reading
- About the author
Fedora™ Extras consists of a large collection of packages, maintained by volunteers, to augment the basic operating system provided by Fedora Core. The collection includes all sorts of packages, and this article gives an overview of just three of them. See the the section called “Further reading” section to find out more about them.
A previous Red Hat Magazine article (Fedora Extras: Everything but the kitchen sink) explains more about how to use Fedora Extras as well as how to contribute your own packages.
Starting with Fedora Core 4, it is easy to install Fedora
Extras packages: become the root user at the shell prompt using
su -, then enter
There are now over a thousand Fedora Extras packages to choose from. You can find the entire list at the Fedora Project Wiki.
GRAMPS: A family tree research tool
Fedora Extras maintainer: Brian Pepple
GRAMPS (Genealogical Research and Analysis Management Programming System) as shown in Figure 1, “GRAMPS” is an application for managing family tree information. It stores and retrieves information such as names, dates, relationships, marriages, places, and pictures.
You can install GRAMPS using the command
yum install gramps (as the root user), and it appears in the
main menu under . After creating a
new database, you can start entering information about people in
your family. A good person to start with is yourself and, of
course, then your close relatives. To add a new person to the
database click the button.
Each time you enter a fact into the database you can record where this fact came from: its source. For example, for a date of birth the information might come from a birth certificate, from the person themselves, or from someone else in the family. As your research continues, it is easy to lose track of where different pieces of information originated, so it is a good idea to start recording sources at the beginning.
As an example of this, in the Edit Person dialog box click on the icon next to the Family name text field to bring up the Name Editor dialog box. Here you can enter your given and family names. Then switch to the Sources tab and click on the + icon to attribute this information to a particular source. The Source Information dialog box will appear. Click to create a new source and give it a title, for example "Mom's birth certificate." Click , and on the Source Information dialog box as well.
There are different views available in GRAMPS. You can switch between them using the icons on the left hand side of the main window. The People view shows a list of people's names, sorted by surname. The Family view is useful when entering new people into the database (see Figure 1, “GRAMPS”). In this view you can set up the relationships between people such as spouse, parent, or child.
To make it easier to distinguish between identically-named people, each individual is given a unique number. For example, in Figure 1, “GRAMPS” you can see that Edwin Michael Smith has the number I37.
As well as being able to export the database in GEDCOM
format, which is the standard format for sharing genealogical
data, GRAMPS can also generate some
very useful reports. A good way of getting to grips with a large
family tree is to print out a Relationship Graph. To use this
report, install the
graphviz package from
Fedora Extras. Generations are shown right-to-left instead of
top-to-bottom as in a pedigree tree. See Figure 2, “Detail of a Relationship Graph” as an example. The gender of each
individual is signified by its color, and "family units" are
represented by small ovals.
As well as graphical reports, a variety of textual reports can be generated. These can be created in OpenOffice.org format and later edited for style, if necessary. GRAMPS can add source notes to the reports, numbered in square brackets, so that it is clear where each piece of information comes from—a numbered list of sources is then put at the end of the report. An example of a textual report is shown in Figure 3, “Comprehensive Ancestors Report”.
bash-completion: Extremely clever command line completion for bash
Fedora Extras maintainer: Ville Skyttä
When typing a command at the shell prompt, it is possible to
press the Tab key while typing in
a filename to cause the filename to be completed.
For example, to show information about a file called
mydocument.pdf in the current directory, you
might type in
ls -l mydoc and press
Tab. If that is the only filename starting with
mydoc, the command line will change to this:
mydocument.pdf and pressing Enter
will run the command. This is a feature of the shell
prompt program bash.
If there is more than one filename starting with
the above example, pressing Tab will cause the
shell to beep, and pressing it once more will cause it to list the
files that match, like this:
[tim@cyberelk ~]$ ls -l mydoc<tab><tab> mydocument.pdf mydocbookfiles/ [tim@cyberelk ~]$ ls -l mydoc
A more advanced use of this filename completion feature is command completion. If you type in the beginning of a command name and press Tab twice, it will list all of the commands that match, like this:
[tim@cyberelk ~]$ system-config-<tab><tab> system-config-authentication system-config-packages system-config-date system-config-printer system-config-display system-config-printer-gui system-config-httpd system-config-printer-tui system-config-keyboard system-config-rootpassword system-config-language system-config-samba system-config-lvm system-config-securitylevel system-config-mouse system-config-securitylevel-tui system-config-network system-config-services system-config-network-cmd system-config-soundcard system-config-network-druid system-config-time system-config-nfs system-config-users [tim@cyberelk ~]$ system-config-
It is very useful to be able to do this, but even better, bash provides a way of modifying this behavior. Depending on what the command line looks like, programmable completion can be made to act in all sorts of useful ways.
bash-completion package provides a
huge number of different completion functions, and it is extremely
easy to use. Once the package is installed using
install bash-completion, there is nothing more to do.
New logins will automatically pick up the new completion
There are far too many individual pieces of functionality in
this package to list them all. Half the fun is finding them out
while using the shell prompt. As an example, take the
find command used to search for files. It has
several options and they are sometimes hard to remember. The
bash-completion package provides option
completion for lots of the commonly-used commands, and
find is one of them (see Figure 4, “bash-completion”).
Most things work exactly as you would expect:
su completes with usernames,
service completes with initscripts,
man completes with manual pages, and so
make command gets the special
treatment. This command takes instructions from a
Makefile and is often used to compile
packages from source code. With the
completion! Here is an example using the Fedora Core anonymous
[tim@hoopoe ~]$ cd grep/devel [tim@hoopoe devel]$ make <tab><tab> all compile gimmespec patch sources check compile-short help prep srpm clean export install-short prep-% verrel clog FORCE new rediff
Firestarter: A graphical firewall configuration tool
Fedora Extras maintainer: Phillip Compton
Firestarter, as shown in Figure 5, “Firestarter”, is a very useful tool for configuring firewall rules. It provides a system tray icon to show whether the firewall is running or stopped. It can also show disallowed incoming connection attempts as they happen.
After installing Firestarter
yum install firestarter (as root) it will
appear in the main menu under . When you first start the application, the
Firewall Wizard asks a few questions about how the computer
network is used, and then the firewall is activated.
A system tray icon appears (see Figure 6, “System tray icon”) to show that the firewall is running. It displays a blue "play" symbol when running and a red "stop" symbol when stopped. It is also possible to prevent any network traffic traveling through the firewall at all—when doing this a padlock icon is shown.
The main Firestarter window is shown in Figure 5, “Firestarter”, with the Status tab active. There are two parts to this Status tab: the status of the firewall and the status of the network. Currently active network connections (both inbound and outbound) are displayed in the network status section.
The Events tab shows any network traffic that has been blocked by the firewall. In Figure 7, “Events” several connection attempts to different ports have been made from another computer. To allow future connections to that port (or from that computer) right-click on the event (see Figure 7, “Events”).
The firewall rules are set up on the Policy tab. There is a section for inbound traffic rules and a separate section for outbound rules. On computers with several network connections it can also set up connection forwarding for specific services. The rules for inbound traffic are formulated as a set of allowed types of connection: firstly, a list of IP addresses from which all connections are allowed; secondly, a list of ports to which anyone (or a particular IP address) can connect. With Firestarter, no distinction is made between UDP and TCP. When a particular port number is listed in the allowed list, both UDP and TCP traffic on that port number will be allowed in.
The rules for outbound traffic are slightly more complicated. They can either be restrictive, as with the inbound rules, or permissive—meaning that everything not explicitly disallowed is let through.
When the outbound rules are restrictive, the blocked outbound connections are listed in the Events tab. Just as with inbound connections, right-click on a blocked outbound connection attempt to allow it in the future.
When a connection attempt has been blocked, it is added to the Events list. However, that is not all. The system tray icon, previously a calm blue "play" button, turns into a pulsing red lightning bolt. It is almost enough to make you hope for a break-in attempt!
- GRAMPS project website—Includes a section on genealogy basics
- Working more
productively with bash 2.x/3.x—an article about
bash programmable completion, including the
- Firestarter website—Contains more detailed documentation and screenshots