¿Cómo puedo eliminar el historial OLD de Google Chrome?

19

Estoy trabajando en una computadora portátil con un disco duro modesto, y 500 MB están ocupados con los archivos "Índice de historial" y "Miniaturas" de Google Chrome. Algunos de estos archivos tienen un año de antigüedad. Me cromo ofertas la opción de eliminar reciente historia, pero quiero lo contrario: Quiero eliminar vieja historia. (Lo ideal sería eliminar la información del historial utilizada menos recientemente, pero no espero poder hacerlo).

¿Alguien tiene alguna idea? Estoy ejecutando el google-chrome-betapaquete estándar de Debian .

Norman Ramsey
fuente
Chrome ahora ha incorporado soporte para borrar el historial, las cookies y otros datos, por lo que esta pregunta ya no es relevante.
nhinkle
2
@nhinkle: cite el número de versión o la página de la documentación de google. Chrome ha tenido "apoyo" desde hace algún tiempo, pero el apoyo a partir del cromo (versión estable) 11 sólo permite eliminar reciente historia, no vieja historia
Norman Ramsey
Eso es justo; He vuelto a abrir la pregunta. Mis disculpas por no entenderlo correctamente.
nhinkle
@ NormanRamsey, Chrome elimina automáticamente el historial de más de 90 días. ¿Es eso lo que querías?
Pacerier

Respuestas:

13

Vergonzoso para Google, todavía no hay manera .

Además de eso, todas las bases de datos de Chrome son solo archivos sqlite3, y puede usar sqlite3 para purgar entradas innecesarias. Primero, instale el sqlite3cliente ( sudo apt-get install sqlite3), y luego vaya a la configuración de Chrome (debería ser .config/chrome/Default).

He aquí un fragmento de SQL que purga URL antiguas de la historia (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 la Thumbnailsbase 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, porque puede tener una versión diferente de Chrome, o puedo perder accidentalmente un símbolo, etc.

Como Chrome almacena sus tiempos en algún formato extraño basado en UNIX Epoch (pero multiplicado por 10 ^ 7 y desplazado hacia el futuro), no se puede usar la fecha de retorno de las funciones del sistema; se utiliza la fecha de la última apertura de la página.

Puede reemplazar -1 dayscon cualquier intervalo que desee; usted puede leer sobre modificadores permitidos en la documentación de SQLite (poco: -N days, -N months).

Después de eliminar datos innecesarios, es posible que desee emitir un vacuum;comando que reduzca aún más la base de datos.

Whitequark
fuente
2
Gracias por la respuesta detallada. Sabía que debería haber prestado más atención en la clase de base de datos.
Norman Ramsey
@whitequark, ¿qué quieres decir con "desplazado hacia el futuro"?
Pacerier
3

(Esto no es una respuesta, pero lo dejo como advertencia).

He visto dos extensiones que dicen hacer esto de alguna manera, pero ninguna funciona.

Sin embargo, estas (y espero otras extensiones) solo llaman chrome.history.deleteRange, si tienes suerte, con parámetros razonables. De acuerdo con la documentación:

Elimina todos los elementos dentro del rango 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á (creo) que las páginas no aparecen en la página del historial. En particular, el archivo de la base de datos del historial sigue siendo grande, y Chrome todavía le hace mucho IO. Así que sospecho (por una observación muy casual con Chromium 9 beta r68937) que chrome.history.deleteRangesolo afecta lo que está visible en la chrome://historypágina y no lo que está almacenado en el disco y afecta cosas como la finalización de la barra de URL.

Gilles 'SO- deja de ser malvado'
fuente
Ambas son malas noticias. El limitador de historial elimina todos menos los últimos 7 días, por lo que en el momento en que lo instala, pierde. Y Click2Clear History es un desastre de usabilidad, sin mencionar que el "período personalizado" en la captura de pantalla parece no funcionar. Evite estas dos extensiones, especialmente el limitador de historial, que elimina irreversiblemente el acceso a su historial. ¡Y tampoco elimina los malditos datos!
Norman Ramsey
¿Qué quieres decir con esa última línea, "tampoco elimina los malditos datos"? Quiero deshacerme de los grandes archivos de índice de historial en mi disco, ¿lo hará?
Neil
Se limitó el limitador de la historia para que no se comportara como Norman señaló. Además, hay un tenedor de limitador de Historia que parece actualizado y mejor: chrome.google.com/webstore/detail/history-limiter-custom/…
bdombro