GRUB : résoudre l'erreur "Grub loading 1.5. Grub loading, please wait... ERROR 15" photo

GRUB : résoudre l’erreur “Grub loading 1.5. Grub loading, please wait… ERROR 15”

Hier, petite surprise sur ma machine à la maison : au démarrage, Ubuntu se charge puis finit dans les limbes avec un écran noir. Je redémarre la machine et là, patatras, une erreur GRUB laconique :

Grub loading 1.5. 
Grub loading, please wait...

ERROR 15Code language: CSS (css)

Un redémarrage plus tard, je m’aperçois que même certains réglages du BIOS sont même revenus aux réglages d’usine… Étrange, c’est la première fois que je vois ça sur ma machine.

GRUB, l’erreur 15

L’erreur 15 de GRUB correspond à un fichier de démarrage non trouvé. Cela signifieque GRUB n’est pas installé sur le disque de démarrage et qu’il ne peut donc lancer le menu de démarrage.

Ma machine comprend quatre disques dur, et mes deux disques durs principaux (Linux et Windows) sont du même type et de la même marque, ce qui n’est pas vraiment idéal pour les identifier puisque dans les réglages du BIOS, la référence est la même.

Le BIOS ne m’indique qu’un seul disque dur de démarrage, sans autre indication que le numéro de série.

Vérification des options du BIOS

On commence par vérifier les options du BIOS et la séquence initiale de boot : DVD, disque dur. Cela nous sera utile pour la suite lorsque nous utiliserons le live CD.

Utilisation de Boot-Repair

J’ai commencé par utiliser le live CD d’Ubuntu avant de me rendre rapidement compte des limitations dues au montage des points critiques du système.

Le plus simple est d’utiliser Boot-Repair-Disk, le disque ultime de réparation du démarrage qui vous permettra de redémarrer votre machine comme avant.

GRUB : résoudre l'erreur "Grub loading 1.5. Grub loading, please wait... ERROR 15" photo

Le Réparateur de Démarrage (Boot-Repair en anglais) est un petit outil qui propose :

  • un bouton Réparation recommandée permettant de réparer la plupart des problèmes de démarrage (par exemple lorsque Ubuntu ne démarre plus suite à l’installation de Windows, lorsque le menu GRUB n’apparaît plus1) ou lorsque vous avez une erreur GRUB rescue> ou out-of-disk) ;
  • un deuxième bouton permettant de créer un rapport Boot-Info en un clic (pour obtenir de l’aide via email ou forum) ;
  • les options avancées permettant, entre autres, de :
    • mettre à jour le menu de démarrage GRUB ;
    • reconfigurer GRUB (ajouter des options de kernel, etc.) ;
    • purger et réinstaller GRUB2 ;
    • restaurer un secteur d’amorçage compatible Windows (XP, Vista, Seven) ;
    • restaurer un MBR permettant de démarrer Windows en mode Legacy.

Restauration de GRUB

Voici la marche à suivre :

  1. téléchargez Boot Repair Disk
  2. gravez l’image sur un CD / DVD ou utilisez Rufus ou Unetbootin pour graver l’image sur une clé USB.
  3. Insérer votre CD/DVD/clé USB contenant Boo Repair puis redémarrez la machine.
  4. Choisissez la langue de l’interface et activez la connexion internet (recommandé)
  5. Choissisez “Réparation recommandée” dans la majeure partie des cas courants.
  6. Redémarrez la machine, cela solutionne la majorité des problèmes de boot liés à GRUB.

Curieusement, lorsque Boot Repair s’est lancé, il m’a demandé si mon disque sdb était un disque dur externe alors que c’est mon disque dur de démarrage principal sous Ubuntu.

J’ai répondu “non” puis ai choisi le menu Options avancées afin d’installer de purger GRUB et d’installer la dernière version de GRUB sur tous mes disques durs.

Ce n’est qu’avec cette option que j’ai vraiment pu retrouver un démarrage normal.

Je vous conseille Boot-Repair pour résoudre les problèmes liés au démarrage de GRUB. Cela m’a bien dépanné – en quelques clics et moins de dix minutes, je retrouvais mon bureau.

