Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Toto je subjektivní popis útrap osoby pokoušející se přemigrovat routeroserver na Debian.
Mám router, který kromě směrování a překladu adres provozuje některé síťové služby (DNS, DHCP, HTTP server, HTTP proxy). Jedná se o bezhlavé (žádný monitor, klávesnice) Pentium s MMX.
Starý systém byl postaven na SuSE 8.1, z něhož zbyl pouze bordel na disku, glibc, perl, util-linux, corutils a podobné systémové věci. Ostatní věci jako OpenSSL, OpenSSH, thttpd, BIND9, privoxy, ISC dhcpd, Linux 2.6.18.cosi, module-init-tools, iptables aj. byly ručně dokompilovány na jiném stroji. Init scripty byly kompletně vynechány a místo toho jsem si napsal vlastní /etc/init.d/boot, který zařídil vše potřebné. Vše v jednom jediném souboru, prozřetelně spouštějící SSH server hned po syslogu (což se ukázalo velmi užitečné, po té, co se wifi karta začala odmítat inicializovat a umírala v jádře), žádné zbytečné forky a execy na další inicializační skripty, nezbytný začátek sériový, zbytek už spouštěný paralelně.
Výsledkem byl funkční routující server pekelně rychle nabíhající, kromě otáčení hard disku a větráku zdroje naprosto tichý (to se ještě dělaly pasivní chladiče na CPU) a velmi stabilní a spolehlivý (uptime určovaly jen rozmary ČEZu).
Bohužel jak šel čas, zastarala glibc, ostatní stroje používané ke kompilaci se binárně i aplikačně vzdalovaly mílovými kroky a v poslední době se objevil požadavek na další služby (SMTP, IMAP, protažení veřejné IP přes PPPoE). Prostě systém byl neupgradovatelný.
Pokusy o nainstalování Gentoo nedopadly dobře, tak jsem se rozhodl pro Debian.
Debian jsem znal jen z vyprávění (hodnověrných svědků a bájných starců) a několika minut koukání jednomu debianistovi přes rameno. Úkolu jsem se ale nezalekl a pustil se do přeinstalace.
Pohled do instalační příručky (dokumentační server Debianu respektuje můj Accept-Language a servíruje české a slovenské překlady) ukázal dosti rozsáhlý obsah a v něm kapitolu Instalace Debianu ze stávajícího unixového/linuxového systému (sice až jako přílohu Co se jinam nevešlo, nikoliv přímo mezi způsoby instalace, jak bych předpokládal). Přesně to jsem potřeboval. Na routeru jsou dva souborové systémy, instalaci provedu v chrootu do nesystémového oddílu a pak přebootuju do nového systému, ověřím, že vše běží, a pak nový systém překopíruji na místo starého. Takto se budu moci kdykoliv vrátit ke starému systému, kdybych byl nucen reinstalaci přerušit.
Hledání správného debootstrapu ukázalo dvě novinky: musím nainstalovat stabilní verzi Debianu (pro nestabilní se debootstrap nedělá) a svoje Pentium budu muset pohánět binárkami určenými pro i486 (poznámka, že i386 port je ve skutečnosti i486, není ani v Požadavcích na počítač, ani v Released ports, ale v Instalačním manuálu pro Etch).
Následovalo rozbalení balíku a spuštění debootstrapu. Skript sice pracoval samostatně, ale množství chybových hlášek rostlo nade všechny meze. Nu, snad je to normální. Jenže skript se nakonec ukončil s chybovou hlášku, že nelze nastavit exim, protože cosi nepochopitelného. Vzhledem k tomu, že vše podstatné bylo hotovo, chrootnul jsem se do nového systému a změnil PS1, abych poznal pacienta.
Dle manuálu jsem upravil fstab. Chybělo tam cokoliv ohledně sysfs a usbfs. To jsem se zalekl poprvé – asi neznají jádro 2.6. A usbfs připojují asi ručně ve startovacích skriptech, jako to má Gentoo (ostatně tady i tam nedokumentováno). Nakonec se ukázalo, že bez ohledu na fstab se mountuje právě sysfs a inicializační skripty si na to pak stěžují, naopak proc by tam mělo být. usbfs jsem ještě nepotřeboval, tak jsem mu nastavil noauto.
Dále jsem se chystal na jedno z nejdůležitějších – na síť. /etc/network/interfaces připomíná Gentoo, jen mě dostalo několik věci: iproute2 nikde (dokumentace sice přiznává, že ifconfig by měl zmizet v propadlišti dějin, ale když ti uživatelé [rozuměj Debian] jsou tak konzervativní), zakázání DHCP klientovi nastavování resolveru nikde (až později jsem zjistil, že na to slouží konfigurák konkrétního DHCP klienta [v mém případě /etc/dhclient.conf], žádná abstrakce se nekoná), IP forwarding (/etc/network/options a /etc/sysctl.conf si lezou do zelí, upozornění je jen v sysctl.conf, soubor options je prý zastaralý, proč tedy stále existuje ve výchozí instalaci?).
Pak jsem nakonfiguroval hostname, resolver a dle manuálu spustil base-config. Ten se zeptal na účty, časové pásmo a na poštu. Ta představovala další problém. MTA bych do budoucna chtěl, ale v současnosti jsem na to něměl chuť, tak jsem zvolil jen lokální doručování a crash. Konfigurační nástroj padl na stejné chybě jako debootstrap. To jsem začal větřit něco shnilého. Navíc tato potíž začala být blokujícího charakteru, protože apt-get se pokoušel exim opakovaně nakonfigurovat, a já jsem tak chtěl upgradovat na nestabilní verzi (toho času Etche; po přečtení Přehledu verzí Debianu začínám chápat jmenné orgie v Ubuntu a začínám pochybovat o duševním zdraví vývojářů). Nakonec jsem nalezl, že problém je v přístupových právech ke kořenovému adresáři. Jedná se o chybu v konfiguračních skriptech eximu, který z nevysvětlitelných důvodů potřebuje aspoň 0755 (asi kvůli su a následně odmítnutí průchodu cestou). A to jsem ještě pyšně ta práva před instalací utahoval na 0700, aby byla jistota. Nechápu proč, když o tom vývojáři vědí, nedají příslušnou podmínku do debootstrapu.
Pak jsem upgradoval na nestabilní verzi, a začal instalovat jednotlivé služby. Krom apt a dpkg schizofrenie (některé informace prostě apt nepustí; možná proto je oficiálně doporučován aptitude) a vyexpirovaného PGP klíče, který se upravil až dvojitým upgradem, mě začalo vytáčet, že po nainstalovaní balíku, se automaticky služba nalinkuje do init scriptů a navíc, ta drzost, se rovnou spustí – nenakonfigurovaná. No, možná předkonfigurovaná na nějaké neškodné vlastnosti, ale vzhledem k tomu, že jsem byl stále v chrootu a starý systém stále svoji službu plnil, to byl, s prominutím, opruz. Doufám, že tuto vlastnost dpkg lze někde vypnout. OpenSSH s povinnou podporou kerbera už mě nachával chladným (Gentoo!).
Nakonec jsem opustil chroot, překopíroval klíče SSH serveru a domovský adresář roota. Nový systém přesunul do kořene nesystémového oddílu, upravil LILO, nastavil bootovaní-na-první-pokus-jinak (lilo -R
) do nového systému a rebootnul.
Podle kontrolky IDE řadiče se načetlo jádro, začal pracovovat init a najednou restart! Cože? Že by kernel-panic? Naběhl starý systém, prohlédl jsem si var/log/ nového, ale jediný soubor se nezměnil. To vypadá opravdu špatně. Ale třeba se jedna o poinstalační restart, jako to dělával SuSE. Tak jsem znovu nabootoval do nového systému a tentokrát vydržel a já se mohl po síti přihlásit. Proboha, proč na to nemůžou v manuálu upozornit?
Jenže to nebylo vše. Fungovala jen lokální síť, ostatní síťovky nic. Při tom jsem modprobe.conf i moduly překopíroval ze starého systému. Navíc v úžasně rozdrobeném logu do mnoha souborů (kde se spousta informaci loguje duplictně) nebyla jediná řádka o procesu bootování a běhu inicializačních skriptů. Nakonec zjištěno, že bootlog je v Debianu implicitně vypnutý (/etc/default/bootlog). Protože mým tajným snem byl udev na serveru a jinde jsem se k tomu ještě neodvážil, nainstaloval jsem jej, přidal pravidla pro pojmenování síťových rozhraní dle MAC adresy, rebootnul a už to jelo.
Správa modulů měla ještě dohru v podpobě vyčistění konfiguráků odinstalovaných modutils a pochopení, že /etc/modprobe.conf už netřeba, že vše potřebé udělá udev a zbytek je statický /etc/modules.d. Snad jen /etc/modules.d/blacklist se bude hodit, až se vrhnu na jádro tuhnoucí wifi kartu, která sdílí IRQ s jinou ethernetovou kartou. Ostatně, proto budu muset zase začít spouštět SSH server před udevem.
Následovaly iptables. Inu, Debian nemá žádný init script pro iptables. Obecně doporučovaný postup je zaháčkovat se na vytvoření (PPP) rozhraní nebo udělat vlastní init script. Vydal jsem se druhou cestou, jeden case a iptables-restore vše vyřešil.
Fungující bootlog ukázal několik chyb, díky němu jsem pochopil, co všechno ve fstabu být musí a nesmí. Přišel jsem na to, že odinstalované modutils zanechaly konfiguráky včetně /etc/init.d/modutils, takže jsem objevil tajemství dpkg --purge
a že stejně init skripty nemaže. Také jsem zjistil, že base-configem doporučovaný zápis IPv6 adres při konfiguraci Eximu, kdy dvojtečku v adrese je nutné escapovat dvojtečkou další, 127.0.0.1:::::1 značící naslouchání na loop backu nefunguje.
Nakonec, když vše bylo odladěno, překopíroval jsem nový systém z druhého oddílu na oddíl první, aktualizoval zavaděč, rebootoval a – opět postinstalační reboot. To snad není možný. Debian si snad hlídá, kam byl nainstalován, a když se objeví na jiném oddílu, tak vyvádí.
Ex-post jsem zjistil, že thttpd servíruje SVG dokumenty jako text/plain. Po zjištění, že tento HTTP server má databázi MIME typů zakompilovanou, jsem se vydal ověřit verzi z testovacího vydání Debianu. Nebyla tam. Poslední verze thttpd je více jak rok stará, leč ani v testingu není. No nic. hodil jsem ji tam ze starého systému.
Router je přeinstalovaný, asi 350 MB nového systému nastartuje za minutu (od POSTU, po přijetí TCP spojení na SSH server). Systém se zdá být stabilní, navenek se chová naprosto ekvivalentně.
Systém jsem instaloval asi 3 dny v průběhu dvou týdnů. Prolezl jsem www.debian.org a několikrát se ocitnul na www.debian-administration.org.
Jsem zvědavý, jak se mi povede rozdýchat PPPoE, IPv6 a poslední jádro s NF_CONNTRACKEM.
Smyslem tohoto zápisku nebylo plivat na Debian a ukázat, jaký jsem machr a že všechno bych uměl lépe.
Smyslem byl povzdech nad kvalitní distribucí s dlouholetou tradicí, která se profiluje jako serverová a pro zkušené uživatele. Povzdech nad tím, že chybí rychlý úvod pro zkušené uživatele, kteří vědí, co chtějí, znají principy fungování vanilkových programů do morku kosti, ale neznají špeky a odlišnosti přidané distributorem.
Chápu, že vývojáři distribuce jsou její dlouhodobí uživatelé a všechny její vychytávky berou jako samozřejmost a tudíž snaha o sepsání také rozdílové dokumentace je velmi malá. Přesto si myslím, že by takový dokument mohl být užitečný.
Tiskni
Sdílej:
když ti uživatelé [rozuměj Debian] jsou tak konzervativníCo se týče ifconfigu, tak v tomhle jsou konzervativní skoro všechny distribuce.
po nainstalovaní balíku, se automaticky služba nalinkuje do init scriptů a navíc, ta drzost, se rovnou spustí – nenakonfigurovaná. No, možná předkonfigurovaná na nějaké neškodné vlastnosti, ale vzhledem k tomu, že jsem byl stále v chrootu a starý systém stále svoji službu plnil, to byl, s prominutím, opruz.Holt jsou instalační balíky přizpůsobeny tomu, že instaluješ na běžící systém. (Tj. ne do chrootu)
Nakonec, když vše bylo odladěno, překopíroval jsem nový systém z druhého oddílu na oddíl první, aktualizoval zavaděč, rebootoval a – opět postinstalační reboot. To snad není možný. Debian si snad hlídá, kam byl nainstalován, a když se objeví na jiném oddílu, tak vyvádí.Několikrát jsem stěhoval systém na jiný disk a ještě nikdy se kvůli tomu neresetoval.
Po zjištění, že tento HTTP server má databázi MIME typů zakompilovanou, jsem se vydal ověřit verzi z testovacího vydání Debianu. Nebyla tam. Poslední verze thttpd je více jak rok stará, leč ani v testingu není.Tohle není ono?
To uz je jen tresnicka na dortu. Ze se programy spousteji sami od sebe, to jim neodpoustim.po nainstalovaní balíku, se automaticky služba nalinkuje do init scriptů a navíc, ta drzost, se rovnou spustí – nenakonfigurovaná. No, možná předkonfigurovaná na nějaké neškodné vlastnosti, ale vzhledem k tomu, že jsem byl stále v chrootu a starý systém stále svoji službu plnil, to byl, s prominutím, opruz.Holt jsou instalační balíky přizpůsobeny tomu, že instaluješ na běžící systém. (Tj. ne do chrootu)
Je, ale stary.Po zjištění, že tento HTTP server má databázi MIME typů zakompilovanou, jsem se vydal ověřit verzi z testovacího vydání Debianu. Nebyla tam. Poslední verze thttpd je více jak rok stará, leč ani v testingu není.Tohle není ono?
Jen Etch (momentálně frozen testing) skrz debootstrap instalovat jde…Je to mozne. Jak na to ted koukam, tak 0.3.3.2 pro platformu all? Podle manualu ovsem pro i386 vyhovuje pouze verze 0.2.45-0.2. Te jsem zkusil hodit misto sarge etch a vynadal mi, ze takove slovo nezna. Snad budu mit jeste prilezitost vyzkouset.
Ahoj, ač dlouholetý a věrný uživatel Debianu, musím pochválit za příspěvek. Dobře jsi tam schrnul skutečné mouchy, které tato jinak dobrá distribuce má. Já osobně na věci o kterých jsi psal přicházel déle protože jsem typickej užívák a čas od času vyplynulo na povrch tu ono, tu tamto.+1
Start služeb po instalaci mi osobně neva, ale citím, že by bylo lepší je defaultně nepouštět atd.Ono to má i druhou stránku věci... upgrade na novější verzi (což zahrnuje i bezpečnostní aktualizace) je v podstatě také instalace. To znamená, že pokud nedodáš mechanismus, kterým post-inst informuješ o tom, že šlo o upgrade, tak ti
apt-get upgrade
zastaví všechny služby, které se aktualizovaly.