Magellan Linux

Annotation of /trunk/vzctl/magellan-set_hostname.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 272 - (hide annotations) (download) (as text)
Sat Jul 21 22:43:26 2007 UTC (17 years, 3 months ago) by niro
File MIME type: application/x-sh
File size: 1791 byte(s)
-magellan specific vzctl files

1 niro 272 #!/bin/bash
2     # Copyright (C) 2000-2007 SWsoft. All rights reserved.
3     #
4     # This program is free software; you can redistribute it and/or modify
5     # it under the terms of the GNU General Public License as published by
6     # the Free Software Foundation; either version 2 of the License, or
7     # (at your option) any later version.
8     #
9     # This program is distributed in the hope that it will be useful,
10     # but WITHOUT ANY WARRANTY; without even the implied warranty of
11     # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12     # GNU General Public License for more details.
13     #
14     # You should have received a copy of the GNU General Public License
15     # along with this program; if not, write to the Free Software
16     # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17     #
18     #
19     # This script sets hostname inside VE for Magellan like distros
20     # For usage info see vz-veconfig(5) man page.
21     #
22     # Some parameters are passed in environment variables.
23     # Required parameters:
24     # Optional parameters:
25     # HOSTNM
26     # Sets host name for this VE. Modifies /etc/hosts and
27     # /etc/sysconfig/network (in RedHat) or /etc/rc.config (in SuSE)
28    
29     function set_host()
30     {
31     local cfgfile="$1"
32     local var=$2
33     local val=$3
34     local host=
35    
36     [ -z "${val}" ] && return 0
37     if grep -q -E "[[:space:]]${val}" ${cfgfile} 2>/dev/null; then
38     return;
39     fi
40     if echo "${val}" | grep "\." >/dev/null 2>&1; then
41     host=${val%%.*}
42     fi
43     host=" ${val} ${host}"
44     put_param2 "${cfgfile}" "${var}" "${host} localhost localhost.localdomain"
45     }
46    
47     function set_hostname()
48     {
49     local cfgfile=$1
50     local hostname=$2
51    
52     [ -z "${hostname}" ] && return 0
53     echo "${hostname}" > ${cfgfile}
54     hostname ${hostname}
55     }
56    
57     set_host /etc/hosts "127.0.0.1" "${HOSTNM}"
58     set_hostname /etc/hostname "${HOSTNM}"
59    
60     exit 0