A garder dans la boite à outil, c’est extrêmement utile.

Android : configurer un clavier sans-fil en AZERTY photo

Android : configurer un clavier sans-fil en AZERTY

Je me suis récemment acheté un super clavier sans-fil, un Logitech K400 Plus, qui va me permettre de saisir mes textes un peu plus vite qu’en tapotant sur les lettres de l’écran tactile de mon téléphone ou de ma tablette.

J’ai choisi ce clavier parce qu’il possède également un touchpad. Cela pourra m’être utile si je veux naviguer sur la télévision ou piloter un Raspberry Pi, directement depuis mon canapé – ou dans le train ou la voiture.

Android ne reconnaît que le QWERTY

Sous Android, lorsque l’on branche un clavier sans-fil Bluetooth ou WiFi, la disposition du clavier par défaut est QWERTY et il n’est pas possible de la modifier sans installer une application tierce.

Par conséquent, il faut donc installer une application gratuite : Clavier physique AZERTY.

Pensez à activer les sources inconnues dans les paramètres Android pour pouvoir installer le fichier APK sans souci.

Branchement du dongle USB

Les claviers sans-fil fonctionnent avec un mini-dongle USB à brancher sur votre appareil. Il se pose toutefois souvent un problème de connectique physique.

Les ports USB des tablettes sont en effet souvent de type microUSB.

Il faut donc un cordon adaptateur microUSB OTG mâle/femelle, qui convertit le connecteur microUSB femelle en connecteur USB femelle pour y brancher le dongle.

Cet adaptateur microUSB – USB ne coûte que quelques euros et vous permettra aussi de brancher une clé USB sur votre appareil, pratique pour les sauvegardes.

Configuration du clavier AZERTY

Une fois que vous avez installé l’application et branché votre clavier sans-fil sur votre téléphone ou tablette Android avec le dongle USB, il faut se rendre dans Paramètres > Langues et Saisie :

  1. dans Clavier et mode de saisie > Clavier actuel, sélectionnez Clavier physique AZERTY,
  2. dans Clavier et mode de saisie > Clavier physique et vérifiez les options de votre clavier.

Vous pouvez maintenant taper du texte avec votre clavier AZERTY, avec la disposition AZERTY.

Clavier Logitech K400

Si vous recherchez un bon clavier sans-fil avec un touchpad intégré et un accès simplifié pour les recherches et les contrôles multimédia comme le volume, je vous conseille le clavier Logitech K400 Plus, sans hésiter.

clavier Logitech K400 Plus banner

C’est mon clavier de prédilection que j’utilise pour la télévision, le RaspberryPI, ou bien même mon laptop lorsqu’il est à distance: il est bien plus maniable, léger et avec un excellent confort de frappe.

Disponible chez Amazon pour moins de 35 euros.

GIMP : tutoriel pour créer un meme photo 3

GIMP : tutoriel pour créer un meme

Qu’est-ce qu’un meme ?

Un mème ou « meme », qui se prononce [mi:m] en anglais, décrit un élément ou un phénomène repris et décliné en masse sur internet.

Origine du mot “meme”

Le terme de « mème » a été proposé pour la première fois par Richard Dawkins dans Le Gène égoïste (1976) par déformation du terme mimesis (« imitation », en grec ancien) par analogie avec le mot gène. Selon Dawkins, dans le domaine mental, les mèmes sont des réplicateurs, comparables à ce titre aux gènes, mais responsables de l’évolution de certains comportements animaux et des cultures.

Formes du meme

Dans sa forme la plus sommaire, un mème internet est une idée simple propagée à travers le web. Cette idée peut prendre la forme d’un hyperlien, d’une vidéo, d’un site internet, d’un hashtag, d’un personnage récurrent ou simplement d’une phrase ou d’un mot. Ce mème peut être propagé par plusieurs personnes par le biais de réseaux sociaux, de blogs, de messageries instantanées, d’actualité, et autres services internet.

