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%; } |