Ok, logré hacerlo. Es un poco sucio pero hasta ahora bastante seguro.
La base de datos que contiene esa información se encuentra en /var/db/DetachedSignatures
. Se trata de una base de datos SQLite, por lo que se puede modificar fácilmente utilizando la herramienta sqlite3 integrada. Aquí tienes un ejemplo de sesión que elimina las entradas que coinciden con la palabra clave "eclipse":
# estamos utilizando sudo, así que ten cuidado
$ sudo sqlite /var/db/DetachedSignatures
# ¿qué tablas contiene?
sqlite> .tables
code global
# ¿cuáles son las definiciones de las columnas en 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);
# ¿cuáles son las definiciones de las columnas en 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);
Lo que nos interesa son code.identifier
y global.sign_location
.
sqlite> SELECT * FROM code WHERE identifier LIKE "%eclipse%";
sqlite> SELECT * FROM global WHERE sign_location LIKE "%eclipse%";
Echa un vistazo y haz una copia de seguridad antes de borrar todas las entradas que coincidan en ambas consultas.
sqlite> DELETE FROM code WHERE identifier LIKE "%eclipse%";
sqlite> DELETE FROM global WHERE sign_location LIKE "%eclipse%";
También he reiniciado mi laptop, aunque no sé si realmente es necesario.
¡Eso es todo!