Bagaimana saya bisa menghapus riwayat TUA dari Google Chrome?

19

Saya sedang mengerjakan laptop dengan hard drive sederhana, dan 500MB diambil dengan Google Chrome "History Index" dan "Thumbnails" file. Beberapa file ini berumur satu tahun. Chrome menawarkan saya opsi untuk menghapus histori terkini , tetapi saya menginginkan yang sebaliknya: Saya ingin menghapus histori lama . (Idealnya saya akan menghapus informasi riwayat yang paling terakhir digunakan, tetapi saya tidak berharap bisa melakukan itu.)

Adakah yang punya ide? Saya menjalankan google-chrome-betapaket standar Debian .

Norman Ramsey
sumber
Chrome sekarang memiliki dukungan bawaan untuk menghapus riwayat, cookie, dan data lainnya, sehingga pertanyaan ini tidak lagi relevan.
nhinkle
2
@nhinkle: harap cantumkan nomor versi atau halaman dokumentasi google. chrome telah memiliki "dukungan" untuk beberapa waktu, tetapi dukungan pada chrome 11 (versi stabil saat ini) hanya memungkinkan untuk menghapus riwayat terkini , bukan riwayat lama
Norman Ramsey
itu adil; Saya sudah membuka kembali pertanyaannya. Saya minta maaf karena tidak memahaminya dengan benar.
nhinkle
@NormanRamsey, Chrome secara otomatis menghapus riwayat yang lebih dari 90 hari. Itukah yang kamu inginkan?
Pacerier

Jawaban:

13

Memalukan bagi Google, belum ada cara .

Selain itu, semua database Chrome hanyalah file sqlite3, dan Anda dapat menggunakan sqlite3 untuk membersihkan entri yang tidak dibutuhkan. Pertama, instal sqlite3klien ( sudo apt-get install sqlite3), dan kemudian pergi ke konfigurasi Chrome (seharusnya .config/chrome/Default).

Berikut ini potongan SQL yang membersihkan URL lama dari riwayat (berfungsi pada basis data History, Archived History):

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

Berikut ini satu lagi yang mungkin akan bekerja pada Thumbnailsbasis data:

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

Ini mungkin akan bekerja pada 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;

Tentu saja Anda harus mencadangkan semua basis data, karena Anda mungkin memiliki versi Chrome yang berbeda, atau saya mungkin secara tidak sengaja melewatkan simbol, dll.

Karena Chrome menyimpan waktunya dalam beberapa format aneh berdasarkan UNIX Epoch (tetapi dikalikan dengan 10 ^ 7 dan bergeser ke masa depan), fungsi sistem tanggal kembali tidak dapat digunakan; sebaliknya, tanggal pembukaan halaman terakhir digunakan.

Anda dapat mengganti -1 daysdengan interval apa pun yang Anda inginkan; Anda dapat membaca tentang pengubah diperbolehkan dalam dokumentasi SQLite (lama: -N days, -N months).

Setelah menghapus data yang tidak dibutuhkan, Anda mungkin ingin mengeluarkan vacuum;perintah yang menyusutkan database lebih jauh.

whitequark
sumber
2
Terima kasih atas jawaban terinci. Saya tahu saya seharusnya lebih memperhatikan kelas basis data.
Norman Ramsey
@whitequark, Apa yang Anda maksud dengan "bergeser ke masa depan"?
Pacerier
3

(Ini bukan jawaban, tapi aku meninggalkannya sebagai peringatan.)

Saya telah melihat dua ekstensi yang mengklaim melakukan ini dalam beberapa cara, tetapi tidak berhasil.

Namun ini (dan saya berharap ekstensi lain) hanya memanggil chrome.history.deleteRange- jika Anda beruntung, dengan parameter yang masuk akal. Menurut dokumentasi:

Menghapus semua item dalam rentang tanggal yang ditentukan dari riwayat. Halaman tidak akan dihapus dari riwayat kecuali semua kunjungan termasuk dalam rentang.

Dan dalam praktiknya, saya tidak dapat melihat efek apa pun, di luar (saya pikir) halaman tidak muncul di halaman sejarah. Khususnya file database history masih besar, dan Chrome masih menghasilkan banyak IO untuk itu. Jadi saya curiga (dari pengamatan yang sangat biasa dengan Chromium 9 beta r68937) yang chrome.history.deleteRangehanya memengaruhi apa yang terlihat di chrome://historyhalaman dan bukan apa yang disimpan di disk dan memengaruhi hal-hal seperti penyelesaian URL bar.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Keduanya adalah berita buruk. Pembatas riwayat menghapus semua kecuali 7 hari terakhir Anda, jadi pada saat Anda menginstalnya, Anda kehilangan. Dan Sejarah Click2Clear adalah bencana kegunaan, belum lagi bahwa "periode kustom" pada tangkapan layar tampaknya tidak berfungsi. Hindari kedua ekstensi ini --- terutama Pembatas Riwayat, yang secara permanen menghapus akses ke riwayat Anda. Dan itu juga tidak menghapus data sialnya !!!!
Norman Ramsey
Apa yang Anda maksud dengan baris terakhir itu, 'tidak menghapus data sialan juga'? Saya ingin menyingkirkan file Indeks Sejarah besar di drive saya, apakah itu akan melakukannya?
Neil
Pembatas sejarah ditetapkan untuk tidak berperilaku seperti yang ditunjukkan Norman. Juga, ada fork limiter Sejarah yang tampaknya diperbarui dan lebih baik: chrome.google.com/webstore/detail/history-limiter-custom/…
bdombro