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 .


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.


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.


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.