sean finney on 9 Nov 2011 07:36:46 -0800

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Linux EMC and Headless Systems

On Wed, Nov 09, 2011 at 08:58:04AM -0500, Rich Freeman wrote:
> There was some discussion after last night's meeting about getting
> software to work on more minimal installs (no X11, etc).  The specific
> software being discussed was linux EMC (used to control CNC machinery
> in realtime).  Apparently the ubuntu packages for this tend to pull in
> stuff which culminates in a system that ends up with stuff like gnome
> and openoffice in order to control a CNC mill.  It seems kind of
> bizarre but when one package uses one file out of some other package
> these things can spiral out of control pretty easily.

I'm not familiar with the packages in question, but I would say that it's
a buggy packaging job by the maintainer in that case.  Ubuntu is a *little*
more lax about it than Debian, but for both of them generally heavy
dependency chains like what you describe are a bit of a rarity. speaking in
a situation like this one normally takes the following approach:

* split out the components depending on foo into <packagename>-foo, which
  is then referenced by a Suggests: or Recommends:
* if that's not possible, build both versions from the same source package
  as <packagename> and <packagename>-foo, which Conflicts:/Provides:/Replaces:
  each other.

But what may also result in the same result, regardless, is that by default
the package manager will attempt to satisfy not only package Depends: entries,
but also Recommends: (i.e. recommendations will be installed if it's not a
problem to do so).  So if you want a minimal system, you should probably turn
that feature off (or at least pay attention to what apt wants to do).

All that said, USE flags are a truly awesome concept and imho the the
neatest feature of gentoo.  they give waaaay more control over the
resulting binaries and system footprint.  No argument there :)

> I think there is also a philisophical difference between Ubuntu and
> Gentoo that may be at play.  When I have tinkered with Ubuntu I've
> noticed that installing a package tends to configure it to run - if
> you apt-get install gdm and reboot you end up with a gdm login screen.
>  On Gentoo this is not the case - if you install GDM and reboot you
> get a text console - you need to explicitly add it to your runlevels
> for sysvinit in order to have it start.  I'm sure Ubuntu has some
> standard way to make things not run, and perhaps getting your system
> to be headless is just as simple as getting gdm to not run.  That
> won't get openoffice off of your hard drive, but it will get X11 out
> of your RAM.

Yes, you can always control individual services through the standard
init system controls (chkconfig, /etc/rc?.d/SNNfoo, etc), but Debian
policy does provide a way to have a generalized system policy in place
*before* services are installed.  Take a look at
/usr/share/doc/sysv-rc/README.policy-rc.d{,.gz} if you're curious.  Basically
you drop a small script in /usr/sbin/policy-rc.d which controls whether
every init script starts/stops.  Very useful as it also applies to installing
software within chroots, etc.

Philadelphia Linux Users Group         --
Announcements -
General Discussion  --