Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
it:jednodeskove-pocitace:bananapi [2024/01/29 23:44] – Petr Nosek | it:jednodeskove-pocitace:bananapi [2025/02/11 17:44] (aktuální) – [Konfigurace /etc/network/interfaces] Petr Nosek | ||
---|---|---|---|
Řádek 510: | Řádek 510: | ||
Pokud se rozhodnu, že změním IP adresu zařízení, | Pokud se rozhodnu, že změním IP adresu zařízení, | ||
+ | |||
+ | Ještě mi pomohlo vypnout systemd-resolvd: | ||
+ | |||
+ | <code bash> | ||
+ | systemctl stop systemd-resolvd | ||
+ | systemctl disable systemd-resolvd | ||
+ | systemctl daemon-reload | ||
+ | </ | ||
+ | |||
+ | Ukázalo se, že tento způsob není trvalý. Po aktualizaci systemd došlo k přepsání soubor **/ | ||
+ | |||
+ | === Trvalá změna v dnsmasq.service === | ||
+ | |||
+ | Aby se změny v `dnsmasq.service` nepřepisovaly po aktualizacích systému, je potřeba vytvořit přepsání systemd jednotky namísto úpravy souboru v `/ | ||
+ | |||
+ | Prvním krokem je vytvoření přepisovacího souboru pro systemd. Spusť: | ||
+ | |||
+ | <code bash> | ||
+ | sudo systemctl edit dnsmasq | ||
+ | </ | ||
+ | |||
+ | Tento příkaz otevře editor pro přepsání konfigurace služby, aniž by byl upraven původní soubor. | ||
+ | |||
+ | Do editoru vlož tento obsah: | ||
+ | |||
+ | <code ini> | ||
+ | [Unit] | ||
+ | After= | ||
+ | After=network-online.target | ||
+ | </ | ||
+ | |||
+ | Tímto způsobem se přepíše původní hodnota `After=network.target` na `After=network-online.target`, | ||
+ | |||
+ | Aby se změny projevily, je nutné načíst novou konfiguraci: | ||
+ | |||
+ | <code bash> | ||
+ | sudo systemctl daemon-reexec | ||
+ | sudo systemctl daemon-reload | ||
+ | sudo systemctl restart dnsmasq | ||
+ | </ | ||
+ | |||
+ | Od této chvíle už žádná aktualizace nepřepíše tuto změnu. | ||
+ | |||
+ | Ověření, zda se změna skutečně uplatnila, provedeme příkazem: | ||
+ | |||
+ | <code bash> | ||
+ | systemctl cat dnsmasq | ||
+ | </ | ||
+ | |||
+ | Pokud je změna správně aplikována, | ||
+ | |||
+ | <code ini> | ||
+ | # / | ||
+ | [Unit] | ||
+ | After= | ||
+ | After=network-online.target | ||
+ | </ | ||
+ | |||
+ | 📌 **Prázdný řádek `After=` je důležitý!** | ||
+ | Systemd tímto způsobem nejprve odstraní všechny existující `After=` direktivy a poté nastaví pouze `After=network-online.target`. | ||
+ | |||
+ | Nyní se `dnsmasq.service` už nebude přepisovat při aktualizacích, | ||
+ | |||
==== Nastavení vm.min_free_kbytes ==== | ==== Nastavení vm.min_free_kbytes ==== | ||
Defaultní nastavení virtuální paměti v Armbianu je malé. Stávalo se mi pak, že po čase systém havaroval a hledal jsem příčinu. | Defaultní nastavení virtuální paměti v Armbianu je malé. Stávalo se mi pak, že po čase systém havaroval a hledal jsem příčinu. | ||
Řádek 901: | Řádek 964: | ||
</ | </ | ||
- | Musel jsem zakomentovat jeden řádek v souboru: | + | Musel jsem zakomentovat jeden řádek v souboru |
<code bash> | <code bash> | ||
Řádek 907: | Řádek 970: | ||
[keyfile] | [keyfile] | ||
# | # | ||
+ | unmanaged-devices=interface-name: | ||
</ | </ | ||
Řádek 932: | Řádek 996: | ||
</ | </ | ||
+ | |||
+ | Pak jsem experimentoval se zařízením eth0. Chtěl jsem ho také dát ignorovat, ale nefungovala mi síť. Nerozumím úplně vazbě, proč musí být eth0 spuštěné. V log souboru se mi vypisovala hlášení, že se snaží každých 5 minut připojit a neúspěšně. Tak jsem do souboru **/ | ||
+ | |||
+ | <code bash> | ||
+ | [connection] | ||
+ | id=eth0 | ||
+ | uuid=7f2fe052-fe35-4c10-ac16-a09e12d8b7f6 | ||
+ | type=ethernet | ||
+ | autoconnect=false | ||
+ | interface-name=eth0 | ||
+ | |||
+ | [ethernet] | ||
+ | |||
+ | [ipv4] | ||
+ | method=disabled | ||
+ | |||
+ | [ipv6] | ||
+ | addr-gen-mode=default | ||
+ | method=auto | ||
+ | |||
+ | [proxy] | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Dnsmasq ==== | ||
+ | |||
+ | Dnsmasq nestartoval po spuštění. Musel jsem postupovat podle pokynů výše na této stránce. | ||
+ | |||
+ | ==== SSMTP ==== | ||
+ | |||
+ | <code bash> | ||
+ | apt install ssmtp | ||
+ | </ | ||
+ | |||
+ | Stačilo překopírovat původní nastavení. | ||
+ | |||
+ | Dále některé programy chtěla nainstalovaný program mail. Zkusil jsem to vyřešit instalací: | ||
+ | |||
+ | <code bash> | ||
+ | root@bananapir2: | ||
+ | </ | ||
Řádek 940: | Řádek 1045: | ||
<adm warning> | <adm warning> | ||
+ | |||
+ | ==== AIDE ==== | ||
+ | |||
+ | Instalaci jsem prováděl podle dřívějšího návodu [[it: | ||
+ | |||
+ | Takto vypadá obsah: | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | |||
+ | # Skip if systemd is running. | ||
+ | if [ -d / | ||
+ | exit 0 | ||
+ | fi | ||
+ | |||
+ | SCRIPT="/ | ||
+ | if [ -x " | ||
+ | if command -v capsh >/ | ||
+ | capsh --caps=" | ||
+ | else | ||
+ | # no capsh present, run with full capabilities | ||
+ | " | ||
+ | fi | ||
+ | fi | ||
+ | </ | ||
+ | |||
+ | Na začátku propadnu podmínkou kvůli systemd. Zjistil jsem, že je tato konfigurace žádoucí a o AIDE se v Debian Bookworm stará systemd. | ||
+ | |||
+ | <code bash> | ||
+ | systemctl status dailyaidecheck.service | ||
+ | </ | ||
+ | |||
+ | Případně editace: | ||
+ | |||
+ | <code bash> | ||
+ | systemctl edit dailyaidecheck.service | ||
+ | </ | ||
+ | |||
+ | Zdá se, že AIDE check se díky systemd spouští mimo Cron a v defaultní instalaci kolem 4 hodiny ranní.Zatím jsem nezkoumal, jak to přenastavit, | ||
+ | |||
+ | Vynutit kontrolu lze restartem služby: | ||
+ | |||
+ | <code bash> | ||
+ | systemctl restart dailyaidecheck.service | ||
+ | </ | ||
+ | |||
+ | |||
+ | Bohužel AIDE check mi pořád nefungoval a pak jsem našel v logu tohle: | ||
+ | |||
+ | <code bash> | ||
+ | Jan 31 04:25:10 bananapir2 dailyaidecheck[12877]: | ||
+ | Jan 31 04:25:10 bananapir2 dailyaidecheck[12868]: | ||
+ | Jan 31 04:25:10 bananapir2 systemd[1]: dailyaidecheck.service: | ||
+ | Jan 31 04:25:10 bananapir2 systemd[1]: dailyaidecheck.service: | ||
+ | Jan 31 04:25:10 bananapir2 systemd[1]: Failed to start dailyaidecheck.service - daily AIDE check. | ||
+ | </ | ||
+ | |||
+ | Ve zkratce je to tak, že systemd nechce spouštět AIDE s právy roota, ale spouští pod uživatelem **_aide**. Testoval jsem sice práva zápisu, že uživatel **_aide** může do složky / | ||
+ | |||
+ | <code bash> | ||
+ | systemctl edit dailyaidecheck.service | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | [Service] | ||
+ | User=root | ||
+ | Group=adm | ||
+ | </ | ||
+ | |||
+ | A nezapomenout na: | ||
+ | |||
+ | <code bash> | ||
+ | sytemctl daemon-reload | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== změna velikosti zRAM na logování ==== | ||
+ | |||
+ | V armbianu je zapnuta funkce, že se ukousne kousek paměti RAM a do ní se loguje, aby nedocházelo k zatěžování SD karty. Jakmile dojde k naplnění tohoto kousku do 75%, tak se jednorázově přenesou logy na SD kartu a uvolní se RAM paměť. | ||
+ | |||
+ | Můj systém loguje docela dost. Defaultně je nastavena velikost této logovací RAM na 50 MB. Když jsem ji chtěl zvětšit, tak je potřšeba editova záznam v souboru **/ | ||
+ | |||
+ | <code bash> | ||
+ | #SIZE=50M | ||
+ | SIZE=150M | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Instalace Logcheck ==== | ||
+ | |||
+ | <code bash> | ||
+ | apt install logcheck logcheck-database | ||
+ | </ | ||
+ | |||
+ | A pak jsem si přenesl jeden soubor, ve kterém mám uživatelskou konfiguraci. | ||
+ | |||
+ | Narazil jsem ale na problém. Hodně mnou nadefinovaných pravidel přestalo fungovat. Při podrobnějším zkoumání jsem zjistil, že mám časovou značku ve formátu: " | ||
+ | |||
+ | Pro otestování konfigurace jsou pak informace zde: [[it: | ||
+ | |||
+ | |||
+ | ==== Rsyslog ==== | ||
+ | |||
+ | Musel jsem změnit čsaovou značku při logování, aby byla v klasickém formátu "**Jan 30 23: | ||
+ | |||
+ | <code bash> | ||
+ | sudo cat / | ||
+ | ...truncated... | ||
+ | ########################## | ||
+ | #### GLOBAL DIRECTIVES #### | ||
+ | ########################### | ||
+ | ...truncated... | ||
+ | $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat | ||
+ | ...truncated... | ||
+ | </ | ||
+ | |||
+ | |||
+ | <code bash> | ||
+ | systemctl restart rsyslog | ||
+ | </ | ||
+ | |||
+ | ==== Logwatch ==== | ||
+ | |||
+ | Vycházel jsem z dřívějšího návodu: [[it: | ||
Řádek 947: | Řádek 1177: | ||
root@bananapir2: | root@bananapir2: | ||
</ | </ | ||
+ | |||
+ | Po dalším zkoumání jsem zjistil, že softether jsou 2 vývojové větve. Jedna je stable a druhá je develop. V rámci debian balíčku jsem nainstaloval verzi 5.01 Developer Edition - build 9674. Byla sestaven 16.10.2022. Paradoxně je starší, než verze Stable edition aktuálně verze 4.43, Build 9799 z data 31.8.2023. | ||
+ | |||
+ | Nepochopil jsem, proč stable a develop edition mají rozdílné číslování, | ||
+ | |||
+ | Každopádně jsem se rozhodl verzi ze správce balíčků odinstalovat a zkompilovat si vlastní z verze stable podle návodu [[it: | ||
Řádek 964: | Řádek 1200: | ||
- | **KLient** | + | **Klient** |
<code bash> | <code bash> | ||
root@bananapir2:/ | root@bananapir2:/ | ||
Řádek 974: | Řádek 1210: | ||
root@bananapir2:/ | root@bananapir2:/ | ||
</ | </ | ||
+ | |||
+ |