Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.
Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.
Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.
Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.
Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.
Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.
Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.
/etc/rc.local
. Nyní to nejde a po celém internetu je spousta dalších zoufalců, kterým se to nedaří. Obecně se radí vytvořit si pro systemd službu rc-local.service, jenže ono její spuštění (pokud rc.local obsahuje požadovaný příkaz) jaksi během bootování neprojde (pokud je rc.local prázdný, spuštní proběhne v pořádku). Přičemž pokud danou službu zkusím nastartovat ručně po přihlášení, tak se normálně nastartuje (i s požadovaným příkazem v rc.local). Ale automatické spuštění selže.
Nejvíce mne tedy momentálně trápí automatické spuštění příkazu
ip route add a.b.c.d/e via w.x.y.z dev ethXpřípadně jiný způsob, jak docílit stejného výsledku. Používám aktuální archlinux, síť spouštím přes
systemd-networkd.service
.
Řešení dotazu:
sleep 15s
, zkusil pro jistotu dvakrát zrestartovat, a pokaždé to naběhlo OK.
Řešení race conditions pomocí náhodně přidaných sleepů je cesta do pekel. Když potřebujete něco spustit, až se to rozhraní objeví a bude nakonfigurované, tak si buď počkejte na příslušný event, nebo na to aspoň počkejte smyčkou. Vyhnete se pak nepříjemným a velmi obtížně debugovatelným překvapením v budoucnosti.
Jinak je IMHO chyba tohle vůbec řešit vlastním skriptem. Když už jste se jednou rozhodl svou konfiguraci sítě svěřit systemd-networkd, není dobrý nápad se v ní vrtat za jeho zády, ale měl byste tu routu přidat jeho prostřednictvím.
systemd.network
připouští víc způsobů nastavení téhož.
Můžete mít sekci [Network]
, kde se nastaví vše (tj Address
a Gateway
a DNS
). Nebo taky můžete mít sekce [Address]
a [Route]
a mít to (tedy IP a GW) nastaveno ve dvou sekcích. No jenže sekcí [Route]
tam může být víc a to včetně uvedení Destination
- to ovšem nenastavuje default gw, ale routu pro danou sít. Takže se může plést nastavení default gw s nastavením statických rout.
Osobně si život zjednodušuju tak, že mám jednu sekci [Network]
, kde mám adresy a default gw a potom více sekcí [Route]
, kam si strkám statické routy. A nic se mi neplete.
Ukázka:
[Match] Name=br0 [Network] Address=xxx/29 Gateway=xxx Address=192.168.xx/24 [Route] Destination=10.0.0.0/24 Gateway=yyy [Route] Destination=10.8.0.0/24 Gateway=zzzAle chápu, že i samostatné sekce Address a Route mají svůj význam, protože tam toho jde nastavit mnohem víc.
-i ! eth1
. To už ovšem nyní použít nelze. Na tom by nebylo nic až tak divného, kdyby v manuálových stránkách (aktuálního) iptables nebylo psáno: When the "!" argument is used before the interface name, the sense is inverted. Jenže on nemá být před interface name, ale ještě před parametrem -i
.
Každopádně ještě jednou díky za radu.
Tahle matoucí věta tam sice zůstala, ale jinak je tam (od roku 2008)
[!] -i, --in-interface name
místo původního
-i, --in-interface [!] name
-i
a přečetl si doprovodný text. To je jedno, každopádně jsem to nakonec vyřešil :)
Nejsem znalec systemd (spíš se snažím zkoumání jeho detailů v mezích možností vyhýbat), ale nejsem si jistý, jestli jde takový okamžik v jeho koncepci dost dobře definovat. A pokud ano, může to být o dost později, než byste čekal.
Nedávno jsem třeba narazil na to, že jsem potřeboval udělat crash dump s ladícím jádrem, problém byl snadno reprodukovatelný, takže zdánlivě žádný problém. A byl jsem překvapený, že se dump se nevytvořil. Ukázalo se, že ve chvíli, kdy jsem chybu vyvolal, ještě pořád nestihla doběhnout služba, která při startu natáhne kdump kernel a v případě potřeby předtím k němu ještě vygeneruje initrd (pokud neexistuje). Takže by se vám klidně mohlo stát, že už se úspěšně nalogujete, napíšete pár příkazů a ta routa tam pořád ještě nebude. Případně na serveru už poběží služby, které na tu routu budou spoléhat.
IMHO není obecně moc šťastné spoléhat na nějaký "úplně nakonec" skript, ale je lepší si ujasnit, na čem konkrétně má váš skript záviset (a co má případně záviset na něm). Koneckonců i za starých dobrých časů před systemd šlo takové závislosti pro vlastní init script definovat. (Ale má to samozřejmě všechno smysl jen pro věci, které nelze zapsat do standardní systémové konfigurace.)
Nezaručuju že to pojede naprosto všude ale :
A co si vytvořit pomocný script třeba
sudo touch /root/iproute.sh
sudo chmod +x /root/iproture.sh
echo 'ip route add a.b.c.d/e via w.x.y.z dev ethX' | sudo tee --append /root/iproute.sh > /dev/null
pak dát
sudo crontab -e
napsat tento řádek
@reboot root /root/iproute.sh
a uložit (podle editoru , např ve vi dát :wq ) .
Otestuj pak restartem.
sudo chmod +x /root/iproture.sh změnit na iproute.sh
Po 2000 letech stále nefunguje editace přízpěvku ... (fuj)
/root/iproute.sh
Po jednom takovém jako vy jsem kdysi zdědil systém. Všude neskutečný bordel, klíčové skripty rozházené v naprosto náhodně zvolených adresářích, člověk se musel bát cokoli smazat, jakákoli nevinná změna způsobila, že se někde úplně jinde něco sesypalo…
systemd-networkd.service
, tak si routu nastav přímo v .network souboru (kde máš definici adresy, default gw apod.). Stačí přidat sekci:
[Route] Destination=a.b.c.d/e Gateway=w.x.y.za je to.
Tiskni Sdílej: