Vergognoso per Google, non c'è ancora modo.
Oltre a ciò, tutti i database di Chrome sono solo file sqlite3 e puoi utilizzare sqlite3 per eliminare le voci non necessarie. Innanzitutto, installa sqlite3
cliente (sudo apt-get install sqlite3
), quindi vai alla configurazione di Chrome (dovrebbe essere .config/chrome/Default
).
Ecco uno snippet SQL che elimina i vecchi URL dalla cronologia (funziona su database History
, Archived History
):
delete from urls where last_visit_time <= (strftime('%s',(select
max(last_visit_time)/10000000 from urls),'unixepoch','-1 days')*10000000);
Eccone un altro che probabilmente funzionerà su Thumbnails
database:
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);
Probabilmente funzionerà su 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;
Ovviamente dovresti eseguire il backup di tutti i database, perché potresti avere una versione diversa di Chrome, oppure potrei perdere accidentalmente un simbolo, ecc.
Poiché Chrome memorizza i suoi tempi in uno strano formato basato su UNIX Epoch (ma moltiplicato per 10 ^ 7 e spostato nel futuro), le funzioni di sistema che restituiscono la data non possono essere utilizzate; viene invece utilizzata la data dell'ultima apertura della pagina.
Puoi sostituire -1 days
con qualsiasi intervallo tu voglia; puoi leggere i modificatori consentiti nella documentazione di SQLite (in breve:-N days
, -N months
).
Dopo aver rimosso i dati non necessari, potresti voler emettere vacuum;
comando che riduce ulteriormente il database.
(Questa non è una risposta, ma la lascio come avvertimento.)
Ho visto due estensioni che affermano di farlo in qualche modo, ma nessuna delle due funziona.
- Click2Clear History elimina solo recenti Oggetti. (O ci prova.)
- Il limitatore di cronologia elimina i vecchi elementi ogni volta che visiti la cronologia.
Tuttavia queste (e mi aspetto altre estensioni) chiamano solo chrome.history.deleteRange
— se sei fortunato, con parametri ragionevoli. Secondo la documentazione:
Rimuove tutti gli elementi all'interno dell'intervallo di date specificato dalla cronologia. Le pagine non verranno rimosse dalla cronologia a meno che tutte le visite non rientrino nell'intervallo.
E in pratica, non riesco a vedere alcun effetto, al di là (credo) delle pagine che non compaiono nella pagina della cronologia. In particolare, il file del database della cronologia è ancora grande e Chrome effettua ancora molti IO. Quindi sospetto (da molto osservazione casuale con Chromium 9 beta r68937) che chrome.history.deleteRange
influisce solo su ciò che è visibile nel chrome://history
pagina e non ciò che è memorizzato sul disco e influisce su cose come il completamento della barra degli URL.