L’élément humoristique est un facteur très important pour les mèmes. Une communication décalée par rapport à un contexte en combinaison avec des images, est bien souvent la base des mèmes sur internet. L’imitation entre pairs induit implicitement une compétition créative pour se faire remarquer et générer collectivement le buzz. Commercialement, ils sont utilisés en tant que marketing viral, aperçus comme publicités de masse.

Créer un meme sous GIMP

La création d’un meme tient surtout du texte que l’on va apposer sur notre image. C’est un texte en lettres capitales blanches avec un contour blanc, pour respecter le code du meme.Nous allons donc utiliser la police d’écriture Impact, en blanc, avec un contour noir pour respecter le code du meme.

  1. Ouvrez l’image qui va servir de support à votre futur meme. Je choisis ici “The Most Interesting Man in the World”.
  2. Cliquez sur l’icône Texte et entrez votre punchline, écrite avec la police de caractère Impact, en blanc. Ajustez la taille de la police selon la longueur de votre punchline :
    GIMP : tutoriel pour créer un meme photo
  3. Ensuite, faîtes un clic droit sur le calque texte et sélectionnez Alpha vers sélection qui se trouve en bas de la liste:
    GIMP : tutoriel pour créer un meme photo 1
  4. Vérifiez que la couleur de premier plan sélectionnée est bien sur Noir.
  5. Sélectionnez maintenant le menu Edition > Tracer la sélection. Sur la page d’options, cochez Ligne de tracé, Couleur pleine et Anti-crénelage. Choisissez l’épaisseur du trait en pixel qui convient, 1 pixel ou plus selon la taille de la police :
    GIMP : tutoriel pour créer un meme photo 2
  6. Validez : votre texte blanc devrait maintenant avoir une bordure noire !

Il ne vous reste plus qu’à répéter l’opération pour la seconde ligne de texte (si besoin) et enregistrer votre meme tout neuf.

GIMP : tutoriel pour créer un meme photo 3

Résultat :

Et voilà, vous venez de créer votre propre meme avec GIMP !

CSS : remplir le contenu d'une div de manière fluide photo

CSS : remplir le contenu d’une div de manière fluide

J’ai récemment été confonté à un problème lors de la réécriture du code CSS d’un formulaire Gravity Form : on voulait que le contenu remplisse la div, sans sauter de ligne lorsqu’il n’y en avait pas besoin.

Je pensais naïvement qu’un simple float:none et une largeur à 100% suffiraient :

.gfield_label {
   float: none !important;
   width: 100% !important;
}Code language: CSS (css)

Mais cela a fini par chambouler tous les champs de formulaires : labels et champs n’étaient plus sur la même ligne.

La solution est toute simple mais cela m’a pris un temps fou à la trouver – il suffit d’ajouter un clear:both au bloc parent qui contient l’élément que l’on veut fluidifier, comme ceci :

/* Make it flow */
li#field_11_10 { clear: both !important; }
Code language: CSS (css)

En espérant que cela puisse vous faire gagner du temps !

Synology : installer PIP, le gestionnaire de paquets Python photo

Synology : installer PIP, le gestionnaire de paquets Python

Si l’on souhaite rajouter pas mal de fonctionnalités à un NAS Synology, on est vite limité par les applications officielles.

On peut passer par IPKG ou alors tout simplement installer pip, le gestionnaire de paquets Python.

Voici comment installer pip sur votre NAS Synology en moins de 3 minutes.

Installation de pip sur votre Synology

Pré-requis : vous devez avoir installé Python (version 2.7 chez moi) depuis le gestionnaire de paquets du DSM.

1. On commence par ouvrir une session SSH avec l’utilisateur root sur le port 22 de l’IP de notre NAS :

ssh -l admin 192.168.IP.NAS -p22
sudo -iCode language: CSS (css)

Depuis DSM6, on ne peut plus ouvrir de session SSH avec l’utilisateur root. Il faut donc ruser en ouvrant une session avec un autre utilisateur (admin par exemple) puis passer root avec sudo -i

2. Une fois connecté en tant que root, on récupère le paquet pip :

