diff options
| -rw-r--r-- | Makefile.am | 5 | ||||
| -rw-r--r-- | man/nss-myhostname.xml | 139 | ||||
| -rw-r--r-- | src/nss-myhostname/doc/.gitignore | 2 | ||||
| -rw-r--r-- | src/nss-myhostname/doc/Makefile.am | 38 | ||||
| -rw-r--r-- | src/nss-myhostname/doc/README.html.in | 166 | ||||
| -rw-r--r-- | src/nss-myhostname/doc/style.css | 25 | 
6 files changed, 144 insertions, 231 deletions
| diff --git a/Makefile.am b/Makefile.am index 91bc49dc5b..7048cb511a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -587,6 +587,11 @@ man/systemd-journal-gatewayd.socket.8: man/systemd-journal-gatewayd.service.8  man/systemd-journal-gatewayd.8: man/systemd-journal-gatewayd.service.8  endif +if HAVE_MYHOSTNAME +MANPAGES += \ +	man/nss-myhostname.8 +endif +  man/reboot.8: man/halt.8  man/poweroff.8: man/halt.8  man/init.1: man/systemd.1 diff --git a/man/nss-myhostname.xml b/man/nss-myhostname.xml new file mode 100644 index 0000000000..bd3f635692 --- /dev/null +++ b/man/nss-myhostname.xml @@ -0,0 +1,139 @@ +<?xml version='1.0'?> <!--*-nxml-*--> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" +        "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> + +<!-- +  This file is part of systemd. + +  Copyright 2011 Lennart Poettering +  Copyright 2013 Tom Gundersen + +  systemd is free software; you can redistribute it and/or modify it +  under the terms of the GNU Lesser General Public License as published by +  the Free Software Foundation; either version 2.1 of the License, or +  (at your option) any later version. + +  systemd is distributed in the hope that it will be useful, but +  WITHOUT ANY WARRANTY; without even the implied warranty of +  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +  Lesser General Public License for more details. + +  You should have received a copy of the GNU Lesser General Public License +  along with systemd; If not, see <http://www.gnu.org/licenses/>. +--> + +<refentry id="nss-myhostname"> + +        <refentryinfo> +                <title>nss-myhostname</title> +                <productname>systemd</productname> + +                <authorgroup> +                        <author> +                                <contrib>Developer</contrib> +                                <firstname>Lennart</firstname> +                                <surname>Poettering</surname> +                                <email>lennart@poettering.net</email> +                        </author> +                </authorgroup> +        </refentryinfo> + +        <refmeta> +                <refentrytitle>nss-myhostname</refentrytitle> +                <manvolnum>8</manvolnum> +        </refmeta> + +        <refnamediv> +                <refname>nss-myhostname</refname> +                <refpurpose>Provide host name resolution for the locally +                configured system hostname.</refpurpose> +        </refnamediv> + +        <refsynopsisdiv> +                <cmdsynopsis> +                        <command>nss-myhostname.la</command> +                </cmdsynopsis> +        </refsynopsisdiv> + +        <refsect1> +                <title>Description</title> + +                <para><command>nss-myhostname</command> is a plugin for the GNU Name Service Switch +                (NSS) functionality of the GNU C Library (<command>glibc</command>) +                providing host name resolution for the locally configured system +                hostname as returned by +                <citerefentry><refentrytitle>gethostname</refentrytitle><manvolnum>2</manvolnum></citerefentry>. +                Various software relies on an always resolvable local host name. When +                using dynamic hostnames this is usually achieved by patching +                <filename>/etc/hosts</filename> at the same time as changing the host +                name. This however is not ideal since it requires a writable +                <filename>/etc</filename> file system and is fragile because the file +                might be edited by the administrator at the same time. <command>nss-myhostname</command> +                simply returns all locally configure public IP addresses, or -- if none +                are configured -- the IPv4 address 127.0.0.2 (wich is on the local +                loopback) and the IPv6 address ::1 (which is the local host) for +                whatever system hostname is configured locally. Patching +                <filename>/etc/hosts</filename> is thus no longer necessary.</para> + +                <para>To activate the NSS modules, <option>myhostname</option> +                has to be added to the line starting with "<varname>hosts:</varname>" in +                <filename>/etc/nsswitch.conf</filename></para> + +                <para>It is recommended to put <option>myhostname</option> +                last in the <filename>nsswitch.conf</filename> line to make +                sure that this mapping is only used as fallback, and any DNS +                or <filename>/etc/hosts</filename> based mapping takes precedence.</para> +        </refsect1> + +        <refsect1> +                <title>Example</title> + +                <programlisting> +# /etc/nsswitch.conf + +passwd:         compat +group:          compat +shadow:         compat + +hosts:          files dns <varname>myhostname</varname> +networks:       files + +protocols:      db files +services:       db files +ethers:         db files +rpc:            db files + +netgroup:       nis +                </programlisting> + +                <para>To test, use <command>glibc</command>'s <command>getent</command> tool:</para> + +                <programlisting> +$ getent ahosts `hostname` +::1             STREAM omega +::1             DGRAM +::1             RAW +127.0.0.2       STREAM +127.0.0.2       DGRAM +127.0.0.2       RAW +                </programlisting> + +                <para>In this case the local host name is <varname>omega</varname>.</para> + +        </refsect1> + +        <refsect1> +                <title>See Also</title> +                <para> +                        <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, +                        <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, +                        <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, +                        <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, +                        <citerefentry><refentrytitle>pam.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, +                        <citerefentry><refentrytitle>pam.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>, +                        <citerefentry><refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum></citerefentry>, +                        <citerefentry><refentrytitle>pam_loginuid</refentrytitle><manvolnum>8</manvolnum></citerefentry> +                </para> +        </refsect1> + +</refentry> diff --git a/src/nss-myhostname/doc/.gitignore b/src/nss-myhostname/doc/.gitignore deleted file mode 100644 index bc63974b07..0000000000 --- a/src/nss-myhostname/doc/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -README -README.html diff --git a/src/nss-myhostname/doc/Makefile.am b/src/nss-myhostname/doc/Makefile.am deleted file mode 100644 index 4f773ac2c6..0000000000 --- a/src/nss-myhostname/doc/Makefile.am +++ /dev/null @@ -1,38 +0,0 @@ -# This file is part of nss-myhostname. -# -# Copyright 2008 Lennart Poettering -# -# nss-myhostname is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License -# as published by the Free Software Foundation, either version 2.1 of -# the License, or (at your option) any later version. -# -# nss-myhostname is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with nss-myhostname. If not, If not, see -# <http://www.gnu.org/licenses/>. - -dist_html_DATA = README.html style.css -EXTRA_DIST = README.html.in - -MAINTAINERCLEANFILES = README.html -CLEANFILES = - -if USE_LYNX -dist_doc_DATA = README -MAINTAINERCLEANFILES += README - -README: README.html -	lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@ - -CLEANFILES += README -endif - -tidy: README.html -	tidy -qe < README.html ; true - -.PHONY: tidy diff --git a/src/nss-myhostname/doc/README.html.in b/src/nss-myhostname/doc/README.html.in deleted file mode 100644 index f78618298c..0000000000 --- a/src/nss-myhostname/doc/README.html.in +++ /dev/null @@ -1,166 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- --> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - -<head> -<title>nss-myhostname @PACKAGE_VERSION@</title> -<link rel="stylesheet" type="text/css" href="style.css" /> -</head> - -<body> -<h1><a name="top">nss-myhostname @PACKAGE_VERSION@</a></h1> - -<p><i>Copyright 2005-2011 Lennart Poettering <@PACKAGE_BUGREPORT@></i></p> - -<ul class="toc"> -    <li><a href="#license">License</a></li> -    <li><a href="#news">News</a></li> -    <li><a href="#overview">Overview</a></li> -    <li><a href="#status">Current Status</a></li> -    <li><a href="#documentation">Documentation</a></li> -    <li><a href="#requirements">Requirements</a></li> -    <li><a href="#installation">Installation</a></li> -    <li><a href="#acks">Acknowledgements</a></li> -    <li><a href="#download">Download</a></li> -</ul> - -<h2><a name="license">License</a></h2> - -<p>This program is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public License as -published by the Free Software Foundation, either version 2.1 of the -License, or (at your option) any later version.</p> - -<p>This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details.</p> - -<h2><a name="news">News</a></h2> - -<div class="news-date">Mon May 9 2011: </div> - -<p class="news-text"><a href="@PACKAGE_URL@nss-myhostname-0.3.tar.gz">Version -0.3</a> released. Changes include: Always return locally configured IP -addresses first, use 127.0.0.2/::1 only as fallback if no addresses -are configured.</p> - -<div class="news-date">Mon Oct 27 2008: </div> - -<p class="news-text"><a -href="@PACKAGE_URL@nss-myhostname-0.2.tar.gz">Version 0.2</a> -released. Changes include: Update for IPv6 and newest glibc NSS interfaces</p> - -<div class="news-date">Sat Nov 19 2005: </div> - -<p class="news-text"><a -href="@PACKAGE_URL@nss-myhostname-0.1.tar.gz">Version 0.1</a> -released. Initial release.</p> - -<h2><a name="overview">Overview</a></h2> - -<p><tt>nss-myhostname</tt> is a plugin for the GNU Name Service Switch -(NSS) functionality of the GNU C Library (<tt>glibc</tt>) providing -host name resolution for the locally configured system hostname as -returned by <tt>gethostname(2)</tt>. Various software relies on an -always resolvable local host name. When using dynamic hostnames this -is usually achieved by patching <tt>/etc/hosts</tt> at the same time -as changing the host name. This however is not ideal since it requires -a writable <tt>/etc</tt> file system and is fragile because the file -might be edited by the administrator at the same -time. <tt>nss-myhostname</tt> simply returns all locally configure -public IP addresses, or -- if none are configured -- the IPv4 -address <tt>127.0.0.2</tt> (wich is on the local loopback) and the -IPv6 address <tt>::1</tt> (which is the local host) for whatever -system hostname is configured locally. Patching <tt>/etc/hosts</tt> -is thus no longer necessary.</p> - -<h2><a name="status">Current Status</a></h2> - -<p>It works!</p> - -<h2><a name="documentation">Documentation</a></h2> - -<p>After compiling and installing <tt>nss-myhostname</tt> you'll find a -new NSS modules in <tt>/lib</tt>:</p> -<ul> -<li><tt>libnss_myhostname.so.2</tt></li> -</ul> - -<p>To activate the NSS modules you have to edit -<tt>/etc/nsswitch.conf</tt> and add <tt>myhostname</tt> to the -line starting with "<tt>hosts:</tt>". On Debian this looks like -this:</p> - -<pre># /etc/nsswitch.conf - -passwd:         compat -group:          compat -shadow:         compat - -hosts:          files dns <b>myhostname</b> -networks:       files - -protocols:      db files -services:       db files -ethers:         db files -rpc:            db files - -netgroup:       nis</pre> - -<p>That's it. You should now always be able to resolve your local -system hostname. For a quick check -use <tt>glibc</tt>'s <tt>getent</tt> tool: - -<pre>$ getent ahosts `hostname` -::1             STREAM omega -::1             DGRAM -::1             RAW -127.0.0.2       STREAM -127.0.0.2       DGRAM -127.0.0.2       RAW -</pre> - -<p>In this case the local host name is <i>omega</i>.</p> - -<p>It is recommended to put <tt>myhostname</tt> last in -the <tt>nsswitch.conf</tt> line to make sure that this mapping is only -used as fallback, and any DNS or <tt>/etc/hosts</tt> based mapping takes -precedence.</p> - -<h2><a name="requirements">Requirements</a></h2> - -<p><tt>nss-myhostname</tt> uses NSS interfaces that are specific to modern <tt>glibc</tt>'s.</p> - -<p><tt>nss-myhostname</tt> was developed and tested on Fedora 15 from -May 2011, it should work on most other Linux distributions since it -uses GNU autoconf and GNU libtool for source code configuration and -shared library management.</p> - -<h2><a name="installation">Installation</a></h2> - -<p>As this package is made with the GNU autotools you should run -<tt>./configure</tt> inside the distribution directory for configuring -the source tree. After that you should run <tt>make</tt> for -compilation and <tt>make install</tt> (as root) for installation of -<tt>nss-myhostname</tt>.</p> - -<h2><a name="acks">Acknowledgements</a></h2> - -<p>None so far.</p> - -<h2><a name="download">Download</a></h2> - -<p>The newest release is always available from <a href="@PACKAGE_URL@">@PACKAGE_URL@</a></p> - -<p>The current release is <a href="@PACKAGE_URL@nss-myhostname-@PACKAGE_VERSION@.tar.gz">@PACKAGE_VERSION@</a></p> - -<p>Get <tt>nss-myhostname</tt>'s development sources from the <a href="http://git.or.cz/">GIT</a> <a href="git://git.0pointer.de/nss-myhostname">repository</a> (<a href="http://git.0pointer.de/?p=nss-myhostname.git">gitweb</a>): </p> - -<pre>git clone git://git.0pointer.de/nss-myhostname</pre> - -<hr/> -<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, May 2011</address> - -</body> -</html> diff --git a/src/nss-myhostname/doc/style.css b/src/nss-myhostname/doc/style.css deleted file mode 100644 index 5cc21fd510..0000000000 --- a/src/nss-myhostname/doc/style.css +++ /dev/null @@ -1,25 +0,0 @@ -/*** -    This file is part of nss-myhostname. - -    Copyright 2008 Lennart Poettering - -    nss-myhostname is free software; you can redistribute it and/or -    modify it under the terms of the GNU Lesser General Public License -    as published by the Free Software Foundation, either version 2.1 -    of the License, or (at your option) any later version. - -    nss-myhostname is distributed in the hope that it will be useful, -    but WITHOUT ANY WARRANTY; without even the implied warranty of -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -    Lesser General Public License for more details. - -    You should have received a copy of the GNU Lesser General Public -    License along with nss-myhostname. If not, If not, see -    <http://www.gnu.org/licenses/>. -***/ - -body { color: black; background-color: white; } -a:link, a:visited { color: #900000; } -div.news-date { font-size: 80%; font-style: italic; } -pre { background-color: #f0f0f0; padding: 0.4cm; } -.grey { color: #8f8f8f; font-size: 80%; } | 
