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/30 00: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 ==== | ||
| Řádek 938: | Řádek 1025: | ||
| ==== SSMTP ==== | ==== SSMTP ==== | ||
| + | |||
| + | <code bash> | ||
| + | apt install ssmtp | ||
| + | </ | ||
| Stačilo překopírovat původní nastavení. | 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 948: | Řá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 955: | Řá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 972: | Řádek 1200: | ||
| - | **KLient** | + | **Klient** |
| <code bash> | <code bash> | ||
| root@bananapir2:/ | root@bananapir2:/ | ||
| Řádek 982: | Řádek 1210: | ||
| root@bananapir2:/ | root@bananapir2:/ | ||
| </ | </ | ||
| - | |||