Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.
Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
Vývojáři Debianu řeší, kterým initem nahradit SysVinit. Měl by to být systemd nebo Upstart? Do diskuse se zapojil i Lennart Poettering na Google+. Nevěnuje se pouze technickým otázkám (cgroup, kdbus, logind). Píše, že záleží pouze na Debianu, zda bude následovat Canonical s Upstartem, Mirem a Unity. Rozhodovat bude technická komise (Debian Technical Committee, #727708). Minimálně dva její členové ale hrají významnou roli ve vývoji Ubuntu a jsou spoluzodpovědní za strategii Canonicalu. Je tedy nepravděpodobné, že by hlasovali proti Upstartu.
Tiskni
Sdílej:
#!/bin/bash
usleep 1 &
firstPID=$!
#first lets exhaust the space
while [ $! -ge $firstPID ]
do
usleep 1 &
done
while [ $! -le $1 ]
do
usleep 1 &
done
ptrace(
) je Lennartova ošklivá pomluva ...
Dalsim krokem bude odstraneni shellu a prepsani skriptu do C ? Odstraneni konzole a emulator terminalu na urovni cmd.exe z Win a jen po instalaci baliku gnome-extra-unsupported-tools-for-naggers ?
Vymenit jednoduchost, univerzalnost a osvedcenost za teoreticky rychlejsi boot a podporu zcela okrajovych cgroups, mi neprijde jako dvakrat moudre. Ale cas samozrejme ukaze. Kazdopadne mam pocit, ze vrchol uz linux zazil a ze to jde v posledni dobe nejak z kopce, za velkeho prispeni komercnich firem jako RH a Canonical. GNOME 3 vs 2, KDE4 vs 3, Gtk+ 3 vs 2, Firefox 24 vs ~>4, Linux >3.5 vs 2.6 atd.
Obecne: kazda novejsi verze prinasi nove chyby, tudiz se vam muze subjektivne zdat horsi (protoze stara verze uz ma chyby vychytane), a pokud jste zvykly na stare veci, ani nechcete (nemate potrebu) vyuzivat nove vlastnosti a tedy vidite pouze ty chyby a zadny rozvoj.poslyš, a viděl jsi KDE 4.0 (4.1, 4.2, 4.3)? - to nebylo o nových chybách, tam chyběly zcela zásadní featury z KDE 3.x ... a čím to, že mezi KDE 1 a 2, a potom 2 a 3, si uživatelé tak nestěžovali?
ale bude asi rozdíl mezi "nefunguje" a "v některých případech dělá problémy", že ano...Přesně tak. Je rozdíl mezi je vhodný pro ukázky a je vhodný na práci.
To je ale více vina správců distribucí, než vývojářů KDE. Měli KDE4 zařadit až v dostatečně funkčním stavu.ale ne, už zase tenhle nesmysl? - jdi s tím papouškováním Aaronovejch kydů někam ...
Když se provádí takto obrovská změna, tak je jasné, že nějakou dobu bude systém/prostředí v prealfa a alfa fáziA proto se to označí číslem verze například 4.0a, 3.99 nebo tak něco. A ne, že se vydá 4.0 a pak se (nadsázka) dodatečně někam dopíše, že jsme jasně psali předem, že to je jenom taková beta.
Nikoho jsem nepapouškoval, protože to je naprosto logické.hmmm ... jaké máš zkušenosti s distribucí software? - udržuješ v nějakém downstreamu balíčky, anebo vyvíjíš v upstreamu něco, co ti někdo jiný balí? já na tom neshledávám nic logického ani z pohledu uživatele(*), natož z pohledu distributora - upstream mi dal balíčky, já je dám lidem, hotovo
Když se provádí takto obrovská změna, tak je jasné, že nějakou dobu bude systém/prostředí v prealfa a alfa fázi. Komerční firma jako MS nebo Apple si tuto fázi vyřeší interně a má na to svou armádičku testerů. Komunitní projekt takové interní testery nemá a musí proto testování směřovat na komunitu. Navíc množství aktivních vývojářů je v komunitním projektu méně než v silné firmě, takže vývoj trvá déle. A bylo čistě na správcích distribucí jestli zvolí vývojářskou volbu nebo stabilní volbu.stejně jako Aaron popíráš sám sebe to komunitní testování mohlo probíhat i bez toho, aby se to vydalo jako 4.0 - byly různé nightbuildy, návody jak to zkompilovat ze svn atd. správci distribucí nezvolili žádnou "vývojářskou volbu", oni prostě zabalili to, co upstream označil za stabilní (*) tady je na místě vrátit se k tomu logické/nelogické z pohledu uživatele: jsem BFU, jdu na stránky projektu, dozvím se, že verze 4.0 je the latest and greatest a mnohem lepší než 3.x, jdu zpět ke svému distru a očekávám, že tam teda tu latest & greatest verzi budu mít (plusmínus nějaký ten měsíc jak se sejde vývojový cyklus) a ono hovno a budu distributorům líbat ruce za to, že jsou tak pomalí a ještě to tam nemají?
Proto jsem měl dotaz: Kdy zařadili do distribuce KDE4 komerční distra RH a SLED?RHEL hned v prvním vydání po vydání KDE4, tedy v RHEL 6 SLED rovněž tak (akorát číslo verze nebylo 6 ale 11
Nebyla 4.0 jenom v bete? RHEL 6.0 release notes uvadi KDE 4.3, ktere je tam doted?dotaz zněl na KDE4, přičemž KDE4 != KDE 4.0 nýbrž KDE 4.0 ∈ KDE4 RHEL6 vyšel v listopadu 2010, KDE 4.0 v lednu 2008; KDE 4.3 v srpnu 2009, čili to odpovídá zhruba ročnímu zmražení před vydáním (to je to "plusmínus nějaký ten měsíc jak se sejde vývojový cyklus") - stejně tak jestliže RHEL7 je teď v public betě s KDE 4.10, tak se asi pro RHEL 7.0 nebude těsně před releasem rebasovat na KDE 4.12 který vyjde v únoru 2014
To je ale více vina správců distribucí, než vývojářů KDE.Muhehe. Mne u Kavola neprosel ani pomer 60:40, i kdyz s ohledem na jejich release process me celkem presvedcil.
V té době používalo na desktopu Linux hodně málo lidí a ještě méně nějaká KDE (1,2,3). Dá se říci, že teprve KDE 3 k sobě přitáhly větší počet uživatelů (logika Windows, lepší ergonomie) a zároveň i Linux dospěl k desktopové použitelnosti. Logicky tedy při mnohem větší základně jsou výkřiky nevole více vidět. To asi tak vše k tomu rozdílu.ale prdlačku, když si u nějaký verze stěžuje padesát lidí z tisíce, a u další by to tedy teoreticky bylo pětset z deseti tisíc, a ono je to pět tisíc z deseti tisíc, tak je to prostě vidět a neschováš to za to, že vzrostl počet uživatelů z tisíce na deset tisíc
stara verze uz ma chyby vychytane... nebo uz sme si na ne zvykli. Kdezto u nove/jine verze jsou jine chyby, na ktere si musime teprve zvykat.
U embedded zařízení to je taky dost důležité.Embedded svetu se systemd spise libi. Tam nejde jen o rychlost bootovani, ale i o koncept event driven rizeni i za behu a moznost limitovat resources.
Navic na scriptu se dost tezko neco podelalol
(c) vy ještě nevirtualizujete?I hosty je občas nutné aktualizovat a pak restartovat (security patche na kernel jsou časté).
Pánové, pamatujete si ještě o čem je tato diskuze? Je o Debianu, serverové distribuci. Ne desktop.Já tedy používám Debian jak na serverech, tak i na notebooku, kde je pro mě rychlost zajímavý parametr (ne nutně nejdůležitější).
Mnoho profi serverů má tak dlouho trvající HW diagnostiku v BIOSu, že doba bootu je úplně nezajímavá. Navíc to zrychlení je nepodstatné a když se něco nevede, ta paralelizace to jen stěžuje debugovat. Ja teda na serverech s distry, kde už to je, tu paralelizaci vypinám ..Tak tak, naběhnutí železa nám na dom0 trvá opravdu nejdéle
Já tedy používám Debian jak na serverech, tak i na notebooku, kde je pro mě rychlost zajímavý parametr (ne nutně nejdůležitější).Já mám na notebooku uptime asi měsíc.
Tak tak, naběhnutí železa nám na dom0 trvá opravdu nejdéleJo, to je tragický..
to jsou už klasický kecy obhajující smrad a teplíčko starých init skriptů.No a tohle zase klasický kecy hujerů, co bezmyšlenkovitě přeberou jakoukoliv hovadinu, jenom protože je nová a ne stará.
Další taková oblíbená fáma je to "teoretické" zrychlení, které je ve skutečnosti nejen teoretické, ale i praktické, a to dost výrazně.a) na většině instalací to není relevantní, protože se nestartují každých pět minut. b) s init skripty se paralelní start dá udělat taky. Debian Testing už to tak AFAIK má (a jo, hned mě to koplo) Tím neříkám, že s init skripty na věčné časy a nikdy jinak. Ale pro uživatele (admina) je pro mě - vcelku logicky - primární to, aby věci fungovaly a dalo se s nimi pracovat. Opravdu nestojím o sračku, která loguje binárně a potřebuju udělátor xyz na to, abych ty logy mohl přečíst. Stejně tak nestojím o hromadu dalších věcí, jmenovitě třeba o to, aby mi nějaký polobožský nástroj ukradl kontrolu nad cgroups, nad spouštěním (a zastavováním) služeb. A rozhodně nestojím o nepromyšlené a přesložitělé hurá init systémy, protože čím složitější systém, tím snáz se v něm udělají hůř hledají podivné chyby, které jednou za čas někoho kopnou. Pokud se vývojářům Debianu nelíbí init skripty a pláčou, když musí vytvořit další, fajn. Ale chtělo by to trochu soudnosti v tom, jestli je opravdu dobrý nápad nahrnout na uživatele něco, o co opravdu nestojí.
Uz vidim jak zivy ... "nenastartoval mi systemd ... co stim" ... "mno ... sezen si nekde druhej stroj, na nem si to prekompiluj ... a pak to nejak dostan na disk toho puvodniho stroje .... a pomodli se".A to se ti reálně stalo, nebo to jen tak fantazíruješ? Systemd se samozřejmě dá konfigurovat bez překompilovávání a služby jsou definované v textových (.service) souborech. U upstartu to je podobné. Jinak tenhle argument je dost mimo, v systému je binárek neurekom od kernelu až po naprostou většinu userspace. Počítám, že ty bys radši úplně všechny programy přepsal do bashe, protože co kdyby náhodou v některým z nich byl bug, že?
Uz vubec nemluve o tom, ze tux odjakziva fungoval na principu jednoucelovych malych nastroju, a ne se vseobjimajicim molochem.Jj, molochovitost systemd mi taky vadí.
$ ldd /usr/lib/systemd/systemd linux-vdso.so.1 => (0x00007fff37b2c000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f5b6103d000) libsystemd-daemon.so.0 => /lib64/libsystemd-daemon.so.0 (0x00007f5b60e39000) libudev.so.1 => /lib64/libudev.so.1 (0x00007f5b60c26000) libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f5b60a1b000) libpam.so.0 => /lib64/libpam.so.0 (0x00007f5b6080d000) libaudit.so.1 => /lib64/libaudit.so.1 (0x00007f5b605e6000) libcap.so.2 => /lib64/libcap.so.2 (0x00007f5b603e1000) libkmod.so.2 => /lib64/libkmod.so.2 (0x00007f5b601cb000) libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f5b5ff84000) librt.so.1 => /lib64/librt.so.1 (0x00007f5b5fd7c000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f5b5fb66000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5b5f949000) libc.so.6 => /lib64/libc.so.6 (0x00007f5b5f588000) /lib64/ld-linux-x86-64.so.2 (0x0000003f87a00000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f5b5f384000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f5b5f11f000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f5b5ef06000) libattr.so.1 => /lib64/libattr.so.1 (0x00007f5b5ed01000) liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f5b5eadb000) libz.so.1 => /lib64/libz.so.1 (0x00007f5b5e8c5000)
/sbin/sh
. A to ještě ani nebyli vysoce "inteligentní" správci balíku, kteří ochotně řešili závislosti, aby jim to při tom sem tam ujelo.
Kde jsou ty časy, kdy měl člověk na systému staticky zkompilovaný shell v /sbin/sh.Nejlépe se SUID bitem
/sbin/sh
byl.
Jde vidět, že jste v životě nepsal žádný složitější init script.tož já bych se s dovolením hloupě zeptal ... a proč by měl?
Jinak byste nemohl napsat takový nesmysl o shell init scriptech jako "jednoduchost, univerzalnost a osvedcenost".nešlo by i toto trošinku podložit nějakými argumenty? - když se já na to podívám, tak ... jednoduchost - to je asi subjektivní, nicméně tedy použít skriptovací jazyk, který znám a používám i jinde, se mi jeví jako jednoduché; naopak pracovat s obludou, kde typický odkaz na dokumentaci je někam do blogu, je tak trochu naprd univerzálnost - otázkou jest, co přesně se tím myslí, nicméně tedy obecně shell je dostupný na celé škále systémů, zatímco systemd jen na linuxu (a to ještě jen určitým, v některých scénářích nežádoucím, způsobem zkonfigurovaném) osvědčenost - no, třicet let používání na různých systémech v různých podmínkách je málo? je snad systemd osvědčenější? co si mám myslet o člověku, co tvrdí, že "osvědčenost" je u sysv initu nesmysl?
Jde vidět, že jste v životě nepsal žádný složitější init script.Co je to složitější init script a jak vypadá jeho ekvivalent pro systemd?
http://anonscm.debian.org/gitweb/?p=pkg-php/php.git;a=blob;f=debian/php5-fpm.inithm, podívám-li se na konstrukce typu:
# Exit if the package is not installed [ -x "$DAEMON" ] || exit 0měl bych spíše pochybnosti o kvalitách autora skriptu nežli o sysv initu ...
http://anonscm.debian.org/gitweb/?p=pkg-php/php.git;a=blob;f=debian/php5-fpm.service nebo http://anonscm.debian.org/gitweb/?p=pkg-php/php.git;a=blob;f=debian/php5-fpm.upstartnějak nevidím, jak tyto dva implementují
reopen-logs
? (což mimochodem chybí v Usage, k čemuž bych řekl totéž co výše, autor je prostě prase)
Tohle je celkem bezna konstrukce, kterou najdete u debianich init skriptu daemonu.# Exit if the package is not installed [ -x "$DAEMON" ] || exit 0měl bych spíše pochybnosti o kvalitách autora skriptu nežli o sysv initu ...
O tom, ze je to spatne, netreba debatovat, jen bych se za to do autora nenavazel. On postupuje konzervativne v duchu Debianu, kde jsem tenhle pristup videl uz pred 13 lety a evidentne to nikoho nepalilo.ok, pak to ale má dávat za příklad hnilobných debianích praktik, a ne za problém sysv samotného :-p
Debianni SysV init skripty jsou ukazkou proc shell skripty radsi uz neviz výše, prasit se dá v čemkoliv, to není argument proti něčemu
a ani Fedori pred Upstartem nebyly zadna slava.... a proto jsme dělali aktivity jako "initscripts improvement project"
ok, pak to ale má dávat za příklad hnilobných debianích praktik, a ne za problém sysv samotného :-pNejspíš (nejsem správce balíků) to vychází z faktu, že init skript je v /etc, tudíž je to konfigurační soubor. Tzn. při odinstalování balíku se zachováním konfiguračních souborů zůstane zachován i init skript a tahle konstrukce zajistí, že odpadnou chyby při startu. Ostatně bych to volání nepovažoval za tak velký problém. Jestli neexistuje démon volaný daným init skriptem, tak ho někdo odinstaloval a je jeho blbost očekávat, že se ta služba nastartuje.
Ostatně bych to volání nepovažoval za tak velký problém. Jestli neexistuje démon volaný daným init skriptem, tak ho někdo odinstaloval a je jeho blbost očekávat, že se ta služba nastartuje.takže můj skript má mít křišťálovou kouli, která mu řekne, že někdo něco odinstaloval a že se ani nějakou službu nemá pokoušet startovat, namísto toho aby ji prostě zkusil a sledoval, jestli vrátí chybu a má se podle toho zachovat (skončit) nebo nulu a tedy může v klidu pokračovat? nesouhlasil jsi o kousek níže s tím, že by se ti líbil initsystém jednotný přes různá distra, a najednou do toho budeš tahat rozhodování podle toho, jaký balíčkovací systém distro vůbec používá, aby si něco na init systém navázaného zjistilo, jestli má smysl pokoušet se startovat nějakou službu? eh?
takže můj skript má mít křišťálovou kouliNevím, co je to za skript, který by měl startovat init.d službu (ty se tak nějak startují samy při bootu, ne?) A pokud už něco takového dělá, tak ho máš upravit nebo smazat s tím, když jsi smazal toho démona.
nesouhlasil jsi o kousek níže s tím, že by se ti líbil initsystém jednotný přes různá distraNe. Respektive jestli to někde bylo, tak ve výčtu dalších vlastností a zrovna tahle mě nezajímá. Různá distra nepoužívám - dokud mi bude Debian fungovat ke spokojenosti, jinde si dělejte (a používejte) takový bordel, jaký se vám zlíbí Zbytek odstavce viz výše. Pokud voláš init skript odinstalované služby, je to administrátorská chyba.
Pokud tam je chyba, ma skript vratit chybovy kod, to neomluvite. Debian ma jakousi souvisejici policy, a chybove kody by mely byt LSB compatible.1) Opravdu je to LSB incompatible? 2) Myslím, že bez detailní znalosti debian policy je nesmysl hodnotit kvalitu init scriptů (věci mají svůj důvod).
Debianni SysV init skripty jsou ukazkou proc shell skripty radsi uz neJasně, radši použít systemblackbox. Tam na prasárny není vidět hned, takže je všechno v pořádku.
měl bych spíše pochybnosti o kvalitách autora skriptu nežli o sysv initu ...Jasně, že chyba není v SysV initu, vzhledem k tomu, že sysv init program jako takový je brain dead simple software, který dělá jen naprosté minimum (spustí nějaký skript podle aktuálního runlevelu). Chyba je v tom, že správce je primitivností sysv initu nucem psát skoro celý init systém v bashi...
Mno autor ten script napise jednou, ze ...Ne. Skripty je potřeba udržovat - mění se potřeby distribuce, mění se ty samotné služby,...
ale uzivatel/admin si pak predesim ten script muze snadno precist, zjistit co dela/nedelaJo, měl jsem za dob sysv init párkrát "tu čest" dohledávat něco v init skriptech, bylo to dost děsný. Ve výsledku jsem tam stejně většinou někde doplnil nějakej hack, kterej byl stejně přepsán při příštím upgradu.
a pripadne si do nej neco dopsat nebo ho upravit podle svych potrebAha, takže už i uživatel si bude psát init systém na koleně... Super
ale pak ne-upgradování toho skriptu může způsobit nějaký jiný problémPokud bude správce nějakého SW dělat svýma initskriptama paseku, tak si při každému upgradu sjedu diff (Debian nabízí) a projdu changelog (Debian umí), tak s investicí 15 minut/rok budu žít s workaroundem...
U toho systemd se tohle afaik dá taky workaroundovat opravou v service files...Zrovna v tomhle konkrétním případě ano... A co až lennartware(tm) zas vymyslí další takovou kulišárnu, která už obejít nepůjde? A tohle nevnímám jako hypotetickou možnost, ale velmi reálnou (protože dalších podobných bugo-featur už tady bylo několik a vždy velmi obhajovaných)
Ja som sa minule pokúšal nejako rozbehať gitlab, sidekiq a redmine na debiane. Init skripty vážne nie kvôli chýbajúcemu dohľadu nad padaním. Preto som zvolil sv ... ale nebola to najšťastnejšia voľba, asi v 50% prípadov štartu (takmer denne nám vypadáva prúd) sa jedna zo služieb redmine / sidekiq / gitlab zasekne na nekopnečnej slučke kde sv donekonečna zabíja a spúšťa passenger. Absolútne netuším prečo to robí. Ah zlatý upstart / systemd kde to jedneoducho funguje.
[...]
130 opendnssec-enforcer.init
132 bind9.init
134 sks.init
136 bird.bird6.init
139 unbound.init
142 murmur.init
145 bind9.init
146 python-poker-network.init
149 calendarserver.init
152 httpd.init
154 dspam.init
155 httpd.init
158 nsd.init.d
161 dnssec-tools.rollerd.init
168 citadel.init
169 stompserver.init
176 php5-fpm.init
178 php5-fpm.init
185 c-icap.init.d
187 mysql-server-5.5.mysql.init
193 dovecot-core.init
195 slapd.init
209 mysql.init
225 pdns-server.pdns.init
235 apache2.2-common.apache2.init
241 cfengine3.init
249 phreld.init
251 udev.init
274 exim4-base.exim4.init
276 apache2.2-common.apache2.init
282 mydns.init
284 pdns-recursor.init
289 cyrus-common.cyrus-imapd.init
298 autotrust.init.d
301 dsc-statistics-collector.init.d
318 gridftpd.init
323 sasl2-bin.saslauthd.init
402 sasl2-bin.saslauthd.init
403 sasl2-bin.saslauthd.init
415 apache2.init
1340 sendmail.init.d
Jasně, že tohle všechno nepůjde jednoduše přepsat do deklarativního zápisu (ten sendmail je fakt extrém), ale troufám si tvrdit, že většina z těch s průměrnou velikostí okolo 150 se dá přepsat do pár řádek.
Já v tom nevidím nic víc než neschopnost či nechotu maintainerů Debianu vytvořit si nějaký rozumný systém initscriptů.A tobě nepřijde rozumnější, aby existoval nějaký obecně použitelný init systém, který by distribuce mohly nasadit a nakonfigurovat, ie. nemusely to psát celé znova a každý zvlášť? Už tak mají dost jiných starostí. Pozn.: Tím nemyslím konkrétně systemd, ale obecně...
A tobě nepřijde rozumnější, aby existoval nějaký obecně použitelný init systém, který by distribuce mohly nasadit a nakonfigurovat, ie. nemusely to psát celé znova a každý zvlášť?Já jsem pro. Jenže s otázkou "vyměníme init skripty za upstart nebo systemd" už tohle má docela málo společného.
cp /etc/init.d/skeleton debian/<package>.init.d
Případně vezmu to, co mi do balíku vygeneruje dh_make.
A to si upravím ke svým potřebám. Hádám, že velká část maintainerů postupuje stejně.
Nicméně problém je i v tom, že ten skeleton vypadal před 10 lety úplně jinak než vypadá dneska, a můj pocit je, že je to v podstatě neupgradovatelné, protože jsou to z velké části špagety.
Samozřejmě, že všechno jde ohackovat tak, aby to vypadalo pěkně, ale nedostali bychom se pak stejně k něčemu jako je OpenRC (tady se omlouvám, ale moje znalost OpenRC končí na tom, že je to sada shell skriptů, která umí zpracovávat deklarativní syntax init skriptů)?
Moje důvody, proč si myslím, že je potřeba přejít na moderní init systém:
- deklarativní zápis (mnohem snazší na údržbu)
- supervizor (!!!)
Taky nesmíte zapomínat, že Debian je spíš taková snůška individuí, z nichž každý má jinou motivaci, jinou agendu a jinou firmu na výplatní pásce.
deklarativní zápis (mnohem snazší na údržbu)Zajímavostí je, že OpenRC initscripty jsou imperativní a přesto jsou stokrát udržovatelnější než initscripty v Debianu. To ukazuje, že k dílčímu úspěchu kolikrát stačí trocha snahy namísto věčné argumentace, že by se muselo všechno předělat od základu, tak to radši necháme, jak to je. Nehledě na to, že to není rozhodování mezi deklarativním a imperativním přístupem, protože pro správnou funkci je do jisté míry potřeba obojí. Sám jsem obecně spíše pro deklarativní zápis, ale nepovažuju to za nejvyšší kritérium.
supervizor (!!!)Naprosto souhlasím. A detekci/odstranění zapomenutých procesů (například pomocí cgroups, jako to dělá systemd). Nikdy jsem se netajil tím, že se mi ten koncept líbí. Co si budem povídat, udělat supervizor třeba i s integrací cgroups není zas až takový problém, a nejspíš ke svému běhu vůbec nepotřebuje pid 1. Pokud jde o deklarativní zápis, tak není až takový problém se k němu dopracovat postupně. Navrhnout ho dobře na zelené louce je o dost horší. Samotné zpracování konfiguračních souborů zase až taková divočina není.
Taky nesmíte zapomínat, že Debian je spíš taková snůška individuí, z nichž každý má jinou motivaci, jinou agendu a jinou firmu na výplatní pásce.To vypadá jako by Gentoo byla nějaká hyper cool bohatá komerční firma, když už tady byla řeč o OpenRC a inteligentních bashovských initscriptech. Nehledě na to, že už je to jednou prošlapaná cesta a není problém si vypůjčit nápady třeba tam.
Takže se v podstatě v důvodech pro přechod na moderní init shodeme, ne?Když do toho nebudeme tahat nesmyslné argumenty jako dosavadní neschopnost Debianu přejít na nějaké rozumné initscripty, tak nám skutečně zbydou mlhavé výhody deklarativního jazyka na jedné straně a supervizor na druhé straně. To první samo o sobě lze realizovat postupně a bez nějakých velkých problémů. To druhé lze realizovat postupně a případně i bez výměny pid 1.
jde o to se sjednotit na jednom a ten používat pro všechny služby.Ve finále je nanejvýš vhodné se shodnout na jednou a používat ho nejen pro všechny služby, ale ideálně i pro všechny běžné distribuce, popřípadě mít k dispozici více alternativ se společným API. To je ale možnost, kterou systemd efektivně zabíjí a ani upstart v tomto moc nepomohl.
ale že okometricky cca 300 lidí (http://www.gentoo.org/proj/en/devrel/roll-call/userinfo.xml) se koordinuje lépe než cca 1000 (debian-keyring.gpg + debian-maintainer.gpg).Nevidím rozdíl v přípravě guidelines pro psaní initscriptů a zajištění softwarové podpory (třeba ve formě bashovských funkcí) pro 300 vývojářů a pro 1000 vývojářů. Jestli v rámci Debianu takovýto argument obstojí proti možnosti s tím něco udělat, pak se není čemu divit.
Ondrej Sury ma pravdu, pro Debian je cesta do budoucna volba mezi systemd a upstart.To nepopírám, nicméně to stále hodnotím jako výběr mezi dvěma zly.
Vymenit jednoduchost, univerzalnost a osvedcenost za teoreticky rychlejsi boot a podporu zcela okrajovych cgroups, mi neprijde jako dvakrat moudre.Tak on debianí init systém je bohužel rozbitý (např. nejde disablovat služba, aby to přežilo upgrade), ale spíš než upgrade na něco jiného bych se věnoval jeho opravě…
update-rc.d služba disable X?Upgrade balíčku spustí /etc/init.d/služba restart.
Nebo - když vadí, že předchozím způsobem se služba v daném runlevelu vypíná místo spouštění - dokonce snad funguje i přejmenování skriptu z Sxx na XxxUpgrade balíčku tyto soubory přepíše distribučná verzí.
Upgrade balíčku spustí /etc/init.d/služba restart.Některé init skripty při volání restart neudělají nic, pokud služba neběží.
Upgrade balíčku tyto soubory přepíše distribučná verzí.Jsi si jistý, že to pořád platí? Včera jsem to zkoušel a update-rc.d při --reinstall akorát řekl, že se výchozí nastavení spouštění liší od současného. Symlinky nechal napokoji
Některé init skripty při volání restart neudělají nic, pokud služba neběží.Jak které… Upgrade lighttpd mi teď prošel, ale třeba zbavit se samby se mi nepovedlo.
Jsi si jistý, že to pořád platí? Včera jsem to zkoušel a update-rc.d při --reinstall akorát řekl, že se výchozí nastavení spouštění liší od současného. Symlinky nechal napokojiNo jo, vypadá to, že už to jde. Super. (btw. ještě jeden problém - jak nainstalovat server, aniž by se spustil s defaultní konfigurací? třeba postfix nebo ziproxy jsou defaultně otevřené do světa a to určitě nechci)
třeba postfix nebo ziproxy jsou defaultně otevřené do světa a to určitě nechciPostfix ve které konfiguraci? Co si tak vzpomínám, tak se mi vždycky spustil s nasloucháním jenom na localhost. A i kdyby ne, tak výchozí konfigurace stejně nepřijímá žádnou poštu kromě @mailname a @[ip.ad.re.sa]
OpenRC už je ze hry? Osobně bych ho bral místo obou zmíněných "zel"... :(
Muzete to prosim rozepsat?Vždyť už je to folklór. Oni předefinovali akci „stop“ ze „zastav do nejbližší akce administátora“ na „zastav do nejbližší ho pokusu službu použít“, to platí jak pro služby aktivované přes UNIX socket (tam to jde obejít „zastavením“ toho socketu), tak pro služby aktivované přes D-Bus (tam se to obchází už podstatně hůř). Nedávno mi bylo definitivně vysvětleno, že se na straně systemd jedná o vlastnost, nikoli chybu a jediný problém je, že D-Bus ještě není v kernelu.
Diky cgroups dokonce dohleda i forknute jedince a zastavi i ty.Nikoliv. On rovnou sestřelí celou tu cgroup a nic nedohledává, navíc to dělá by default. Tím dostává služby do nedefinovaných stavů a vcelku nedávno se řešilo, že kvůli tomu zamrzávala fedoří instalace při bootu z NFS (systemd sestřelil dhclienta, na jehož selhání reagoval NetworkManager úklidem a NFS tak ztratilo síť). Fakta jsou taková, že promyšlené rozhodně není a že autoři systemd by default počítají s tím, že ten, kdo se bude přizpůsobovat a řešit vzniklé problémy, je okolní svět. Můžeme se bavit maximálně o tom, do jaké míry je to v pořádku.
jediný problém je, že D-Bus ještě není v kernelu.Bude, see here, a uz to celkem chodi.
Můžeme se bavit maximálně o tom, do jaké míry je to v pořádku.Do urcite miry to v poradku je, nicmene okolni svet by mel mit vice moznosti do toho kecat a nebyt postaven pred hotovou vec.
Opet nerozumim.Zrejme jste si jeste nevsiml, ze Linux neni jediny kernel podporovany Debianem.
Vyhody i nevyhody jsou snad zrejme.Rád bych potkal člověka, kterému jsou výhody tvrdé závislosti na Linuxu upřímně zřejmé. A tím nemyslím Lennarta, kterému činí potěšení házet špínu na cokoli, co je alternativou k jeho oblíbencům včetně Linuxu. Sám jsem narazil na oblast, kde Linux/GNU poskytuje lepší prostředky než obecně uznávané standardy, s FreeBSD a podobnými si ovšem netroufám srovnávat. Možná je to pro mě dostatečný důvod ty další systémy do jisté míry ignorovat, ale nevidím problém v tom, když někdo přijde s úpravami, které zajistí běh i nad jinými jádry. Linux je jen nástroj. A jestliže už někdo plká o budoucnosti, měl by počítat i s tím, že v budoucnosti může přijít zajímavá alternativa k Linuxu (kernelu) nebo může Linux a jeho vývoj projít podstatnými změnami. Ale chápu, že je rozdíl mezi tvorbou software ve smyslu umění a tvorbou software ve smyslu kariéry.
No, já myslím, že zřejmou výhodou je vertikální integrace. To, že můžu naplno využívat vlastnosti linuxového kernelu a opírat se o ně už v samotném návrhu. A naopak. Samozřejmě vertikální integrace má i svoje negativa, především nižší univerzálnost a flexibilita.
Nikdo nebrání nikomu udělat podporu systemd pro jiná jádra. Autoři systemd od začátku hlásají, že projekt je zaměřený pouze na Linux, a mají svaté právo ty patche nepřijímat, protože platí pravidlo, že co upstream jednou přijme, o to se musí starat, a do podpory BSD je nikdo nutit nemůže.
No, já myslím, že zřejmou výhodou je vertikální integrace. To, že můžu naplno využívat vlastnosti linuxového kernelu a opírat se o ně už v samotném návrhu. A naopak.To je skutečně zřejmá teoretická výhoda. Ale musíš mít dostatek znalostí, abys věděl, zda se ta výhoda skutečně projeví. Pokud je tvým argumentem, že se ti nechce řešit jiná jádra, je to zcela legitimní. Jenže pokud je tvým argumentem, že by to na jiných jádrech ani nešlo, je to nesmysl, protože zítra může přijít někdo, kdo potřebnou funkcionalitu do *BSD doprogramuje. Abyses mohl do takové debaty legitimně poušetět, musel bys znát přesný výčet funkcionality, která ti na jiných platformách chybí.
Nikdo nebrání nikomu udělat podporu systemd pro jiná jádra. Autoři systemd od začátku hlásají, že projekt je zaměřený pouze na Linux, a mají svaté právo ty patche nepřijímat, protože platí pravidlo, že co upstream jednou přijme, o to se musí starat, a do podpory BSD je nikdo nutit nemůže.Na tomhle je právě vidět rozdíl mezi open source licencí a komunitním vývojem. V případě open source licence máš možnost forkovat či udržovat sady změn, zatímco v případě komunitního vývoje máš možnost stát se součástí upstreamu, který si pak nastavuje mechanismy údržby funkcionality, která je specifická pro menšinu uživatelů. Funkcionalita je pak součástí upstreamu po tu dobu, co jsou součástí upstreamu její maintaineři. Nebo myslíš, že se na to dívám špatně?
Pokud je tvým argumentem, že se ti nechce řešit jiná jádra, je to zcela legitimní.Jenze o to presne jde.
To je skutečně zřejmá teoretická výhoda.
To je IMHO dost praktická výhoda. I kdyby výhody vertikální integrace nebyly někomu zřejmé, už to, že podpora dalších kernelů vždycky znamená více práce, kterou autoři můžou místo toho věnovat zlepšování podpory Linuxu, je argument. Všimni si, že nijak neobhajuju specializaci pouze na Linux. Jenom říkám, že to svoje výhody prostě má.
Jinak co se týče budoucnosti, tak tu nikdo zatím číst neumí, takže člověk může tak maximálně odhadovat budoucí vývoj a je realitou, že Linux je a v následujících letech s největší pravděpodobností i bude zdaleka nejrozšířenějším systém unixového typu. Množství jeho vývojářů je řádově někde jinde a trend je rostoucí. Pokud Linux někdy v budoucnu skončí, tak s ním s největší pravděpodobností skončí i systemd a myslím, že to je riziko, které jsou jeho autoři ochotní podstoupit.
No, já myslím, že zřejmou výhodou je vertikální integrace.Ano. A navic casto nic jineho stejne neni vubec podporovano, pak obcas QNX a zridka Windows.
Rád bych potkal člověka, kterému jsou výhody tvrdé závislosti na Linuxu upřímně zřejmé.To jsem nerekl. Jde o to, ze pokud navrhujes system, tak aby behal na vice OS, pouzivas nejvetsi spolecny jmenovatel a to nekdy muze omezovat. Pokud designujes veci pro jeden system, na ostatni nemusis brat vubec ohled a to je co Lennart dela.
A jestliže už někdo plká o budoucnosti, měl by počítat i s tím, že v budoucnosti může přijít zajímavá alternativa k Linuxu (kernelu)Jak bude vypadat budoucnost nevis a tak se na to nemuzes pripravit. A az se neco takoveho objevy, bude se to resit.
To jsem nerekl. Jde o to, ze pokud navrhujes system, tak aby behal na vice OS, pouzivas nejvetsi spolecny jmenovatelTo vůbec nemusí být pravda.
Jak bude vypadat budoucnost nevis a tak se na to nemuzes pripravit. A az se neco takoveho objevy, bude se to resit.Proto ta věta začínala: Když někdo plká o budoucnosti...
Jde o to, ze pokud navrhujes system, tak aby behal na vice OS, pouzivas nejvetsi spolecny jmenovatel a to nekdy muze omezovat.mno, to "někdy" a "může" je takové ... no spíše nelichotivé pro autora návrhu
a nikoho jiného OpenRC vlastně vůbec nezajímá.... až na lidi kolem kFreeBSD a Hurdu je nutné je urážet předstíráním, že jsou míň než vzduch?
... až na lidi kolem kFreeBSD a Hurdu je nutné je urážet předstíráním, že jsou míň než vzduch?Na to ani neni treba predstirat, viz zde:
alpha : 14 graph amd64 : 92571 graph arm : 37 graph armel : 953 graph armhf : 206 graph hppa : 15 graph hurd-i386 : 26 graph i386 : 63189 graph ia64 : 37 graph kfreebsd-amd64 : 73 graph kfreebsd-i386 : 56 graph m68k : 8 graph mips : 5 graph mipsel : 38 graph powerpc : 745 graph ppc64 : 1 graph s390 : 18 graph s390x : 4 graph sh4 : 10 graph sparc : 162 graph sparc64 : 1 graph x32 : 2 graph unknown : 97 graphPomery budou nejspise spravne, a kolik promile pak maji kfreebsd-* a hurd-* ?
Nemuzete vzit userspace a 1:1 je narvat do jadra.Mě ani tak nezajímá, jestli to jde nebo nejde, ale jestli je to k něčemu dobré.
Zkuste treba tenhle vycuc od Greg Kroah-Hartman, je to clovek zodpovedny z kdbus implementaci. https://github.com/gregkh/presentation-kdbus/blob/master/kdbus.txtJá to nevidím úplně k tématu, protože si nemyslím, že celý projekt kdbusu má za cíl jen optimalizaci pomocí odstanění context switchů. Hádám, že tam bude hromada dalších optimalizací a hlavně přesun dále racionalizuje závislost na D-Busu a potažmo systemd.
Nejak dalsi info jsem videl na ruznych konferencích. Cele je to diky tomu, ze DBUS proste nelze pouzit pro rychle IPC (asi kvuli context switchum, ale expert nejsem).Je legrační, jak se dle potřeby D-Bus nejdřív prezentuje jako úžasný a univerzální nástroj, ale najednou, když je třeba odůvodnit kdbus, tak se přijde na to, že je to celé nesmyslně pomalé a že to mělo být navrženo úplně jinak. Dneska už je kdekomu (ať to řekne nahlas nebo ne) jasné, že čím podobnější bude kdbus původnímu dbusu, tím to bude hůře navržené, jenže dbus už de facto patří do rodiny systemd, tady mezi ty služby, které se nepřizpůsobují, ale kterým se přizpůsobují ostatní. Takže nezbývá než doufat, že Greg udělá, co bude v jeho silách.
Takže nezbývá než doufat, že Greg udělá, co bude v jeho silách.Nejvetsi tlak prisel ze strany Genivi, kde doslova znasilnovali dbus a pouzivali ho zpusobem, ke kteremu nebyl designovan. Tisice zprav za sekundu, cpali tam veci primo z CAN busu. Protoze to samozrejmne nefungovalo, prisli AF_BUS, ktery jim ale nevzali do kernelu a pak se toho chytil Lennart && spol, tem to take neproslo, nakonec byli spolecne schopni vytvorit tlak a dotlacit GKH k nejake implementaci.
otázka je, kolik toho má společného s realitou aA co chces zpochybnit? Tohle lze rici o vsem.
a jaké další okolnosti jsou nevyřčené.To bezesporu.
To vubec nebyla strelba do prazdna.Tak si to po sobě přečti a zkus si představovat, že jsi nezúčastněný člověk. Jsem si jistý, že pochopíš.
(asi kvuli context switchum, ale expert nejsem).Nejen kvuli kontext switchum, slo o mnozstvi kopirovanych dat, systemovych callu,celkovy overhead, problem byla hlavne latence a propustnost.
ale je to marny, je to marny ..
A on DBUS má jít použít pro IPC?:D A co na to Wiki? D-Bus is a free and open-source inter-process communication (IPC) system... A D-Bus sám o sobě? D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication... Takže já bych to viděl tak, že D-Bus by asi k IPC jít použít měl, nebo se něco hodně nepovedlo. ;)
Není náhodou na IPC určeno něco jiného (od signálů po shared mem)?Ale jo, náhodou mj. tyhle taky.
Ad 1) Celkem by mě zajímalo v jakých. Já dbus démon vypínám a nějak jsem si nevšiml, že by něco nejelo.Oni vypnuli google?
To je na tom to nejhorší. Že se takový nepotřebný nesmysl dostane do jádra. Stačí jít vyšlapanou cestou. Vytvoří se nesmysl, potom ho někdo (třeba z donucení) začne používat. Zjistí se, že nesmysl je pomalý a v jádře by to bylo víc cool, tak se nesmysl nacpe do jádra.A není to taky trochu tím, že lidé štěkají, že D-Bus přece není IPC (a co by to asi bylo?), místo toho aby se věnovali skutečným problémům a možnostem něco zlepšit?
Oni vypnuli google?
Nevím. Ale v diskusi bývá běžné, pokud někdo něco tvrdí, že to taky umí doložit. Proto se ptám tebe, jaké systémy znáš, u kterých je nefunkčnost d-bus stejně závažný problém, jako chyba kernelu.
A není to taky trochu tím, že lidé štěkají, že D-Bus přece není IPC (a co by to asi bylo?), místo toho aby se věnovali skutečným problémům a možnostem něco zlepšit?
Tak lidé se věnují skutečným problémům. Třeba rozchození zvuku po té, co se do systému nasralo pulse audio a podobné radosti života (nebudu rýpat ).
Nevím. Ale v diskusi bývá běžné, pokud někdo něco tvrdí, že to taky umí doložit. Proto se ptám tebe, jaké systémy znáš, u kterých je nefunkčnost d-bus stejně závažný problém, jako chyba kernelu.Vážně nevíš o jediné službě, která bez D-Busu přestane fungovat?
Ne, to není provokace. To je o úhlu pohledu. Pokud nějakou věc můžu beztrestně vypnout, aniž by cokoliv přestalo fungovat (a nebo třeba začalo fungovat lépe), tak začnu mít pochybnosti, proč v tom systému (ještě k tomu by default zapnuté) vůbec je.To je úplně jiné téma.
Moje uvažování je přesně opačné, měl by existovat důvod pro zapnutí, pokud není, tak nechat vypnuté.Tvoje uvažování je opačné vůči tomu, vůči čemu se chceš vyhrazovat, nikoli však vůči mému. Rozdíl mezi námi je v tom, že mě zajímají širší souvislosti a z toho důvodu připouštím více možností užívání systému postaveného na open source komponentách. Z toho vyplývá, že já tvoje požadavky budu vždycky chápat, zatímco ty budeš ty moje maximálně tak tolerovat ;).
Nevidím důvod ten démon mít zapnutý a to, že ten systém běží k mojí spokojenosti (servery, desktopy, virtuálky) mě ujišťuje v tom, že toto rozhodnutí je správné.Souhlasím, jen je to úplně jiné téma, než ke kterému jsem se výše vyjadřoval a nic to ani nemění na existenci služeb, které ke své práci vyžadují dbus démona (dokud je někdo neupraví nebo dokud se neimplementuje dbus kombinací kernelu a systemd).
Třeba rozchození zvuku po té, co se do systému nasralo pulse audio a podobné radosti života (nebudu rýpatJen si rypnete a budte trochu konkretni. Na Fedora/CentOS jsem minimalne za posledni ctyri roky snad nemel jediny problem s PA.).
Ale příště by chtělo při nasazování zvolit poněkud jiný postup.Rád si poslechnu cokoli, co se mě nějak týká, jenže já jsem začal kopat do NetworkManageru loni v létě a po letošním létě už na to mám jen minimum času a nezbývá mi než spoléhat se z velké části na tlaky komunity a zákazníků. Pokud jde o komunitu, tam se snažím, co to jde, ale ne každý má chuť a čas věnovat se NetworkManageru, i kdyby to mělo být jen v bugzille.
a není zřejmý důvod, proč to nahrazovat (a nikdo se ani nesnaží s tím důvodem přijít)Já třeba ten důvod mám (na notebooku). Chodím mezi různými sítěmi (doma, eduroam, dvě odlišné VLAN v brmlabu - a to ještě každá v drátové a bezdrátové variantě) a rád bych, abych vždycky nemusel ručně spouštět
dhclient
, občas i restartovat wpa_supplicant
a řešit radosti s tím, že se nesmaže nefunkční (RA-přidělená) IPv6 adresa/routa při přechodu mezi sítěmi, takže se pak IPv6 pakety ztrácí.
Jenže nikdo do té doby nepřipravil univerzální alternativu, která by byla vhodná jak pro servery, tak pro desktop.
Otázkou je, proč by měla existovat.
jehož vylepšováním jsem taky jistě způsobil mnoho nářků a pláče ;).Za praci na NM mas u mne hodne kladnych bodu, diky.
Za praci na NM mas u mne hodne kladnych bodu, diky.Já doufám, že ještě nějaké nasbírám, byť teď už za jednotlivosti.
jestli mezitím projde přes několik démonů, které data nezkreslují (pouze úpravy hlasitosti)...přičemž úprava hlasitosti vůbec nezanáší zkreslení. Navíc, nemění náhodou PA sample rate přehrávaných dat?
Obyvkle se to dělá v předzesilovači, tedy v analogové části hned za DAC.Tam si zase pak snizite odstup signal sum, coz je do znacne miry ekvivaletni ztrate bitoveho rozliseni (kvantizacni sum).
špatný DAC udělá špatnou obálku nad těmi vzorky.To je hlavne otazka vystupniho filtru a dobry filtr je drahy => v ramci koseseni kostu pada jako prvni. V posledni dobe DAC s integrovanym zesilovacem ve tride D to o neco zlepsily, e.g. TLV320DAC3100.
Navíc, nemění náhodou PA sample rate přehrávaných dat?Dela. Mixovat data s ruznou sample rate do vystupu s dalsi sample rate neni sranda a nejjednodussi cesta je presamlovat vsechno na sample rate vystupu (casto omezeno HW) a pak to mixovat. Resampling ale zahrnuje interpolaci a zmenu frekvencniho rozsahu.
Můj cíl je udělat z PC HiFi přehrávačUvedomujete si vas cil se pak diametralne lisi od cilu PA?
Základem je, aby do zvuku nic nezasahovalo (ideální případ je kodec -> DAC -> zesilovač), dělalo se minimum konverzí apod.PA musi byt schopno mixovat zvuk z vice zdroju, z vice formatu, provadet konverzi a dynamickou normalizaci, ekvalizaci (ok, tu dela bidne), na stranu druhou jsou tu pozavky na nizky pocet interruptu - napriklad kvuli spotreba, a tak se toleruje vyssi latence. Vasim potrebam vyhovuje jack2, ktery ale s PA dokaze rozumne existovat a dynamicky prevzit plne kontrolu zvukovky a pak se velmi priblizite vasemu modelu.
Vasim potrebam vyhovuje jack2,To jsem si také jednu dobu myslel... leč rovněž má své nectnosti, a to nikoliv malé: není schopen najednou fungovat v programy více uživatelů a přenos zvuku po síti se mezi různými verzemi jackd2 často nedomluví. Ale na nic lepšího jsem zatím nenarazil. Když jsem se k podobným věcem snažil přiohnout PA, narazil jsem na takřka kontinuum bugů, které tomu bránily, a kvalita kódu nedává moc nadějí, že by to brzy mohlo být lepší. Takže osobně mám z PA pocit "myšlenka hezká, implementace saje". Vlastně stejný jako ze systemd.
To jsem si také jednu dobu myslel... leč rovněž má své nectnosti, a to nikoliv malé: není schopen najednou fungovat v programy více uživatelů a přenos zvuku po síti se mezi různými verzemi jackd2 často nedomluví.Ja ho pouzivam jen tam kde potrebuji definovanou/stabilni latency, zadny adaptivni clipping, tam nemam problem, prenos pres sit jsem nikdy nezkousel, tipuji ze mate pravdu.
Takže osobně mám z PA pocit "myšlenka hezká, implementace saje".Je to sileny kod, Lennart nikdy nedelal signal processing a tak mi prijde ze snad kopiroval nektera reseni slepe z internetu.
Vlastně stejný jako ze systemd.Snad si Lennart najde lepsi pastvinu a pujde od toho, a necha to dodelat nekoho, kdo sice nema tak progresivni mysleni, ale schopnost dotahovat veci do konce.
To je na tom to nejhorší. Že se takový nepotřebný nesmysl dostane do jádra.Nepotrebny jak pro koho. Cela rada OS ma messaging zabudovany primo do kernelu.
ale v kernelu je všecko v pořádku ;).Ja bych spise rekl, ze zalezi kdo to tam protlaci, a u GKH to bude urcite v poradku; proto tam ostatne je
Tak ten clovek si za jedno odpoledne precte neco o CGroup a uz je opravnen to radne komentovat ;)no, ty si ani pořádně nepřečteš, co napsal, a už jsi oprávněn to řádně komentovat ... :-p
mkdir xyz
. Další, která bude hierarchicky pod ní? mkdir xyz/abc
. Zařadit do ní proces? echo "12345" > xyz/abc/tasks
Složitější případy možná budou chtít složitější obsluhu, ale i tak mi dát tohle do nějaké knihovny opravdu nepřijde jako něco, co by vyžadovalo práci na několik let.
On ale nemluví o porozumění libcgroup, ale o tom, co dělají cgroups.Akorát, že Patrik reaguje úplně mimo, protože Lennartovo "don't even remotely understand the complexities of this" se netýká
cgroups
jako takových, ale "a single arbitrator component for cgroups" a úvahám o vytvoření odděleného démona sloužícího jako "arbitrator component".
You alter the default policy file, for picking a different naming scheme, for example for naming all interface names after their MAC address by default: cp /usr/lib/udev/rules.d/80-net-name-slot.rules /etc/udev/rules.d/80-net-name-slot.rules, then edit the file there and change the lines as necessary.Tak odstranili to s tou MAC nebo ne?
SUBSYSTEM=="net", DRIVERS=="?*", ENV{ID_NET_NAME_MAC}=="enx000296003faa", NAME="eth0"
Mno ono to vypnout ... nejde.Mno, vypnout to jde. Konkrétně se to dělá takhle:
# cp /dev/null /etc/udev/rules.d/80-net-name-slot.rules
(Viz ten dokument, co linkoval pan Stárek.)
Praktická ukázka na mém systému:
$> pacman -Q systemd
systemd 208-2
$> cat /etc/udev/rules.d/80-net-name-slot.rules
# This file masks persistent renaming rules for network devices. If you
# delete this file, /usr/lib/udev/rules.d/80-net-name-slot.rules may
# rename network devices according to ID_NET_NAME_{ONBOARD,SLOT,PATH}
# properties of your network devices, with priority in that order. See
# the output of 'udevadm test-builtin net_id /sys/class/net/$interface'
# for details on what that new name might be.
#
# http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
$> cat /etc/udev/rules.d/10-network.rules
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="--MAC adresa--", NAME="hokuspokus0"
$> ifconfig hokuspokus0
hokuspokus0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether --MAC adresa-- txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 18
$>
(Svou MAC adresu jsem vycenzuroval)
Jinak opravdu nevim, proč uživateli "j" ty kecy baštíte, evidentně není vůbec psychicky způsobilý o systemd diskutovat...
[pavel@pavel-fc19 udev]$ udevadm info /sys/class/net/eth0 P: /devices/pci0000:00/0000:00:06.0/0000:02:00.0/net/eth0 E: DEVPATH=/devices/pci0000:00/0000:00:06.0/0000:02:00.0/net/eth0 E: ID_BUS=pci E: ID_MM_CANDIDATE=1 E: ID_MODEL_FROM_DATABASE=Motherboard E: ID_MODEL_ID=0x8168 E: ID_NET_NAME_MAC=enx6cf049137c3d E: ID_NET_NAME_PATH=enp2s0 E: ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. E: ID_PCI_CLASS_FROM_DATABASE=Network controller E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller E: ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Co., Ltd. E: ID_VENDOR_ID=0x10ec E: IFINDEX=2 E: INTERFACE=eth0 E: SUBSYSTEM=net E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/eth0 E: TAGS=:systemd: E: UDEV_BIOSDEVNAME=0 E: USEC_INITIALIZED=82071 E: biosdevname=0 E: net.ifnames=0a ten atribut ADDRESS tam není. Jen ten ID_NET_NAME_MAC .
P: /devices/pci0000:00/0000:00:1c.2/0000:09:00.0/net/hokuspokus0
E: DEVPATH=/devices/pci0000:00/0000:00:1c.2/0000:09:00.0/net/hokuspokus0
E: ID_BUS=pci
E: ID_MM_CANDIDATE=1
E: ID_MODEL_FROM_DATABASE=88E8040 PCI-E Fast Ethernet Controller
E: ID_MODEL_ID=0x4354
E: ID_NET_NAME_MAC=enx--mac--
E: ID_NET_NAME_PATH=enp9s0
E: ID_OUI_FROM_DATABASE=Dell Inc.
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Marvell Technology Group Ltd.
E: ID_VENDOR_ID=0x11ab
E: IFINDEX=2
E: INTERFACE=hokuspokus0
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/hokuspokus0
E: TAGS=:systemd:
E: USEC_INITIALIZED=52530
udev_rules_apply_to_event(rules, event, sigmask); /* rename a new network interface, if needed */ if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") && event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) { char syspath[UTIL_PATH_SIZE]; char *pos; err = rename_netif(event); if (err == 0) { log_debug("renamed netif to '%s'\n", event->name); /* remember old name */ udev_device_add_property(dev, "INTERFACE_OLD", udev_device_get_sysname(dev)); /* now change the devpath, because the kernel device name has changed */ strscpy(syspath, sizeof(syspath), udev_device_get_syspath(dev)); pos = strrchr(syspath, '/'); if (pos != NULL) { pos++; strscpy(pos, sizeof(syspath) - (pos - syspath), event->name); udev_device_set_syspath(event->dev, syspath); udev_device_add_property(dev, "INTERFACE", udev_device_get_sysname(dev)); log_debug("changed devpath to '%s'\n", udev_device_get_devpath(dev)); } } }Vypada to, ze pokud defaultni jmeno je stejne jako puvodni navrzene kernelem, prejmenovani se nekona a pokud se kona je nastaven atribut INTERFACE_OLD. Funkce rename_netif() se mi zda celkem transparentni a probubla pres RTNL do zmineneho device_rename(). Atributy jako ID_NET_NAME_PATH jsou nastaveny pres nove naming schema. Blokaci pro defaultni kerneli jmena nikde nevidim, vypada to, ze jak jsou popsane rules, tak se to nastavi. Tusi nekdo jak to je a kde se zamezuje prejmenovani?
Tusi nekdo jak to je a kde se zamezuje prejmenovani?Do kódu už jsem nešel, držel jsem se jen toho, co psal Lennart jako autoritativní zdroj.
dojebali síť "zabudováním" dnsmasq do NetworkManageruV tom bugu se píše něco jiného. Podle všeho se bug netýká ani NetworkManageru, ani dnsmasq, nýbrž balíku jménem resolvconf, který nikdy nebyl moc dobrým řešením zajištění interoperability mezi různými konfiguračními nástroji.
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000 link/ether 6c:f0:49:13:7c:3d brd ff:ff:ff:ff:ff:ffA docílit toho lze velice jednoduchým způsobem. Spustit anacondu s parametry kernelu bisodevname=0 net.ifnames=0 . Nevěřím, že to samé nejde udělat třeba v Gentoo.
eth0
už podle kernelu?
Jsem. Alespoň Anaconda ho poprvé pojmenovala tím debilním způsobem enp0s1 (nebo tak nějak).A kernel ho pojmenoval prosím jak? Když jsi si jistý, že jinak než eth0, tak bys to měl vědět.
r8169 0000:02:00.0 eth0: link down
, takže eth0, ale mám tam ty parametry kernelu bisodevname=0 a net.ifnames=0. Ale zdali budeš chtít, tak extra nabootuju instalační DVD Fedory 19 a řeknu ti, jak blbě to pojmenovává normálně.
eth0
a nakonec se to podařilo přejmenovat na eth0
, tak je to bohužel chybný test přejmenování na ethx
, protože u přejmenování na původní jméno je velké riziko, že to bude speciální případ.
Je potřeba testovat například přejmenování kernelového eth0
na eth1
. Pokud to půjde s aktuální (nepatchovanou) verzí systemd, pak by to podle mě teprve vyvracelo, co píše autoritativní zdroj. Ale pro jistotu bych dal přednost plnému testu a zkusil to s alespoň dvěma rozhraními nechal bych je přejmenováním prohodit.
Někdy si to i zkusím, ale teď jsem tomu schopný dát max pár slov v diskuzi a nějaké to hledání.
ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="XX:XX:XX:XX:XX:XX", NAME="eth0" ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="XX:XX:XX:XX:XX:XX", NAME="eth1"Duvod je ten, ze: (a) Prejmenovani interfacu v kernel space neni jiz podporovano a tudiz interfacy musi mit unikatni jmeno, aby nedochazelo ke konfliktum. (b) Nepodporuje se vymena jmen, protoze to koliduje s tvorbou interfacu ve stejny cas. (c) ... /nekdo doplni/.
Nicnméně to neznamená, že po přechodu na udev nelze mít pojmenované net interfaces po staru stačí zadat parametr kernelu net.ifnames=0.To záleží, jak definuješ po staru. Posledních mnoho let jsem používal mapování
ethx
podle MAC adresy, což je právě ta funkce, která byla odstraněna. Na některých distribucích včetně myslím Debianu a Ubuntu byla takováto funkcionalita dokonce zapnuta ve výchozí konfiguraci a mapování se trvale ukládalo. Na dalších distribucích bylo mapování mezi ethx
a MAC adresou hojně využíváno na základě dokumentace.
Nemám zapotřebí se vyjadřovat k tomu, zda je to dobře nebo špatně. Ale fakta i dostupná dokumentace hovoří jasně. Funcionalita, o které se bavíme, byla odstraněna.
In the meantime, during renaming, your target name might be taken by another driver, creating conflicts. Or the old name is taken directly after you renamed it -- then you get events for the same DEVPATH, before you even see the “move” event. It's just a mess, and nothing new should ever rely on kernel device renaming. Besides that, it's not even implemented now for other things than (driver-core wise very simple) network devices.V podstate pokud mate vice NIC, mohou byt inicializovany v nahodnem poradi, i v dobe kdy uz se prejmenovava net device na jmeno ktere muze byt kernelem defaultne pridelovano (ethX) ve stejny cas, a je tu problem. Jak chapu, ze zmena chovani by vyzadovala zmeny v celem device driver modelu a hlavne v samotnych driverech, a do toho se nikomu nechce, zejmena kdyz je to problem predevsim u sitovek. No a vyvojari udev-u, protoze spravne dosli k zaveru, ze oni s tim po letech omylu a chybovych reportu nic delat nemohou, a v situaci kdy mic je na strane vyvojaru kernelu, to vyresili vyjmutim souvisejiciho kodu a implementaci unikatnich jmen na ktera je mozne bezpecne prejmenovat (zadne ethX). Vyjmuti je samozrejme sporne, mohlo by tam byt prechodne obdobi a tech placicich adminu by bylo o kapku mene.
SUBSYSTEM=="net", DRIVERS=="?*", ENV{ID_NET_NAME_MAC}=="enx000296003faa", NAME="eth0"bude fungovat, nebo nebude? Já si myslím že ano, ovšem myslet znamená houby vědět, že ano :) Nevím, kdy udev začne zpracovávat pravidla, jestli až se startem init ale kernel už si síťovky nějak pojmenoval, nebo může právě nastat situace, že kernel začne pojmenovávat a udev (systemd) taky.
osobně budu spokojený s libovolným výsledkem, který povede k adopci moderního init systémuNení jeden z nich spíše debugger, který se shodou okolností tváří jako init systém?
Já myslím, že ten blueprint docela pěkně popisuje problém i jeho řešení (cgroups), ne?To rozhodně, ale o problémech, které způsobuje používání
ptrace
se ví prakticky od počátku upstartu a za uplynulých 7 let se na to nezměnilo nic. Pochopitelně tomu moc nepomáhá, že původní autor už v Canonicallu nepracuje. No a konkurence je na onom řešení (cgroups) postavena od počátku.
Nemyslím si, že se vybírá řešení, které by bylo dokonalé, ale řešení, které je v tuto chvíli nejlepší možné (pro Debian, pro správce Debian balíčků i pro Debian uživatele).Pochopitelně a hlavně je potřeba, aby si Debian zvolil jeden init systém. Snažit se podporovat všechno možné je cesta do pekel - nikdo nemá tolik zdrojů, aby to mohl reálně dělat. Takže hodně štěstí s výběrem.
/sbin/systemd
a /sbin/init
(myšleno PID 1) se nějak fundamentálně liší a základní bloky (parsování deklarativního zápisu, řešení závislostí, nějaká kompatibilita se sysvinit, ...) tam budou imho více méně stejně. Rozdíly jsou až v navázaných službách.
Rozdíly jsou až v nevyhnutelně navázaných službách.
Pochybuji, že /sbin/systemd a /sbin/init (myšleno PID 1) se nějak fundamentálně liší a základní bloky (parsování deklarativního zápisu, řešení závislostí, nějaká kompatibilita se sysvinit, ...) tam budou imho více méně stejně.Jakože například mezi
/etc/inittab
a kompletní konfigurací služeb v systemd není žádný zásadní rozdíl? O tom bych se rád nechal poučit. Ani poskytovaná API mi nepřijdou srovnatelná co do šíře ani metody přístupu.
/sbin/init
a matou tak nebohé čtenáře, jako třeba teď tebe? Jinak se omlouvám, věta měla být "a /sbin/init z upstartu (myšleno PID 1)".To ovšem zásadně mění význam.
Steve je maintainer balíčku upstartA Colin Watson je vyvojar upstartu, navic clen Ubuntu Technical Board.
že pokud je tam konflikt zájmůPokud? Tam je konflikt zajmu podle jakekoliv definice, jakou jsem kdy videl.
Ale taky se tam mnohokráte objevilo (a nejenom ode mne), že Steve a Colin mají důvěruTam nejde jen o vyvojare, ale i o uzivatele. Pokud nepouziji systemd, uzivatele to nejspise brzo pociti, a jsem zvedav jak jim to pak obhaji, zejmena v kontextu vyse uvedeneho.
Minimálně dva její členové ale hrají významnou roli ve vývoji Ubuntu a jsou spoluzodpovědní za strategii Canonicalu. Je tedy nepravděpodobné, že by hlasovali proti Upstartu.Colin i Steve jsou členy Debianu ještě déle než nějaký Canonical vůbec vznikl, a mnoho Debian vývojářů dalo najevo, že jim důvěřuje, že budou při rozhodování v tech-ctte hlasovat dle svého nejlepšího vědomí a svědomí. Proto by nebylo od věci, kdybyste do zpráviček přestal vkládat hnus tohoto typu.
Je tedy nepravděpodobné, že by hlasovali proti Upstartu.Ne?
Je tedy nepravděpodobné, že by hlasovali proti Upstartu.Tohle ovšem není v rozporu se vzdáním se hlasování.
Jinak je mi to buřt, protože nepoužívám ani Debian, ani bubuntu.pokud nepoužíváš wokna nebo mac apod., tak by ti to buřt bejt nemělo, neboť toto rozhodnutí ovlivní i jiná distra, bohužel
A prečo nie je? Lebo systemd to tak potreboval a udev je s ním v jednom monolite, takže preto
Sám seba klamať a presviedčať sa o nepravdách je určite jednoduchšie ako si zistiť relevantné fakty. Deterministické názvy si predtým nemal ani náhodou, pokiaľ si nepoužíval nejakú vlastnú schému pre pomenovanie rozhraní (stále možné používať aj teraz)
systemd funguje rovnako aj keď "Predictable Network Interface Naming" užívateľ zakáže. Argument "systemd to tak potreboval" je ničím nepodložený blábol.
Bolo by skvelé keby niektorí diskutujúci predtým ako "prispejú" k diskusii do-neba volajúcou hlúposťou aspoň trochu pochopili problematiku, o ktorej chcú viesť flamewar.
Predikovateľné, alebo nie, mne sa to chovalo deterministicky. JNa boardu s TI DM8168 a dvema GMII ethernet porty mi to reprodukovatelne selhavalo, v podstate ze stejneho duvodu. To ze vyvojari hledali v ramci moznosti reseni, ktere nepripomina ruskou ruletu a nezavisi na race conditions, kdyz kernel vytvari nove interfacy ve stejnou dobu, je krok spravnym smerem. Udrzovat dlouhodobe vetev kodu, ktere je rozbita z pohledu designu je nesmysl.
Udrzovat dlouhodobe vetev kodu, ktere je rozbita z pohledu designu je nesmysl.No, všichni zainteresovaní už tuší, že hlavní blbost byla myslet si, že omezení daná kernelem se dají obcházet v user space.
kuprikladu fakeraid ... od jadra 2.6.18 ... v pic...Zdroj?
... a hlavne ze ze resi, jak zachovat zjevne zabugovany chovani ... v nekterych pripadech ...To můžu z oblasti sítí potvrdit.
Existuje nějaký rozumný zdroj ohledně současných jader a fakeraid ve smyslu co funguje, co nefunguje apod?Ano. Nefunguje v podstate nic. Viz Ctrl+C/P odpoved zde.
idealne tak, aby to nechodilo vubec nikomu, zeJenze ono to chodi a lepsi mit jistotu, nez hrat ruletu. To ze mate v aplikacich natvrdo zahackovane nazvy interfacu a horite na tom, ze soucasne reseni nemusi byt ve vsech pripadech zpetne kompatibilni, je jina vec. Pak pouzivejte poradne distro, kde se tohle nemeni a pri prechodu na novejsi verzi provedte portaci aplikace. To vy nedelate?
Udrzovat dlouhodobe vetev kodu, ktere je rozbita z pohledu designu je nesmysl.To by se muselo z kernelu vyházet mnoho věcí mnohem dříve. Třeba v tty subsystému je stále (tedy podle nějakých Jadernych novin před pár lety) kompatibilita se starými bugy.
alebo aby ho dokázali používať bez rozbitia systému, alebo aby vôbec o ňom mohli diskutovať.No minimálně měli nastavit výchozí chování, které nerozbije současné konfigurace (byť možná plné hacků). Pořád se vyplatí víc, když vývojář stráví 100 hodin nad implementací kompatibility, než když pak musí 100 adminů strávit 1 hodinu offline rekonfigurací výdělečného stroje. Nehledě na to, že si tím developeři škodí, protože [joke] admin, který musí pracovat na opravě konfigurace[/joke] si jejich software zrovna neoblíbí.
prosazení konkurence systemdPočítá se i používání osvědčeného původního systému? Pokud někdo udělá z mého pohledu blobovitou aplikaci a snaží se jí různě protlačovat, tak rozhodně moje sympatie negativní publicitou nezíská.
Počítá se i používání osvědčeného původního systému?Samozřejmě že ne. Počítá se údržba, vývoj a prosazování v distribucích. Pouhý uživatel se počítá tehdy, pokud si platí někoho, kdo za něj bude dělat alespoň jedno z těch tří výše.
Když bude dost naštvaných adminů a opravdu žádná použitelná jiná nebude, tak si založí vlastní distribuci.Pokud se bude jejich naštvání projevovat jen plkáním v diskuzích tak dost těžko. Distribuce nerostou na stromech.
I já bych si v nejhorším případě založil vlastní (ideálně pomocí LFS).To by byla jiná. Nicméně jestliže tě oslovuje LFS, tak se mnohem radši odpichoval od Gentoo s nějakým tím overlayem a profilem výchozích use flagů. Oproti LFS máš k dispozici spoustu základních toolů a nějaké ty lidi, se kterými se dá spolupracovat. Navíc není až takový problém, aby alternativní init zvládal i systemd service files, takže by neměl být problém utvořit nějaký kompromis mezi uživateli OpenRC, systemd a případně i jiné alternativy. Já osobně ale předpokládám, že kdokoli za svoji hlavní náplň považuje správu počítačových systémů, si na nové nástroje prostě zvykne i s jejich nedostatky.
Jo gentoo mám nainstalovaný ve virtuálu, jenom instalace ale trvala tak zhruba měsíc (pomalej ale speciální komp), takže se do kompilace čehokoliv většího (LibreOffice, Firefox, desktop, ...) moc nehrnuPoužíval jsem to dosud jen na x86, takže jsem měl vždy možnost provést kompilaci na rychlém stroji i kdyby to nebyl ten, kde to budu následně provozovat. Na speciální pomalé stroje pak spíše vycházejí lépe nástroje typu OpenEmbedded ;)..
Stejně tak mám rád věci jako KISS (proto to s tím statickým initem).Problém je v tom, že KISS dost záleží na úhlu pohledu. Někdy prostě člověk musí volit mezi jednoduchostí užití a primitivností implementace. Já jsem třeba vždy dával přednost start/stop/enable/disable před editací
/etc/rc.conf
.
Pokud jde o statické linkování základních toolů, tak to je fakt pod moji rozlišovací úroveň. Buď je systém v pořádku, pak nic neřeším, nebo je systém nějak zásadně rozbitý, pak ale musím být vždy připravený i na to, že nenabootuje. Jistě existují případy mezi tím, ale já osobně dávám přednost řešením, co pokryjí co nejširší škálu takových situací, ať už je to live systém z externího média nebo třeba rescue initramfs image.
Používal jsem to dosud jen na x86,To já v tom virtuálu taky, jen mám jenom pomalý hw (a nový požadovaných parametrů jsem nenašel).
Jistě existují případy mezi tím, ale já osobně dávám přednost řešením, co pokryjí co nejširší škálu takových situací, ať už je to live systém z externího média nebo třeba rescue initramfs image.Pokud to není třeba router.
Pokud to není třeba router.Nevidím důvod router vyčleňovat, snad jen že u něj je to ještě jednodušší, pokud mu připravíš na míru image a upgraduješ ho jako celek a nikoli po balíčcích.
To já v tom virtuálu taky, jen mám jenom pomalý hw (a nový požadovaných parametrů jsem nenašel).Co vas brzdi na novem HW?
Když bude dost naštvaných adminů a opravdu žádná použitelná jiná nebude, tak si založí vlastní distribuci.Buď, nebo se zapojí do správcování jejich oblíbené (tedy pokud to její politika umožňuje). A v té chvíli už dotyčný dělá něco z toho, co jsem jmenoval výš, a tudíž se stává relevantním v F/OSS komunitě.
SUBSYSTEM=="net", DRIVERS=="?*", ENV{ID_NET_NAME_MAC}=="enx000296003faa", NAME:="eth0"
Popřípadě to celé vypnout pomocí net.ifnames=0 a biosedvname=0 zadané jak parametr kernelu.
Jinak v té dokumentaci ( http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) se píše:
3. You alter the default policy file, for picking a different naming scheme, for example for naming all interface names after their MAC address by default: cp /usr/lib/udev/rules.d/80-net-name-slot.rules /etc/udev/rules.d/80-net-name-slot.rules, then edit the file there and change the lines as necessary.
SUBSYSTEM=="net", ACTION=="add", ENV{ID_NET_NAME_MAC}=="enxc80aa9429d76", NAME="eth0"
Kde MAC adresa je c8:0a:a9:42:9d:76.
To fix this problem multiple solutions have been proposed and implemented. For a longer time udev shipped support for assigning permanent "ethX" names to certain interfaces based on their MAC addresses. This turned out to have a multitude of problems, among them: this required a writable root directory which is generally not available; the statelessness of the system is lost as booting an OS image on a system will result in changed configuration of the image; on many systems MAC addresses are not actually fixed, such as on a lot of embedded hardware and particularly on all kinds of virtualization solutions. The biggest of all however is that the userspace components trying to assign the interface name raced against the kernel assigning new names from the same "ethX" namespace, a race condition with all kinds of weird effects, among them that assignment of names sometimes failed. As a result support for this has been removed from systemd/udev a while back. http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
The biggest of all however is that the userspace components trying to assign the interface name raced against the kernel assigning new names from the same "ethX" namespace, a race condition with all kinds of weird effects, among them that assignment of names sometimes failed.A tohle se vážně někomu stalo? (A nebo spíš - a bylo jich tolik, aby to ospravedlnilo rozbití sítě všem ostatním?)
Jestliže se distribuce s touto změnou (na úkor zachování stávající funkcionality) smířily, lze to brát jako potvrzení, že upstream jedná správně.... to spíš jako potvrzení, že jsou to pitomci.
Server si v shellu můžeš napsat triviálně a na jeho zprovoznění stačí nakonfigurovatPokud ovšem bude jedna z mých třech síťovek vůbec přístupná
Samozřejmě dneska by to byla neefektivní práce na vícNikoliv. Ten koncept, že bude aplikace používat síťové API prostřednictvím síťových rozhraní (a nikoliv síťová rozhraní prostřednictvím síťového API), je sám o sobě nesmyslný.
to bylo spíš povzdechnutí nad unixovským heslem: "všechno je soubor".Mám dojem, že Linux tento koncept ještě zdokonalil, jestliže i polling nad filedeskriptory je realizován filedeskriptorem a stejně tak lze filedeskriptorem přistupovat k signálům a timerům.
Pokud ovšem bude jedna z mých třech síťovek vůbec přístupnáPokud ne, tak nepomůže ani svěcená voda..
BTW v bashi nepotřebuju ani jedno, tam stačí ">/dev/tcp/www.google.com/80".To je to, o čem jsem psal výše. Jenže tady jsi trochu vedle, ledaže bys mi ukázal, jak na /dev/tcp postavit server.
Pokud ne, tak nepomůže ani svěcená voda.Proč? Vždycky můžu přece zapojit jeden ve čtyř sériáků a ovládat z terminálu
ledaže bys mi ukázal, jak na /dev/tcp postavit server.Jo bash umí jen klient socket. Ale je to příklad použití "souboru" (IMHO dost hack) pro komunikaci po síti (konkrétně na TCP/IP úrovni).
ad všechno je soubor: On Linux kdysi /dev/eth0 málem podporoval, ale umřelo to na nezájem.To se nedivím. Přímá práce se síťovým rozhraním je pro aplikace jednak neužitečná a jednak nebezpečná, tudíž přístupná jen dostatečně privilegovaným aplikacím.
Koneckonců ethernet je taky jen stream dat.Není. A i kdybys ho prezentoval jako stream dat (stream ethernetových rámců), platí, co jsem psal výše o neužitečnosti a nebezpečnosti.
Jo bash umí jen klient socket.Ale to vůbec není vlastnost bashe.
Ale je to příklad použití "souboru" (IMHO dost hack) pro komunikaci po síti (konkrétně na TCP/IP úrovni).Mimochodem volání `socket()` taky vrací file deskriptor, tedy starý dobrý unixovský soubor, jen bez cesty.
Přímá práce se síťovým rozhraním je pro aplikace jednak neužitečná a jednak nebezpečná, tudíž přístupná jen dostatečně privilegovaným aplikacím.A /dev/mem ti nevadí?
Ale to vůbec není vlastnost bashe.Přiznám se, že jsem na servery používal vždycky netcat, takže jak je přesně /dev/tcp implementovaný nevím, ale vím, že existuje. Ale to už se bavíme hodně mimo téma. Mě šlo o velmi triviální mechanismus definice jmen rozhranní, kde by jednak aplikace byla nucena implementovat libovolné jméno (a ne natvrdo ethX) a konfigurace by byla triviální. Prostě něco jako by-id/by-path/by-uuid v /dev/ (konfigurace přejmenování v udevu se sice taky zdá triviální, ale očividně to má své mouchy).
A /dev/mem ti nevadí?
$ cat /dev/mem cat: /dev/mem: Permission deniedNevadí. A nejsem si vědom toho, že by bylo určeno pro aplikační software.
Přiznám se, že jsem na servery používal vždycky netcat, takže jak je přesně /dev/tcp implementovaný nevím, ale vím, že existuje.Jak můžeš obdivovat, že je na unixech všechno soubor a přitom si myslet, že ten soubor poskytuje bash? Vždyť by to byl úplně pitomý návrh. Filesystémy poskytuje jádro.
Mě šlo o velmi triviální mechanismus definice jmen rozhranní, kde by jednak aplikace byla nucena implementovat libovolné jméno (a ne natvrdo ethX)Aplikace se jména síťových rozhraní netýkají, pokud se nejedná speciálně o nějaký konfigurační software nebo něco hodně spraseného, co se snaží obejít kernelové síťové prostředky.
a konfigurace by byla triviální. Prostě něco jako by-id/by-path/by-uuid v /dev/Takhle to řeší třeba NetworkManager, kde máš možnost vázat konfiguraci na MAC adresu nebo na jméno rozhraní. Symlinkový přístup by v tomto případě mohl dávat smysl, síťová rozhraní ve filesystému už jsou, zkus:
$ ls /sys/class/netJen je podle mě blbost si myslet, že nejlepší síťové API udělám tak, že budou běžné aplikace psát přímo do Ethernetu.
(konfigurace přejmenování v udevu se sice taky zdá triviální, ale očividně to má své mouchy).Hlavní moucha je to, že se udev a kernel přetahují místo aby spolupracovaly. Pak by totiž žádné kernelové pojmenování nemuselo v případě spuštěného udevu existovat a nedocházelo by k žádné kolizi. Ale to už si myslím půjčuju slova dejva.
Takhle to řeší třeba NetworkManagerPomoooooooooc!!! Už nééééééééé!
nebo něco hodně spraseného, co se snaží obejít kernelové síťové prostředky.A nebo neco, co se snazi obejit 'spraseny' network stack.
Nevadí. A nejsem si vědom toho, že by bylo určeno pro aplikační software./dev/ethX by nemuselo být taky. Klidně by mohl být /dev soubor pro každou vrstvu ethernetu. Jinak já si přes /dev/mem napsal pseudo driver v bashi
že ten soubor poskytuje bashJá si ale nemyslím, že ten soubor poskytuje bash. Hlavně protože ls /dev/tcp/ neexistuje. Protože se mě nechce zbytečně zkoumat dokumentaci/zdrojáky bashe, tak usuzuju, že bash má ty syntaxi přesměrování výstupu nahackovanou (takže se dá říct, že to připojení zápisem do "souboru" poskytuje bash - samozřejmě jen v bashovským skriptu).
ls /sys/class/netVím, ale do tuny konfigurací stejně musím psát ethX (nebo to iptables - i třeba v busyboxu - umi?).
Jen je podle mě blbost si myslet, že nejlepší síťové API udělám tak, že budou běžné aplikace psát přímo do Ethernetu.To jsem nikde nepsal. Nehledě na to, že původní moje reakce byla hlavně povzdech nad tím, že nejde napsat server přímo v čistém bashi. Zhruba stejně jako lze používat v bashi i pojmenovanou rouru.
Hlavní moucha je to, že se udev a kernel přetahují místo aby spolupracovaly.Souhlas, pokud by šlo nějak zajistit, aby se síťové rozhraní pojmenovalo nějak inteligentně a deterministicky, tak by mě bylo naprosto jedno zda to dělá kernel nebo udev.
/dev/ethX by nemuselo být taky. Klidně by mohl být /dev soubor pro každou vrstvu ethernetu. Jinak já si přes /dev/mem napsal pseudo driver v bashiNápadů je spousta. Otázka je zda by to bylo vůbec užitečné..
Protože se mě nechce zbytečně zkoumat dokumentaci/zdrojáky bashe, tak usuzuju, že bash má ty syntaxi přesměrování výstupu nahackovanou (takže se dá říct, že to připojení zápisem do "souboru" poskytuje bash - samozřejmě jen v bashovským skriptu).Ano, bash nabízí prostředky pro přístup k souborům. Jak překvapivé.
Vím, ale do tuny konfigurací stejně musím psát ethX (nebo to iptables - i třeba v busyboxu - umi?).Nemám tušení, na co se ptáš. A busybox bych do toho vůbec netahal.
Souhlas, pokud by šlo nějak zajistit, aby se síťové rozhraní pojmenovalo nějak inteligentně a deterministicky, tak by mě bylo naprosto jedno zda to dělá kernel nebo udev.Nebo ve spolupráci. Udev by mohl dostat šanci rozhraní pojmenovat namísto kernelu.
Jak můžeš obdivovat, že je na unixech všechno soubor a přitom si myslet, že ten soubor poskytuje bash?Ale ono ten
/dev/tcp
vážně řeší přmo bash. Viz man bash:
Bash handles several filenames specially when they are used in redi- rections, as described in the following table: /dev/fd/fd If fd is a valid integer, file descriptor fd is dupli- cated. /dev/stdin File descriptor 0 is duplicated. /dev/stdout File descriptor 1 is duplicated. /dev/stderr File descriptor 2 is duplicated. /dev/tcp/host/port If host is a valid hostname or Internet address, and port is an integer port number or service name, bash attempts to open a TCP connection to the corresponding socket. /dev/udp/host/port If host is a valid hostname or Internet address, and port is an integer port number or service name, bash attempts to open a UDP connection to the corresponding socket. A failure to open or create a file causes the redirection to fail.
ls -a /dev
žádné /dev/tcp
neviděl.
systemd-udevd
(viz výše).
# # DO NOT EDIT THIS FILE # # It is automatically generated by /usr/sbin/grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grubAle jiste, muzu si prepsat pulku distribuce a editovat si to rucne ... a modlit se, ze pri nejaky aktualizaci se to nerozjebne ...
You can choose to automatically generate or manually edit grub.cfg. [odtud]Jestli máš nějaký distro, kde není možné automatické generování grub.cfg zakázat, tak je to chyba toho distra, ne GRUBu. Přijde mi, že se tady v diskusi akorát snažíš aktivně najít problémy tam, kde nejsou. (PS. osobně taky používám grub legacy, ale jen proto, že jsem línej přejít na syslinux...)
Zeby v tom, ze ty scripty ho obratem prepisou?Jaké skripty?
Zeby v tom, ze syntax je desna?
menuentry 'Debian' { insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos1' linux /vmlinuz initrd /initrd }Co je na tom děsného?
Mel bys asi navstivit ustav ve svym bydlisti.S tímto ústavem spolupracuji (HW prototyping a taky jsem byl v kontrolní zdravé skupině na pokusy), nicméně o GRUBu jsme se ještě nikdy nebavili.
S tímto ústavem spolupracuji (HW prototyping a taky jsem byl v kontrolní zdravé skupině na pokusy), nicméně o GRUBu jsme se ještě nikdy nebavili.Teď nevím, jestli jsem to vlákno pochopil, ale brmlab (?) už dělá pokusy na nemocných skupinách? :-O
btw. budou tam mít MEG!!!WOW
Cílem bylo hrát multiplayer Pong ve fMRI skeneru.To by mě zajímalo jak se schizofrenie projeví na hraní pongu :-O (no možná radši ani ne
NUDZVtipně zvolené jméno
To by mě zajímalo jak se schizofrenie projeví na hraní pongu :-O (no možná radši ani neJde o to, že chvíli ovládáš hru ty a chvíli někdo jiný (a náhodně se přepíná řízení). Schizofrenici mají problém odlišit, kdy je něco z jejich vůle a kdy z vůle někoho jiného (proto slyší hlasy, ovládají je ufoni a tak…).)
Zeby v tom, ze ty scripty ho obratem prepisou?To ovšem není problém Grubu, nýbrž vámi používané distribuce. Takže si to vyřiďte s jejími správci. Moje distribuce, ze které teď píšu, to například nedělá.
Zeby v tom, ze syntax je desna?Už jsem sem ten odkaz dával, přímé srovnání máte na konci stránky zde. Samozřejmě, pokud chcete používat pokročilejší vlastnosti, které původní Grub neměl, je zápis složitější.
Mel bys asi navstivit ustav ve svym bydlisti.A vy byste měl trošku ubrat, chováte se jako hulvát.
Mohl bys mi prosím vysvětlit, jak datum narození souvisí s platností podložených argumentů a formální správností vyvozených závěrů?Nijak. Jen to je hůl, která se hodí když dojdou argumenty.
V tomto případě bych řekl, že pavlix i Jenda mají zkušeností víc...To je na těchhle argumentech to nejsmutnější.
If you configured /boot/grub/custom.cfg, there is no need to run update-grub; the file will be automatically loaded by /boot/grub/grub.conf at boot.
/etc/systemd/system/služba.service.d/vlastní.conf
Asi ten idiot počítal s tím, že kdo chce měnit konfiguraci, jednoduše to udělá v /etc/systemd/system/služba.service.d/vlastní.confTo byl sarkasmus ? Pokud ne, tak si radsi si bez dat sprchu.
Zatim vetsina problemu, na ktere jsem narazil, odhlednuli od obcasnych bugu, pramenila z neznalosti systemd - dokumentace je najednou trochu moc, tech novych veci take a chova se to jinak..Dokumentace je co do množství hodně, ale nepokrývá mnohé velmi důležité věci.
Dokumentace je co do množství hodně, ale nepokrývá mnohé velmi důležité věci.Tak na nektere veci jsem koukal do kodu, ale neslo o nic, co by trapilo bezneho uzivatele. S ohledem na stav cele rady projektu, je dokumentace systemd velmi dobra, jen bych to vyhodil z blogu. Nepise se uz dokumentace k RHEL7?
Tak na nektere veci jsem koukal do kodu, ale neslo o nic, co by trapilo bezneho uzivatele.Běžný uživatel nepotřebuje dokumentaci k systemd.
Ja treba pouzival archlinux i kvuli jednoduchemu init systemu nastavitelnemu v /etc/rc.conf.+1 Arch bol v tomto jedinečný a preto bol tak obľúbený. Obávam sa, že zlaté časy Linuxu už navždy skončili.
Obávam sa, že zlaté časy Linuxu už navždy skončili.Oh, yes, the days of wooden ships and iron men.
vidíte to proste inak, ja vám to neberiem,To by byla nuda, pokud bychom si tu jen notovali.
ale hodne mi pripomínate 'vynálezcu systemd' v šírení vašej pravdy.No fuj.
Možno to nieje s tebou až tak zlé ako som si myslel :)ale hodne mi pripomínate 'vynálezcu systemd' v šírení vašej pravdy.No fuj.
facka promyslenym systemovym resenim :-/Kterým?
ona asi přijde doba, kdy se systemd bude modularizovat do té míry, že jednotlivé části onoho funkčního monolitu budou použitelné samostatně, nahraditelné a reimplementovatelné,Jiste, ale to bude v dobe az nebudeme resit, zdali systemd, sysv, openrc nebo upstart, nybrz jak vylepsit systemd, ktery uz beha vsude. Do te doby budou nejspise veci psane tak, aby nesly vykuchat, s nestabilnimi vnitrnimi interfacy, protoze proste neni zajem to ostatnim ulehcit, ostatne Lennartuv prispevek to rika. To neni nic noveho, meli jsme tu Unix war a potom valku free OS v devadesatych letech, kde ucelove treba zametly pod podlahu jakekoliv snahu unifikovat driver model, s pristupem Linuse, ze vyvojari *BSD jsou vetsinou idioti, kterymi se nenecha omezovat, ale nakonec jsme vsichni tezili z vitezneho Linuxu do ktereho se vyplatilo firmam investovat. Unifikovany init system je dalsi krok a take se casem vyplati.
Přijde mi, že Lennart & spol si tak zajišťují práci na desetiletí dopředu, zneužívaje při tom toleranci zaměstnavatele k popírání toho, na čem vyrostl.S tim bych souhlasil. Nicmene pochybuji, ze Red Hat ma zajem podporovat Canonical.
A debianni statistika uzivani portu a architektur (hurd, freebsd), mimochodem uvedena nahore, zas nesmyslnost tve odpovedi.Podle mě statistiky ukazují, že lze vyměnit jádro za jiné a co víc, dokonce to i někdo dělá a není k tomu potřeba vyměnit hromadu dalších klíčových komponent. O nějakém bránění v možnosti volby tudíž nemůže být řeč.
Vyvoj probiha evolucne a ne revolucneTo u systemd ted jiz take, revoluce byla kdyz prisel.
A rozhodovani se nedelaji za zavrenymi dvermi.To si nemyslim. Velky vliv ma ten, kdo plati vyvojare, ostatne jako i u systemd (i kdyz tady ...).
Kernel se snazi byt zpetne kompatibilni.Systemd take. S predchozimi verzemi systemd.
Linus ma preci jenom lepsi komunikacni schopnosti.Ano. Nicmene to vse nemeni nic na faktu, ze v praxi mate Linux a pak dlouho nic, takze s tim svobodnym vyberem to take neni slavne.
ale poslední slovo musí mít stejně ti, kteří se s tím dnes a denně perou a to jsou správci balíčků.Uživatele ignorovat?
správci balíčkůPočítají se do toho i autoři ebuild (a podobných) skriptů?