Hi, On Fri Sep 02, 2011 at 13:42:57 +0100, Michael Tautschnig wrote: [...] > Please don't worry about the exact package, but your assessment about this > perl > script being executed is fully correct. May I ask you to add additional debug > output in > > <YOUR NFSROOT>/usr/lib/fai/dhclient-perl > > via simple > > print "# some output\n" > > statements? All of this should end up as comments in boot.log.
ok, I added some print statements to dhclient-perl, just as you suggested. Unfortunately, it now prints most of the information multiple times. Anyway, I attached the boot.log for both cases (nis-domain "my-NIS-Domain+01" -> nis_domain_with_plus_-_boot.log and nis-domain "my-NIS-Domain-01" -> nis_domain_with_minus_-_boot.log). I also attached my version of dhclient-perl as a reference on how the boot.log files were created. > I believe that the key point must be the test in line 65 ("if > ($ENV{$dhcpname}) ..."), which should evaluate to true in case your > NIS domain doesn't contain a "+", but evaluates to false otherwise. > You might also want to print the entire contents of the %ENV hash at > this point. > It indeed looks very much like the problem occurs during the evaluation of $ENV{$dhcpname}. I already tried to "escape" this part, like "$ENV{$dhcpname}" and \Q$ENV{$dhcpname}\E, but neither worked. It even lead to a nearly empty boot.log file, which just contained the three "netdevices" lines. Any ideas? Have a nice weekend! Cheers, Michael
netdevices_all="eth0" netdevices_up="eth0" netdevices="eth0" # Printing ENVIRONMENT: # --------------------- # $envkey = 'pid' # $ENV{$envkey} = '769' # $envkey = 'PWD' # $ENV{$envkey} = '/' # $envkey = 'reason' # $ENV{$envkey} = 'PREINIT' # $envkey = 'interface' # $ENV{$envkey} = 'eth0' # Enf of ENVIRONMENT # initial $ENV{new_host_name} = '' # after 'use shot host name' $ENV{new_host_name} = '' # $name = 'broadcast_address' # $dhcpname was '' # $dhcpname now is 'new_broadcast_address' # $name = 'domain_name' # $dhcpname was 'new_broadcast_address' # $dhcpname now is 'new_domain_name' # $name = 'domain_name_servers' # $dhcpname was 'new_domain_name' # $dhcpname now is 'new_domain_name_servers' # $name = 'fai_action' # $dhcpname was 'new_domain_name_servers' # $dhcpname now is 'new_fai_action' # $name = 'fai_config_src' # $dhcpname was 'new_fai_action' # $dhcpname now is 'new_fai_config_src' # $name = 'fai_flags' # $dhcpname was 'new_fai_config_src' # $dhcpname now is 'new_fai_flags' # $name = 'host_name' # $dhcpname was 'new_fai_flags' # $dhcpname now is 'new_host_name' # $name = 'ip_address' # $dhcpname was 'new_host_name' # $dhcpname now is 'new_ip_address' # $name = 'network_number' # $dhcpname was 'new_ip_address' # $dhcpname now is 'new_network_number' # $name = 'nis_domain' # $dhcpname was 'new_network_number' # $dhcpname now is 'new_nis_domain' # $name = 'nis_servers' # $dhcpname was 'new_nis_domain' # $dhcpname now is 'new_nis_servers' # $name = 'ntp_servers' # $dhcpname was 'new_nis_servers' # $dhcpname now is 'new_ntp_servers' # $name = 'option_170' # $dhcpname was 'new_ntp_servers' # $dhcpname now is 'new_option_170' # $name = 'option_171' # $dhcpname was 'new_option_170' # $dhcpname now is 'new_option_171' # $name = 'option_172' # $dhcpname was 'new_option_171' # $dhcpname now is 'new_option_172' # $name = 'option_173' # $dhcpname was 'new_option_172' # $dhcpname now is 'new_option_173' # $name = 'option_174' # $dhcpname was 'new_option_173' # $dhcpname now is 'new_option_174' # $name = 'option_175' # $dhcpname was 'new_option_174' # $dhcpname now is 'new_option_175' # $name = 'routers' # $dhcpname was 'new_option_175' # $dhcpname now is 'new_routers' # $name = 'server_name' # $dhcpname was 'new_routers' # $dhcpname now is 'new_server_name' # $name = 'subnet_mask' # $dhcpname was 'new_server_name' # $dhcpname now is 'new_subnet_mask' # $name = 'time_servers' # $dhcpname was 'new_subnet_mask' # $dhcpname now is 'new_time_servers' # Again printing the ENVIRONMENT: # ------------------------------- # $envkey = 'pid' # $ENV{$envkey} = '769' # $envkey = 'new_host_name' # $ENV{$envkey} = '' # $envkey = 'PWD' # $ENV{$envkey} = '/' # $envkey = 'reason' # $ENV{$envkey} = 'PREINIT' # $envkey = 'interface' # $ENV{$envkey} = 'eth0' # Enf of ENVIRONMENT # Printing ENVIRONMENT: # --------------------- # $envkey = 'new_domain_name_servers' # $ENV{$envkey} = '192.168.0.11 192.168.0.12 192.168.0.13' # $envkey = 'new_routers' # $ENV{$envkey} = '192.168.0.1' # $envkey = 'new_host_name' # $ENV{$envkey} = 'demo0' # $envkey = 'new_filename' # $ENV{$envkey} = 'fai/pxelinux.0' # $envkey = 'new_dhcp_message_type' # $ENV{$envkey} = '5' # $envkey = 'new_expiry' # $ENV{$envkey} = '1314978363' # $envkey = 'new_network_number' # $ENV{$envkey} = '192.168.0.0' # $envkey = 'new_dhcp_lease_time' # $ENV{$envkey} = '600' # $envkey = 'pid' # $ENV{$envkey} = '769' # $envkey = 'new_ntp_servers' # $ENV{$envkey} = '192.168.0.2' # $envkey = 'PWD' # $ENV{$envkey} = '/' # $envkey = 'interface' # $ENV{$envkey} = 'eth0' # $envkey = 'new_nis_servers' # $ENV{$envkey} = '192.168.0.2' # $envkey = 'new_dhcp_server_identifier' # $ENV{$envkey} = '192.168.0.2' # $envkey = 'reason' # $ENV{$envkey} = 'BOUND' # $envkey = 'new_ip_address' # $ENV{$envkey} = '192.168.0.101' # $envkey = 'new_subnet_mask' # $ENV{$envkey} = '255.255.255.0' # $envkey = 'new_domain_name' # $ENV{$envkey} = 'my.network.domain' # $envkey = 'new_server_name' # $ENV{$envkey} = '192.168.0.10' # $envkey = 'new_broadcast_address' # $ENV{$envkey} = '192.168.0.255' # Enf of ENVIRONMENT # initial $ENV{new_host_name} = 'demo0' # after 'use shot host name' $ENV{new_host_name} = 'demo0' # $name = 'broadcast_address' # $dhcpname was '' # $dhcpname now is 'new_broadcast_address' # $ENV{$dhcpname} = '192.168.0.255' BROADCAST='192.168.0.255' # $name = 'domain_name' # $dhcpname was 'new_broadcast_address' # $dhcpname now is 'new_domain_name' # $ENV{$dhcpname} = 'my.network.domain' DOMAIN='my.network.domain' # $name = 'domain_name_servers' # $dhcpname was 'new_domain_name' # $dhcpname now is 'new_domain_name_servers' # $ENV{$dhcpname} = '192.168.0.11 192.168.0.12 192.168.0.13' DNSSRVS='192.168.0.11 192.168.0.12 192.168.0.13' DNSSRVS_1='192.168.0.11' DNSSRVS_2='192.168.0.12' DNSSRVS_3='192.168.0.13' # $name = 'fai_action' # $dhcpname was 'new_domain_name_servers' # $dhcpname now is 'new_fai_action' # $name = 'fai_config_src' # $dhcpname was 'new_fai_action' # $dhcpname now is 'new_fai_config_src' # $name = 'fai_flags' # $dhcpname was 'new_fai_config_src' # $dhcpname now is 'new_fai_flags' # $name = 'host_name' # $dhcpname was 'new_fai_flags' # $dhcpname now is 'new_host_name' # $ENV{$dhcpname} = 'demo0' HOSTNAME='demo0' # $name = 'ip_address' # $dhcpname was 'new_host_name' # $dhcpname now is 'new_ip_address' # $ENV{$dhcpname} = '192.168.0.101' IPADDR='192.168.0.101' # $name = 'network_number' # $dhcpname was 'new_ip_address' # $dhcpname now is 'new_network_number' # $ENV{$dhcpname} = '192.168.0.0' NETWORK='192.168.0.0' # $name = 'nis_domain' # $dhcpname was 'new_network_number' # $dhcpname now is 'new_nis_domain' # $name = 'nis_servers' # $dhcpname was 'new_nis_domain' # $dhcpname now is 'new_nis_servers' # $ENV{$dhcpname} = '192.168.0.2' YPSRVR='192.168.0.2' YPSRVR_1='192.168.0.2' # $name = 'ntp_servers' # $dhcpname was 'new_nis_servers' # $dhcpname now is 'new_ntp_servers' # $ENV{$dhcpname} = '192.168.0.2' NTPSRVS='192.168.0.2' NTPSRVS_1='192.168.0.2' # $name = 'option_170' # $dhcpname was 'new_ntp_servers' # $dhcpname now is 'new_option_170' # $name = 'option_171' # $dhcpname was 'new_option_170' # $dhcpname now is 'new_option_171' # $name = 'option_172' # $dhcpname was 'new_option_171' # $dhcpname now is 'new_option_172' # $name = 'option_173' # $dhcpname was 'new_option_172' # $dhcpname now is 'new_option_173' # $name = 'option_174' # $dhcpname was 'new_option_173' # $dhcpname now is 'new_option_174' # $name = 'option_175' # $dhcpname was 'new_option_174' # $dhcpname now is 'new_option_175' # $name = 'routers' # $dhcpname was 'new_option_175' # $dhcpname now is 'new_routers' # $ENV{$dhcpname} = '192.168.0.1' GATEWAYS='192.168.0.1' GATEWAYS_1='192.168.0.1' # $name = 'server_name' # $dhcpname was 'new_routers' # $dhcpname now is 'new_server_name' # $ENV{$dhcpname} = '192.168.0.10' SERVER='192.168.0.10' # $name = 'subnet_mask' # $dhcpname was 'new_server_name' # $dhcpname now is 'new_subnet_mask' # $ENV{$dhcpname} = '255.255.255.0' NETMASK='255.255.255.0' # $name = 'time_servers' # $dhcpname was 'new_subnet_mask' # $dhcpname now is 'new_time_servers' # Again printing the ENVIRONMENT: # ------------------------------- # $envkey = 'new_domain_name_servers' # $ENV{$envkey} = '192.168.0.11 192.168.0.12 192.168.0.13' # $envkey = 'new_routers' # $ENV{$envkey} = '192.168.0.1' # $envkey = 'new_host_name' # $ENV{$envkey} = 'demo0' # $envkey = 'new_filename' # $ENV{$envkey} = 'fai/pxelinux.0' # $envkey = 'new_dhcp_message_type' # $ENV{$envkey} = '5' # $envkey = 'new_expiry' # $ENV{$envkey} = '1314978363' # $envkey = 'new_network_number' # $ENV{$envkey} = '192.168.0.0' # $envkey = 'new_dhcp_lease_time' # $ENV{$envkey} = '600' # $envkey = 'pid' # $ENV{$envkey} = '769' # $envkey = 'new_ntp_servers' # $ENV{$envkey} = '192.168.0.2' # $envkey = 'PWD' # $ENV{$envkey} = '/' # $envkey = 'interface' # $ENV{$envkey} = 'eth0' # $envkey = 'new_nis_servers' # $ENV{$envkey} = '192.168.0.2' # $envkey = 'new_dhcp_server_identifier' # $ENV{$envkey} = '192.168.0.2' # $envkey = 'reason' # $ENV{$envkey} = 'BOUND' # $envkey = 'new_ip_address' # $ENV{$envkey} = '192.168.0.101' # $envkey = 'new_subnet_mask' # $ENV{$envkey} = '255.255.255.0' # $envkey = 'new_domain_name' # $ENV{$envkey} = 'my.network.domain' # $envkey = 'new_server_name' # $ENV{$envkey} = '192.168.0.10' # $envkey = 'new_broadcast_address' # $ENV{$envkey} = '192.168.0.255' # Enf of ENVIRONMENT
netdevices_all="eth0" netdevices_up="eth0" netdevices="eth0" # Printing ENVIRONMENT: # --------------------- # $envkey = 'pid' # $ENV{$envkey} = '780' # $envkey = 'PWD' # $ENV{$envkey} = '/' # $envkey = 'reason' # $ENV{$envkey} = 'PREINIT' # $envkey = 'interface' # $ENV{$envkey} = 'eth0' # Enf of ENVIRONMENT # initial $ENV{new_host_name} = '' # after 'use shot host name' $ENV{new_host_name} = '' # $name = 'broadcast_address' # $dhcpname was '' # $dhcpname now is 'new_broadcast_address' # $name = 'domain_name' # $dhcpname was 'new_broadcast_address' # $dhcpname now is 'new_domain_name' # $name = 'domain_name_servers' # $dhcpname was 'new_domain_name' # $dhcpname now is 'new_domain_name_servers' # $name = 'fai_action' # $dhcpname was 'new_domain_name_servers' # $dhcpname now is 'new_fai_action' # $name = 'fai_config_src' # $dhcpname was 'new_fai_action' # $dhcpname now is 'new_fai_config_src' # $name = 'fai_flags' # $dhcpname was 'new_fai_config_src' # $dhcpname now is 'new_fai_flags' # $name = 'host_name' # $dhcpname was 'new_fai_flags' # $dhcpname now is 'new_host_name' # $name = 'ip_address' # $dhcpname was 'new_host_name' # $dhcpname now is 'new_ip_address' # $name = 'network_number' # $dhcpname was 'new_ip_address' # $dhcpname now is 'new_network_number' # $name = 'nis_domain' # $dhcpname was 'new_network_number' # $dhcpname now is 'new_nis_domain' # $name = 'nis_servers' # $dhcpname was 'new_nis_domain' # $dhcpname now is 'new_nis_servers' # $name = 'ntp_servers' # $dhcpname was 'new_nis_servers' # $dhcpname now is 'new_ntp_servers' # $name = 'option_170' # $dhcpname was 'new_ntp_servers' # $dhcpname now is 'new_option_170' # $name = 'option_171' # $dhcpname was 'new_option_170' # $dhcpname now is 'new_option_171' # $name = 'option_172' # $dhcpname was 'new_option_171' # $dhcpname now is 'new_option_172' # $name = 'option_173' # $dhcpname was 'new_option_172' # $dhcpname now is 'new_option_173' # $name = 'option_174' # $dhcpname was 'new_option_173' # $dhcpname now is 'new_option_174' # $name = 'option_175' # $dhcpname was 'new_option_174' # $dhcpname now is 'new_option_175' # $name = 'routers' # $dhcpname was 'new_option_175' # $dhcpname now is 'new_routers' # $name = 'server_name' # $dhcpname was 'new_routers' # $dhcpname now is 'new_server_name' # $name = 'subnet_mask' # $dhcpname was 'new_server_name' # $dhcpname now is 'new_subnet_mask' # $name = 'time_servers' # $dhcpname was 'new_subnet_mask' # $dhcpname now is 'new_time_servers' # Again printing the ENVIRONMENT: # ------------------------------- # $envkey = 'pid' # $ENV{$envkey} = '780' # $envkey = 'new_host_name' # $ENV{$envkey} = '' # $envkey = 'PWD' # $ENV{$envkey} = '/' # $envkey = 'reason' # $ENV{$envkey} = 'PREINIT' # $envkey = 'interface' # $ENV{$envkey} = 'eth0' # Enf of ENVIRONMENT # Printing ENVIRONMENT: # --------------------- # $envkey = 'new_domain_name_servers' # $ENV{$envkey} = '192.168.0.11 192.168.0.12 192.168.0.13' # $envkey = 'new_routers' # $ENV{$envkey} = '192.168.0.1' # $envkey = 'new_host_name' # $ENV{$envkey} = 'demo0' # $envkey = 'new_filename' # $ENV{$envkey} = 'fai/pxelinux.0' # $envkey = 'new_dhcp_message_type' # $ENV{$envkey} = '5' # $envkey = 'new_expiry' # $ENV{$envkey} = '1314974902' # $envkey = 'new_network_number' # $ENV{$envkey} = '192.168.0.0' # $envkey = 'new_dhcp_lease_time' # $ENV{$envkey} = '600' # $envkey = 'pid' # $ENV{$envkey} = '780' # $envkey = 'new_ntp_servers' # $ENV{$envkey} = '192.168.0.2' # $envkey = 'PWD' # $ENV{$envkey} = '/' # $envkey = 'interface' # $ENV{$envkey} = 'eth0' # $envkey = 'new_nis_servers' # $ENV{$envkey} = '192.168.0.2' # $envkey = 'new_dhcp_server_identifier' # $ENV{$envkey} = '192.168.0.2' # $envkey = 'reason' # $ENV{$envkey} = 'BOUND' # $envkey = 'new_ip_address' # $ENV{$envkey} = '192.168.0.101' # $envkey = 'new_subnet_mask' # $ENV{$envkey} = '255.255.255.0' # $envkey = 'new_domain_name' # $ENV{$envkey} = 'my.network.domain' # $envkey = 'new_nis_domain' # $ENV{$envkey} = 'my-NIS-Domain-01' # $envkey = 'new_server_name' # $ENV{$envkey} = '192.168.0.10' # $envkey = 'new_broadcast_address' # $ENV{$envkey} = '192.168.0.255' # Enf of ENVIRONMENT # initial $ENV{new_host_name} = 'demo0' # after 'use shot host name' $ENV{new_host_name} = 'demo0' # $name = 'broadcast_address' # $dhcpname was '' # $dhcpname now is 'new_broadcast_address' # $ENV{$dhcpname} = '192.168.0.255' BROADCAST='192.168.0.255' # $name = 'domain_name' # $dhcpname was 'new_broadcast_address' # $dhcpname now is 'new_domain_name' # $ENV{$dhcpname} = 'my.network.domain' DOMAIN='my.network.domain' # $name = 'domain_name_servers' # $dhcpname was 'new_domain_name' # $dhcpname now is 'new_domain_name_servers' # $ENV{$dhcpname} = '192.168.0.11 192.168.0.12 192.168.0.13' DNSSRVS='192.168.0.11 192.168.0.12 192.168.0.13' DNSSRVS_1='192.168.0.11' DNSSRVS_2='192.168.0.12' DNSSRVS_3='192.168.0.13' # $name = 'fai_action' # $dhcpname was 'new_domain_name_servers' # $dhcpname now is 'new_fai_action' # $name = 'fai_config_src' # $dhcpname was 'new_fai_action' # $dhcpname now is 'new_fai_config_src' # $name = 'fai_flags' # $dhcpname was 'new_fai_config_src' # $dhcpname now is 'new_fai_flags' # $name = 'host_name' # $dhcpname was 'new_fai_flags' # $dhcpname now is 'new_host_name' # $ENV{$dhcpname} = 'demo0' HOSTNAME='demo0' # $name = 'ip_address' # $dhcpname was 'new_host_name' # $dhcpname now is 'new_ip_address' # $ENV{$dhcpname} = '192.168.0.101' IPADDR='192.168.0.101' # $name = 'network_number' # $dhcpname was 'new_ip_address' # $dhcpname now is 'new_network_number' # $ENV{$dhcpname} = '192.168.0.0' NETWORK='192.168.0.0' # $name = 'nis_domain' # $dhcpname was 'new_network_number' # $dhcpname now is 'new_nis_domain' # $ENV{$dhcpname} = 'my-NIS-Domain-01' YPDOMAIN='my-NIS-Domain-01' # $name = 'nis_servers' # $dhcpname was 'new_nis_domain' # $dhcpname now is 'new_nis_servers' # $ENV{$dhcpname} = '192.168.0.2' YPSRVR='192.168.0.2' YPSRVR_1='192.168.0.2' # $name = 'ntp_servers' # $dhcpname was 'new_nis_servers' # $dhcpname now is 'new_ntp_servers' # $ENV{$dhcpname} = '192.168.0.2' NTPSRVS='192.168.0.2' NTPSRVS_1='192.168.0.2' # $name = 'option_170' # $dhcpname was 'new_ntp_servers' # $dhcpname now is 'new_option_170' # $name = 'option_171' # $dhcpname was 'new_option_170' # $dhcpname now is 'new_option_171' # $name = 'option_172' # $dhcpname was 'new_option_171' # $dhcpname now is 'new_option_172' # $name = 'option_173' # $dhcpname was 'new_option_172' # $dhcpname now is 'new_option_173' # $name = 'option_174' # $dhcpname was 'new_option_173' # $dhcpname now is 'new_option_174' # $name = 'option_175' # $dhcpname was 'new_option_174' # $dhcpname now is 'new_option_175' # $name = 'routers' # $dhcpname was 'new_option_175' # $dhcpname now is 'new_routers' # $ENV{$dhcpname} = '192.168.0.1' GATEWAYS='192.168.0.1' GATEWAYS_1='192.168.0.1' # $name = 'server_name' # $dhcpname was 'new_routers' # $dhcpname now is 'new_server_name' # $ENV{$dhcpname} = '192.168.0.10' SERVER='192.168.0.10' # $name = 'subnet_mask' # $dhcpname was 'new_server_name' # $dhcpname now is 'new_subnet_mask' # $ENV{$dhcpname} = '255.255.255.0' NETMASK='255.255.255.0' # $name = 'time_servers' # $dhcpname was 'new_subnet_mask' # $dhcpname now is 'new_time_servers' # Again printing the ENVIRONMENT: # ------------------------------- # $envkey = 'new_domain_name_servers' # $ENV{$envkey} = '192.168.0.11 192.168.0.12 192.168.0.13' # $envkey = 'new_routers' # $ENV{$envkey} = '192.168.0.1' # $envkey = 'new_host_name' # $ENV{$envkey} = 'demo0' # $envkey = 'new_filename' # $ENV{$envkey} = 'fai/pxelinux.0' # $envkey = 'new_dhcp_message_type' # $ENV{$envkey} = '5' # $envkey = 'new_expiry' # $ENV{$envkey} = '1314974902' # $envkey = 'new_network_number' # $ENV{$envkey} = '192.168.0.0' # $envkey = 'new_dhcp_lease_time' # $ENV{$envkey} = '600' # $envkey = 'pid' # $ENV{$envkey} = '780' # $envkey = 'new_ntp_servers' # $ENV{$envkey} = '192.168.0.2' # $envkey = 'PWD' # $ENV{$envkey} = '/' # $envkey = 'interface' # $ENV{$envkey} = 'eth0' # $envkey = 'new_nis_servers' # $ENV{$envkey} = '192.168.0.2' # $envkey = 'new_dhcp_server_identifier' # $ENV{$envkey} = '192.168.0.2' # $envkey = 'reason' # $ENV{$envkey} = 'BOUND' # $envkey = 'new_ip_address' # $ENV{$envkey} = '192.168.0.101' # $envkey = 'new_subnet_mask' # $ENV{$envkey} = '255.255.255.0' # $envkey = 'new_domain_name' # $ENV{$envkey} = 'my.network.domain' # $envkey = 'new_nis_domain' # $ENV{$envkey} = 'my-NIS-Domain-01' # $envkey = 'new_server_name' # $ENV{$envkey} = '192.168.0.10' # $envkey = 'new_broadcast_address' # $ENV{$envkey} = '192.168.0.255' # Enf of ENVIRONMENT
#! /usr/bin/perl # $Id$ #********************************************************************* # # dhclient-perl -- perl script that prints out DHCP data # # This script is part of FAI (Fully Automatic Installation) # Copyright (c) 2000-2006 by Thomas Lange, Universitaet zu Koeln # #********************************************************************* # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # 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 # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, # MA 02111-1307, USA. #********************************************************************* # TODO: extract search info from DOMAIN # map dhcp names to bootp names %names = qw/ ip_address IPADDR host_name HOSTNAME network_number NETWORK subnet_mask NETMASK broadcast_address BROADCAST routers GATEWAYS domain_name DOMAIN domain_name_servers DNSSRVS server_name SERVER time_servers TIMESRVS ntp_servers NTPSRVS nis_domain YPDOMAIN nis_servers YPSRVR fai_config_src FAI_CONFIG_SRC fai_action FAI_ACTION fai_flags FAI_FLAGS option_170 FAI_CONFIG_SRC option_171 FAI_ACTION option_172 FAI_FLAGS option_173 reserved173 option_174 reserved174 option_175 reserved175 /; # first of all, we want to see all ENV print "# Printing ENVIRONMENT:\n# ---------------------\n"; foreach $envkey (keys %ENV) { print "# \$envkey = '$envkey'\n"; print "# \$ENV\{\$envkey\} = '$ENV{$envkey}'\n\n"; } print "# Enf of ENVIRONMENT\n\n\n"; # these lists should also be listed as single items @list = qw/domain_name_servers routers time_servers ntp_servers nis_servers/; %listitem = map { $_ => 1 } @list; print "# initial \$ENV\{new_host_name\} = '$ENV{new_host_name}'\n"; # use short host name $ENV{new_host_name} = (split '\.',$ENV{new_host_name})[0]; print "# after 'use shot host name' \$ENV\{new_host_name\} = '$ENV{new_host_name}'\n"; foreach $name (sort keys %names) { print "# \$name = '$name'\n"; print "# \$dhcpname was '$dhcpname'\n"; $dhcpname="new_$name"; print "# \$dhcpname now is '$dhcpname'\n"; if ("$ENV{$dhcpname}") { print "# \$ENV\{\$dhcpname\} = '$ENV{$dhcpname}'\n"; print "$names{$name}='$ENV{$dhcpname}'\n"; items($name) if $listitem{$name}; } } # now we want to see all ENV after we grabbed all info from bootp/dhcp print "# Again printing the ENVIRONMENT:\n# -------------------------------\n"; foreach $envkey (keys %ENV) { print "# \$envkey = '$envkey'\n"; print "# \$ENV\{\$envkey\} = '$ENV{$envkey}'\n\n"; } print "# Enf of ENVIRONMENT\n\n\n"; exit 0; # - - - - - - - - - - - - - - - - - - - - - sub items { my $key = shift; my $i = 1; foreach (split /\s+/,$ENV{"new_$key"}){ print "$names{$key}_$i='$_'\n"; $i++; } }
signature.asc
Description: Digital signature