Comment puis-je supprimer l'ancien historique de Google Chrome?

19

Je travaille sur un ordinateur portable avec un disque dur modeste et 500 Mo sont occupés par les fichiers "Chrome Index" et "Thumbnails" de Google Chrome. Certains de ces fichiers ont un an. Chrome me propose de supprimer l' historique récent , mais je souhaite le contraire: je souhaite supprimer l' ancien historique. (Idéalement, je supprimerais les informations d'historique les moins récemment utilisées, mais je ne m'attends pas à pouvoir le faire.)

Quelqu'un a des idées? J'utilise le google-chrome-betapaquet Debian standard .

Norman Ramsey
la source
Chrome prend désormais en charge la suppression de l'historique, des cookies et d'autres données, de sorte que cette question n'est plus pertinente.
nhinkle
2
@nhinkle: veuillez citer le numéro de version ou la page de la documentation google. Chrome a un "support" depuis un certain temps, mais le support à partir de Chrome 11 (version stable actuelle) ne permet que de supprimer l' historique récent , pas l' ancien historique
Norman Ramsey
c'est juste; J'ai rouvert la question. Mes excuses pour ne pas l'avoir bien compris.
nhinkle
@NormanRamsey, Chrome supprime automatiquement l' historique datant de plus de 90 jours. C'est ça que tu voulais?
Pacerier

Réponses:

13

Honteux pour Google, il n'y a pas encore de moyen .

En plus de cela, toutes les bases de données Chrome ne sont que des fichiers sqlite3, et vous pouvez utiliser sqlite3 pour purger les entrées inutiles. Tout d'abord, installez le sqlite3client ( sudo apt-get install sqlite3), puis accédez à la configuration de Chrome (devrait l'être .config/chrome/Default).

Voici un extrait SQL qui purge les anciennes URL de l'historique (fonctionne sur les bases de données History, Archived History):

delete from urls where last_visit_time <= (strftime('%s',(select 
   max(last_visit_time)/10000000 from urls),'unixepoch','-1 days')*10000000);

En voici un autre qui fonctionnera probablement sur la Thumbnailsbase de données:

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);

Cela fonctionnera probablement sur 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;

Bien sûr, vous devez sauvegarder toutes les bases de données, car vous pouvez avoir une version différente de Chrome, ou je peux accidentellement manquer un symbole, etc.

Comme Chrome stocke ses heures dans un format étrange basé sur UNIX Epoch (mais multiplié par 10 ^ 7 et décalé vers le futur), les fonctions système renvoyant la date ne peuvent pas être utilisées; la date d'ouverture de la dernière page est utilisée à la place.

Vous pouvez remplacer -1 dayspar n'importe quel intervalle que vous voulez; vous pouvez lire sur les modificateurs autorisés dans la documentation SQLite (prochainement: -N days, -N months).

Après avoir supprimé les données inutiles, vous souhaiterez peut-être émettre une vacuum;commande qui réduira encore plus la base de données.

whitequark
la source
2
Merci pour la réponse détaillée. Je savais que j'aurais dû faire plus attention dans la classe de base de données.
Norman Ramsey
@whitequark, que voulez-vous dire par «décalé vers l'avenir»?
Pacerier
3

(Ce n'est pas une réponse, mais je laisse cela comme un avertissement.)

J'ai vu deux extensions qui prétendent le faire d'une manière ou d'une autre, mais aucune ne fonctionne.

Cependant, ces (et j'attends d'autres extensions) n'appellent que chrome.history.deleteRange- si vous êtes chanceux, avec des paramètres raisonnables. Selon la documentation:

Supprime tous les éléments de la plage de dates spécifiée de l'historique. Les pages ne seront pas supprimées de l'historique, sauf si toutes les visites se situent dans la plage.

Et dans la pratique, je ne vois aucun effet, au-delà (je pense) des pages n'apparaissant pas dans la page historique. En particulier, le fichier de base de données d'historique est toujours volumineux et Chrome y fait encore beaucoup d'E / S. Je soupçonne donc (d'après une observation très occasionnelle avec Chromium 9 beta r68937) que cela chrome.history.deleteRangen'affecte que ce qui est visible sur la chrome://historypage et non ce qui est stocké sur le disque et affecte des choses comme l'achèvement de la barre d'URL.

Gilles 'SO- arrête d'être méchant'
la source
Les deux sont de mauvaises nouvelles. Le limiteur d'historique supprime tout sauf vos 7 derniers jours, donc au moment où vous l'installez, vous perdez. Et Click2Clear History est un désastre d'utilisation, sans compter que la "période personnalisée" dans la capture d'écran ne semble pas fonctionner. Évitez ces deux extensions --- en particulier History Limiter, qui supprime irréversiblement l'accès à votre historique. Et cela ne supprime pas non plus les fichues données !!!!
Norman Ramsey
Que voulez-vous dire par cette dernière ligne, «cela ne supprime pas non plus les fichues données»? Je veux me débarrasser des gros fichiers d'index d'historique sur mon lecteur, est-ce que ça fera?
Neil
Le limiteur d'histoire a été fixé pour ne pas se comporter comme Norman l'a souligné. En outre, il existe une fourchette de limiteur d'historique qui semble mise à jour et meilleure: chrome.google.com/webstore/detail/history-limiter-custom/…
bdombro