Cannot update FTL to latest version

Expected Behaviour:

Update FTL via Raspberry pi terminal using “pihole -up”

Actual Behaviour:

Update progresses, however once it starts to check/update FTL the following occurs:
[i] Downloading and Installing FTL…curl: (22) The requested URL returned error: 404 Not Found
[✗] Downloading and Installing FTL
Error: URL not found

Debug Token:

Your FTL version is very old (V3.0). Try this command to update that to the latest:

pihole checkout ftl master

Note that once FTL is updated to V4.0 or later, pihole-FTL contains dnsmasq embedded within, so you can no longer run dnsmasq as a separate process. In V4.0 or later, pihole-FTL will run on port 53 in place of dnsmasq.

I attempted to run the update as recommended, however it gives me the following error:

Error: Web Admin repo is missing from system!
Please re-run install script from

Did you re-run the install script, and if so, what was the result?

Since this is the first time I’ve attempted to troubleshoot a pihole, I’m not entirely sure how to run that script from terminal.

From the Pi Terminal, run this command:

curl -sSL | bash

When I attempt to use this and update with existing settings, it doesn’t appear to do anything. Are you recommending a reinstall?

This is the return on that script:

[i] Existing PHP installation detected : PHP version 7.0.33-0+deb9u3
[i] Update option selected
[✓] Disk space check
[✓] Update local cache of available packages

[i] Checking apt-get for upgraded packages…E: Unmet dependencies. Try ‘apt --fix-broken install’ with no packages (or specify a solution).
[✓] Checking apt-get for upgraded packages… up to date!

[i] Installer Dependency checks…
[✓] Checking for apt-utils
[✓] Checking for dialog
[✓] Checking for debconf
[✓] Checking for dhcpcd5
[✓] Checking for git
[i] Checking for iproute (will be installed)
[✓] Checking for whiptail


That’s a placeholder for a binary that doesn’t yet exist. The processor detection is not returning any identifier. Is this a Raspberry Pi device? Which model?

*** [ DIAGNOSING ]: Operating system
[✓] Raspbian GNU/Linux 9 (stretch)

*** [ DIAGNOSING ]: SELinux
[i] SELinux not detected

*** [ DIAGNOSING ]: Processor

Yes, it is a Raspberry Pi 3B.

What does uname -m return as the type of processor?

“uname -m” returns:


That is the exact response? Not armv71 but uarmv71?

I’m sorry, I’m doing this while watching the kids. armv71

Can you run that command sudo apt --fix-broken install first to make sure there aren’t any half installed packages that may be holding things up?

Looks like that there were some either missing or redundant packages that were on the system, ran the sudo apt --fix-broken install and removed them using the autoremove function.

The following were removed: lxkeymap python-cairo python-gobject python-gobject-2 python-gtk2
python-xklavier realpath uuid-dev

pihole -r and selecting the repair option yields the following:
Unable to reset /var/www/html/admin, exiting installer

Looking at

it doesn’t seem there is a branch that leaving binary set to tbd. I suspect that get_binary_name is not even called (or errors out in the middle?). It should be called directly beneath

Is there something I need to do to get the code working correctly? Or would a reinstall fix it?

Please run

cd /var/www/html/admin
sudo git reset --hard

If that shows any error, please post it here. If not, try again pihole -r + Repair.

cd /var/www/html/admin gives the result:

bash: cd: /var/www/html/admin: No such file or directory

I looked into the folder for this and there is no “admin” folder. The only sub folder in the html folder is pihole and that has two files index.php and blockingpage.css