wget https://bootstrap.pypa.io/get-pip.pyCode language: JavaScript (javascript)

3. Et on installe pip :

python get-pip.pyCode language: JavaScript (javascript)

Cela prend un peu de temps. Voici ce que vous devriez obtenir :

Collecting pip
  Downloading pip-8.1.2-py2.py3-none-any.whl (1.2MB)
    100% |████████████████████████████████| 1.2MB 103kB/s 
Collecting setuptools
  Downloading setuptools-27.1.2-py2.py3-none-any.whl (464kB)
    100% |████████████████████████████████| 471kB 99kB/s 
Collecting wheel
  Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
    100% |████████████████████████████████| 71kB 535kB/s 
Installing collected packages: pip, setuptools, wheel
Successfully installed pip-8.1.2 setuptools-27.1.2 wheel-0.29.0

pip est maintenant installé. Il ne vous reste plus qu’à installer les paquets de votre choix, à la manière d’un apt, apt-get ou aptitude :

Usage:   
  pip  [options]

Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  list                        List installed packages.
  show                        Show information about installed packages.
  search                      Search PyPI for packages.
  wheel                       Build wheels from your requirements.
  hash                        Compute hashes of package archives.
  help                        Show help for commands.Code language: PHP (php)

À vous les paquets Python sur votre Synology !

Télécharger les vidéos d'Arte+7 (replay) photo

Le guide complet pour télécharger les vidéos d’Arte+7 en replay

Avez-vous déjà été captivé par une émission sur Arte+7, mais contrarié de ne pas pouvoir la télécharger pour la regarder plus tard ? Vous n’êtes pas seul!

Beaucoup de téléspectateurs rencontrent des difficultés à télécharger des vidéos depuis Arte+7, un service de replay populaire qui propose un contenu riche et varié, car l’adresse du fichier vidéo n’est pas visible en clair et n’est pas détectée par toutes les extensions de capture de flux vidéo des navigateurs.

Heureusement, il existe une méthode simple et efficace pour télécharger vos émissions préférées sans avoir besoin de logiciels tiers complexes. Dans cet article, nous allons explorer cette méthode étape par étape.

Comprendre le défi du téléchargement sur Arte+7

Avant de plonger dans la solution, comprenons d’abord pourquoi le téléchargement de vidéos depuis Arte+7 peut sembler compliqué.

Le site d’Arte+7 utilise une technologie de streaming avancée qui rend l’adresse du fichier vidéo invisible. Cela signifie que les extensions de capture de flux vidéo courantes peuvent ne pas fonctionner comme elles le feraient sur d’autres sites.

J’ai longtemps essayé de télécharger les vidéos en regardant le code source pour identifier les flux, et ensuite utiliser des logiciels dédiés pour les télécharger… sans succès, alors qu’il existe une méthode bien plus simple et efficace.

Lire la suite

Linux Mint : mettre à jour le noyau linux avec le kernel liquorix photo 1

Linux Mint : mettre à jour le noyau linux avec le kernel Liquorix

Linux Mint Debian Edition

Linux Mint Debian Edition (LMDE) est vraiment très stable et fonctionne avec des paquets éprouvés mais pas vraiment à jour.

Si vous avez du matériel récent, il est possible qu’il ne soit pas détecté – c’est le cas du pavé tactile de mon ordinateur portable – à cause du noyau linux qui laggue un peu.

A l’heure où j’écris ces lignes, Linux Mint Debian Edition utilise le kernel 3.16 alors que le dernier en date est le 4.6.3… voyons comment on peut le mettre à jour.

Le kernel Liquorix

Linux Mint : mettre à jour le noyau linux avec le kernel liquorix photo 1

Liquorix vient remplacer le noyau linux de votre distribution.

C’est un noyau à jour, avec des configurations supplémentaires pour les ordinateurs de travail, le multimédia et les jeux vidéos.

Installation de Liquorix

On passe root :

sudo -i

On édite le fichier sources.list d’apt :

nano /etc/apt/sources.listCode language: PHP (php)

et on y ajoute :

