Initial import.

This commit is contained in:
Jiří Popelka 2009-12-08 08:20:09 +00:00
parent fe1e9293ab
commit 4e3f7fa0a2
7 changed files with 673 additions and 0 deletions

View File

@ -0,0 +1 @@
hostname_3.01.tar.gz

193
hostname-initial.patch Normal file
View File

@ -0,0 +1,193 @@
diff -up hostname/hostname.1.initial hostname/hostname.1
--- hostname/hostname.1.initial 2009-09-22 14:21:50.000000000 +0200
+++ hostname/hostname.1 2009-11-06 16:30:20.000000000 +0100
@@ -91,6 +91,33 @@ will print the domain part of the FQDN (
complete FQDN of the system is returned with
.BR "hostname \-\-fqdn" .
+.LP
+The function
+.BR gethostname(2)
+is used to get the hostname. When the
+.BR "hostname \-a, \-d, \-f or \-i"
+is called will
+.BR gethostbyname(3)
+be called. The difference in
+.BR gethostname(2)
+and
+.BR gethostbyname(3)
+is that
+.BR gethostbyname(3)
+is network aware, so it consults
+.IR /etc/nsswitch.conf
+and
+.IR /etc/host.conf
+to decide whether to read information in
+.IR /etc/sysconfig/network
+or
+.IR /etc/hosts
+
+To add another dimension to this,
+the
+.B hostname
+is also set when the network interface is brought up.
+
.SS "SET NAME"
When called with one argument or with the
.B \-\-file
@@ -106,7 +133,7 @@ and
use the
.BR setdomainname (2).
Note that this is effective only until the next reboot.
-Edit /etc/hostname for permanent change.
+After reboot original names from \fI/etc/hosts\fR are used again.
.LP
Note, that only the super-user can change the names.
.LP
@@ -117,10 +144,10 @@ command (see
below).
.LP
The host name is usually set once at system startup in
-.I /etc/init.d/hostname.sh
+.I /etc/rc.d/rc.sysinit
(normally by reading the contents of a file which contains
the host name, e.g.
-.IR /etc/hostname ).
+.IR /etc/sysconfig/network ).
.SS THE FQDN
You can't change the FQDN (as returned by
@@ -185,7 +212,7 @@ Display the short host name. This is the
Print version information on standard output and exit successfully.
.TP
.I "\-v, \-\-verbose"
-Be verbose and tell what's going on.
+Verbose output was removed.
.TP
.I "\-y, \-\-yp, \-\-nis"
Display the NIS domain name. If a parameter is given (or
@@ -203,9 +230,7 @@ option in
.BR /etc/resolv.conf .
.SH FILES
.B /etc/hosts
-
-.B /etc/hostname
-This file should only contain the hostname and not the full FQDN.
+.B /etc/sysconfig/network
.SH AUTHORS
Peter Tobias, <tobias@et-inf.fho-emden.de>
.br
diff -up hostname/hostname.c.initial hostname/hostname.c
--- hostname/hostname.c.initial 2009-10-27 13:19:28.000000000 +0100
+++ hostname/hostname.c 2009-11-06 16:14:23.000000000 +0100
@@ -43,7 +43,7 @@
#include <err.h>
#include <rpcsvc/ypclnt.h>
-#define VERSION "3.00"
+#define VERSION "3.01"
enum type_t { DEFAULT, DNS, FQDN, SHORT, ALIAS, IP, NIS, NIS_DEF };
@@ -112,7 +112,7 @@ localdomain()
* If something goes wrong, program exits.
*/
char *
-localhost()
+localhost(enum type_t type)
{
char *buf = 0;
size_t buf_len = 0;
@@ -134,10 +134,11 @@ localhost()
|| errno == ENAMETOOLONG);
/*
- * a hostname must not contain a dot, so if we find one,
+ * short hostname must not contain a dot, so if we find one,
* we also have a domain in here, which we better remove
*/
- *(strchrnul(buf, '.')) = '\0';
+ if (type == SHORT)
+ *(strchrnul(buf, '.')) = '\0';
/* gethostname failed, abort. */
if (myerror)
@@ -257,7 +258,7 @@ show_name(enum type_t type)
{
case DEFAULT:
case SHORT:
- printf("%s\n", localhost());
+ printf("%s\n", localhost(type));
break;
case NIS:
printf("%s\n", localdomain());
@@ -270,7 +271,7 @@ show_name(enum type_t type)
hints.ai_socktype = SOCK_DGRAM;
hints.ai_flags = AI_CANONNAME;
- if ((ret = getaddrinfo(localhost(), NULL, &hints, &res)) != 0)
+ if ((ret = getaddrinfo(localhost(type), NULL, &hints, &res)) != 0)
errx(1, "%s", gai_strerror(ret));
switch (type) {
@@ -278,7 +279,7 @@ show_name(enum type_t type)
struct hostent *hp;
int i;
- if ((hp = gethostbyname(localhost())) == NULL)
+ if ((hp = gethostbyname(localhost(type))) == NULL)
errx(1, "%s", hstrerror(h_errno));
for (i = 0; hp->h_aliases[i]; i++) {
@@ -449,7 +450,7 @@ main(int argc, char **argv)
if (boot && (name == NULL || name[0] == '\0')) {
free(name);
- name = localhost();
+ name = localhost(type);
if (name[0] == '\0' || !strcmp(name,"(none)"))
strcpy(name, "localhost");
}
diff -up hostname/Makefile.initial hostname/Makefile
--- hostname/Makefile.initial 2009-09-22 14:21:50.000000000 +0200
+++ hostname/Makefile 2009-11-06 16:14:23.000000000 +0100
@@ -7,26 +7,28 @@ OBJS=hostname.o
hostname: $(OBJS)
$(CC) $(CFLAGS) -o $@ $(OBJS) -lnsl
- ln -fs hostname dnsdomainname
- ln -fs hostname domainname
- ln -fs hostname ypdomainname
- ln -fs hostname nisdomainname
install: hostname
install -d ${BASEDIR}/usr/share/man/man1
- install -o root -g root -m 0644 hostname.1 ${BASEDIR}/usr/share/man/man1
+ install -m 0644 hostname.1 ${BASEDIR}/usr/share/man/man1
ln -fs hostname.1 ${BASEDIR}/usr/share/man/man1/dnsdomainname.1
ln -fs hostname.1 ${BASEDIR}/usr/share/man/man1/domainname.1
ln -fs hostname.1 ${BASEDIR}/usr/share/man/man1/ypdomainname.1
ln -fs hostname.1 ${BASEDIR}/usr/share/man/man1/nisdomainname.1
- install -o root -g root -m 0644 hostname.1.fr ${BASEDIR}/usr/share/man/fr/man1/hostname.1
+ install -d ${BASEDIR}/usr/share/man/fr/man1
+ install -m 0644 hostname.1.fr ${BASEDIR}/usr/share/man/fr/man1/hostname.1
+ ln -fs hostname.1 ${BASEDIR}/usr/share/man/fr/man1/dnsdomainname.1
+ ln -fs hostname.1 ${BASEDIR}/usr/share/man/fr/man1/domainname.1
+ ln -fs hostname.1 ${BASEDIR}/usr/share/man/fr/man1/ypdomainname.1
+ ln -fs hostname.1 ${BASEDIR}/usr/share/man/fr/man1/nisdomainname.1
+
install -d ${BASEDIR}/bin
- install -o root -g root -m 0755 hostname ${BASEDIR}/bin
- ln -f hostname ${BASEDIR}/bin/dnsdomainname
- ln -f hostname ${BASEDIR}/bin/domainname
- ln -f hostname ${BASEDIR}/bin/nisdomainname
- ln -f hostname ${BASEDIR}/bin/ypdomainname
+ install -m 0755 hostname ${BASEDIR}/bin
+ ln -fs hostname ${BASEDIR}/bin/dnsdomainname
+ ln -fs hostname ${BASEDIR}/bin/domainname
+ ln -fs hostname ${BASEDIR}/bin/nisdomainname
+ ln -fs hostname ${BASEDIR}/bin/ypdomainname
clean:
-rm -f $(OBJS) hostname dnsdomainname domainname nisdomainname ypdomainname

216
hostname.1.de Normal file
View File

@ -0,0 +1,216 @@
.\"
.\" Original by ??
.\"
.\" German translation by Ralf Baechle (ralf@gnu.org)
.\"
.TH HOSTNAME 1 "6. M\(:arz 1999" "net-tools" "Handbuch f\(:ur Linuxprogrammierer"
.SH NAME
hostname \- den Rechnernamen anzeigen oder setzen.
.br
domainname \- den NIS/YP Domainnamen anzeigen oder setzen
.br
dnsdomainname \- den DNS Domainnamen des Systems anzeigen
.br
nisdomainname \- den NIS/YP Domainnamen anzeigen oder setzen
.br
ypdomainname \- den NIS/YP Domainnamen anzeigen oder setzen
.SH SYNOPSIS
.B hostname
.RB [ \-v ]
.RB [ \-a ]
.RB [ \-\-alias ]
.RB [ \-d ]
.RB [ \-\-domain ]
.RB [ \-f ]
.RB [ \-\-fqdn ]
.RB [ \-i ]
.RB [ \-\-ip-address ]
.RB [ \-\-long ]
.RB [ \-s ]
.RB [ \-\-short ]
.RB [ \-y ]
.RB [ \-\-yp ]
.RB [ \-\-nis ]
.RB [ \-n ]
.RB [ \-\-node ]
.PP
.B hostname
.RB [ \-v ]
.RB [ \-F\ Dateiname ]
.RB [ \-\-file\ Dateiname ]
.RB [ Rechnername ]
.PP
.B domainname
.RB [ \-v ]
.RB [ \-F\ Dateiname ]
.RB [ \-\-file\ Dateiname ]
.RB [ Name ]
.PP
.B nodename
.RB [ \-v ]
.RB [ \-F\ Dateiname ]
.RB [ \-\-file\ Dateiname ]
.RB [ Name ]
.PP
.B hostname
.RB [ \-v ]
.RB [ \-h ]
.RB [ \-\-help ]
.RB [ \-V ]
.RB [ \-\-version ]
.PP
.B dnsdomainname
.RB [ \-v ]
.br
.B nisdomainname
.RB [ \-v ]
.br
.B ypdomainname
.RB [ \-v ]
.SH BESCHREIBUNG
.B Hostname
ist das Programm, das zum Anzeigen oder setzen des aktuellen Host-, Domain-,
oder Knotennamens des Systems verwendet wird. Diese Namen werden von vielen
der Netzwerksprogrammen zur Identifikation der Maschine verwendet.
Au\(sserdem wird der Domainname von NIS/YP verwendet.
.SS "NAMEN AUSLESEN"
Wenn ohne Argumente augerufen, zeigen die Programme den aktuellen Namen an:
.LP
.B hostname
zeigt den aktuellen Rechnernamen des Systems, wie von der
.BR gethostname (2)
Funktion ermittelt wird, an.
.LP
.B "domainname, nisdomainname, ypdomainname"
zeigen den Namen des Systems, wie er von der
.BR getdomainname (2)
Funktion ermittelt wird, an. Dieser Name wird auch der YP/NIS Domainname
des Systems genannt.
.LP
.B dnsdomainname
druckt den Domainteil des FQDN (Fully Qualified Domain Name oder zu deutsch
vollst\(:andig spezifizierter Domainname) aus. Der vollst\(:andige FQDN
des Systems wird von
.B "hostname \-\-fqdn"
ausgegeben.
.SS "NAME SETZEN"
Wenn mit nur einem Argument oder mit der
.B \-\-file
Option aufgerufen, dann setzen diese Kommandos den Rechnernamen oder den NIS/YP
Domainnamen.
.LP
Nur der Superuser darf den Namen \(:andern.
.LP
Es ist nicht m\(:ogich den FQDN oder den DNS Domainnamen mit dem
.B dnsdomainname
Befehl (Siehe
.B "Der FQDN"
unten) zu setzen.
.LP
Der Rechnername wird \(:ublicherweise einmal beim Systemstart in
.I /etc/rc.d/rc.inet1
or
.I /etc/init.d/boot
gesetzt. Der Rechnername wird dabei \(:ublicherweise aus einer Datei
die den Rechnernamen, z.B.
.I /etc/HOSTNAME
gesetzt.
.SS DER FQDN
Der FQDN (wie er von
.B "hostname \-\-fqdn"
ausgegeben wird)
oder der DNS-Domainname (wie er von
.B "dnsdomainname"
ausgegeben wird)
kann nicht mit diesem Befehl ge\(:andert werden. Der FQDN eines Systems ist
der Name, den der
.BR resolver (3)
als den Namen des Systems zur\(:uckgibt.
.LP
Technisch: Der FQDN ist der Name, den
.BR gethostbyname (2)
f\(:ur den Rechnernamen zur\(:uckgibt, den
.B gethostname (2)
zur\(:uckgibt.
Der DNS-Domainname ist der Teil nach dem ersten Punkt.
.LP
Deshalb h\(:angt es \(:ublicherweise von der Konfiguration in
.IR /etc/host.conf )
wie der Name ge\(:andert werden kann. \(:Ublicherweise (wenn die Hosts Datei
gelesen wird, bevor auf DNS oder NIS/YP zugegriffen wird) kann er in
.I /etc/hosts
ge\(:andert werden.
.SH OPTIONEN
.TP
.I "\-a, \-\-alias"
Den Aliasnamen des Rechners ausgeben, falls benutzt.
.TP
.I "\-d, \-\-domain"
Den Namen der DNS-Domain ausgeben. Der Befehl
.B domainname
kann nicht dazu verwendet werden um den Namen der DNS-Dom\(:ane auszugeben,
da er den NIS Domainname und nicht den DNS Domainnamen ausgibt. Zu diesem
Zweck dient der Befehl
.BR dnsdomainname .
.TP
.I "\-F, \-\-file filename"
Den Rechnernamen aus der angegebenen Datei lesen. Zeilen, die mit einem
#-Zeichen anfangen sind Kommentare und werden ignoriert.
.TP
.I "\-f, \-\-fqdn, \-\-long"
Den FQDN (Fully Qualified Domain Name) anzeigen. Ein FQDN besteht aus einem
kurzen Rechnernamen ohne Punkt und dem DNS-Domainnamen. Au\(sser wenn BIND
oder NIS zum Aufl\(:osen von Rechnernamen verwendet wird, kann der FQDN und
der DNS-Domainname, der Teil des FQDN ist, in der Datei \fI/etc/hosts\fR
ge\(:andert werden.
.TP
.I "\-h, \-\-help"
Kurzanleitung ausdrucken und beenden.
.TP
.I "\-i, \-\-ip-address"
Die IP-Adresse(n) des Rechners anzeigen und beenden.
.TP
.I "\-s, \-\-short"
Den Kurznamen anzeigen. Dies ist der ab dem ersten Punkt abgeschnittene
Rechnername.
.TP
.I "\-V, \-\-version"
Versionsinformation auf der Standardausgabe ausgeben und erfolgreich beenden.
.TP
.I "\-v, \-\-verbose"
Ausf\(:uhrlichere Ausgaben.
.TP
.I "\-y, \-\-yp, \-\-nis"
Den NIS-Domainnamen anzeigen. Wenn ein Argument oder die
.B \-\-file name
Option gegeben wird, dann kann Root auch eine neue NIS-Domain setzen.
.SH DATEIEN
.B /etc/hosts
.SH AUTOREN
Peter Tobias, <tobias@et-inf.fho-emden.de>
.br
Bernd Eckenfels, <net-tools@lina.inka.de> (NIS and manpage).
.br
Steve Whitehouse, <SteveW@ACM.org> (DECnet support and manpage).
.SH \(:Ubersetzung
Ralf B\(:achle <ralf@gnu.org>

191
hostname.1.pt Normal file
View File

@ -0,0 +1,191 @@
.TH HOSTNAME 1 "28 de janeiro de 1996" "net-tools" "Manual do Programador Linux"
.SH NOME
hostname \- mostra ou configura o nome da máquina
.BR
domainname \- mostra ou configura o nome do domínio NIS/YP
.BR
dnsdomainname \- mostra o nome do domínio DNS
.BR
nisdomainname \- mostra ou configura o nome do domínio NIS/YP
.BR
ypdomainname \- mostra ou configura o nome do domínio NIS/YP
.SH SINOPSE
.B hostname
.RB [ \-v ]
.RB [ \-a ]
.RB [ \-\-alias ]
.RB [ \-d ]
.RB [ \-\-domain ]
.RB [ \-f ]
.RB [ \-\-fqdn ]
.RB [ \-i ]
.RB [ \-\-ip-address ]
.RB [ \-\-long ]
.RB [ \-s ]
.RB [ \-\-short ]
.RB [ \-y ]
.RB [ \-\-yp ]
.RB [ \-\-nis ]
.PP
.B hostname
.RB [ \-v ]
.RB [ \-F\ arquivo ]
.RB [ \-\-file\ arquivo ]
.RB [ máquina ]
.PP
.B domainname
.RB [ \-v ]
.RB [ \-F\ filename ]
.RB [ \-\-file\ nome_arquivo ]
.RB [ nome ]
.PP
.B hostname
.RB [ \-v ]
.RB [ \-h ]
.RB [ \-\-help ]
.RB [ \-V ]
.RB [ \-\-version ]
.PP
.B dnsdomainname
.RB [ \-v ]
.LP
.B nisdomainname
.RB [ \-v ]
.LP
.B ypdomainname
.RB [ \-v ]
.SH DESCRIÇÃO
.B hostname
é o programa usado para configurar ou mostrar o nome corrente da máquina
ou o domínio do sistema. Este nome é usado por muitos dos programas de
rede para identificar a máquina. O nome do domínio também é usado pelo
NIS/YP.
.SS "OBTER NOME"
Quando chamado sem argumentos o programa mostra os nomes correntes:
.LP
.B hostname
mostrará o nome do sistema conforme retornado pela função
.BR gethostname (2).
.LP
.B "domainname, nisdomainname, ypdomainname"
mostrará o nome do sistema conforme retornado pela função
.BR getdomainname (2).
Isto também é conhecido como o nome de domínio YP/NIS do sistema.
.LP
.B dnsdomainname
mostrara a parte do domínio do FQDN (Nome de domínio completamente qualificado).
O FQDN do sistema é retornado pelo comando
.BR "hostname \-\-fqdn" .
.SS "CONFIGURAR NOME"
Quando chamado com um argumento ou com a opção
.B \-\-file
, o comando configura o nome da máquina ou do domínio NIS/YP.
.LP
Note que somente o super usuário pode mudar os nomes.
.LP
Nao é possível configurar o FQDN ou o nome do domínio DNS com o comando
.B dnsdomainname
(veja
.B "O FQDN"
abaixo).
.LP
O nome da máquina é normalmente configurado durante a inicialização do sistema,
em
.I /etc/rc.d/rc.inet1
ou
.I /etc/init.d/boot
(normalmente lendo o conteúdo de um arquivo que contém o nome da máquina, ex.:
.IR /etc/hostname ).
.SS O FQDN
Você não pode mudar o FQDN (conforme retornado por
.BR "hostname \-\-fqdn" )
ou o nome do domínio DNS (conforme retornado por
.BR "dnsdomainname" )
com este comando. O FQDN do sistema é o nome que o
.BR resolver (3)
retorna para o nome da máquina.
.LP
Tecnicamente: O FQDN é o nome retornado pelo
.BR gethostbyname (2)
para o nome retornado pelo
.BR gethostname (2).
O nome do domínio DNS é a parte após o primeiro ponto.
.LP
Portanto isto depende da configuração (normalmente em
.IR /etc/host.conf )
para que você possa mudá-lo. Normalmente (se o arquivo hosts for lido antes
do DNS ou NIS) você pode mudá-lo em
.IR /etc/hosts .
.SH OPÇÕES
.TP
.I "\-a, \-\-alias"
Mostra o alias da máquina (se usado).
.TP
.I "\-d, \-\-domain"
Mostra o nome do domínio DNS. Não use o comando
.B domainname
para obter o nome do domínio DNS porque ele mostrará o nome do domínio NIS e
não o nome do domínio DNS. Use
.BR dnsdomainname .
.TP
.I "\-F, \-\-file arquivo"
Leia o nome da máquina a partir do arquivo especificado. Comentários (linhas
começando com um `#') são ignorados.
.TP
.I "\-f, \-\-fqdn, \-\-long"
Mostra o FQDN (Nome de Domínio Completamente Qualificado). Um FQDN consiste de
um nome curto de máquina e do nome do domínio DNS. A menos que você esteja
usando bind ou NIS para resolução de nomes você pode mudar o FQDN e o nome
do domínio DNS (que é parte do FQDN) no arquivo \fI/etc/hosts\fR.
.TP
.I "\-h, \-\-help"
Mostra uma mensagem sobre como utilizar o comando e termina.
.TP
.I "\-i, \-\-ip-address"
Mostra o(s) endereço(s) IP da máquina.
.TP
.I "\-s, \-\-short"
Mostra o nome curto da máquina. É o nome da máquina até o primeiro ponto.
.TP
.I "\-V, \-\-version"
Mostra informação de versão na saída padrão e termina com sucesso.
.TP
.I "\-v, \-\-verbose"
Mostra uma saída detalhada do que está acontecendo.
.TP
.I "\-y, \-\-yp, \-\-nis"
Mostra o nome do domínio NIS. Se um parâmetro for especificado (ou
.B \-\-file arquivo
) então o root também pode configurar um novo domínio NIS.
.SH ARQUIVOS
.B /etc/hosts
.SH AUTOR
Peter Tobias, <tobias@et-inf.fho-emden.de>
.BR
Bernd Eckenfels, <net-tools@lina.inka.de> (NIS e página man).
.BR
Arnaldo Carvalho de Melo, <acme@conectiva.com.br> Tradução para a língua
portuguesa.
.BR
Jorge Luiz Godoy Filho, <jorge@bestway.com.br> Revisão.
.BR

70
hostname.spec Normal file
View File

@ -0,0 +1,70 @@
Summary: Utility to set/show the host name or domain name
Name: hostname
Version: 3.01
Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Base
URL: http://packages.qa.debian.org/h/hostname.html
Source0: http://ftp.de.debian.org/debian/pool/main/h/hostname/hostname_%{version}.tar.gz
Source1: hostname.1.pt
Source2: hostname.1.de
# Initial changes
Patch1: hostname-initial.patch
#net-tools < 1.60-100 includes hostname
Conflicts: net-tools < 1.60-100
%description
This package provides commands which can be used to display the system's
DNS name, and to display or set its hostname or NIS domain name.
%prep
%setup -q -n hostname
%patch1 -p1 -b .initial
#man pages conversion
#french
iconv -f iso-8859-1 -t utf-8 -o hostname.tmp hostname.1.fr && mv hostname.tmp hostname.1.fr
%build
export CFLAGS="$RPM_OPT_FLAGS $CFLAGS"
make
%install
make BASEDIR=%{buildroot} install
install -d %{buildroot}%{_mandir}/pt/man1
install -m 0644 %SOURCE1 %{buildroot}%{_mandir}/pt/man1/hostname.1
ln -fs hostname.1 %{buildroot}%{_mandir}/pt/man1/dnsdomainname.1
ln -fs hostname.1 %{buildroot}%{_mandir}/pt/man1/domainname.1
ln -fs hostname.1 %{buildroot}%{_mandir}/pt/man1/ypdomainname.1
ln -fs hostname.1 %{buildroot}%{_mandir}/pt/man1/nisdomainname.1
install -d %{buildroot}%{_mandir}/de/man1
install -m 0644 %SOURCE2 %{buildroot}%{_mandir}/de/man1/hostname.1
ln -fs hostname.1 %{buildroot}%{_mandir}/de/man1/dnsdomainname.1
ln -fs hostname.1 %{buildroot}%{_mandir}/de/man1/domainname.1
ln -fs hostname.1 %{buildroot}%{_mandir}/de/man1/ypdomainname.1
ln -fs hostname.1 %{buildroot}%{_mandir}/de/man1/nisdomainname.1
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%doc COPYRIGHT
/bin/*
%{_mandir}/man1/*
%{_mandir}/fr/man1/*
%{_mandir}/pt/man1/*
%{_mandir}/de/man1/*
%changelog
* Tue Nov 10 2009 Jiri Popelka <jpopelka@redhat.com> - 3.01-1
- Initial package. Up to now hostname has been part of net-tools package.
- This package is based on Debian's hostname because Debian has had hostname
as separate package since 1997 and the code is much better then the old one
contained in net-tools.

1
import.log Normal file
View File

@ -0,0 +1 @@
hostname-3_01-1_fc12:HEAD:hostname-3.01-1.src.rpm:1260260351

View File

@ -0,0 +1 @@
866c4250583960bf730fb7a8815dbb03 hostname_3.01.tar.gz