Comment mettre à jour Pi-hole sur votre Raspberry

Publié le vendredi 30 avril 2021 dans les catégories G33K et Maison et Domotique

Dans cet article rapide, qui ne mérite pas de vidéo, je vais vous présenter les trois commandes nécessaires pour faire une mise à jour de Pi-hole sur votre Raspberry-Pi.

Qu'est-ce que Pi-hole ?

Si vous tombez sur cet article par le plus grand des hasard, je vous invite à regarder mon tutoriel d'installation de Pi-hole sur un Raspberry Pi.

Pour faire simple, Pi-hole vous permettra de bloquer les publicités et le tracking sur Internet à l'échelle de votre réseau. Très puisant et très facile à mettre en place. Sauf que ce matin, j'avais ce message, attirant mon attention :

C'est rouge et ça clignotte : ça a l'air important

Je vous propose de voir comment on met Pi-hole à jour. Rassurez vous, c'est très rapide.

Tutoriel de mise à jour

La première des choses à faire est de se connecter en SSH sur votre Raspberry Pi, avec l'utilisateur "pi", par exemple. Dans mon cas ce sera l'utilisateur "lokan".

ssh lokan@192.168.10.200

Maintenant que vous êtes connecté, on peut commencer. Une simple commande va vous permettre de vérifier l'état des mises à jour de votre Pi-hole :

pihole -v

lokan@vignemale:~ $ pihole -v
Pi-hole version is v5.2.4 (Latest: v5.3.1)
AdminLTE version is v5.4 (Latest: v5.5)
FTL version is v5.7 (Latest: v5.8.1)

Ça confirme donc qu'il y a de la mise à jour à passer.

Il suffit de faire un pihole -up pour initier la mise à jour. Voici le résultat :

lokan@vignemale:~ $ pihole -up
[i] Checking for updates...
[i] Pi-hole Core: update available
[i] Web Interface: update available
[i] FTL: update available

[i] Pi-hole core files out of date, updating local repo.
[✓] Check for existing repository in /etc/.pihole
[i] Update repo in /etc/.pihole...HEAD is now at 4736e03 Merge pull request #4122 from pi-hole/release/v5.3.1
[✓] Update repo in /etc/.pihole

[i] If you had made any changes in '/etc/.pihole/', they have been stashed using 'git stash'

[i] Pi-hole Web Admin files out of date, updating local repo.
[✓] Check for existing repository in /var/www/html/admin
[i] Update repo in /var/www/html/admin...HEAD is now at 7e602e0 Merge pull request #1779 from pi-hole/release/v5.5
[✓] Update repo in /var/www/html/admin

[i] If you had made any changes in '/var/www/html/admin/', they have been stashed using 'git stash'

[i] FTL out of date, it will be updated by the installer.

[✓] Root user check

[✓] Update local cache of available packages
[i] Existing PHP installation detected : PHP version 7.3.27-1~deb10u1
[i] Performing unattended setup, no whiptail dialogs will be displayed

[✓] Checking apt-get for upgraded packages... up to date!

[i] Installer Dependency checks...
[✓] Checking for dhcpcd5
[✓] Checking for git
[✓] Checking for iproute2
[✓] Checking for whiptail
[✓] Checking for dnsutils

[✓] Supported OS detected
[i] SELinux not detected
[i] Performing reconfiguration, skipping download of local repos
[✓] Resetting repository within /etc/.pihole...
[✓] Resetting repository within /var/www/html/admin...
[i] Main Dependency checks...
[✓] Checking for cron
[✓] Checking for curl
[✓] Checking for iputils-ping
[✓] Checking for lsof
[✓] Checking for netcat
[✓] Checking for psmisc
[✓] Checking for sudo
[✓] Checking for unzip
[✓] Checking for wget
[✓] Checking for idn2
[✓] Checking for sqlite3
[✓] Checking for libcap2-bin
[✓] Checking for dns-root-data
[✓] Checking for libcap2
[✓] Checking for lighttpd
[✓] Checking for php7.3-common
[✓] Checking for php7.3-cgi
[✓] Checking for php7.3-sqlite3
[✓] Checking for php7.3-xml
[✓] Checking for php7.3-json
[✓] Checking for php7.3-intl

[✓] Enabling lighttpd service to start on reboot...
[✓] Checking for user 'pihole'

[i] FTL Checks...

[✓] Detected ARMv7 processor (with hard-float support)
[i] Checking for existing FTL binary...
[✓] Downloading and Installing FTL
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_GB.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").
[✓] Installing scripts from /etc/.pihole

[i] Installing configs from /etc/.pihole...
[i] Existing dnsmasq.conf found... it is not a Pi-hole file, leaving alone!
[✓] Copying 01-pihole.conf to /etc/dnsmasq.d/01-pihole.conf

[i] Installing blocking page...
[✓] Creating directory for blocking page, and copying files
[i] Backing up index.lighttpd.html
No default index.lighttpd.html file found... not backing up

[✓] Installing sudoer file

[✓] Installing latest Cron script

[✓] Installing latest logrotate script
[i] Backing up /etc/dnsmasq.conf to /etc/dnsmasq.conf.old
[✓] man pages installed and database updated
[i] Testing if systemd-resolved is enabled
[i] Systemd-resolved is not enabled
[✓] Restarting lighttpd service...
[✓] Enabling lighttpd service to start on reboot...
[i] Restarting services...
[✓] Enabling pihole-FTL service to start on reboot...
[✓] Restarting pihole-FTL service...
[i] Upgrading gravity database from version 13 to 14
[✓] Deleting existing list cache
[i] Neutrino emissions detected...
[✓] Pulling blocklist source list into range

