Lazygit byl vydán ve verzi 0.45.0. Jedná se o TUI (Text User Interface) nadstavbu nad gitem.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Byla vydána nová verze 2.48.0 distribuovaného systému správy verzí Git. Přispělo 93 vývojářů, z toho 35 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Byl vydán Debian 12.9, tj. devátá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Před dvanácti lety, ve svých šestadvaceti letech, navždy odešel Aaron Swartz, výjimečný americký hacker (programátor), spisovatel, archivář, politický organizátor a internetový aktivista. Aaron Swartz založil Demand Progress, spolupracoval na projektech Open Library, Internet Archive a Reddit. Ve svých čtrnácti se podílel na specifikaci RSS 1.0. Vytvořil webový framework web.py, pracoval na tor2web a rozšíření HTTPS Everywhere
… více »Byla vydána nová major verze 3.20.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.
Na Kickstarteru byla spuštěna plánovaná kampaň na open source modulární přenosné mini počítače Pilet 5 a Pilet 7 postavené na Raspberry Pi 5. Jejich cena je 215 a 202 amerických dolarů.
Byla vydána verze 1.84.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Chcete se zapojit do vývoje Debianu? Představena byla interaktivní mapa míst, kde vývojáři Debianu nabízejí podepisování PGP klíčů.
Došlo k napadení slovenského katastru ransomwarem. Vše stojí. Nelze vydávat stavební povolení, žádosti o trvalá bydliště. Geodeti nemohou zaměřovat a vytyčovat. Zemědělské a stavební stroje závislé na katastrální mapě nemohou pracovat. Banky nemohou ověřovat údaje, takže ani schvalovat úvěry, hypotéky apod. Realitní trh úplně stojí. Dědická řízení, jejichž součástí jsou nemovitosti, nebo pozemky, stojí. v Bratislavě např. nejde
… více »Naším cílem je získat sadu funkčních programů opatchovaných vším možným pro co nejširší možnosti (i když třeba pro některé zbytečnými). Některými patchi se dostanu do části, která patří spíše firewallu, ale snad mi bude odpuštěno.
Základní stavební kámen ke kontrole síťových spojení apod. Nemá cenu to nějak rozvádět, kdo nezná, nemusí číst dál. Distribuční verze nebude bohužel stačit a budeme muset patchovat, co to dá.
Sada programů mezi nimiž je mj. program tc
, který je nezbytný pro shaping. Opět se nespokojíme s distribučním balíčkem a budeme muset patchovat a kompilovat.
Sada patchů pro iptables, která se neobejde bez kernelu. Na verzích těchto patchů velice záleží. V jedné verzi najdeme to a v jiné zase ne. Čím novější verze, tím méně patchů. Patche postoupí a jsou zařazeny do jádra a iptables. Několik patchů jsem nenašel nikde, a proto je nutné použít starší verze POM.
Nyní několik patchů z POM, které nás budou zajímat:
Tento filtr umožňuje rozeznávat pakety na aplikační úrovni. Ve finále je to něco podobného jako ipp2p. Patch aplikujeme na kernel a iptables.
Dokáže rovnoměrně rozdělovat traffic mezi uživatele (programy, třídy ...). Když chcete třeba 1Mb linku rovnoměrně rozdělit po 200 kb, tak esfq je to pravé. Není obsažen v iproute2 a musí se patchovat spolu s kernelem. Naproti tomu stávající sfq
dokáže rovnoměrně rozdělovat traffic pouze mezi TCP spojeními.
Je virtuální zařízení imq0/1, kam se přesměruje veškerý provoz (nebo provoz, který chceme shapovat) a tím pádem dostaneme zařízení se vstupem či výstupem a můžeme na něm cokoliv ovlivňovat (třeba download a upload). Patchujeme s ním kernel a iptables.
Pro nenechavce. Důvodem, proč u wget
hned ze začátku používám parametr --continue
, je to, že když stahování přeruším, tak pokračuji bez jakéhokoliv dopisování, což se mi zdá mnohem rychlejší. Nejjednodušší je stahovat přímo do /usr/src
. Jedním z důvodů je POM, ale případné symlinky můžete linkovat jinam, to je na vás.
cd /usr/src
wget -c ftp://ftp.cz.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.27.tar.bz2
Kernel řady 2.6.17 ještě nepoužívám. Donedávna byly problémy i s některými patchi pro řadu 2.6.16. Na patchování používat zásadně vanilla kernel. Distribuční kernel by se vám nemuselo podařit buď opatchovat nebo zkompilovat..
wget -c http://www.netfilter.org/projects/iptables/files/iptables-1.3.5.tar.bz2
wget -c http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20060626.tar.bz2
wget -c http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20060511.tar.bz2
Verze 20060511 je poslední, která obsahuje patch geoip, takžeme budeme muset patchovat 2x. Myslím, že od verze 20060707 už není zahrnut v POM patch pro ipp2p, takže bych se vyhnul novějším verzím POM. Osobně mám vyzkoušenou verzi 20060626. Mohli bychom také patchovat ipp2p ručně, ale proč si zbytečně přidělávat práci.
wget -c http://www.linuximq.net/patchs/linux-2.6.16-imq2.diff
wget -c http://www.linuximq.net/patchs/iptables-1.3.0-imq1.diff
wget -c http://fatooh.org/esfq-2.6/esfq-2.6.15.1.tar.gz
wget -c http://umn.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.2.tar.gz
Když jsem dělal experimenty, tak byl odkaz z domovské stránky projektu pouze na verzi 2.1, někde jsem našel odkaz na 2.2, ve které už jde opatchovat kernel 2.6.16 a teď koukám, že už je k dispozici i verze 2.3 pro kernel 2.6.17. Rozhodnutí ponechávám na vás, ale vzhledem k označení si myslím, že asi nebude fungovat na starších jádrech.
wget -c http://developer.osdl.org/dev/iproute2/download/iproute2-2.6.16-060323.tar.gz
Doplňující balíčky, které nejsou předmětem dnešní debaty, ale patří k výše zmiňovaným filtrům:
wget -c http://puzzle.dl.sourceforge.net/sourceforge/l7-filter/l7-protocols-2006-05-21.tar.gz
wget -c http://people.netfilter.org/peejix/geoip/tools/csv2bin-20041103.tar.gz
Nakonec by bylo ještě dobré, kdybychom si všechno rozbalili:
tar xvfj linux-2.6.16.27.tar.bz2
tar xvfj iptables-1.3.5.tar.bz2
tar xvfz iproute2-2.6.16-060323.tar.gz
tar xvfj patch-o-matic-ng-20060626.tar.bz2
tar xvfj patch-o-matic-ng-20060511.tar.bz2
tar xvfz esfq-2.6.15.1.tar.gz
tar xvfz netfilter-layer7-v2.2.tar.gz
Na závěr ještě vytvořit symlinky:
ln -s /usr/src/linux-2.6.16.27 /usr/src/linux
ln -s /usr/src/iptables-1.3.5 /usr/src/iptables
Nejdříve opatchujeme iptables a kernel pomocí imq:
cd iptables
patch -p1 < ../iptables-1.3.0-imq1.diff
cd /usr/src/linux
patch -p1 < ../linux-2.6.16-imq2.diff
Opatchujeme iptables a kernel pomocí filtru layer7:
patch -p1 < ../netfilter-layer7-v2.2/kernel-2.6.13-2.6.16-layer7-2.2.patch
cd /usr/src/iptables
patch -p1 < ../netfilter-layer7-v2.2/iptables-layer7-2.2.patch
Musíme ještě nastavit příslušná práva pro nová rozšíření v iptables:
chmod +x extensions/.layer7-test
chmod +x extensions/.IMQ-test
chmod +x extensions/.IMQ-test6
Dále opatchujeme iproute2 a kernel pomocí esfq:
cd /usr/src/iproute2-2.6.16-060323
patch -p1 < ../esfq-2.6.15.1/esfq-iproute2.patch
cd /usr/src/linux
patch -p1 < ../esfq-2.6.15.1/esfq-kernel.patch
A nakonec jsme si nechali POM. Jsou dva způsoby, jak použít patche z obou verzí POM. Buď chybějící patche dodáme do novějších POM, nebo budeme 2x patchovat, čemuž osobně dávám přednost. Nejdříve ovšem budeme muset (pokud nechcete ručně upravovat Makefile v kernelu) opatchovat samotné POM.
První patch je pro geoip. Naleznete ho zde: patch-geoip.patch a na internetu se nachází v konferenci na lists.netfilter.org.
Tento soubor si uložte do /usr/src/
a můžeme se hned pustit do opatchování geoip:
cd /usr/src/patch-o-matic-ng-20060511
patch -p1 < ../patch-geoip.patch
Dále si opatchujeme connlimit a IPMARK v novější verzi POM. Zde je patch: patch-connlimit.patch a na internetu se nachází na patchwork.netfilter.org.
Tento patch si uložíme do /usr/src/
a hned můžeme opatchovat POM:
cd /usr/src/patch-o-matic-ng-20060626
patch -p1 < ../patch-connlimit.patch
Tak a nyní můžeme s klidným svědomím opatchovat kernel a iptables:
/usr/src/patch-o-matic-ng-20060511
./runme geoip nth
Jelikož jsme si vytvořili symlinky, tak nemusíme pracně zadávat cestu ke kernelu a iptables a můžeme jen potvrdit nabízené cesty. Kdyby se objevila nějaká otázka, tak "y"
a enter
je správná odpověď.
Nyní přejdeme k ostatním patchům v novějším POM:
cd /usr/src/patch-o-matic-ng-20060626
./runme time u32 connlimit ipp2p IPMARK ROUTE TARPIT
Postup je stejný jako v předchozím případě.
Pokud byste se rozhodli zkusit i jiné patche, třeba pomocí ručního výběru příkazem
./runme extra
tak vás musím upozornit, že se můžete dočkat chybových hlášeních typu (toto je např. z neopatchovaného geoip):
Do you want to apply this patch [N/y/t/f/a/r/b/w/q/?] y
unable to find ladd slot in src /tmp/pom-8915/net/ipv4/netfilter/Makefile (./patchlets/geoip/linux-2.6/./net/ipv4/netfilter/Makefile.ladd)
A otázka na akci vyskočí znovu. Řešením je zadat "f"
jako force
. Patch se aplikuje, jediný problém je, že se neaplikuje zápis do příslušného Makefile v kernelu, a tudíž ani po výběru položky se daný modul nezkompiluje. To lze vyřešit. Jak jinak, než ručním dopsáním Makefile. Najdete si Makefile patche, který se jmenuje Makefile.ladd
. V našem případě je to v podadresářích /patchlests/geoip/linux-2.6/net/ipv4/netfilter/Makefile.ladd
. Obsah tohoto souboru přepište do Makefile
v kernelu v příslušných podsekcích. Takže nějak takto:
cat /usr/src/patch-o-matic-ng-20060511/patchlets/geoip/linux-2.6/net/ipv4/netfilter/Makefile.ladd >> /usr/src/linux/net/ipv4/netfilter/Makefile
Některé patche nemusíte zkoušet vůbec, buď jsou zbytečné, nebo s nimi jádro nezkompilujete. Např. tyto:
rpc
rtsp-conntrack
sip-conntrack-nat
quake3-conntrack-nat
Osobně se okolo iptables a shapování držím pravidla: Co jde, tak zkompilovat do modulu. Konečné rozhodnutí je na vás. Hlavní položky v kernelu pro shaping jsou tyto:
Networking --->
[*] Networking support
Networking options --->
[*] Network packet filtering (replaces ipchains) --->
V těchto podsekcích zaškrtáme, co se dá:
Core Netfilter Configuration --->
IP: Netfilter Configuration --->
IPv6: Netfilter Configuration (EXPERIMENTAL) --->
V této sekci se nacházejí shapovací filtry:
Networking --->
[*] Networking support
Networking options --->
QoS and/or fair queueing --->
Pozor na imq. Položka, která vytváří virtuální imq, se nachází zde:
Device Drivers --->
Network device support --->
<M> IMQ (intermediate queueing device) support
Tady ještě přikládám můj přeplácaný config.
Nejtriviálnější věc nakonec, to už tu snad nemusím ani uvádět, ale pro úplnost. Hlavně nezapomeňte odinstalovat distribuční verze programů iproute2 a iptables!
Tady pozor. Když se vyskytne při kompilaci nějaká chyba, tak ji to jen vypíše a pokračuje dál. Pokud tedy nebudete sledovat, zda tam nemáte nějaký error, tak se nakonci dozvíte, že je všechno ok, ale pak vám půlka věcí nepůjde. Podle mých zkušeností byste v Debianu měli mít nainstalované mj. tyto balíčky: libdb2-dev, bison, flex. U jiných distribucí to bude asi obdobné.
cd /usr/src/iproute2-2.6.16-060323
make
make install
cd /usr/src/iptables
make
make install
...
make
make install
make modules_install
...
Tak, teď byste měli být vybaveni pro trochu lepší shaping. Pokračování bude na téma shapovacích skriptů - celé výsledné řešení. Určitě jsem se v některých věcech seknul, tak budu jen a jen rád, když mě v komentářích opravíte, či doplníte apod.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
./runme time u32 connlimit ipp2p IPMARK ROUTE TARPIT
Hey! KERNEL_DIR is not set.
takze to chce
export KERNEL_DIR=/usr/src/linux-2.6.16.27
./runme time u32 connlimit ipp2p IPMARK ROUTE TARPIT
a uz to svisti. Kupodivu pri hledani iptables symlink chodi
je tam preklep, misto prikazu patch je tam pacthDík, opraveno.
$ uname -a
Linux heaven 2.6.13.4-imq-K8-2 #7 Wed Dec 7 03:57:09 CET 2005 i686 GNU/Linux
Distribútor by sa mal postarať, aby to išlo aj bez toho (pripravený balíček na jednoduchú inštaláciu). Takisto sa distribútor má starať o bezpečnostné aktualizácie a normálny admin by mal sledovať bezpečnostné aktualizácie svojej distribúcie.Kdyby to takhle fungovalo, tak bys za to musel platit. Ona je ta komerční a free komunita tak zvláštně provázána. Free těží z toho co vytvoří komerce (balíčky, updaty ...) a komerce zas těží z toho co vymyslí free komunita (testování, některé projekdy se dostanou až do jádra, spousta programů atd..). Funguje to zkrátka v takové symbióze. To co jsi popsal je spíš styl Microsoftu. Tam admini mnohdy aktualizují něco, co je vlastně vůbec netrápí a mnohdy si tím akorát způsobí problémy. Admin by zkrátka měl vědět co dělá a ne jen klikat na up2data jak cvičená opice.
A pak kliknuti ikonku degraduje toho vaseho administratora na tupou kreaturu, protze i kdyz jen opisujete postup, tak se z toho alespon neco naucite. Casem pak dospejete to stadia, kdy budete schopen sám vytvářet obdobné postupy, kdežto vaši kamarádi "Administrátoři/Architekti" budo pořád jen tupě klikat na ikonky, bez jediného náznaku toho, že by vůbec věděli co to udělá. Zatímco údržbář si už určitě brousí zuby na vaši pozici ve firmě, protože bude mít mnohem větší "fištrón".Tohle třeba u mě neplatí. Při práci podle HOWTO mám většinou migrénu, následovanou zapomněním. Mám nepřijemný pocit, že mě LINUX degradoval na tupou kreaturu a vůbec nechápu, že se moji kamarádi "Administrátoři/Architekti", dovedou problémem zabývat několik hodin jen proto, aby byli schopni vytvářet obdobné postupy vpodstatě bez přesné představy, co to vlastně dělá. Někteří z nich jsou studiu ochotni objetovat téměř celý život a jediným výsledkem toho usilí je, že jsou (na rozdíl od ikonkářů a HOWTOářů) schopni reflektovat mozne pozadavky na odlisnost postupu pro svoji situaci a při tom všem si dovedou představit, jak každý řádek jejich konfiguráku, každý jejich shellový příkaz nebo konstrukce programu ladně přesýpá bity v jejich svěřencích.
(12.08.2006 20:02:05) XXX: BĚŽ DOPRDELEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEa nepublikovatelnou záplavou vykřičníků. Proto všem spolužijícím radím "Vyhněte se metafyzičnu"
duplicita kódu. máte jistotu, že situace např. ve windows je výrazně jiná?Při pohledu do Windows SDK (nebo tak nějak se ta nápověda k Windows jmenovala) snadno zjistíš, že některé funkce jsou z důvodu zpětné kompatibility implementovány několikrát - od verze, kterou obsahovaly už 3.11
takze stahovacum nepomuze proste otevrit vic spojeni, coz je hlavni nedostatek sfq
Těžko to označit za nedostatek SFQ, protože SFQ byl navrženo k úplně jinému účelu. Právě proto vzniklo ESFQ - jako důsledek pozorování, že se po malé úpravě se dá princip SFQ použít i takto.
Ale taky ho musis zkritizovat, nebot:
1. bastlit takovou silenost do vannila + iptables ROZHODNE delat a podporovat nebudu a nechci ....
2. Linux je vyborny na sitova reseni, ale stale mi pripada, ze takovy shaping je stale jeho slaba stranka - myslim hlavne konfiguraci. Aspon, ze mame CBQinit.
3. jestli to patchovani bude nutnost v dalsim pokracovani clanku - ztraci pro me uplne vyznam.
Nevim zda jsem admin, nebo udrzbar, ale vetsinou se musim postarat o vsechno, co je potreba ... .-)