Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.
lspci
. Ne vždy nalezne člověk tento příkaz v příslušném repozitáři a kompilovat jej ručně bývá na dlouhé lokte,zvláště pro nějakou tu exotičtější architekturu. Ano, většinou má jádro připojené /sys, ale hrabat se v něm ručně taky není příliš user-friendly. Jako rychlou náhražku tu proto mám následující narychlo napsaný skript (závislosti: jádro se sysfs připojené na /sys, /bin/sh, /bin/sed a chcete-li lidsky čitelná jména, pak /usr/bin/host a DNS konektivita):
#!/bin/sh PCIID_DNS=pci.id.ucw.cz HOST_BIN=/usr/bin/host SED_BIN=/bin/sed ( cd /sys/bus/pci/devices/ for ID in * ; do ID_OK=$(echo $ID | $SED_BIN 's/^0000://') VENDOR=$($SED_BIN 's/^0x//' < $ID/vendor ) DEVICE=$($SED_BIN 's/^0x//' < $ID/device ) CLASS=$($SED_BIN 's/^0x//' < $ID/class ) CLASS_H=$(echo $CLASS | $SED_BIN 's/^\(..\)....$/\1/') CLASS_L=$(echo $CLASS | $SED_BIN 's/^..\(..\)..$/\1/') if [ -x "$HOST_BIN" ] && [ "$1" != "-n" ] then VENDOR_HH=$($HOST_BIN -t TXT $VENDOR.$PCIID_DNS) if test "$?" -eq "0" ; then VENDOR_STR=$(echo $VENDOR_HH | $SED_BIN 's/.*descriptive\ text\ \"i=//' | $SED_BIN 's/\"$//') else VENDOR_STR="???" fi DEVICE_HH=$($HOST_BIN -t TXT $DEVICE.$VENDOR.$PCIID_DNS) if test "$?" -eq "0" ; then DEVICE_STR=$(echo $DEVICE_HH| $SED_BIN 's/.*descriptive\ text\ \"i=//' | $SED_BIN 's/\"$//') else DEVICE_STR="???" fi CLASS_HH=$($HOST_BIN -t TXT $CLASS_L.$CLASS_H.c.$PCIID_DNS) if test "$?" -eq "0" ; then CLASS_STR=$(echo $CLASS_HH | $SED_BIN 's/.*descriptive\ text\ \"i=//' | $SED_BIN 's/\"$//') else CLASS_STR="???" fi echo "$ID_OK $CLASS_STR: $VENDOR_STR $DEVICE_STR [$VENDOR:$DEVICE]" else echo "$ID_OK $CLASS_H$CLASS_L $VENDOR:$DEVICE" fi done )
Výstup pak vypadá třeba nějak takto (skoro jako "lspci -nn"):
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub [8086:27a0] 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller [8086:27a2] 00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6] 00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller [8086:27d8] 00:1c.0 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 1 [8086:27d0] 00:1c.1 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 2 [8086:27d2] 00:1c.2 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 3 [8086:27d4] 00:1c.3 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 4 [8086:27d6] 00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 [8086:27c8] 00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 [8086:27c9] 00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 [8086:27ca] 00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 [8086:27cb] 00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller [8086:27cc] 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge [8086:27b9] 00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] [8086:27c4] 00:1f.3 SMBus: Intel Corporation NM10/ICH7 Family SMBus Controller [8086:27da] 06:01.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX [14e4:170c] 06:02.0 Network controller: Qualcomm Atheros AR922X Wireless Network Adapter [168c:0029] 06:04.0 CardBus bridge: ENE Technology Inc CB-712/4 Cardbus Controller [1524:1412] 06:04.1 FLASH memory: ENE Technology Inc ENE PCI Memory Stick Card Reader Controller [1524:0530] 06:04.2 SD Host controller: ENE Technology Inc ENE PCI Secure Digital Card Reader Controller [1524:0550] 06:04.3 FLASH memory: ENE Technology Inc FLASH memory: ENE Technology Inc: [1524:0520] 06:04.4 FLASH memory: ENE Technology Inc SD/MMC Card Reader Controller [1524:0551]
Pokud ovšem v systému nemáme /usr/bin/host (nebo pokud skript spustíme s volbou „-n
“ jako prvním parametrem), vypíše pouze numerická ID, asi takhle (prostřední číslo je „class“):
00:01.0 0604 11ab:6820 00:02.0 0604 11ab:6820 00:03.0 0604 11ab:6820 01:00.0 0280 168c:002e 02:00.0 0280 168c:003c 03:00.0 0200 10ec:8168
Pokud tento výpis uložíme do souboru, můžeme z něj dostat „lidsky čitelný“ výstup pomocí následujícího skriptu (třeba na jiném počítači, které /usr/bin/host nainstalované má...):
#!/bin/sh if test $# -eq 0; then echo "$0 <file>" 1>&2 exit 666 fi PCIID_DNS=pci.id.ucw.cz HOST_BIN=/usr/bin/host SED_BIN=/bin/sed while read line ; do ID=$(echo $line| awk '{print $1}') CLASS=$(echo $line | awk '{print $2}') VENDEV=$(echo $line | awk '{print $3}') VENDOR=$(echo $VENDEV | sed 's/^\(....\):....$/\1/') DEVICE=$(echo $VENDEV | sed 's/^....:\(....\)$/\1/') CLASS_H=$(echo $CLASS | $SED_BIN 's/^\(..\)..$/\1/') CLASS_L=$(echo $CLASS | $SED_BIN 's/^..\(..\)$/\1/') VENDOR_HH=$($HOST_BIN -t TXT $VENDOR.$PCIID_DNS) if test "$?" -eq "0" ; then VENDOR_STR=$(echo $VENDOR_HH | $SED_BIN 's/.*descriptive\ text\ \"i=//' | $SED_BIN 's/\"$//') else VENDOR_STR="???" fi DEVICE_HH=$($HOST_BIN -t TXT $DEVICE.$VENDOR.$PCIID_DNS) if test "$?" -eq "0" ; then DEVICE_STR=$(echo $DEVICE_HH| $SED_BIN 's/.*descriptive\ text\ \"i=//' | $SED_BIN 's/\"$//') else DEVICE_STR="???" fi CLASS_HH=$($HOST_BIN -t TXT $CLASS_L.$CLASS_H.c.$PCIID_DNS) if test "$?" -eq "0" ; then CLASS_STR=$(echo $CLASS_HH | $SED_BIN 's/.*descriptive\ text\ \"i=//' | $SED_BIN 's/\"$//') else CLASS_STR="???" fi echo "$ID $CLASS_STR: $VENDOR_STR $DEVICE_STR [$VENDOR:$DEVICE]" done < $1
A výstup z něj bude vypadat třeba takto:
00:01.0 PCI bridge: Marvell Technology Group Ltd. ??? [11ab:6820] 00:02.0 PCI bridge: Marvell Technology Group Ltd. ??? [11ab:6820] 00:03.0 PCI bridge: Marvell Technology Group Ltd. ??? [11ab:6820] 01:00.0 Network controller: Qualcomm Atheros AR9287 Wireless Network Adapter (PCI-Express) [168c:002e] 02:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac Wireless Network Adapter [168c:003c] 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168]
Tiskni Sdílej:
/usr/share/misc/pci.ids
, ale existuje i ta možnost pomocí DNS. A jelikož jsem byl línej parsovat ten soubor, použil jsem druhou možnost. Mimochodem, není vůbec náhoda, že ten DNS je v doméně .cz, protože za tím stojí (snad se neurazí, když řeknu) linuxová legenda Martin Mareš .