# liquorix kernel
deb http://liquorix.net/debian sid mainCode language: PHP (php)

On sauvegarde le fichier, on met à jour les paquets et on installe le keyring de Liquorix :

apt-get update && apt-get install '^liquorix-([^-]+-)?keyring.?'Code language: JavaScript (javascript)

On peut voir quels sont les derniers noyaux ajoutés sur le dépôt liquorix:

apt search liquorix

Ensuite, il vous suffit d’installer le dernier kernel en date:

apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64Code language: JavaScript (javascript)

Et on reboote la machine pour activer les changements. Le pavé tactile est miraculeusement actif après installation de ce kernel.

Ce noyau est stable et complémente très bien Linux Mint. Recommandé.

PHP : résoudre l'erreur "PHP Fatal error: Uncaught Error: Class 'DOMDocument'" photo

PHP : résoudre l’erreur “PHP Fatal error: Uncaught Error: Class DOMDocument”

Aujourd’hui, petite mise à jour mineure de PHP7, en utilisant les dépôts DotDeb.

Le problème : PHP-FPM désactivé par défaut

A la fin de l’installation, j’obtiens ce message d’avertissement :

Setting up php7.0-fpm (7.0.8-1~dotdeb+8.1) ...
Installing new version of config file /etc/init.d/php7.0-fpm ...
NOTICE: Not enabling PHP 7.0 FPM by default.
NOTICE: To enable PHP 7.0 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.0-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
[ ok ] Restarting PHP 7.0 FastCGI Process Manager: php-fpm7.0.Code language: JavaScript (javascript)

C’est bien la première fois qu’une mise à jour de PHP désactive PHP-FPM, ce n’est pas vraiment une mise à jour mineure et sans accroc.

On réactive donc les deux modules indiqués et on relance la configuration de PHP-FPM avant de relancer Apache et PHP-FPM :

a2enmod proxy_fcgi setenvif
a2enconf php7.0-fpm
service apache2 restart && service php7.0-fpm restartCode language: CSS (css)

Je lance le site : page d’erreur de certificat la première fois, et page blanche ensuite !

Des modules PHP à installer séparément

Après analyse des dernières lignes du fichier log d’Apache, je me suis rendu compte que le site avait besoin des modules mbstring et xml or, cette nouvelle version ne les fournit plus : ce sont maintenant des paquets à installer à part.

Voici le message d’erreur des logs:

[26-Jun-2016 08:39:12 UTC] PHP Fatal error:  Uncaught Error: Class 'DOMDocument' not found in /public_html/wp-content/plugins/ginger/front/gingerfront.core.php:171
Stack trace:
#0 /public_html/wp-includes/plugin.php(235): ginger_parse_dom('...')

On installe donc mbstring et xml avant de relancer Apache et PHP :

apt install php7.0-mbstring php7.0-xml
service apache2 restart && service php7.0-fpm restartCode language: CSS (css)

Cette fois-ci, c’est tout bon. Tous les services sont actifs et le site est de nouveau opérationnel.

Attention donc : c’est une mise à jour mineure que j’aurais pu faire en SSH depuis mon téléphone, sans avoir les moyens de réparer à distance. Cela remet en perspective les mises à jour “on-the-go“.

Voici les nouveaux modules qui ne sont plus inclus par défaut avec PHP : bcmath, dba, mbstring, soap, xml et zip. Ce sont donc maintenant des paquets à part entière, à installer séparément.
Javascript : afficher le contenu d'un bloc HTML après un délai variable photo

JavaScript : afficher du contenu dans un bloc DIV après un délai défini

Voici comment afficher du contenu (texte, HTML, JS, CSS ou tout autre contenu) dans un bloc DIV, après un délai que vous aurez préalablement défini, le tout en JavaScript.

C’est écrit en JavaScript pur (vanilla JavaScript), c’est-à-dire sans librairies supplémentaires, et donc compatible avec tous les navigateurs. On utilise innerHTML pour faire apparaître la div après le délai imparti.

Exemple de contenu affiché après un délai

Le texte suivant apparaît 7 secondes après le chargement de la page :

