Vergonzoso para Google, todavía no hay forma.
Además de eso, todas las bases de datos de Chrome son solo archivos sqlite3, y puede usar sqlite3 para purgar las entradas innecesarias. Primero, instala el sqlite3
cliente (sudo apt-get install sqlite3
), y luego vaya a la configuración de Chrome (debe ser .config/chrome/Default
).
Aquí hay un fragmento de SQL que elimina las URL antiguas del historial (funciona en bases de datos History
, Archived History
):
delete from urls where last_visit_time <= (strftime('%s',(select
max(last_visit_time)/10000000 from urls),'unixepoch','-1 days')*10000000);
Aquí hay otro que probablemente funcionará en Thumbnails
base de datos:
attach database 'History' as history;
delete from thumbnails where last_updated <= (strftime('%s',(select
max(last_visit_time)/10000000 from history.urls),'unixepoch','-1 days')
*10000000);
Esto probablemente funcionará en History Index
-es:
attach database 'History' as history;
delete from info i, pages_content pc where i.time <= (strftime('%s',(select
max(last_visit_time)/10000000 from history.urls),'unixepoch','-1 days')*
10000000) and i.rowid = pc.rowid;
Por supuesto, debe hacer una copia de seguridad de todas las bases de datos, ya que es posible que tenga una versión diferente de Chrome, o que accidentalmente se me escape un símbolo, etc.
Como Chrome almacena sus tiempos en un formato extraño basado en UNIX Epoch (pero multiplicado por 10 ^ 7 y cambiado al futuro), las funciones del sistema que regresan a la fecha no se pueden usar; en su lugar, se utiliza la fecha de apertura de la última página.
Puedes reemplazar -1 days
con cualquier intervalo que desee; puede leer acerca de los modificadores permitidos en la documentación de SQLite (en breve:-N days
, -N months
).
Después de eliminar los datos innecesarios, es posible que desee emitir vacuum;
comando que reduce aún más la base de datos.
(Esta no es una respuesta, pero la dejo como advertencia).
He visto dos extensiones que afirman hacer esto de alguna manera, pero ninguna funciona.
- Click2Clear History solo elimina reciente elementos. (O lo intenta.)
- El limitador del historial elimina elementos antiguos cada vez que visitas el historial.
Sin embargo, estas (y espero otras extensiones) solo llaman a chrome.history.deleteRange
— si tienes suerte, con parámetros razonables. Según la documentación:
Elimina todos los elementos dentro del intervalo de fechas especificado del historial. Las páginas no se eliminarán del historial a menos que todas las visitas estén dentro del rango.
Y en la práctica, no puedo ver ningún efecto, más allá de (creo) que las páginas no aparecen en la página de historial. En particular, el archivo de la base de datos del historial sigue siendo grande, y Chrome todavía genera una gran cantidad de IO. Así que sospecho (desde muy observación casual con Chromium 9 beta r68937) que chrome.history.deleteRange
solo afecta lo que es visible en el chrome://history
página y no lo que está almacenado en el disco y afecta cosas como la finalización de la barra de URL.