[✓] Preparing new gravity database
[i] Using libz compression

[i] Target: https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
[✓] Status: Retrieval successful
[i] Analyzed 80748 domains

[i] Target: https://blocklistproject.github.io/Lists/alt-version/ransomware-nl.txt
[✓] Status: Retrieval successful
[i] Analyzed 1903 domains

[i] Target: https://blocklistproject.github.io/Lists/alt-version/facebook-nl.txt
[✓] Status: Retrieval successful
[i] Analyzed 22461 domains

[i] Target: https://blocklistproject.github.io/Lists/alt-version/phishing-nl.txt
[✓] Status: Retrieval successful
[i] Analyzed 189954 domains

[✓] Storing downloaded domains in new gravity database
[✓] Building tree
[✓] Swapping databases
[i] Number of gravity domains: 295066 (294947 unique domains)
[i] Number of exact blacklisted domains: 0
[i] Number of regex blacklist filters: 0
[i] Number of exact whitelisted domains: 1
[i] Number of regex whitelist filters: 0
[✓] Flushing DNS cache
[✓] Cleaning up stray matter

[✓] DNS service is listening
[✓] UDP (IPv4)
[✓] TCP (IPv4)
[✓] UDP (IPv6)
[✓] TCP (IPv6)

[✓] Pi-hole blocking is enabled

[i] The install log is located at: /etc/pihole/install.log
Update Complete!

Current Pi-hole version is v5.3.1.
Current AdminLTE version is v5.5.
Current FTL version is v5.8.1.

Un dernier pihole -v pour vérifier que vous êtes à jour :

lokan@vignemale:~ $ pihole -v
Pi-hole version is v5.3.1 (Latest: v5.3.1)
AdminLTE version is v5.5 (Latest: v5.5)
FTL version is v5.8.1 (Latest: v5.8.1)

Conclusion

Voilà. C'est aussi simple qu'une connexion SSH, une vérification de version et une commande "up" pour faire la montée de version.

Ce tutoriel, comme beaucoup d'autres, est là en pense-bête personnel. S'il peut vous aider en même temps, c'est super cool.

Article écrit par LoKan Sardari 🦓🧠 Ultralearner | 👨🏻‍💻 Entrepreneur | 🏋🏻 Athlete | 📷 Pixel lover | 🎒 Travel addict

Commentaires

Les commentaires doivent rester un lieu d’échange courtois et agréable.

Vous êtes donc invité à respecter le travail effectué sur ce site, les personnes à qui vous répondez, ainsi que la langue française.

Tout commentaire ne respectant pas ces conditions, ou étant profondément hors sujet, sera écarté du débat.

Si vous désirez afficher un avatar, associez-le à votre adresse mail grâce au service Gravatar.

Écrire un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

  1. MaksOuw dit :

    Salut LoKan,

    Je me permets de rajouter une chose ici, après avoir fait exactement la même chose que toi pour mettre à jour mon PiHole :
    Si tu changes le port web par défaut de Lighthttpd (le serv web fourni directement par PiHole), lors de la mise à jour, il réapplique sa configuration par défaut.

    Etant donné que mon raspberry pi n'héberge pas que PiHole, j'ai ajouté Nginx devant, et laissé Lighthttpd dédié à PiHole (plus simple de gérer qu'un port plutôt qu'une nouvelle config dédiée). Du coup, à chaque mise à jour, il faut aller réappliquer le port défini précédemment dans la config de Lighthttpd pour que tout refonctionne correctement.

    Je pense que ce message risque de servir à quelques-uns ici, ca évitera de chercher pendant des plombes pourquoi l'interface d'admin est plus accessible suite à une mise à jour.

    Bonne journée

  2. Rémi WILLEBROUCK dit :

    Salut,

    Pour ceux qui ont Pi-hole sur Nas Synology, la démarche pour mettre à jour est :

    - Aller sur Docker, vérifier dans Conteneur, sélectionner Pi-hole puis cliquer sur le bouton Détails. Dans la vue d’ensemble, assurer d’avoir configuré les chemins pour stocker la configuration dans un dossier partagé de votre NAS (sous-onglet Volume en bas à gauche). Puis fermer la fenêtre de détails

    - Sur Docker, aller dans Registre, chercher l’image de Pi-hole (pihole/pihole) puis cliquer sur Télécharger

    - Une fois que DSM affiche la notification de téléchargement terminé, aller dans conteneur, arrêter ensuite Pi-hole (cliquez sur le bouton Action puis choisissez Arrêt) "il est mieux d’avoir un serveur DNS secondaire configuré sur vos périphériques afin de ne pas perdre l'accès à internet".

    - Le conteneur arrêté, cliquer sur le bouton Action puis choisissez l’option Effacer, un message d'avertissement s'affiche, il faut confirmer. Attendre quelques secondes et relancer le conteneur.

    J'ai installé Pi-hole sur mon serveur NAS Synology car mon Raspberry pi est utilisé comme console de jeu. C'est rassurant qu'il y a une mise à jour.

  3. Profwalken dit :

    Bonjour,
    savez vous s'il y a un réglage sur pihole qui permette d'actiiver la mise à jour DNS, par exemplej'ai un FQDN qui change d'IP publique, sur google 8.8.8.8 c'est quasi instantané au niveau de la mise à jour, sur pihole ce n'est pas le cas et je reste avec l'ancienne IP associée au FQDN. si je fais un reboot la mise à jour se fait.
    Donc j'aimerai pousser pihole à être à jour plus vite, comment faire ?