Le code : afficher le contenu d’une DIV après un délai

Voici le style CSS à placer dans l’entête de la page (HEAD) :

.centered {
    margin:0 auto;
    text-align:center;
}Code language: CSS (css)

Et voici le contenu HTML à placer dans le corps de la page (BODY):

<div id="example_div" class="centered"> </div>Code language: HTML, XML (xml)

Ainsi que le code JavaScript qui s’occupe du délai:

/*
|-----------------------------------------------------------------------
| Delayed DIV text in vanilla JavaScript by Matt 
| URL : https://www.skyminds.net
|-----------------------------------------------------------------------
|
| Returns predefined text in a DIV after a delay.
|
*/
(function(){
   var element_id = 'example_div' ; /* name of div ID w/ delayed text */
   var delayed_text = "Ceci est un texte d'illustration pour tester l'affichage d'un bloc DIV après un délai défini."; 
   var time = 7; /* time in seconds until display */

setTimeout(function(){
document.getElementById(element_id).innerHTML = delayed_text;},time*1000);
})();Code language: JavaScript (javascript)

Fonctionnement du script

Voici comment fonctionne le script : on recherche le bloc DIV qui possède l’identifiant #exemple_div et on lui injecte le contenu de la variable delayed_text après le délai en secondes défini dans la variable time.

Ne pas oublier d’échapper les slash par des antislash dans les balises de fermeture (liens, paragraphes etc) dans la variable delayed_text.

Simple et efficace.

BIOS : retrouver l'option de boot pour démarrer depuis le lecteur DVD photo

BIOS : retrouver l’option de boot pour démarrer depuis le lecteur DVD

Problème : aucune option pour démarrer depuis le lecteur optique

Récemment, j’ai eu à réinstaller le système d’exploitation sur un ordinateur portable. Jusque là, rien de bien nouveau.

Mais quelle ne fut pas ma surprise de constater que le l’ordre de boot du BIOS ne proposait pas l’option de démarrer depuis le lecteur optique (DVD d’installation de l’OS) !

Seuls les différents disques durs étaient disponibles à la sélection.

Solution : désactiver le Secure Boot et lancer CSM

Si cela vous arrive sur votre machine, voici comment ressuciter l’option qui permet de démarrer sur le DVD de votre OS préféré :

1. Appuyez sur “ESC” ou “F2” au démarrage pour entrer dans la configuration du BIOS,

2. Allez dans l’onglet “Security”, sélectionnez “Secure Boot Menu” et désactivez “Secure Boot Control”,

3. Sous l’onglet “Boot”, activez “Launch CSM”,

4. Sauvegardez les changements et quittez le BIOS,

5. Appuyez sur “ESC” ou “F2” pour revenir dans le BIOS,

6. Sous l’onglet “Boot”, le lecteur DVD ainsi que les clés USB sont maintenant visibles. Sélectionnez le lecteur DVD comme première option de démarrage.

7. Sauvegardez les changements, quittez le BIOS et redémarrez la machine.

Voilà, votre ordinateur portable devrait maintenant booter depuis le lecteur DVD.

The Reaper : mise à jour vers Ubuntu 16.04 Xenial Xerus photo

The Reaper : mise à jour vers Ubuntu 16.04 Xenial Xerus

Aujourd’hui, ma machine desktop – The Reaper – vient d’avoir une jolie petite mise à jour et passe d’Ubuntu 14.04 à 16.04, codename Xenial Xerus.

The Reaper : mise à jour vers Ubuntu 16.04 Xenial Xerus photo

Mise à jour d’Ubuntu

La mise à jour se fait assez simplement :

sudo apt update && sudo apt upgrade
sudo apt autoremove
sudo apt dist-upgrade

Comme je n’installe que des versions LTS (Long-Time Support) sur cette machine, il y avait plus de 2.3 Go de paquets à télécharger soit un sacré paquet de mises à jour.

Plusieurs erreurs sont apparues pendant l’installation, qui a laissé à peu près une trentaine de paquets non configurés et non des moindres : GRUB, initramfs-tools etc.

