Skip to content

Instantly share code, notes, and snippets.

@Lewiscowles1986
Created August 21, 2017 16:00
  • Star 8 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save Lewiscowles1986/390d4d423a08c4663c0ada0adfe04cdb to your computer and use it in GitHub Desktop.
Raspberry pi stretch allow dhcpcd5 with /etc/network/interfaces
#!/bin/sh -e
#
# This file belongs in /usr/lib/dhcpcd5/dhcpcd how you get it there is up to you
#
DHCPCD=/sbin/dhcpcd
INTERFACES=/etc/network/interfaces
REGEX="^[[:space:]]*iface[[:space:]](*.*)[[:space:]]*inet[[:space:]]*(dhcp|static)"
EXCLUDES=""
if grep -q -E $REGEX $INTERFACES; then
#echo "Not running dhcpcd because $INTERFACES"
#echo "defines some interfaces that will use a"
#echo "DHCP client or static address"
#exit 6
for iface in `grep -E $REGEX $INTERFACES | cut -f2 -d" "`
do
if [[ $EXCLUDES != "" ]]; then
EXCLUDES="${EXCLUDES}|${iface}"
else
EXCLUDES="${iface}"
fi
done
EXCLUDES="(${EXCLUDES})"
fi
exec $DHCPCD -Z $EXCLUDES $@
@soslug
Copy link

soslug commented Sep 7, 2017

Awesome fix Lewis now have wireless working as well - Cheers

@ekkithump
Copy link

Suggestion:
Check to see if that's a 'just in case' option or if it's actually automatic.
[as above]
do
if grep -q -E "^[[:space:]]auto[[:space:]]$iface" $INTERFACES
then
[as above]
fi

@Lewiscowles1986
Copy link
Author

@ekkithump, what benefit would that have? This regex is actually the same one dhcpcd in debian stretch uses

@heartlandcoop-prichards

Comment says This file belongs in /usr/lib/dhcpcd5/dhcpcd
But /usr/lib/dhcpcd5/dhcpcd is already a file.
I assume that you mean this file belongs in the directory /usr/lib/dhcpcd5?

@heartlandcoop-prichards

Also I'm not sure if you want to replace the file /usr/lib/dhcpcd5/dhcpcd as this file has a .sh extension and /usr/lib/dhcpcd5/dhcpcd has no extension?

@Lewiscowles1986
Copy link
Author

@heartlandcoop-prichards no it is meant to overwrite that file. The extension is meaningless

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment