dracut-module-setup: get localhost alias by manual
'hostname -A' can not get the alias, meanwhile 'hostname -a' is deprecated. So we should do it by ourselves. The parsing is based on the format of /etc/hosts, i.e. IP_address canonical_hostname [aliases...] Signed-off-by: Pingfan Liu <piliu@redhat.com> Acked-by: Kairui Song <kasong@redhat.com>
This commit is contained in:
parent
d9c0c2f68f
commit
f0b5493b2e
@ -689,12 +689,31 @@ kdump_check_iscsi_targets () {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# hostname -a is deprecated, do it by ourself
|
||||||
|
get_alias() {
|
||||||
|
local ips
|
||||||
|
local entries
|
||||||
|
local alias_set
|
||||||
|
|
||||||
|
ips=$(hostname -I)
|
||||||
|
for ip in $ips
|
||||||
|
do
|
||||||
|
entries=$(grep $ip /etc/hosts | awk '{ $1=$2=""; print $0 }')
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
alias_set="$alias_set $entries"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo $alias_set
|
||||||
|
}
|
||||||
|
|
||||||
is_localhost() {
|
is_localhost() {
|
||||||
local hostnames=$(hostname -A)
|
local hostnames=$(hostname -A)
|
||||||
local shortnames=$(hostname -A -s)
|
local shortnames=$(hostname -A -s)
|
||||||
|
local aliasname=$(get_alias)
|
||||||
local nodename=$1
|
local nodename=$1
|
||||||
|
|
||||||
hostnames="$hostnames $shortnames"
|
hostnames="$hostnames $shortnames $aliasname"
|
||||||
|
|
||||||
for name in ${hostnames}; do
|
for name in ${hostnames}; do
|
||||||
if [ "$name" == "$nodename" ]; then
|
if [ "$name" == "$nodename" ]; then
|
||||||
|
Loading…
Reference in New Issue
Block a user