05-03-2006
Creating a Unique ID on distributed systems
Hi,
How do you actually create a unique ID on a distributed system. I looked at gethostid but the man page says that its not guaranteed to be unique. Also using the IP address does not seem to be a feasible solution. Is there a function call or mechanism by which this is possible when even the time is not synchronized using NTP ?
Thanks
8 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am trying to think of a way to create user ids on multiple Linux systems in one fell swoop without logging onto each system indivually. Is there a way to do this with ssh commands? I don't want to use NIS/LDAP solution just a simple shell script utilitarian methodoloy would suffice. Also, I am... (1 Reply)
Discussion started by: darthur
1 Replies
2. Shell Programming and Scripting
hi all,
I'm trying to resolve a scenario where we prompt the user to enter 1 or more disk names.
From there we would run a command on each disk which would give its location.
This would allow us to create a list of disks at location A, a list of disks at location B,....etc...
Any help... (1 Reply)
Discussion started by: annie
1 Replies
3. UNIX for Dummies Questions & Answers
What is the correct mkfs syntax to create mirrored disk files systems? I need to make the file system 20gb. For example:
machine# mkfs -F ufs /dev/md/dsk/d40
size not specified
ufs usage: mkfs special size(sectors) \
-m : dump fs cmd line used to make this partition
-V : print this... (4 Replies)
Discussion started by: GLJ@USC
4 Replies
4. Shell Programming and Scripting
I have 84 files with the following names splitseqs.1, spliseqs.2 etc.
and I want to change the .number to a unique filename.
E.g.
change splitseqs.1 into splitseqs.7114_1#24
and
change spliseqs.2 into splitseqs.7067_2#4
So all the current file names are unique, so are the new file names.... (1 Reply)
Discussion started by: avonm
1 Replies
5. Shell Programming and Scripting
Hello,
I do not know if this is the right title to use. I have a large dictionary database which has the following structure:
where a b c d e are in English and p q r s t are in a target language., the two separated by the delimiter =.
What I am looking for is a perl script which will take... (5 Replies)
Discussion started by: gimley
5 Replies
6. Shell Programming and Scripting
Hi all,
I have created 3 arrays which can have common elements in each like-
arr_a contains str1 str2 str3 str4 str5
arr_b contains str3 str6 str7 str1 str8
arr_c contains str4 str9 str10 str2
each array is created with "set -A arr_name values" command. I want to create a resultant array-say... (1 Reply)
Discussion started by: sanzee007
1 Replies
7. Shell Programming and Scripting
Hello,
I have a database of name variants with the following structure:
variant=variant=variant
The number of variants can be as many as thirty to forty.
Since the database is quite large (at present around 60,000 lines) duplicate sets of variants creep in. Thus
John=Johann=Jon
and... (2 Replies)
Discussion started by: gimley
2 Replies
8. Linux
Hi all
I have a system running:
uname -o
GNU/Linux
that has already some file systems created:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_outsystemdb-lv_root
50G 2.7G 45G 6% /
tmpfs 28G 72K 28G 1%... (5 Replies)
Discussion started by: fretagi
5 Replies
LEARN ABOUT CENTOS
sethostid
GETHOSTID(3) Linux Programmer's Manual GETHOSTID(3)
NAME
gethostid, sethostid - get or set the unique identifier of the current host
SYNOPSIS
#include <unistd.h>
long gethostid(void);
int sethostid(long hostid);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
gethostid():
_BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
sethostid():
_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
DESCRIPTION
gethostid() and sethostid() respectively get or set a unique 32-bit identifier for the current machine. The 32-bit identifier is intended
to be unique among all UNIX systems in existence. This normally resembles the Internet address for the local machine, as returned by geth-
ostbyname(3), and thus usually never needs to be set.
The sethostid() call is restricted to the superuser.
RETURN VALUE
gethostid() returns the 32-bit identifier for the current host as set by sethostid().
On success, sethostid() returns 0; on error, -1 is returned, and errno is set to indicate the error.
ERRORS
sethostid() can fail with the following errors:
EACCES The caller did not have permission to write to the file used to store the host ID.
EPERM The calling process's effective user or group ID is not the same as its corresponding real ID.
CONFORMING TO
4.2BSD; these functions were dropped in 4.4BSD. SVr4 includes gethostid() but not sethostid(). POSIX.1-2001 specifies gethostid() but not
sethostid().
NOTES
In the glibc implementation, the hostid is stored in the file /etc/hostid. (In glibc versions before 2.2, the file /var/adm/hostid was
used.)
In the glibc implementation, if gethostid() cannot open the file containing the host ID, then it obtains the hostname using gethostname(2),
passes that hostname to gethostbyname_r(3) in order to obtain the host's IPv4 address, and returns a value obtained by bit-twiddling the
IPv4 address. (This value may not be unique.)
BUGS
It is impossible to ensure that the identifier is globally unique.
SEE ALSO
hostid(1), gethostbyname(3)
COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2010-09-20 GETHOSTID(3)