Bylo rozhodnuto, že Linux From Scratch (LFS) končí s podporou System V init. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů už budou pouze se systemd.
Byla vydána nová verze 2026.1.0 "Like a Version" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. Změněno bylo číslování verzí. Předchozí verze byla 2.9.1.
Internetový prohlížeč Firefox bude mít nové ovládací prvky pro umělou inteligenci, které umožní uživatelům vypnout vestavěné AI funkce přímo v nastavení prohlížeče. Jednotlivě půjde vypnout nebo zapnout automatické překlady stránek, generovaní popisného textu k obrázkům v otevřených PDF dokumentech, samoorganizaci tabů do skupin, náhledy odkazů s krátkým shrnutím a boční panel s chatbotem. Tyto možnosti v nastavení prohlížeče
… více »Desktopové prostředí KDE Plasma 6.6, která je právě ve fázi beta, nahrazuje stávající SDDM novým Plasma Login Managerem, který je ale pevně navázán na systemd. Plasma Login Manager využívá systemd-logind a další součásti systemd, které nejsou dostupné v operačních systémech bez systemd, jako je například FreeBSD, případně jsou linuxové distribuce Gentoo, Void Linux anebo Alpine Linux. Pro uživatele zatím stále ještě existuje možnost používat SDDM.
Na webu komunitního setkání CSNOG 2026 jsou dostupné prezentace v PDF, jejich videozáznamy a fotografie z lednové akce ve Zlíně. CSNOG 2026 se zúčastnilo téměř 300 zájemců o vystoupení věnovaných správě sítí, legislativním a regulačním tématům nebo projektům z akademické sféry. Letos byly prezentace rozdělené do dvou treků, ve kterých se představilo 35 přednášejících. Setkání komunity CSNOG organizují společně sdružení CESNET, CZ.NIC a NIX.CZ.
Americká vesmírná společnost SpaceX miliardáře Elona Muska koupila další Muskovu firmu xAI, která se zabývá vývojem umělé inteligence (AI). Informovala o tom na svém účtu na síti 𝕏. Musk tímto krokem propojí několik ze svých služeb, včetně chatbota s prvky umělé inteligence Grok, sociální sítě 𝕏 či satelitního internetového systému Starlink. Tržní hodnota společnosti SpaceX dosahuje jednoho bilionu dolarů (20,6 bilionu Kč), hodnota xAI pak činí 250 miliard dolarů.
Byl odhalen supply chain attack na Notepad++: útočníci kompromitovali hosting Notepad++ a vybrané dotazy na aktualizace přesměrovávali na servery pod jejich kontrolou. Doporučuje se stáhnout instalátor a přeinstalovat.
Francouzská veřejná správa má v rámci vládní iniciativy LaSuite Numérique ('Digitální sada') v plánu od roku 2027 přestat používat Microsoft Teams a Zoom a přejít na videokonferenční platformu Visio, hostovanou na vlastním hardwaru. Konkrétně se jedná o instance iniciativou vyvíjeného open-source nástroje LaSuite Meet, jehož centrální komponentou je LiveKit. Visio nebude dostupné pro veřejnost, nicméně LaSuite Meet je k dispozici pod licencí MIT.
Eben Upton oznámil další zdražení počítačů Raspberry Pi: 2GB verze o 10 dolarů, 4GB verze o 15 dolarů, 8GB verze o 30 dolarů a 16GB verze o 60 dolarů. Kvůli růstu cen pamětí. Po dvou měsících od předchozího zdražení.
Shellbeats je terminálový hudební přehrávač pro Linux a macOS, který umožňuje vyhledávat a streamovat hudbu z YouTube, stahovat odtud skladby a spravovat lokální playlisty. Pro stahování dat z YouTube využívá yt-dlp, pro práci s audiostreamy mpv. Je napsán v jazyce C a distribuován pod licencí GPL-3.0, rezpozitář projektu je na GitHubu.
hda1 a statickým nějaký rozdíl? Tj. liší se třeba výpis ls -l?
debian:/dev# ls -l | grep hda1 brw-rw---- 1 root floppy 3, 1 Apr 10 17:47 hda1 ------------------------------------- debian:/dev# ls -l /dev/.static/dev/ | grep hda1 brw-rw---- 1 root disk 3, 1 Mar 26 01:53 hda1
/etc/udev (asi), tam je nějaký soubor s pravidýlky, tam je asi KERNEL="hd*", GROUP="floppy". Ale závisí no va verzi udev.
SUBSYSTEM=="block", GROUP="disk"
SUBSYSTEM=="block", SYSFS{removable}=="1", GROUP="floppy"
debian:~# strace /dev/hda1
execve("/dev/hda1", ["/dev/hda1"], [/* 14 vars */]) = -1 EACCES (Permission denied)
dup(2) = 3
fcntl64(3, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat64(3, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 0), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f4e000
_llseek(3, 0, 0xbf9618a8, SEEK_CUR) = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: Permission denied\n", 32strace: exec: Permission denied
) = 32
close(3) = 0
munmap(0xb7f4e000, 4096) = 0
exit_group(1) = ?
--------------------
debian:~# strace /dev/.static/dev/hda1
execve("/dev/.static/dev/hda1", ["/dev/.static/dev/hda1"], [/* 14 vars */]) = -1 EACCES (Permission denied)
dup(2) = 3
fcntl64(3, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat64(3, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 0), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f20000
_llseek(3, 0, 0xbff33698, SEEK_CUR) = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: Permission denied\n", 32strace: exec: Permission denied
) = 32
close(3) = 0
munmap(0xb7f20000, 4096) = 0
exit_group(1) = ?
debian:~# strace mkfs.ext3 /dev/hda1
execve("/sbin/mkfs.ext3", ["mkfs.ext3", "/dev/hda1"], [/* 14 vars */]) = 0
uname({sys="Linux", node="debian", ...}) = 0
brk(0) = 0x8050000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fd4000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=11037, ...}) = 0
old_mmap(NULL, 11037, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fd1000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libext2fs.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`M\0\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=97268, ...}) = 0
old_mmap(NULL, 96124, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fb9000
old_mmap(0xb7fd0000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0xb7fd0000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libcom_err.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\t\0\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=5792, ...}) = 0
old_mmap(NULL, 8848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fb6000
old_mmap(0xb7fb8000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb7fb8000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libblkid.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\36\0\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=28556, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fb5000
old_mmap(NULL, 31576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fad000
old_mmap(0xb7fb4000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0xb7fb4000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libuuid.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\n\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=8696, ...}) = 0
old_mmap(NULL, 11680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7faa000
old_mmap(0xb7fac000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb7fac000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libe2p.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\22"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=18512, ...}) = 0
old_mmap(NULL, 17968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fa5000
old_mmap(0xb7fa9000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0xb7fa9000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260O\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1270928, ...}) = 0
old_mmap(NULL, 1276892, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e6d000
old_mmap(0xb7f9b000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12e000) = 0xb7f9b000
old_mmap(0xb7fa3000, 7132, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fa3000
close(3) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e6c000
mprotect(0xb7f9b000, 20480, PROT_READ) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e6c8e0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0xb7fd1000, 11037) = 0
brk(0) = 0x8050000
brk(0x8071000) = 0x8071000
uname({sys="Linux", node="debian", ...}) = 0
write(2, "mke2fs 1.39-WIP (31-Dec-2005)\n", 30mke2fs 1.39-WIP (31-Dec-2005)
) = 30
stat64("/dev/hda1", {st_mode=S_IFBLK|0660, st_rdev=makedev(3, 1), ...}) = 0
stat64("/dev/hda1", {st_mode=S_IFBLK|0660, st_rdev=makedev(3, 1), ...}) = 0
open("/proc/swaps", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fd3000
read(3, "", 1024) = 0
close(3) = 0
munmap(0xb7fd3000, 4096) = 0
open("/proc/mounts", O_RDONLY) = 3
stat64("/dev/hda1", {st_mode=S_IFBLK|0660, st_rdev=makedev(3, 1), ...}) = 0
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fd3000
read(3, "rootfs / rootfs rw 0 0\n/dev/root"..., 1024) = 304
stat64("rootfs", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("/dev/root", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("proc", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("sysfs", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("usbfs", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("/dev/root", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("tmpfs", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("tmpfs", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("devpts", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("/dev/hdd", {st_mode=S_IFBLK|0660, st_rdev=makedev(22, 64), ...}) = 0
read(3, "", 1024) = 0
stat64("/", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
close(3) = 0
munmap(0xb7fd3000, 4096) = 0
open("/etc/mtab", O_RDONLY) = 3
stat64("/dev/hda1", {st_mode=S_IFBLK|0660, st_rdev=makedev(3, 1), ...}) = 0
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fd3000
read(3, "rootfs / rootfs rw 0 0\n/dev/root"..., 1024) = 304
stat64("rootfs", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("/dev/root", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("proc", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("sysfs", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("usbfs", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("/dev/root", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("tmpfs", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("tmpfs", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("devpts", 0xbf8e9eec) = -1 ENOENT (No such file or directory)
stat64("/dev/hdd", {st_mode=S_IFBLK|0660, st_rdev=makedev(22, 64), ...}) = 0
read(3, "", 1024) = 0
stat64("/", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
close(3) = 0
munmap(0xb7fd3000, 4096) = 0
stat64("/dev/hda1", {st_mode=S_IFBLK|0660, st_rdev=makedev(3, 1), ...}) = 0
open("/dev/hda1", O_RDONLY|O_EXCL) = 3
close(3) = 0
open("/dev/hda1", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
write(2, "mkfs.ext3", 9mkfs.ext3) = 9
write(2, ": ", 2: ) = 2
write(2, "No such file or directory", 25No such file or directory) = 25
write(2, " ", 1 ) = 1
write(2, "while trying to determine filesy"..., 41while trying to determine filesystem size) = 41
write(2, "\r\n", 2
) = 2
exit_group(1) = ?
...
open("/dev/hda1", O_RDONLY|O_EXCL) = 3
close(3) = 0
open("/dev/hda1", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
...
Tohle je zajímavé. To vypadá, že po provedení close() přestane existovat speciální soubor /dev/hda1. Kernel asi vyvolá unplug událost (což by podle mě neměl dělat), na kterou udev zareaguje odstraněním toho speciálního souboru...
Nejsou v dmesg nějaké hlášky o tom, že by to zařízení bylo odpojeno a hned zase připojeno zpět? Jinak si to neumím vysvětlit.
hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1 hda: hda1
Tiskni
Sdílej: