Jak mogę usunąć OLD historię z Google Chrome?

19

Pracuję na laptopie ze skromnym dyskiem twardym, a 500 MB zajmuje pliki „Indeks historii” i „Miniatury” przeglądarki Google Chrome. Niektóre z tych plików mają rok. Chrome oferuje mi opcję usunięcia najnowszej historii, ale chcę mieć coś przeciwnego: chcę usunąć starą historię. (Idealnie usunąłbym ostatnio używane informacje historyczne, ale nie oczekuję, że będę w stanie to zrobić.)

Czy ktoś ma jakieś pomysły? Korzystam ze standardowego google-chrome-betapakietu Debian .

Norman Ramsey
źródło
Chrome ma teraz wbudowaną obsługę czyszczenia historii, plików cookie i innych danych, więc to pytanie nie jest już istotne.
nhinkle
2
@nhinkle: proszę cytować numer wersji lub stronę dokumentacji Google. chrome ma „wsparcie” od jakiegoś czasu, ale wsparcie od chrome 11 (aktualna stabilna wersja) pozwala tylko na usunięcie najnowszej historii, a nie starej historii
Norman Ramsey
to uczciwe; Ponownie otworzyłem pytanie. Przepraszam za niewłaściwe zrozumienie.
nhinkle
@NormanRamsey, Chrome automatycznie usuwa historię starszą niż 90 dni. Czy tego chciałeś?
Pacerier,

Odpowiedzi:

13

Wstydliwe dla Google, nie ma jeszcze sposobu .

Poza tym wszystkie bazy danych Chrome są tylko plikami sqlite3 i możesz używać sqlite3 do usuwania niepotrzebnych wpisów. Najpierw zainstaluj sqlite3klienta ( sudo apt-get install sqlite3), a następnie przejdź do konfiguracji Chrome (powinno być .config/chrome/Default).

Oto fragment kodu SQL, który czyści stare adresy URL z historii (działa na bazach danych History, Archived History):

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

Oto kolejna, która prawdopodobnie będzie działać na Thumbnailsbazie danych:

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

Prawdopodobnie będzie to działać na 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;

Oczywiście powinieneś wykonać kopię zapasową wszystkich baz danych, ponieważ możesz mieć inną wersję Chrome, lub mogę przypadkowo pominąć symbol itp.

Ponieważ Chrome przechowuje swoje czasy w dziwnym formacie opartym na Epoce UNIX (ale pomnożonym przez 10 ^ 7 i przesuniętym w przyszłość), nie można użyć daty powrotu funkcji systemowych; zamiast tego używana jest data ostatniego otwarcia strony.

Możesz zamienić na -1 daysdowolny interwał; można przeczytać o dozwolonych modyfikatory w dokumentacji SQLite (w skrócie: -N days, -N months).

Po usunięciu niepotrzebnych danych możesz wydać vacuum;polecenie, które jeszcze bardziej zmniejsza bazę danych.

Whitequark
źródło
2
Dziękuję za szczegółową odpowiedź. Wiedziałem, że powinienem był poświęcić więcej uwagi w klasie baz danych.
Norman Ramsey,
@whitequark, co rozumiesz przez „przeniesiony w przyszłość”?
Pacerier,
3

(To nie jest odpowiedź, ale zostawiam to jako ostrzeżenie).

Widziałem dwa rozszerzenia, które twierdzą, że robi to w jakiś sposób, ale żadne z nich nie działa.

Jednak te (i spodziewam się innych rozszerzeń) dzwonią tylko chrome.history.deleteRange- jeśli masz szczęście, z rozsądnymi parametrami. Zgodnie z dokumentacją:

Usuwa wszystkie elementy z określonego zakresu dat z historii. Strony nie zostaną usunięte z historii, chyba że wszystkie wizyty mieszczą się w tym zakresie.

W praktyce nie widzę żadnego efektu poza (chyba) stronami, które nie pojawiają się na stronie historii. W szczególności plik bazy danych historii jest nadal duży, a Chrome nadal wykonuje wiele operacji we / wy. Podejrzewam więc (z bardzo przypadkowej obserwacji z Chromium 9 beta r68937), że chrome.history.deleteRangewpływa to tylko na to, co jest widoczne na chrome://historystronie, a nie na dysku i wpływa na takie elementy jak ukończenie paska adresu URL.

Gilles „SO- przestań być zły”
źródło
Oba są złe wieści. Ogranicznik historii usuwa wszystkie oprócz ostatnich 7 dni, więc po zainstalowaniu przegrywasz. Historia Click2Clear to katastrofa użyteczności, nie wspominając już o tym, że „niestandardowy okres” na zrzucie ekranu nie działa. Unikaj obu tych rozszerzeń --- szczególnie History Limiter, który nieodwracalnie usuwa dostęp do twojej historii. I to też nie usuwa cholernych danych !!!!
Norman Ramsey,
Co rozumiesz przez tę ostatnią linię: „to też nie usuwa cholernych danych”? Chcę się pozbyć dużych plików indeksu historii na moim dysku, czy to zrobi?
Neil
Ogranicznik historii został ustawiony tak, aby nie zachowywał się, jak wskazał Norman. Istnieje również widełki ogranicznika historii, który wydaje się zaktualizowany i lepszy: chrome.google.com/webstore/detail/history-limiter-custom/…
bdombro