Tietokannan teko on uskomattoman helppoa

FireFox tallentaa kaiken tiedon SQLite tietokantana kiintolevylle. Sieltä löytyy sivuhistoriat, kirjanmerkit, vierailujen ajankohdat ja kuinka usein olet jollakin sivulla käynyt, kaatumis-raportit, ynnä muut ja ynnä muut.

Miksiköhän SQLite, koska tämä tietokanta on parhaimillaan kooltaan pienempi kuin vastaava tieto *.ZIP pakettina ja vaatii vain yhden tiedoston joka on helppo siirrellä vaikka muistitikulla. Tietokanta voi olla vain yhden instansin käytössä kerrallaan, ja se on erittäin helppo hallita, vai mitä sanotte esimerkistä:

sqlite3 eka
.exit;

Jos nyt katsot kiintolevylle, huomaat että sinne ilmestyi eka niminen SQLite tietokanta, se tosin on vielä tyhjä. Näiden tietokantojen käsittely onnistuu komentokehotteesta tai sitten sqlitebrowser tietokantaselaimella. Tietokannasta voidaan pomia tietoa ulos ja sisään 8 eri moodissa, "csv", "column", "html", "insert", "line", "list", "quote", "tabs", ja "tcl". Ja nyt sitten jokainen viettää loppuillan SQLite tietokantojen parissa, ja unohtaa Windowsin erinomaisuuden ja Ubuntun toimimattomuudet vähäksi aikaa.
Ilmianna
Jaa

15 Vastausta



SQLite
"tiedostoja ei löytynyt"
Kommentoi
Ilmianna
Jaa
2 VASTAUSTA:
Kommentoi
Ilmianna
Jaa
Turbo-Urpo kirjoitti:
Paikallinen kääntäminen tuolle tietokantamoottorille

./configure
make
sudo make install

Silloin sulla on uusin versio käytössäsi.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
Vielä heitän vähän löylyä lisää, ettei pienet vastoinkäymiset pääsisi lannistamaan.

Puhuin äsken vain FireFox selaimen tietokannoista, mutta sama se on onko sinulla FireFox, Safarin, Opera, Chromium vai Google Chrome, kaikki nämä tallentaa tietonsa SQLite tietokantoihin. Te saatatte kuvitella että kun olette poistaneet selaushistorian ja lataushistorian olette turvassa, eikä kukaan saa selville millä pornosivulla viimmeksi kävitte, ja kuinka kauan sitä kuvaa tuijotitte.

Hyvä merkki osaavalle löytyy välittömästi kun avaa selaimen ja katsoo kirjanmerkkejä, jos niiden linkkien edessä on FAV-ikoni, on äsken mainitsemani tiedot on tallessa ja löytyy hyvin nopeasti tarvittaessa: Kuva FAV-ikonista: https://i.imgur.com/pkt4kSd.png

Sieltä ne taulukoista löytyy hakusanat joita olet käyttänyt, ja myös se tieto jota selain tarjoaa Weblomakkeen täyttöapuna. Täällä puhutaan kuinka hyviä siivousohjelmia on olemassa, mutta yksikään järjestelmän siivousohjelma ei näitä tietoja poista. Sinun on itsesi tehtävä Bash script joka poistaa nämä tietokannat. mutta sitä ennen sinun on hankittava se tieto mitkä voi poistaa mitkä pitää säilyttää, ja se selviää vain kun alat tutustumaan SQLite tietokantaan viimmeistään nyt.

Ja kun muistaa että näitä tietokantoja voi yhtä aikaisesti kerrallaan käsitellä yksi ohjelma, niin tiedät pitää selaimen suljettuna sen aikaa.
Ilmianna
Jaa
Lissää löylyä . . . . . . ubun pojat alkaa jo hikoilemaan, ei kai sitä ubua mihinkään muuhun käytetä kuin tälläiseen arveluttavaan verkon selailuun.

Minä olen yrittänyt saatella tämän keskustelun käyntiin jo pari kertaa aieminkin, ja edellisellä kerralla taisi joku viisas sanoa ohjaavansa selaimen cachen ramdiskille, josta se sitten koneen sammutuksen yhteydessä tuhoutuu.

No niinhän siinä käy, mutta kun nämä tietokannat eivät ole niitä tiedostoja jotka selain tallentaa cache kansioonsa. Cachen poisto jo sinällään estää mummoa näkemästä suoraan niitä ikäviä kuvia, mutta se ei jarruttele yhtään jos naapurin kalle pääsee konetta rassaamaan. Vaikka kuvat menikin cachen mukana, tietokannasta löytyy osoitteet, ja sitä kautta kuvat tavoittaa livenä uudestaan.
Ilmianna
Jaa
Nyt varmaakin ensimäiset on jo saaneet SQLiten asennettua, ja hiukan perehtyneet ympäristöön. Asensin Google Chromen Beta version näyttääkseni kuinka tietoa haetaan noista tietokannoista.
https://i.imgur.com/WzKl13r.png

