PaKon - smazání databáze

Pokud si chcete vymazat data z databáze PaKoně a nebo si ji rovnou smažete, (/srv/pakon )
dostanete při pokusu o její zobrazení nepěknou hlášku:

    root@turris:~# pakon-show
    Traceback (most recent call last):
    File "/usr/bin/pakon-show", line 133, in 
    data=json.loads(response)
    File "/usr/lib/python3.5/json/__init__.py", line 319, in loads
    return _default_decoder.decode(s)
    File "/usr/lib/python3.5/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    File "/usr/lib/python3.5/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
    json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Sama se neopraví ani nevytvoří, ani po restartu, prozatím oficiálně nepodporovaný postup je
vytvořit databázi znovu tímto scriptem:

/usr/libexec/pakon-light/create_db.py

2 Likes

Ahoj, no - smazal jsem tu DB při problémech s místem při updatu. To se nakonec povedlo ale od té doby to nefunguje. Create_db.py proběhne potichu, udělá se jeden soubor pakon-archive.db
Ale pakon-show ukazuje tu stejnou hlášku pořád.

Teď jsem to ověřil a je to stále použitelné.
Nejprve se vytvoří databáze a postupem času se zálohuje a vznikají další soubory…
Zkuste se podívat co ukáže:
ps | grep pakon

já dostanu tohle:

8149 root 16872 S python3 /usr/libexec/pakon-light/pakon-monitor.py
8421 root 27820 S python3 /usr/libexec/pakon-light/pakon-handler.py
9119 root 99792 S {Suricata-Main} /usr/bin/suricata -c /etc/suricata-pakon/suricata.yaml --pidfile /var/run/suricata/suricata.pid --af-packet=br-lan --af-packet=br-guest
27719 root 1352 S grep pakon

Aha, já jen

7524 root     11732 S    python3 /usr/libexec/pakon-light/pakon-handler.py
28967 root     78376 S    {Suricata-Main} /usr/bin/suricata -c /etc/suricata-pakon/suricata.yaml --pidfile /var/...
31204 root      1352 R    grep pakon

Když ten monitor pustím ručně tak:

python3 /usr/libexec/pakon-light/pakon-monitor.py
Traceback (most recent call last):
  File "/usr/libexec/pakon-light/pakon-monitor.py", line 392, in <module>
    main()
  File "/usr/libexec/pakon-light/pakon-monitor.py", line 318, in main
    dns_cache.try_load()
  File "/usr/libexec/pakon-light/pakon-monitor.py", line 86, in try_load
    cache = json.loads(f.read().decode('utf-8'), object_pairs_hook=collections.OrderedDict)
  File "/usr/lib/python3.6/gzip.py", line 276, in read
    return self._buffer.read(size)
  File "/usr/lib/python3.6/gzip.py", line 482, in read
    raise EOFError("Compressed file ended before the "
EOFError: Compressed file ended before the end-of-stream marker was reached

Zkuste:

/etc/init.d/suricata-pakon restart
/etc/init.d/pakon-monitor restart

a co máte v /etc/config/pakon?

restart těch služeb nepomůže

cat /etc/config/pakon

config monitor 'monitor'
        list interface 'br-lan'
        list interface 'br-guest_turris'
        option notify_new_devices '1'

config archive 'archive'
        option keep '4w'

config archive_rule
        option up_to '1d'
        option window '60'
        option size_threshold '4096'

config archive_rule
        option up_to '3d'
        option window '900'
        option size_threshold '8192'

config archive_rule
        option up_to '7d'
        option window '1800'

config archive_rule
        option up_to '14d'
        option window '3600'

Tak zkuste reinstalaci, opkg install pakon --force-reinstall
Pozor, chvíli to trvá…
Nebo ve Forisu odeberte a pak znovu přidejte.

nevim jestli dobr rozumim, ale zde Pakon.db filling up tmp je popsano jak smazat databazi pakone. Me fungoval.

Ano, v /tmp je databáze Pakoně která se komprimuje (/etc/cron.d/pakon) a ukládá do /srv/pakon protože při restartu se /tmp smaže a přišel by jste o data.
Podle vašeho odkazu, nejprve se zastaví monitor, smaže se vše v /srv/pakon a spustí monitor.

/etc/init.d/pakon-monitor stop
rm /srv/pakon/*
/etc/init.d/pakon-monitor start

1 Like

Aha, už to asi šlape - zkusil jsem tedy smazat a nastartovat monitor a vypadá to že se tam už data zjevují a chyby to nedělá.
Díky pánové za pomoc.

1 Like