Google Chromeから古い履歴を削除するにはどうすればよいですか?


19

控えめなハードドライブを搭載したラップトップで作業しており、Google Chromeの「History Index」および「Thumbnails」ファイルで500MBが使用されています。これらのファイルの一部は1年前のものです。Chromeには、最近の履歴を削除するオプションがありますが、逆に古い履歴を削除したいです。(理想的には、最も最近使用されていない履歴情報を削除しますが、それができるとは考えていません。)

誰にもアイデアはありますか?標準のDebian google-chrome-betaパッケージを実行しています。


Chromeは、履歴、Cookie、およびその他のデータをクリアするためのサポートを組み込みましたので、この質問はもはや関係ありません。
ヒンクル

2
@nhinkle:バージョン番号またはGoogleドキュメントのページを引用してください。クロムは、いくつかの時間のための「支援」を持っていたが、クロム11(現在の安定版)のようサポートのみ削除することができ、最近の歴史ではなく、古い歴史
ノーマンラムジー

それは公正です; 質問を再開しました。正しく理解できなかったことをおologiesびします。
ヒンクル

@ NormanRamsey、Chrome は90日より古い履歴を自動的に削除します。それはあなたが望んだことですか?
Pacerier

回答:


13

Googleにとって恥ずべきことはまだありません

それに加えて、Chromeデータベースはすべてsqlite3ファイルであり、sqlite3を使用して不要なエントリを削除できます。最初にsqlite3クライアントをインストールし(sudo apt-get install sqlite3)、次にChrome構成に移動します(そうする必要があります.config/chrome/Default)。

以下は、履歴から古いURLを削除するSQLスニペットです(データベースHistoryで動作します、Archived History):

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

これはおそらくThumbnailsデータベースで動作する別のものです:

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

これはおそらく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;

もちろん、異なるバージョンのChromeを使用している場合や、誤ってシンボルを見逃す場合があるなどの理由で、すべてのデータベースをバックアップする必要があります。

ChromeはUNIXエポックに基づいた奇妙な形式で時間を保存するため(ただし10 ^ 7倍して未来にシフト)、日付を返すシステム関数は使用できません。代わりに、最後のページを開いた日付が使用されます。

-1 days任意の間隔に置き換えることができます。SQLiteのドキュメントで許可されている修飾子について読むことができます(まもなく:-N days-N months)。

不要なデータを削除した後vacuum;、データベースをさらに縮小するコマンドを発行できます。


2
詳細な回答をありがとう。データベースクラスでもっと注意を払うべきだと思いました。
ノーマンラムジー

@whitequark、「未来へのシフト」とはどういう意味ですか?
Pacerier

3

(これは答えではありませんが、警告として残しています。)

何らかの方法でこれを行うと主張する2つの拡張機能を見てきましたが、どちらも機能しません。

  • Click2Clear Historyは、最近のアイテムのみを削除します。(またはしようとします。)
  • 履歴リミッターは、履歴にアクセスするたびに古いアイテムを削除します。

ただし、これら(および他の拡張機能も期待しchrome.history.deleteRangeます)は呼び出します—運が良ければ、妥当なパラメーターで呼び出し ます。ドキュメントによると:

指定した日付範囲内のすべてのアイテムを履歴から削除します。すべての訪問が範囲内に収まらない限り、ページは履歴から削除されません。

そして実際には、履歴ページに表示されていない(と思われる)ページを超えて、効果は見られません。特に、履歴データベースファイルはまだ大きく、Chromeは依然として大量のIOを作成します。したがって、(Chromium 9ベータr68937を使用した非常にカジュアルな観察から)ページにchrome.history.deleteRange表示されるものにのみ影響chrome://historyし、ディスクに保存されているものには影響せず、URLバーの補完などに影響すると思われます。


どちらも悪いニュースです。履歴リミッターは、過去7日間を除くすべてを削除するため、インストールした瞬間に失われます。また、Click2Clear履歴はユーザビリティの障害です。スクリーンショットの「カスタム期間」が機能しないように見えることは言うまでもありません。これらの両方の拡張機能は避けてください。特に履歴リミッターは、履歴へのアクセスを不可逆的に削除します。また、いまいましいデータも削除されません!!!!
ノーマンラムジー

その最後の行で、「それはいまいましいデータも削除しない」とはどういう意味ですか?ドライブ上の大きな履歴インデックスファイルを削除したいのですが、それはできますか?
ニール

履歴リミッターは、ノーマンが指摘したように動作しないように修正されました。また、より良い更新と思わ歴史リミッタのフォークがあります:chrome.google.com/webstore/detail/history-limiter-custom/...
bdombro

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.