From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 108036 invoked by alias); 27 Jun 2018 09:31:35 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 107914 invoked by uid 89); 27 Jun 2018 09:31:25 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=morning X-HELO: mout.gmx.com Received: from mout.gmx.com (HELO mout.gmx.com) (74.208.4.200) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 27 Jun 2018 09:31:24 +0000 Received: from johndoe65534.mail.com ([85.28.70.154]) by mail.gmx.com (mrgmxus002 [74.208.5.15]) with ESMTPSA (Nemesis) id 0Lhfpn-1ftzD73dbt-00mtxH for ; Wed, 27 Jun 2018 11:31:21 +0200 Subject: Re: Automatically populate resolv.conf when new DNS is acquired To: cygwin@cygwin.com References: <65242f5d-cc15-0024-47a8-0ce6be81aced@mail.com> From: john doe Message-ID: <7b7e40f8-3f84-4080-8ffa-9ac92b973435@mail.com> Date: Wed, 27 Jun 2018 11:08:00 -0000 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2018-06/txt/msg00298.txt.bz2 Good morning Brian, bottom posting. On 6/26/2018 4:18 PM, Brian Inglis wrote: > On 2018-06-26 04:33, john doe wrote: >> In gnupg2 the use of dirmngr utility is required to interact with a keyserver. >> Dirmngr requires that '/etc/resolv.conf' be populated with my name servers. >> That means that everytime the dns changes (new network ...) I need to manually >> edit that file. >> How can I let Cygwin update that file whenever the DNS is changed? > > Attached an awk script to generate resolv.conf from Windows ipconfig /all > output, run from .cygwin_profile (sourced under Cygwin from login .bash_profile) > using the stanza below: it only replaces an existing writable /etc/resolv.conf > when the content changes - touch, chown, chmod /etc/resolv.conf to enable. > > # update /etc/resolv.conf if changed > c=/etc/resolv.conf > test -w $c && \ > i=$(/usr/bin/which -- ipconfig) && \ > r=$(/usr/bin/which -- resolv.awk) && \ > t=$(/bin/mktemp -t -- resolv.conf.$$.XXXXXXXX) && \ > if $i /all | $r > $t; then > /usr/bin/cmp -s -- $t $c || \ > /bin/cp -fv -- $t $c > /bin/rm -f -- $t > fi > > unset c i r t > > This could be used in a bash script run from a Windows scheduled task when a > relevant DHCP event occurs: you can find DHCP events by checking Windows Admin > Tools/Event Viewer/Window Logs/System/Filter Current Log/Event > Sources/Dhcp-Client,DHCPv6-Client, or a similar PowerShell script. > Thanks for the awk script and the explanation on how to use it! :) By Windows Admin you mean "Windows Admin Center"? I'm using Cygwin on a laptop (win 7 pro) and sadly, if I'm not mistaking, "Windows Admin" is not available on non-server platform. If I can't find a way to determine when my DNS changes I can clearly emulate an hourly cron job by using "task scheduler". Many thanks for the task scheduler hint and for your help. -- John Doe -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple