Google zpřístupnil Gemini Live, svůj nástroj pro hlasovou komunikaci s umělou inteligencí, v českém a slovenském jazyce pro Android a brzy i iOS. Gemini Live umožňuje vést s AI přirozené rozhovory.
Port počítačové hry Pitfall! z roku 1982 napsané pro Atari 2600 si lze zahrát ve webovém prohlížeči. Zdrojové kódy jsou k dispozici na GitHubu.
Multiplatformní multimediální knihovna SDL (Simple DirectMedia Layer) byla oficiálně vydána v nové major verzi 3 (3.2.0). Změny jsou popsány v README pro migraci aplikací z SDL 2 na SDL 3.
Wine bylo po roce vývoje od vydání verze 9.0 vydáno v nové stabilní verzi 10.0. Přehled novinek na GitLabu. Vypíchnuta je nová architektura ARM64EC a podpora High DPI škálování.
Edvard Rejthar na blogu zaměstnanců CZ.NIC představil nástroj deduplidog pro odstranění duplicitních souborů.
Společnost DeepSeek představila (𝕏) AI model DeepSeek-R1 (Hugging Face) srovnatelný s OpenAI o1 a uvolnila jej pod open source licencí MIT, tj. zdarma i pro komerční použití.
GKrellM (GNU Krell Monitors, Wikipedie), tj. grafická aplikace pro sledování systémů a různých událostí, byla po pěti a půl letech vydána v nové verzi 2.4.0. Přehled novinek na Gitea.
Americká první dáma Melania Trumpová vydala v předvečer manželovy inaugurace vlastní kryptoměnu. Jmenuje se $Melania. Donald Trump vydal vlastní kryptoměnu $Trump den před manželkou.
GNU Project Debugger aneb GDB byl vydán ve verzi 16.1. Podrobný přehled novinek v souboru NEWS.
Po 9 týdnech vývoje od vydání Linuxu 6.12 oznámil Linus Torvalds vydání Linuxu 6.13. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Odstraněn byl souborový systém ReiserFS.
Dobrý den,
před nějakou dobou jsem si řekl, že zkusím proniknout trochu hlouběji do Linuxu. Začal testovat Ubuntu, učit se s příkazovou řádkou a s konzolovými nástroji, číst si články na internetu. Ale pořád je pro mě Linux tak trochu chaos. Už jen proto, že každá linuxová distribuce mi přijde uplně jiná a s každou, aby se tak člověk učil totálně odznova.
Co by mě v tuto chvíli nejvíc zajímalo (snad mi to pomůže pochopit další věci) je, co vlastně umí ono jádro Linuxu samo o sobě? A co už je jen nádstavba, kterou nad jádrem postavili tvůrci distribucí?
Děkuji moc za odpovědi.
Už jen proto, že každá linuxová distribuce mi přijde uplně jiná a s každou, aby se tak člověk učil totálně odznova.Tak to děláš něco špatně… většinou by mělo stačit chvíli nadávat nad jiným balíčkovacím systémem a pak by to mělo být v pohodě.
Co by mě v tuto chvíli nejvíc zajímalo (snad mi to pomůže pochopit další věci) je, co vlastně umí ono jádro Linuxu samo o sobě? A co už je jen nádstavba, kterou nad jádrem postavili tvůrci distribucí?Jádro neumí celkem nic pro uživatele zajímavého. Můžeš mu pomocí nějakého binárního rozhraní dávat příkazy jako „otevři soubor“ (vrátí ti nějaký deskriptor) a „alokuj mi paměť“, ale nic moc dalšího s ním neuděláš .
většinou by mělo stačit chvíli nadávat nad jiným balíčkovacím systémem a pak by to mělo být v pohodě.
Jo, kéž by...
Původní pisatel není zas tak daleko od pravdy...
příkaz install foo příkaz remove foos drobnými syntaktickými (a sémantickými ;) nuancemi. SysV unit je unixová klasika, které se asi nevyhneš, i kdyby všechny linuxová distra používala systemd (což naneštěstí v dohledné době asi nenastane) -- no a upstart je nečekaně zase ubunťácká exotika. Celkově myslím, že seznam variant se dost zjednoduší, když vyřadíš Ubuntu...
Tak jsem nad tím přemýšlel, hledal na netu atd. Zatím mám o tom představu takovouto... chápu to správně?
Díky za zodpovězení kterékoli z těchto otázek, případně opravení toho, co chápu špatně
3.1 je to tak, může se stát, že budou podporovat hw který ještě nebyl vyroben..
A jak to pak funguje, když si doinstalovávám nesvobodné ovladače na grafickou kartu (např. protože mi nefunguje 3D akcelerace) - to se pak nějak "vsunou" přímo do jádra? Nebylo by v takovém případě nutné celé jádro (i s novým ovladačem) znovu zkompilovat?
U modulů které jsou součástí zdrojů jádra, se musí překompilovat znova celé (nastavuje se jen rozdíl)
Jádro se kompilovat nemusí kvůli ext. modulům, které nejsou součástí zdrojů jádra. Jen moduly proti jádru.
Jádro o nich nemusí vědět, ale modul o jádru ano.
Obvykle sou moduly už přeložené proti konkrétním verzím jádra, a proto můžou být dodány v uzavřené formě.
Proto taky musíš jednou za čas (cca další vydání distribuce) aktualizovat celý modul.
Nebo u příkladu AVermedia, sou dodány jak hotové moduly proti konkrétním verzím jádra, tak je napůl otevřený zdroj. kód, Můžeš si sestavit svůj modul, pro verzi jádra, které nebylo v té době k dispozici. S tím, že ale není s otevřenou licencí, a jsou neměně nastaveny optimalizace.
/usr/libexec/coreutils/libstdbuf.so /usr/share/info/coreutils.info.bz2 /usr/share/man/man1/base64.1.bz2 /usr/share/man/man1/echo.1.bz2 /usr/share/man/man1/uname.1.bz2 /usr/share/man/man1/chown.1.bz2 /usr/share/man/man1/ls.1.bz2 /usr/share/man/man1/printenv.1.bz2 /usr/share/man/man1/tac.1.bz2 /usr/share/man/man1/link.1.bz2 /usr/share/man/man1/split.1.bz2 /usr/share/man/man1/nproc.1.bz2 /usr/share/man/man1/mkdir.1.bz2 /usr/share/man/man1/cat.1.bz2 /usr/share/man/man1/runcon.1.bz2 /usr/share/man/man1/rm.1.bz2 /usr/share/man/man1/uniq.1.bz2 /usr/share/man/man1/unlink.1.bz2 /usr/share/man/man1/factor.1.bz2 /usr/share/man/man1/users.1.bz2 /usr/share/man/man1/comm.1.bz2 /usr/share/man/man1/env.1.bz2 /usr/share/man/man1/csplit.1.bz2 /usr/share/man/man1/cut.1.bz2 /usr/share/man/man1/mv.1.bz2 /usr/share/man/man1/touch.1.bz2 /usr/share/man/man1/sum.1.bz2 /usr/share/man/man1/who.1.bz2 /usr/share/man/man1/nl.1.bz2 /usr/share/man/man1/nice.1.bz2 /usr/share/man/man1/join.1.bz2 /usr/share/man/man1/dd.1.bz2 /usr/share/man/man1/chmod.1.bz2 /usr/share/man/man1/cp.1.bz2 /usr/share/man/man1/sha256sum.1.bz2 /usr/share/man/man1/df.1.bz2 /usr/share/man/man1/vdir.1.bz2 /usr/share/man/man1/ptx.1.bz2 /usr/share/man/man1/pwd.1.bz2 /usr/share/man/man1/fold.1.bz2 /usr/share/man/man1/tsort.1.bz2 /usr/share/man/man1/paste.1.bz2 /usr/share/man/man1/logname.1.bz2 /usr/share/man/man1/dircolors.1.bz2 /usr/share/man/man1/chcon.1.bz2 /usr/share/man/man1/shred.1.bz2 /usr/share/man/man1/readlink.1.bz2 /usr/share/man/man1/stat.1.bz2 /usr/share/man/man1/expand.1.bz2 /usr/share/man/man1/false.1.bz2 /usr/share/man/man1/tty.1.bz2 /usr/share/man/man1/cksum.1.bz2 /usr/share/man/man1/expr.1.bz2 /usr/share/man/man1/pinky.1.bz2 /usr/share/man/man1/mktemp.1.bz2 /usr/share/man/man1/truncate.1.bz2 /usr/share/man/man1/mkfifo.1.bz2 /usr/share/man/man1/true.1.bz2 /usr/share/man/man1/arch.1.bz2 /usr/share/man/man1/tee.1.bz2 /usr/share/man/man1/stdbuf.1.bz2 /usr/share/man/man1/sort.1.bz2 /usr/share/man/man1/md5sum.1.bz2 /usr/share/man/man1/fmt.1.bz2 /usr/share/man/man1/timeout.1.bz2 /usr/share/man/man1/test.1.bz2 /usr/share/man/man1/nohup.1.bz2 /usr/share/man/man1/date.1.bz2 /usr/share/man/man1/id.1.bz2 /usr/share/man/man1/unexpand.1.bz2 /usr/share/man/man1/tr.1.bz2 /usr/share/man/man1/whoami.1.bz2 /usr/share/man/man1/sha384sum.1.bz2 /usr/share/man/man1/basename.1.bz2 /usr/share/man/man1/seq.1.bz2 /usr/share/man/man1/wc.1.bz2 /usr/share/man/man1/sha224sum.1.bz2 /usr/share/man/man1/mknod.1.bz2 /usr/share/man/man1/hostid.1.bz2 /usr/share/man/man1/pr.1.bz2 /usr/share/man/man1/dir.1.bz2 /usr/share/man/man1/dirname.1.bz2 /usr/share/man/man1/sync.1.bz2 /usr/share/man/man1/yes.1.bz2 /usr/share/man/man1/tail.1.bz2 /usr/share/man/man1/ln.1.bz2 /usr/share/man/man1/shuf.1.bz2 /usr/share/man/man1/pathchk.1.bz2 /usr/share/man/man1/rmdir.1.bz2 /usr/share/man/man1/sha1sum.1.bz2 /usr/share/man/man1/head.1.bz2 /usr/share/man/man1/stty.1.bz2 /usr/share/man/man1/printf.1.bz2 /usr/share/man/man1/install.1.bz2 /usr/share/man/man1/chroot.1.bz2 /usr/share/man/man1/od.1.bz2 /usr/share/man/man1/sha512sum.1.bz2 /usr/share/man/man1/du.1.bz2 /usr/share/man/man1/chgrp.1.bz2 /usr/share/man/man1/sleep.1.bz2 /usr/share/doc/coreutils-8.14/ChangeLog-2006.bz2 /usr/share/doc/coreutils-8.14/ChangeLog.bz2 /usr/share/doc/coreutils-8.14/ChangeLog-2007.bz2 /usr/share/doc/coreutils-8.14/README.bz2 /usr/share/doc/coreutils-8.14/AUTHORS.bz2 /usr/share/doc/coreutils-8.14/THANKS.bz2 /usr/share/doc/coreutils-8.14/TODO.bz2 /usr/share/doc/coreutils-8.14/NEWS.bz2 /usr/share/doc/coreutils-8.14/ChangeLog-2008.bz2 /usr/share/doc/coreutils-8.14/ChangeLog-2005.bz2 /usr/share/locale/cs/LC_TIME/coreutils.mo /usr/share/locale/cs/LC_MESSAGES/coreutils.mo /usr/bin/yes /usr/bin/dir /usr/bin/printenv /usr/bin/ptx /usr/bin/tail /usr/bin/fmt /usr/bin/mktemp /usr/bin/fold /usr/bin/comm /usr/bin/tr /usr/bin/hostid /usr/bin/tsort /usr/bin/id /usr/bin/md5sum /usr/bin/shuf /usr/bin/dircolors /usr/bin/expr /usr/bin/sha256sum /usr/bin/unexpand /usr/bin/arch /usr/bin/dirname /usr/bin/du /usr/bin/stdbuf /usr/bin/truncate /usr/bin/tty /usr/bin/sha384sum /usr/bin/od /usr/bin/join /usr/bin/link /usr/bin/touch /usr/bin/nl /usr/bin/uniq /usr/bin/timeout /usr/bin/expand /usr/bin/mkfifo /usr/bin/basename /usr/bin/split /usr/bin/readlink /usr/bin/runcon /usr/bin/env /usr/bin/seq /usr/bin/sleep /usr/bin/nice /usr/bin/uname /usr/bin/sha512sum /usr/bin/tee /usr/bin/vdir /usr/bin/[ /usr/bin/logname /usr/bin/cut /usr/bin/test /usr/bin/chcon /usr/bin/unlink /usr/bin/install /usr/bin/who /usr/bin/shred /usr/bin/sort /usr/bin/wc /usr/bin/chroot /usr/bin/paste /usr/bin/pinky /usr/bin/pathchk /usr/bin/printf /usr/bin/nohup /usr/bin/sum /usr/bin/cksum /usr/bin/sha1sum /usr/bin/whoami /usr/bin/stat /usr/bin/head /usr/bin/tac /usr/bin/nproc /usr/bin/base64 /usr/bin/pr /usr/bin/factor /usr/bin/users /usr/bin/sha224sum /usr/bin/csplit /etc/DIR_COLORS /bin/chmod /bin/yes /bin/dir /bin/mknod /bin/tail /bin/mktemp /bin/cp /bin/true /bin/pwd /bin/date /bin/tr /bin/echo /bin/expr /bin/dirname /bin/du /bin/tty /bin/df /bin/cat /bin/chown /bin/touch /bin/chgrp /bin/mkfifo /bin/basename /bin/readlink /bin/dd /bin/env /bin/seq /bin/sleep /bin/uname /bin/rmdir /bin/vdir /bin/cut /bin/rm /bin/mv /bin/sort /bin/wc /bin/chroot /bin/stty /bin/false /bin/ln /bin/ls /bin/head /bin/sync /bin/mkdirdalší popis je na FHS Ještě k 1.1 už jsem si vyzkoušel jádro bez VT. Při zavádění jádra nejsou vidět výpisy, ani se nelze přepínat pomocí ^ALT+Fnum. Pokud sou ale X dobře nastavená tak normálně fungují. Jinak, programy lze používat, ale ne přes konzoli (či jak tomu rozhranní kdo říká). Znamená to že nový obraz jádra s VT jsem musel sestavit, v GUI, ne s menuconfig, z běžícího obrazu jádra.
Znamená to že nový obraz jádra s VT jsem musel sestavit, v GUI, ne s menuconfig, z běžícího obrazu jádra.Dívím se, že se nad tím nikdo nepozastavil, protože by to nebylo možné. Musel jsem určitě najet z výměnného disku.
Ad 1)
- Konzole (shell) součástí jádra není. Ta je spuštěna zvlášť jako uživatelský proces, dokonce jich existuje více (bash, dash, zsh, ...). Pravda je, že jádro může obsahovat tzv. recovery console, která se ale spouští jen v single-user režimu. Používá se v případě, že se v systému něco rozsype tak, že není možno nabootovat (např. pokud se nezdaří připojit disk s /bin či /usr/bin)
- Jak moc jsou hardcodované cesty k /etc/passwd a podobně si nejsem jistý, /home existovat nemusí, není-li vytvořen kromě roota žádný jiný účet. V principu by asi nemusel existovat ani /root, ale spousta programů včetně bashe si do domovského adresáře ukládá svoje nastavení. su a sudo jsou jen programy, teoreticky opět být přítomny nemusí.
Řečeno jednoduše, jádro je to, co stojí mezi hardwarem počítače a aplikacemi, aplikace je to, co stojí mezi jádrem a uživatelem.
Ad 2)
cp, ls a rm součástí jádra nejsou, pouze cd je tzv. "shell builtin" a ne samostatný program, opět ale není součástí jádra.
Ad 3)
Tohle je skutečně pravda, velká většina ovladačů je přímo součástí jádra. Je ale samozřejmě možné další ovladače doinstalovat; typicky např. proprietální ovladače ke grafickým kartám nVidia či AMD.
Já bych to pro tazele upřesnil: Ovladače mohou být (a taky že většinou jsou) ve formě tzv. modulů. To je kus kódu, který lze za běhu vložit/odstranit. Výhoda je jasná: stačí mít přímo v jádře jenom nezbytné ovladače a všechny ostatní budou jako moduly. Stačí tedy nahrát jenom potřebné moduly. Kdyby byly všechny ovladače přímo v jádru, tak by jádro zabíralo hodně z paměti RAM.
vmlinuz
v adresáři /boot
. Ten vytvoří přistup na základní HW. rozpozná disky a souborové systémy a má řízení procesoru, paměti azákladní funkce. Další moduly do jádra vytvoří přístup na další specializovaný HW typicky v /lib/modules/verze_jádra
driver na grafiku a wifi je obvykle zde.
Vše ostatní jsou programy. Na příkazové řádce jsou distribuce velmi podobné, ale podobně jako v jiných případech jsou i na přikazové nebo serverové rovině více programů se stejným cílem. (např. ziskání své internetové identity - dhcp klient - bývá jednak dhcpcd
a jednak dhclient
některá distribuce preferuje jeden, jiná druhý přístup. Větší rozdíly jsou v umístění některých konfigurací, ale všichni dodržují, že konfigurace jsou v /etc
. v grafice je vetší rozdíl, ale díky tomu, že KDE, Gnome a další jsou nadstavby X windows systém, je možné použít v podstatě jakýkoliv program z jednoho prostředí v prostředí druhém.
Konzole.Respektive driver pro konzoli.
Uživatelské účty, jejich oprávnění, data a přihlašování uživatelů (tzn. v systému musí existovat adresář /home a soubor /etc/passwd ?).Podpora pro oprávnění jo, ale účty, přihlašování a další věci se řeší v userspace (třeba pomocí getty nebo grafických správců obrazovky).
ale příkazy jako cd, ls, cp, rm apod jsou součástí jádra?Ne. To jsou normální programy sídlící většinou v /bin.
Někde jsem četl, že ovladače hardwaru se neinstalují jako ve Windows zvlášť, ale že se instalují aktualizací jádra. To znamená, že v jádru Linuxu jsou obsaženy ovladače na veškerý možný HW, se kterým se lze setkat?Ano, téměř všechny ovladače HW jsou v jádře. Výjimkou jsou user-space ovladače například tiskáren nebo některých USB zařízení.
Příkazy ls, cd, cp, rm nejsou součástí jádra (ale jsou součastí shellu).a to právě, tak není. Všimni si toho coreutils. Shelly s těmi programi jen počítají, jinak sou nezávislé jak ty programy, tak shelly (bash,zsh atd.). Je to jen v tom, že se to instaluje vždy společně, takže se nestane, že by shell nemohl ty programy používat, co by také moc jiného dělal. Shelly se liší hlavně předáváním proměných prostředí.
cd
, záleží od shellu.
make menuconfig
. Tím se spustí rozhraní, ve kterém si můžeš procházet a volit jednotlivé součásti kernelu (který by sis poté mohl zkompilovat, nijak se tím samozřejmě nemění ten aktuální). Vše je rozděleno do kategorií a k většině položek je k dispozici nápověda.
No, to aby si na to vzal dovolenou, protože tam jsou stovky (tisíce?) voleb.
Tiskni Sdílej: