[NCLUG] Fedora 6 and the RaLink rt2500 wireless card

Chad Perrin perrin at apotheon.com
Tue Dec 12 14:10:07 MST 2006


On Tue, Dec 12, 2006 at 08:29:50AM -0700, Sean Reifschneider wrote:
> On Mon, Dec 11, 2006 at 10:34:50AM -0700, Chad Perrin wrote:
> >encouraging use of distro-specific configuration tools:
> >  system-config-network
> 
> These tools just modify the normal flat-files, much in the same way that
> the Debian and Ubuntu distro-specific configuration tools do.  So why is
> this a Fedora problem?  Tools to modify
> /etc/sysconfig/network-scripts/ifcfg-* don't seem that different from tools
> to modify /etc/network/interfaces...

My problem isn't that such tools exist.  My problem is that there is a
culture, and a secondary technical effect, of discouraging going outside
of distribution-specific tools in certain distributions.


> 
> >changing behavior for network configuration:
> >  netconfig (formerly preferred network configuration tool, also
> >             distro-specific)
> >  rhncfg-client (also formerly preferred, but older than netconfig)
> >  netcfg (ditto)
> 
> First of all, "rhncfg-client" has absolutely nothing to do with system
> network configuration.  The "rhn" tools are used to manage the Red Hat
> Network, Red Hat's system for centrally managing packages on a bunch of
> machines ("I want all company desktops to install Beagle.").

Mea culpa.  It has been a while since I've dealth with pre-Fedora RHL.


> 
> The other two must be ancient history, or not commonly used, because I
> don't recall anything about them.  I've been using Red Hat systems since
> 3.0.3, and I don't recall those tools.

I ended up using netconfig as recently as 2003 on a Fedora system
because it was by far the easiest way to deal with network interface
configuration.


> 
> >discouraging avoidance of distro-specific tools:
> >  /etc/sysconfig/network-scripts/ifcfg-eth0
> >  /etc/sysconfig/network-scripts/ifcfg-eth1
> >  and so on . . .
> 
> I've never felt particularly discouraged...  I tend to do network installs,
> so the installer is where my primary network configuration is done.  After
> that, I entirely manage the network configuration via modification of the
> files in /etc/sysconfig/network-scripts, unless it's an HA cluster.

I'm glad you don't find the increased complexity (relatively speaking)
of the configuration file arrangement troubling.


> 
> That said, Fedora really should include a "man ifcfg" like Mandrake does,
> and like Debian does for "man interfaces".  Whenever I need to do anything
> fancy like bonding, VLANs, assigning a bunch of IPs to aliases, I have to
> search google or read "ifup" to see what it's expecting.  However, most of
> these functions aren't available via the system-config programs, so I
> wouldn't say it's related to Fedora discouraging use of the flat files so
> much as just not having the documentation.

I rather suspect that lack of easily accessible documentation is in part
a result of a culture of "RH is Linux" approach to system
administration, where distro-specific tools tend to be favored as the
"one good way to do it".  Because simple CLI tools exist to do this
stuff, and that's typically the preferred way to do it, and the direct
config file editing approach is mostly common only among bona-fide
experts in the distribution, there isn't much motivation to develop
better documentation for that sort of thing.  The people who do it
already know how, the people who don't are assumed to use the scripts.
Why bother with better documentation?

I don't think this is a conscious decision made by anyone in the core
developer community for Fedora, or anything like that.  I think it's
just sort of an underlying cultural phenomenon.  When using RH/Fedora,
do things the RH/Fedora way.  Other stuff is an afterthought for things
like documentation and discoverability.


> 
> >I'd comment on how the location of the paths and filenames for network
> >configuration files has changed, but there's such a culture of
> 
> I'm not aware of that.  I've been using /etc/sysconfig/network-scripts to
> configure the networking, IIRC, since I first started using Red Hat 3.0.3
> in the <gasp> mid-90s.

I stumbled across some minor differences in file paths in 2003 when
working in the Wikimedia datacenter between an RH8 machine and an FC3
machine.  I don't recall the specifics, but I remember the surprise and
annoyance of the event.


> 
> In general I like Debian's /etc/network/interfaces, but it's MUCH more
> limited than the Fedora network-scripts.  You can do most things via the
> "pre-up", "up", "post-up" config directives, allowing you to run arbitrary
> commands.  However, that puts all the burden on the user to remember how to
> correctly configure, for example, a VLAN, Bridge, or bonding group.  For
> example, setting up a bridged interface in Fedora you just say "BRIDGE=br0"
> in the config script, and it knows to "ip addr flush", "ip link set dev
> up", and also restart radvd if it's running.  Just dropping a "pre brctl
> addif br0 eth0" in the interfaces config may work in some situations, but
> isn't as robust (for example, if the Interface got an IP address already).

First I've heard of that.  Is there some specific change in the Debian
approach you might recommend, just for purposes of a mental exercise?
I'm certainly willing to entertain the notion that for certain complex
tasks Debian is doing things the Wrong Way.  In fact, I have a laundry
list of complaints about Debian too.  My Fedora complaints just came up
because I happened to agree with something someone else on this list
said about it.


> 
> >anti-file-editing for configuration in the Red Hat and Fedora users
> >community that all any of the websites that discuss network
> >configuration for Fedora and RHL actually address is the
> >RH/Fedora-specific configuration scripts and GUI tools.
> 
> I don't know about that, when I've searched for help with doing less common
> tasks I've always been pointed at the directives for the config files.  Of
> course, part of that may be how I'm searching, but most of it is probably
> that (last I knew) the more unusual configs tend not to be supported in the
> GUI tools.

I'm more targeting the more common tasks with my discussion of
shortcomings here -- since for network configuration the more common
tasks are all I've had to do with Fedora, and because it seems important
to me that even if the discoverability of some of the more rare
edge-case tasks is excellent you need to get past the common, simple
tasks first.  I'd actually expect the more difficult/rare stuff to be
more poorly documented, and would find that more excusable.  To discover
that it's easier to figure out how to do difficult/rare stuff (once you
know how to do easy/common stuff) than it is to figure out how to do
easy/common stuff seems awfully backward to me.


> 
> I did a search for ``fedora "network configuration"'' on Google, and the
> top hit discusses mostly the scripts, and also mentions the programs.  Then
> there is:
> 
>    The "project" page for the system-config-network program.
>       (which doesn't even discuss configuring the network)
>    Documentation on configuring the network interface at install-time.
>    Another page discussing both the files and the programs.
>    A page discussing only the programs, oriented towards Windows users.
> 
> So, in the top 5 hits for this search string, I'm not sure it's fair to say
> that websites only discuss using the GUI tools...

"RH/Fedora-specific configuration scripts and GUI tools"

That in no way implies that only GUI tools are discussed.  In fact, it
very specifically not only mentions other options, but mentions them
*first*.


> 
> Hmm, let's try the same for ``debian "network configuration"''.  Wow, the
> first hit is a debian.org "doc/manuals/reference" page which, 17 "Page
> Downs" (in my browser), documents configuring your network for DHCP with:
> 
>    # ifdown eth0
>    # editor /etc/network/interfaces  # tweak as you wish
>    # ifup eth0
> 
> That seems to be the first mention of "/etc/network/interfaces" on that
> page, but maybe I missed one.
> 
> Ok, so that page doesn't mention a single "GUI" tool on it...  However, I'm
> not sure that's an improvement.  Does a user really need to know about
> "ifconfig" and "ip addr" before they can get their computer to request an
> IP via DHCP?

It's pretty difficult to install Debian without either hand-configuring
the network in a led-by-the-hand manner or approving simple DHCP
configuration, in the first place.  For someone so technically
uninclined that he can't be confronted with the guts of configuration
files, even touching a GUI tool is a scary and unnecessary thing in most
cases.  Meanwhile, for those of us that actually want to know something
about the system, hints about how to do it appear, as you indicated, in
the very first Google hit.


> 
> Obviously, that's not exactly the state, because the Debian installer
> will allow you to configure the interface via it's own GUI.
> 
> I am totally ok with having GUi tools that make users lives easier.  It'd
> be best if they just poked the back-end flat files so that it remains the
> canonical location, obviously...

I am too, and I agree entirely with that short paragraph.  I'm not
saying anyone should eliminate all GUI configuration tools from any
distribution -- even the distro-specific tools.  I just like it when I
don't have to jump through any more hoops than absolutely necessary when
I don't want to have to muddle through something like Drakconf one click
at a time (to pick a tool out of relatively recent memory).


> 
> The remainder of the top-5 Debian hits include a post about having to
> modify /etc/rc*.d/S*network to change IPs in Debian Slink, another
> (briefer) /etc/network/intefaces document (not debian.org), and two hits
> for "netconf", a "Next Generation" network configuration program which is
> in the planning stages, but hasn't been touched for nearly two years.

Luckily, "apropos network" provides a list of excellent documentation on
the subject.  Google's great for when local documentation is lacking or
difficult to find.  Local documentation that is reasonably complete and
discoverable is better.  Better still is when the first Google hit
returns a page that discusses the interfaces file, and entering "man
interfaces" at the shell prompt gives you a wealth of information about
network configuration.


> 
> Searching for ``ubuntu "network configuration"'' has as it's top hit a
> mailing list post about using the menu to start the GUI (then going on to
> winge about how "/etc/network/interfaces" is much more "modern" than
> ifcfg-*...  Cute, the third hit is an article mentioning Brian's "gtkwifi".
> Next is a refernce to "whereami".  So, the top 5 hits for Ubuntu mention 3
> different GUI tools.
> 
> Ubuntu has out Fedoraed Fedora.  :-)

I'll certainly agree with that.  My list of gripes with Ubuntu is longer
than my lists of gripes with Fedora and Debian combined, I think,
because it combines the best of both lists of problems and adds a few
new ones.  This is, of course, related tot he way I use OSes -- there
are times when Ubuntu is the distribution I'd recommend to someone,
though that is heavily dependent upon how much I think the person would
find ignorance to be bliss in terms of understanding the OS.


> 
> >Speaking of SuSE, and adding in Mandrake, they get into the
> >distro-specific tools by discouraging use of anything that doesn't have
> >YAST or drak (respectively) in the name.
> 
> No idea, I've only done a little bit of configuration of SuSE systems, and
> I think I've dealt with <5 Mandrake systems in the last decade.
> 
> >In all three, documentation of the underlying configuration file system
> >and distro-agnostic toolsets is lacking, distro-specific toolsets are
> 
> Absolutely.  Mandrake does seem to have a man page for ifcfg, at least.
> Fedora does not have a man page for either ifcfg nor system-config-network,
> so I guess at least they're consistent there.  ;-/  Debian is probably the
> winner here, with "man interfaces" showing the full functionality
> available, though to be fair it's got much less functionality to document.

Stipulated as true -- I don't know quite enough about the ifcfg-* files
to be able to personally comment on the comparative functionality.  It's
still kind of a gross oversight, as you indicate, to avoid effectively
documenting it at all -- and having more functionality that isn't
documented isn't much of an excuse.


> 
> >emphasized, and the tools and configuration files have a history of
> >migrating from one state to another as new OS release versions are
> >produced.  At least, that's my experience.
> 
> I'm not sure what you mean by the migrating of state.  As I said, I've been
> using the ifcfg scripts to configure networking since I started using Red
> Hat in the mid '90s.

I wish I had a firmer recollection of the issues I encountered so I
could explain it in some depth here.  Sorry.


> 
> >I don't want anyone to read this and think I'm specifically
> >anti-RH/Fedora, anti-Mandr(ake|iva), and/or anti-SuSE.  I found that the
> 
> Indeed, but I'm not sure it's quite as bad as you are saying it is.
> Documentation of the config files could definitely be better on Fedora.  I
> really have no idea about configuration tools on Debian

I think you're probably getting a more intense impression of my
complaints than I intend, simply because I've been backed into having to
defend mild statements at great length.


> 
> >I'm still not really clear on how putting configuration files in scripts
> >directories provides any benefits, however,
> 
> I totally agree there.  It gets a bit difficult with having
> "ifup-pre-local" and "ifup-local", should those be in the config directory
> or the script directory?  Worse, in that same directory there is "ifup",
> which is different than the "ifup" command (in /sbin).  I don't
> particularly like the decision, but I do end up making use of it to see
> exactly what is happening when I specify particular directives in the
> config scripts.

How, exactly?  I'm a little curious about that, and would like to learn
something about it if there's some benefit to be gained from the
arrangement that I haven't yet seen.


> 
> >or why they should be three levels deep in the filesystem hierarchy,
> 
> Interesting.  I wonder why in Debian it ISN'T.  I mean, why
> /etc/network/interfaces?  Why not /etc/defaults/network/interfaces?  The
> reason it is 3 in Fedora is that the configurations are split out into
> multiple files, and they put them under "/etc/sysconfig" where most of the
> other configuration goes.  So they put them in a directory called
> "network-scripts", I can understand that.  I guess they could have put
> ifcfg-* in /etc/sysconfig...  Not sure that gets you anything, but it could
> have been done.

I think that solving the hierarchy depth problem would, done correctly,
also be best handled by using a single file for all interfaces.


> 
> >or what benefit there is to
> >breaking up a single, relatively simple configuration into several
> >separate files.
> 
> Oh, there are huge benefits.  If you write a script in Debian that wants
> to display the configured IP address for eth0, how would you do it?
> In Fedora it's ". /etc/sysconfig/network-scripts/ifcfg-eth0; echo $IPADDR"
> Similarly for setting the IP address from a script
> "sed -i 's/^IPADDR=.*/IPADDR=10.9.8.7/'
> /etc/sysconfig/network-scripts/ifcfg-eth0".
> 
> In Debian they designed their own config file format, and so any tools
> dealing with it have to use a customized parser for it.  In Fedora, they
> used shell environment definitions and use the shell to parse it.  A good
> decision, IMHO.

I can see the value of the benefits you describe, but I don't see how
that necessitates using separate files for each interface.

-- 
CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ]
This sig for rent:  a Signify v1.14 production from http://www.debian.org/



More information about the NCLUG mailing list