mirror of
https://github.com/systemd/systemd.git
synced 2025-02-22 09:57:34 +03:00
nss-myhostname: integrate documentation
Converted from html to xml and changed the style to fit into the other manpages.
This commit is contained in:
parent
d562955eac
commit
16eb4da97e
@ -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
|
man/systemd-journal-gatewayd.8: man/systemd-journal-gatewayd.service.8
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if HAVE_MYHOSTNAME
|
||||||
|
MANPAGES += \
|
||||||
|
man/nss-myhostname.8
|
||||||
|
endif
|
||||||
|
|
||||||
man/reboot.8: man/halt.8
|
man/reboot.8: man/halt.8
|
||||||
man/poweroff.8: man/halt.8
|
man/poweroff.8: man/halt.8
|
||||||
man/init.1: man/systemd.1
|
man/init.1: man/systemd.1
|
||||||
|
139
man/nss-myhostname.xml
Normal file
139
man/nss-myhostname.xml
Normal file
@ -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>
|
2
src/nss-myhostname/doc/.gitignore
vendored
2
src/nss-myhostname/doc/.gitignore
vendored
@ -1,2 +0,0 @@
|
|||||||
README
|
|
||||||
README.html
|
|
@ -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
|
|
@ -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>
|
|
@ -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%; }
|
|
Loading…
x
Reference in New Issue
Block a user