MTR is awesome, but in a recent update to the package in brew means that you need to sudo to use it. This is particularly a pain when you don’t run as an account that is able to sudo.
In addition, a lot of the functionality of MTR has been moved out into the mtr-packet binary, which makes a lot of the instructions out there on how to resolve this annoyance now wrong.
A quick and dirty fix to get around this is to set the SUID bit, and change ownership to root. You also need both mtr and mtr-packet in your path.
sudo chown root /usr/local/Cellar/mtr/0.94/sbin/mtr-packet sudo chmod 4755 /usr/local/Cellar/mtr/0.94/sbin/mtr-packet ln -s /usr/local/Cellar/mtr/0.94/sbin/mtr /usr/local/bin/mtr ln -s /usr/local/Cellar/mtr/0.94/sbin/mtr-packet /usr/local/bin/mtr-packet
Update
Since the release of the M1 processors in macos, the paths required have changed. The following are the new paths.
sudo chown root /opt/homebrew/Cellar/mtr/0.95/sbin/mtr-packet sudo chmod 4755 /opt/homebrew/Cellar/mtr/0.95/sbin/mtr-packet ln -s /opt/homebrew/Cellar/mtr/0.95/sbin/mtr /opt/homebrew/bin/ ln -s /opt/homebrew/Cellar/mtr/0.95/sbin/mtr-packet /opt/homebrew/bin/
The only guide that actually works. Thank you!
I solved it with a simple script in `/usr/local/bin` plus setting the SUID bit. It has the benefit it survives an upgrade of the package.
“`
#!/bin/sh
PATH=”${PATH}:/usr/local/sbin/”
exec /usr/local/sbin/mtr “$@”
“`
Thank you very much!