[vox-tech] dhcp, other

ME dugan at passwall.com
Sat Jul 17 22:07:26 PDT 2004


Nick Schmalenberger said:
> Like I said before, I got pump to work, and I also tried dhcpcd. The
> documentation for pump and dhcpcd indicate that they are daemons, and I
> don't know why. Shouldn't pump just run just at boottime or whenever
> else the user wants?

Depending on your distro, network configuration files can be used to tell
your system to use dhcp or static assignment, and sometimes specify what
dhcp client you want to use.

Why is it a daemon? because, dhcp is generally lease-based. You get a
lease for an IP address, and the dhcp server tells you how long you may
keep that address. After your "must renew" lease expires, then you ask the
server again, and keep asking until you get a response that includes a new
"must renew time." This continues to happen, until you get to another
level of lease expiration which includes forcing the client to no longer
use the IP address--  effectively release the give IP address if you have
been unable to renew a lease before hitting this limit.

Making a dhcp daemond means that it will be able to continue to ask for
lease renewals, and let the server know you are still around so that it
eventually does not reclaim your used IP address, and eventually hand it
out to another person on the network, causing two people to end up using
the same IP address, and likely leads to network failure for both people.

Most people have dhcp configured to run per interface at boot. SOme people
install and configure something called a "demand dialer" which can
establish a dialup network link or PPPoE or other network setup as it
detects traffic that needs to go "out."

> At specific times. So why should it be a daemon?

Many reasons. Thge timing it will need to request new leases is different
from one DHCP server/network to another. Use of cron or at to perform
these tasks creates even more overhead, and the cost for stoping and
starting a new process is sometimes more than the cost of just letting it
run.

Look at the memory footprint of dhcpcd or pump. If you do not want them to
run, then talk to your network admin about letting you configure a static
IP address which is statically assigned to you/that machines. Most ISP
won't do this though. Static assignment eliminates the need for dhcp and
lease renewaal.

> I
> can understand for the server, but why for the client? Supposedly dhcpcd
> stands for dhcp client daemon, so I know I don't have that confused.

(Read above)

> Also, for some reason dhcp doesn't run automatically at boottime on my
> system so I added a line with pump near the bottom of
> /etc/init.d/networking , and that seems to work, but I suspect there is
> a more appropriate place. Is there?

Yes, but it is distro-specific. Check out a dir on some systems called
/etc/networking/interfaces

some systems have a separate file for each interface, some have one files
listing all interfaces. It is not always in the same loacation. How you
are supposed to access the file is also different from one dstro to
another. RedHat likes you to use GUI. Debian seems fine with just using a
text editor.
>
> Also, when I do halt, the computer doesn't turn itself all the way off,
> it just says Power down. Windows does turn itself all the way off, and
> Device Manager in Windows says I have a Microsoft ACPI-Compliant System.
> In /var/log/syslog , these lines seem relevant:
> "ACPI disabled because your BIOS is from 99 and too old
>  You can enable it with acpi=force"
> So why does Linux make this apparently wrong assumption about BIOSes
> from 99, and where do I give this override argument to the kernel?

You can build a kernel that enables APM instead of ACPI, and then enable
support for this:
[ ] Use real mode APM BIOS call to power off

APM support seems to be more robust and ACPI seems to still be in
development.

> Thirdly, now that I have net access, I've been trying to update various
> pieces of software. So, I tried to compile GTK 2.4, and it depends on a
> library called Pango. The version of Pango that is in the GTK 2.4
> directory of the gtk.org ftp site is Pango 1.4 . But when I configure
> gtk it says that it requires Pango 1.2 . Specifically, it says:
> "configure: error: Pango 1.2.0 and Xft backend is required for x11
> target" This installation guide webpage also seems only to refer to
> Pango 1.2: http://developer.gnome.org/doc/API/2.4/gtk/gtk-building.html
> . However, Pango 1.2 is found in the GTK 2.2 directory of the GTK ftp
> site. What gives?

For lib upgrades for things like gtk, it is best to get the lastest
packages from your distro. (This means upgrade your distro.)

IIRC, glib, gtk, pango and atk have a chain of dependencies, where if you
want one, you end up needing to install them all.

During the config for each ne, sometimes, they will search only in the
/usr/include space and not the /usr/local/include space as a result of
having incorrectly configigured files specifying where include files and
libs can be found. Sometimes their config scripts will just go with the
first version they find and stop. When things like this come up, if you
are dead-set on building from soure, then you can often tell configure
where to find your newer version of libs that the new source tree
requires.

It is better to just upgrade your distro's libs than to build new ones on
your own-- the work you save will be your own.

> This message board thread:
> http://www.linuxquestions.org/questions/history/159617 seems to be about
> my problem. When I configure the Pango 1.4 sources, it says my backends
> are X and Freetype, not Xft, so that that fits with the Gtk configure
> error that says I also need Xft. However, the installation guide webpage
> says that Xft comes with Pango. Such doesn't seem to be the case. So, as
> that thread says I got Xft from elsewhere and tried to get it to work.
> It won't compile because it says it needs something called xrender.pc
> and can't find it. I guess *.pc files are files related the pkg-config
> program which apparently helps programs find libraries. It is referred
> to at the gtk webpage, and I installed it. In my
> /usr/X11R6/lib/pkgconfig/ is one file, libxml.pc . So apparently this
> xrender.pc isn't there. Where is it? Could I have the xrender library
> but not the pkg-config file for it? Is there an alternative way to point
> Xft to xrender instead of by pkg-config? Xft has a manpage, so I know
> some part of Xft is already installed. Nobody on that thread seems to
> talk about this xrender.pc file. The spanish guy wants me to reinstall
> all of X. Is that the answer? Thanks very much.

IF you really want to build gtk from source, then you will likely need to
build each of these packages and install them, and configure your system
properly foer each install:
atk, glib, Pango, and gtk
If you want to build one from source, then you will likely need to build
all from source, and do so in the right order.

If you know how to upgrade your distro, then your distro should provide
you with most of this work done for you.

Place to get all of these is "gtk.org" and here is one of their DL dir for
v2.4:

ftp://ftp.gtk.org/pub/gtk/v2.4/



More information about the vox-tech mailing list