Ok, j'ai réussi à faire ça. C'est un peu sale mais jusqu'ici assez sûr.
La base de données contenant ces informations est située sous /var/db/DetachedSignatures
. C'est une base de données SQLite, donc elle peut être facilement modifiée en utilisant l'outil sqlite3 intégré. Voici une session exemple qui supprime les entrées correspondant au mot-clé "eclipse" :
# nous utilisons sudo, donc faites attention
$ sudo sqlite /var/db/DetachedSignatures
# quelles tables contient-elle ?
sqlite> .tables
code global
# quelles sont les définitions de colonnes dans code ?
sqlite> .schema code
CREATE TABLE code (
id integer primary key on conflict replace autoincrement not null,
global integer null references global (id),
identifier text not null,
architecture integer,
identification blob not null unique on conflict replace,
signature blob not null,
created text default current_timestamp
);
CREATE INDEX architecture_index on code (architecture);
CREATE INDEX id_index on code (identification);
CREATE INDEX identifier_index on code (identifier);
# quelles sont les définitions de colonnes dans global ?
sqlite> .schema global
CREATE TABLE global (
id integer primary key on conflict replace autoincrement not null,
sign_location text not null,
signature blob null
);
CREATE INDEX location_index on global (sign_location);
Ce qui nous intéresse sont code.identifier
et global.sign_location
.
sqlite> SELECT * FROM code WHERE identifier LIKE "%eclipse%";
sqlite> SELECT * FROM global WHERE sign_location LIKE "%eclipse%";
Jetez un œil et faites une sauvegarde avant de supprimer toutes les entrées correspondantes des deux requêtes.
sqlite> DELETE FROM code WHERE identifier LIKE "%eclipse%";
sqlite> DELETE FROM global WHERE sign_location LIKE "%eclipse%";
J'ai également redémarré mon ordinateur portable, bien que je ne sache pas si c'est vraiment nécessaire.
C'est tout !