En regardant les messages d’erreurs, j’ai vu que le problème se situait au niveau de DPKG.

Lorsqu’un paquet obsolète bloque DPKG

Si cela vous arrive, pas de panique. Il faut juste régler le problème *avant* de redémarrer la machine.

On commence par relancer la configuration des paquets non configurés:

dpkg --configure -a

En résultat, vous obtenez une (très) longue liste de tous les paquets non configurés avec tous les messages d’erreurs associés. Ce qui importe, ce sont les premières lignes du résultat : le paquet qui bloque est toujours mentionné en premier.

Dans mon cas, il s’agissait d’un paquet obsolète depuis Ubuntu 12.04 (donc depuis 4 ans), virtuoso-nepomuk. Je l’ai donc totalement supprimé :

sudo apt purge virtuoso-nepomuk

On relance ensuite la configuration des paquets :

dpkg --configure -a

Puis une petite vérification des nouveaux paquets au cas où et la suppression des paquets obsolètes :

sudo apt update && sudo apt upgrade && sudo apt autoremove

Un reboot plus tard, Ubuntu 16.04 boote tranquillement. Je conseille de régler le problème des paquets non configurés avant le reboot, c’est bien plus galère autrement.

Réactiver les dépôts désactivés pendant la mise à niveau

Enfin, il reste à réactiver les dépôts APT qui ont été désactivés pendant la mise à niveau.

Lire la suite

Linux : résoudre l'erreur APT "there is no public key available for the following key IDs" photo

Linux : résoudre l’erreur APT de clé publique : “no public key available for the following key IDs”

Pas de clé publique disponible pour vérifier l’authenticité des dépôts

Linux : résoudre l'erreur APT "there is no public key available for the following key IDs" photo

Au lancement de la mise à jour des paquets du serveur, je suis tombé sur le message d’erreur suivant :

W: There is no public key available for the following key IDs:
8B48AD6246925553
W: There is no public key available for the following key IDs:
8B48AD6246925553
W: There is no public key available for the following key IDs:
8B48AD6246925553Code language: PHP (php)

Visiblement, APT a perdu ses petits et ne retrouve plus la clé publique GPG d’un des mes dépôts (webmin en l’occurence).

Voici comment remédier au problème.

Solution : demander et ajouter la clé au trousseau GPG

Un peu de ménage dans APT

On commence par faire un peu de ménage dans les fichiers APT avec un petit coup de balai:

apt-get cleanCode language: JavaScript (javascript)

… avant de récréer le dossier lists/partial pour véritablement recréer le cache APT :

cd /var/lib/apt
mv lists lists.old
mkdir -p lists/partial
apt-get clean && apt-get autoremove && apt updateCode language: JavaScript (javascript)

Import de la clé publique

Maintenant, il nous reste à importer la clé publique manquante dans notre trousseau.

On se place dans le dossier root pour travailler:

cd /root

On demande la clé publique:

gpg --recv-keys 8B48AD6246925553

On l’exporte et on l’ajoute à notre trousseau :

gpg --export 8B48AD6246925553 | apt-key add -Code language: JavaScript (javascript)

On peut alors relancer la mise à jour des paquets :

apt-get clean && apt-get autoremove
apt update && apt upgradeCode language: JavaScript (javascript)

Script bash pour automatiser la mise à jour des clés APT

Soyons plus fous, nous allons automatiser les deux commandes avec un petit script BASH. On crée notre script :

nano /home/scripts/renew-apt-key

et on y ajoute:

#!/bin/bash
# Author : Matt Biscay
# Author URI : https://www.skyminds.net/?p=8735
gpg --keyserver keyserver.ubuntu.com --recv-keys $1
gpg --armor --export $1 | sudo apt-key add -Code language: PHP (php)

On enregistre le fichier et on le rend executable :

chmod +x renew-apt-key

Il ne vous reste plus qu’à renouveler votre clé APT avec:

sudo ./renew-apt-key NUMERO-DE-CLE

Et voilà, plus d’erreur lors des mises à jour APT.