Kuvassa merkkausvärillä väritetty on käyttäjän kirjoittamaa, muu on tietokannasta poimittua.
Korvaamalla kuvassa olevan "google-chrome-beta" tekstin, vaikka "chromium" tekstillä, saat otteen Chromium selimen historiasta.
Kommentoi
Ilmianna
Jaa
1 VASTAUS:
Slikkaa sitä kuvaa, niin kasvaa alkuperäiseen kokoonsa.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
Nyt olette varmaankin huomanneet että historian sisältämät ajat on pitkinä numerosarjoina, joista sellaisenaan ei ole mitään iloa. Tässä esimerkki kuinka tulostat historian jokaisen vierailuajan UTC aikana.

SELECT datetime(last_visit_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch') FROM urls ORDER BY last_visit_time DESC LIMIT 50000;

Tuo tietohan sisältää ajan koska viimmeksi kävit historiaan tallentuneella verkkosivulla. Tuosta kyselyn lopusta voi jättää tuon määrän pois, mutta muista että jokainen kysely päättyy puolipisteeseen. (;)
Ilmianna
Jaa
MUUTAMA ESIMERKKI HAKU Selain historiasta, vaihda "google-chrome-beta" oman selaimesi nimeen.

MONTAKO MERKINTÄÄ ON HISTORIASSA
CTRL + ALT + T
sqlite3 ~/.config/google-chrome-beta/Default/History
SELECT COUNT(url) FROM urls;
.exit

MONENKO SIVUN OTSAKE ALKANUT SANALLA 'Google'
CTRL + ALT + T
sqlite3 ~/.config/google-chrome-beta/Default/History
SELECT COUNT(title) FROM urls WHERE title GLOB 'Google*';
.exit

MONENKO SIVUN OTSAKE SISÄLTÄNYT SANAN 'Google'
CTRL + ALT + T
sqlite3 ~/.config/google-chrome-beta/Default/History
SELECT COUNT(title) FROM urls WHERE title GLOB '*Google*';
.exit

MONENKO SIVUN OTSAKE PÄÄTTYNYT SANAAN 'Google'
CTRL + ALT + T
sqlite3 ~/.config/google-chrome-beta/Default/History
SELECT COUNT(title) FROM urls WHERE title GLOB '*Google';
.exit
Ilmianna
Jaa
Tietokannan avaaminen SQLite komentokehotteesta tapahtuu .open komennolla.

Tämä ( .open ) ja muut pistekomennot poikkeaa normaalista kyselyriveistä niin ettei näitä rivejä päätellä puolipisteellä (;)

.open '~/.config/google-chrome-beta/Default/History'

Tuo ylläoleva ei enään toimikkaan, kuten se toimi Linux Shell kehotteessa, nyt tarvitaan absoluuttinen polku tietokantaan. Joten korvaa tuo aaltoviiva (~), kotihakemistosi polulla.

Ja koska meillä nyt on tietokantaan pääsy, suoritetaan tässä samalla käyttämiesi hakusanojen poiminta.

SELECT lower_term FROM keyword_search_terms;

Huomaa rivin loppu, SELECT ei kuulu niihin pistekomentoihin (dot commands). Kyselyllä saamasi lista hakutermeistä, ei sisällä niitä sanoja joita olet käyttänyt muiden hakukoneiden kanssa. Mutta se ei tarkoita sitä, etteikö nekin hakusanat olisi poimittavissa, ne vaan on urals -taulukossa, ja tässähän nyt poiminta suoritettiin keyword_search_terms -taulukosta. Tämä History tietokantahan yksinään, sisältää 11 taulukkoa, ja tietokantoja on 12 kappaletta, joten hyvin tarkkaan voidaan verkkokäyttäytyminen analysoida jälkikäteenkin, itse asiassa tarkempaan kuin kaverin seläntakaa katsomalla, viittaan nyt noihin vierailujen kestoaikoihin (visit_duration), joita ei selän takaa seuraten voi kuin summittaisesti arvioida.
Ilmianna
Jaa
Mahtoiko ne olla samanlaisia tietokantoja -90-luvun jälkipuoliskolla kun Windowsin kiintolevy täyttyi selväkielisistä IE:n hauista?
Kommentoi
Ilmianna
Jaa
2 VASTAUSTA:
Tuossa saattaa olla kyseessä selaimen cache:sta joka syö SSD levyä tänäkin päivänä enemmän kuin mikään muu ohjelma, mutta tuo selväkielisyys on kyllä kadonnut. Tällä cache:lla on erillainen tehtävä, joka nopeuttaa selaimen sivun avautumista, siinä tapauksesa, että sama sivu on jo aiemin avattu. Tällöin ei koko sivun sisältöä ladata enään verkosta, vaan paikalliselta kiintolevyltä.
Kommentoi
Ilmianna
Jaa
Käyttäjä voi itse ohjailla minne selain saa cache:n perustaa. Sen paras paikka on varmaan siellä mihin kirjotus ja luku tapahtumat vie vähiten aikaa. Minä ja varmasti moni muukin ohjaa cache:n RAMDiskille, josta se sitten automaattisesti tuhoutuu joka kerta kun koneen sammuttaa.

Chromium selaimen alkuperäinen käynnistys tapahtuu näin:
chromium-browser %U

Kun haluat ohjata cache:n RAMDiskille käynnistystä ohjataan näin:
chromium-browser -disk-cache-dir="/media/ramdisk/chromium/cache/" %U

Tämä tietysti edellyttää RAMDiskin olemassa oloa, ja sen otat käyttöön näin:
sudo mkdir -p /media/ramdisk
sudo chmod 777 /media/ramdisk
sudo mount -t tmpfs -o size=1024M tmpfs /media/ramdisk
sudo grep /media/ramdisk /etc/mtab | sudo tee -a /etc/fstab
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
Näitä tietokantojen sisältöä voidaan tulostaa tiedostoihin näissä formaateissa: "csv", "column", "html", "insert", "line", "list", "quote", "tabs", ja "tcl". Tässä "segments" taulukon sisältö tuotu LibreOfficen Calc lomakkeelle esimerkkinä CVS formaatilla: https://i.imgur.com/Qs2ORQK.png

Ja näin se tapahtuu:
sqlite3 ~/.config/google-chrome-beta/Default/History
.headers on
.mode csv
.output segments.csv
SELECT *
FROM segments;
.quit

Sitten vaan avaat sen ohjelmalla joka ottaa vastaan csv muotoista dataa.
Kommentoi
Ilmianna
Jaa
1 VASTAUS:
Oli tarkoitus laittaa rivikohtainen selvitys mukaan, jonka vuoksi tuon edellisen purin erillisiin tehtäviin, mutta unohtui.

sqlite3 ~/.config/google-chrome-beta/Default/History
Tämä avaa sqlite3 komentokehotteen, ja samalla selaimen History tietokannan

.headers on
Oletuksena sarakkeiden otsikoita ei näytetä, tässä niiden näyttäminen otetaan käyttöön. Taulukothan sisältää rivejä ja sarakkeita, samoin kuin Microsoft Excelin talukkolaskenta ohjelmakin.

.mode csv
Valitaan tulostuksen formaatti

.output segments.csv
Kerrotaan minkä nimiseen tiedostoon tulostetaan.

SELECT *
Valitaan tulostukseen mukaan otettavat sarakkeet. Tähti (*) tarkoittaa että kaikki. Ellet halua kaikkia sarakkeita, pitää sinun luetella pikulla eroitettuna taulukon sarakkeet yksitelleen.

FROM segments;
Kerrotaan minkä nimisen taulukon sarakkeista nyt on kysymys.

.quit
Poistutaan sqlite3:sen komentokehotteesta.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti

Vastaa alkuperäiseen viestiin

Tietokannan teko on uskomattoman helppoa

FireFox tallentaa kaiken tiedon SQLite tietokantana kiintolevylle. Sieltä löytyy sivuhistoriat, kirjanmerkit, vierailujen ajankohdat ja kuinka usein olet jollakin sivulla käynyt, kaatumis-raportit, ynnä muut ja ynnä muut.

Miksiköhän SQLite, koska tämä tietokanta on parhaimillaan kooltaan pienempi kuin vastaava tieto *.ZIP pakettina ja vaatii vain yhden tiedoston joka on helppo siirrellä vaikka muistitikulla. Tietokanta voi olla vain yhden instansin käytössä kerrallaan, ja se on erittäin helppo hallita, vai mitä sanotte esimerkistä:

sqlite3 eka
.exit;

Jos nyt katsot kiintolevylle, huomaat että sinne ilmestyi eka niminen SQLite tietokanta, se tosin on vielä tyhjä. Näiden tietokantojen käsittely onnistuu komentokehotteesta tai sitten sqlitebrowser tietokantaselaimella. Tietokannasta voidaan pomia tietoa ulos ja sisään 8 eri moodissa, "csv", "column", "html", "insert", "line", "list", "quote", "tabs", ja "tcl". Ja nyt sitten jokainen viettää loppuillan SQLite tietokantojen parissa, ja unohtaa Windowsin erinomaisuuden ja Ubuntun toimimattomuudet vähäksi aikaa.

5000 merkkiä jäljellä

Peruuta