Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Keď sedíte za počítačom a čítate tento článok, robíte tak pomocou prehliadača a možno vám do toho počítač hrá nejakú muziku a tlačí na tlačiarni dokument. Za tým všetkým je ale schované niečo iné. Nenápadné. Jadro.
Jadro (angl. kernel) má tieto hlavné úlohy:
Pri štarte počítača sa používa dohoda o tom, akým spôsobom BIOS odovzdá
riadenie operačnému systému. Táto dohoda prakticky znamená, že po vykonaní
štartovacích testov pamate a niektorých periférií sa riadenie odovzdá tzv.
boot manageru. V Linuxe sa najčastejšie používa lilo
,
grub
alebo loadlin
, či boot manažér iného
operačného systému - napr. Windows. Úlohou boot manažéra je nájsť na disku
súbor jadra, nahrať ho do pamäti a odovzdať mu riadenie.
V podstate každý kus hardwaru v počítači potrebuje svoj ovládač. Klávesnica, video-karta, sieťová karta, sériové, paralelné či USB porty, disk, disketová mechanika a tak ďalej. Okrem toho existujú aj ovládače pre algoritmické záležitosti ako sú súborové systémy, sieťové protokoly či rôzne systémy ako napr. APM (advanced power managerment). Jadro poskytuje množinu funkcií, ktoré umožňujú programom robiť rôzne operácie ako napríklad otvorenie súboru.
Moderné operačné systémy sú mnohoúlohové (umožňujú beh viacerých programov
naraz) a mnohoužívateľské (umožňujú prácu viacerých užívateľov naraz). Jadro
sa stará o to, aby rozdelenie výkonu, pamati a sieťovej priepustnosti bolo
spravodlivo
rozdelené medzi bežiace programy (potenciálne rôznych
užívateľov).
Najčastejšie dôvody pre kompilovanie jadra:
Keď dostanete do ruky inštaláciu linuxového systému, tak spravidla vlastne máte nejakú distribúciu. Niekto zobral jadro a množinu programov a dal ich dohromady tak, aby spolu fungovali. Medzi známe distribúcie patrí Red Hat, Debian, Mandrake či Slackware alebo Gentoo. Ten, kto distribúciu zostavuje, sa spravidla postará o to, abyste dostali aj jadro (niekedy máte na výber z viacerých). Toto jadro bolo tvorcom distribúcie nejako nakonfigurované. Spravidla tak, aby podporovalo čo najrozmanitejšie konfigurácie hardwaru a požiadavky užívateľov.
V súčasnosti je veľmi zriedkavo nutné, abyste jadro kompilovali sami. Linuxové
jadro je postavené ako skladačka. Skladá sa z mnohých častí nazývaných moduly, ktoré
nie sú priamo v súbore jadra, ale je možné jadro požiadať o to, aby ich funkcionalitu
nahralo zo súboru dodatočne - už v čase, kedy je systém rozbehnutý. Preto je často možné,
že ak vaše jadro neobsahuje podporu pre nejaký hardware, možno do neho túto podporu
doplniť neskôr - nahraním modulu. Niekedy medzi modulmi existujú závislosti. Napríklad ak máte všeobecnú podporu pre SCSI aj podporu pre SCSI disky ako moduly, tak najprv musíte
nahrať všeobecnú podporu pre SCSI a až potom môžete nahrať podporu SCSI diskov.
Nahrávanie modulov (príp. ich odstraňovanie) sa spravidla robí pomocou
programov z balíka modutils
. Veľmi stručne:
lsmod
- vypíše moduly zavedené v pamäti v danom okamihu
# lsmod Module Size Used by ipt_state 1984 0 ipt_limit 2432 0 iptable_nat 22732 0 iptable_filter 2752 0 ip_tables 17920 4 ipt_state,ipt_limit,iptable_nat, iptable_filter ip_conntrack 34560 2 ipt_state,iptable_nat uhci_hcd 30924 0 usb_storage 101328 1 |
insmod mojmodul
- sa pokúsi zaviesť do pamäti modul mojmodul
# insmod ipt_LOG.ko # lsmod Module Size Used by ipt_LOG 6336 0 ipt_state 1984 0 ipt_limit 2432 0 iptable_nat 22732 0 iptable_filter 2752 0 ip_tables 17920 5 ipt_LOG,ipt_state,ipt_limit, iptable_nat,iptable_filter ip_conntrack 34560 2 ipt_state,iptable_nat uhci_hcd 30924 0 usb_storage 101328 1 |
rmmod mojmodul
- sa pokúsi zrušiť modul mojmodul
# rmmod ipt_LOG # lsmod Module Size Used by ipt_state 1984 0 ipt_limit 2432 0 iptable_nat 22732 0 iptable_filter 2752 0 ip_tables 17920 4 ipt_state,ipt_limit,iptable_nat, iptable_filter ip_conntrack 34560 2 ipt_state,iptable_nat uhci_hcd 30924 0 usb_storage 101328 1 |
depmod
- zistí závislosti medzi modulmimodprobe mojmodul
- nahrá modul mojmodul
spolu so všetkými modulmi potrebnými pre jeho beh
# lsmod Module Size Used by uhci_hcd 30924 0 usb_storage 101328 1 # modprobe ipt_LOG # lsmod Module Size Used by ipt_LOG 6336 0 ip_tables 17920 1 ipt_LOG uhci_hcd 30924 0 usb_storage 101328 1 |
Pridať alebo ubrať modul môže len užívateľ root
.
Druhá varianta pridávania a odoberania modulov je použitie automatického
nahrávania modulov, ktoré ešte spomeniem nižšie.
Ak dospejete k rozhodnutiu, že je nutné skompilovať vlastné jadro, musíme najprv získať jeho zdrojový kód. Existuje viacero variant jadier, ktoré môžete chcieť, a preto si najprv treba ujasniť zdrojový kód, ktorého jadra vlastne chceme:
-ac
. Tieto
odnože sa spravidla líšia použitím niektorých experimentálnych algoritmov.Zdrojový kód jadra má vo forme archívu cez 30MB. Preto v prípade, že máte k dispozícií zdrojový kód staršej verzie, môže vám stačiť zobrať len zmeny oproti tejto staršej verzii - tzv. patch (záplatu).
Ak máte úplný zdrojový kód jadra, rozbaľte ho (tradične sa rozbaľuje do /usr/src
):
# cd /usr/src
|
alebo
# cd /usr/src
|
Podľa toho, či máte zdrojový kód jadra komprimovaný programom gzip, alebo bzip2.
Rozbalením vznikne adresár, ktorý nesie meno verzie
/usr/src/linux-2.6.3/
. Je vhodné ho buď premenovať
# mv linux-2.6.3 linux
|
alebo vytvoriť symbolickú linku
# ln -s linux-2.6.3 linux
|
tak, aby zdrojový kód bol dostupný pod adresárom /usr/src/linux
.
Ak máte patch, musíte ho aplikovať na svoj zdrojový kód jadra
# cd /usr/src/linux
|
alebo
# cd /usr/src/linux
|
Číslo záplaty 2.6.4 znamená, že ho možno aplikovať na zdrojový kód jadra 2.6.3 a jeho aplikovaním získame kód jadra 2.6.4.
Na budúce si povieme o možnosťach konfigurácie jadra pred kompilaciou, o samotnej kompilacii a konečně o instalácii skompilovaného kernelu, aby bylo možno jej využíť při boote systému.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Takze ak mate s patchmi nejaky problem, povedzte aky konkretne. Chcete viac o vytvarani backup-u, reject-ovani, ci reverznom patch-i, ...? Alebo mate problemy s patch-mi z inych zdrojov?
Na druhej strane, ta linka nie je nutna, takze ak maju citatelia pochybnosti, mozu ten krok kludne vynechat.
man initrd ;o)
-- JPbzip2 -cd ../patch-2.4.27-pre4.bz2 | patch -p1(patch bez te carky oznacujici std. vstup). Vubec nechapu, jak na to author prisel v zadnym manu na vsemoznych systemech jsem to nenasla.
Co teda nie je jasne? Hovoris, ze tak ako je to v tom clanku to nefunguje? Alebo si nevedela, ze sa to da aj tak?