Zemřel Rob Grant, spolutvůrce kultovního sci-fi seriálu Červený trpaslík.
Apple oznámil, že iPhone a iPad jako první a jediná zařízení pro koncové uživatele splňují požadavky členských států NATO na zabezpečení informací. Díky tomu je možné je používat pro práci s utajovanými informacemi až do stupně „NATO Restricted“, a to bez nutnosti instalovat speciální software nebo měnit nastavení. Žádné jiné běžně dostupné mobilní zařízení tak vysokou úroveň státní certifikace dosud nezískalo.
Americký provozovatel streamovací platformy Netflix odmítl zvýšit nabídku na převzetí filmových studií a streamovací divize konglomerátu Warner Bros. Discovery (WBD). Netflix to ve čtvrtek oznámil v tiskové zprávě. Jeho krok po několikaměsíčním boji o převzetí otevírá dveře k akvizici WBD mediální skupině Paramount Skydance, a to zhruba za 111 miliard dolarů (2,28 bilionu Kč).
Americká společnosti Apple přesune část výroby svého malého stolního počítače Mac mini z Asie do Spojených států. Výroba v závodě v Houstonu by měla začít ještě v letošním roce, uvedla firma na svém webu. Apple také plánuje rozšířit svůj závod v Houstonu o nové školicí centrum pro pokročilou výrobu. V Houstonu by měly vzniknout tisíce nových pracovních míst.
Vědci Biotechnologické společnosti Cortical Labs vytvořili biopočítač nazvaný CL1, který využívá živé lidské mozkové buňky vypěstované z kmenových buněk na čipu. Po úspěchu se hrou PONG se ho nyní snaží naučit hrát DOOM. Neurony přijímají signály podle toho, co se ve hře děje, a jejich reakce jsou převáděny na akce jako pohyb nebo střelba. V tuto chvíli systém hraje velmi špatně, ale dokáže reagovat, trochu se učit a v reálném čase se hrou
… více »Pro testování byl vydán 4. snapshot Ubuntu 26.04 LTS (Resolute Raccoon).
Ben Sturmfels oznámil vydání MediaGoblinu 0.15.0. Přehled novinek v poznámkách k vydání. MediaGoblin (Wikipedie) je svobodná multimediální publikační platforma a decentralizovaná alternativa ke službám jako Flickr, YouTube, SoundCloud atd. Ukázka například na LibrePlanet.
TerminalPhone (png) je skript v Bashi pro push-to-talk hlasovou a textovou komunikaci přes Tor využívající .onion adresy.
Před dvěma lety zavedli operátoři ochranu proti podvrženým hovorům, kdy volající falšuje čísla anebo se vydává za někoho jiného. Nyní v roce 2026 blokují operátoři díky nasazeným technologiím v průměru 3 miliony pokusů o podvodný hovor měsíčně (tzn., že k propojení na zákazníka vůbec nedojde). Ochrana před tzv. spoofingem je pro zákazníky a zákaznice všech tří operátorů zdarma, ať už jde o mobilní čísla nebo pevné linky.
Společnost Meta (Facebook) předává React, React Native a související projekty jako JSX nadaci React Foundation patřící pod Linux Foundation. Zakládajícími členy React Foundation jsou Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion a Vercel.
#!/bin/bash
verbose=0
if [ -b /dev/sda ]; then
echo "Disk /dev/sda detected!"
set $disks
else
echo "Disk /dev/sda not detected!"
unset $disks
fi
if [ -b /dev/sdb ]; then
echo "Disk /dev/sdb detected!"
set $disks
else
echo "Disk /dev/sdb not detected!"
unset $disks
fi
if [ -z ${disks+x} ]; then
if [ -b /dev/md0 ]; then
echo "RAID md0 already exists"
else
if mdadm --assemble /dev/md0 /dev/sda /dev/sdb; then
echo "RAID /dev/md0 assembled!"
else
echo "Raid /dev/md0 failed to assemble!"
fi
fi
else
echo "Disks sda and sdb are not present!"
fi
Avšak, když jej spustím, tak je neskutečně ukecaný, viz níže:
root@turris01:~# mount-internal-crypto-drives bbb Disk /dev/sda detected! BASH=/bin/bash BASHOPTS=cmdhist:complete_fullquote:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=([0]="1") BASH_ARGV=([0]="bbb") BASH_CMDS=() BASH_LINENO=([0]="0") BASH_SOURCE=([0]="/usr/local/bin//mount-internal-crypto-drives") BASH_VERSINFO=([0]="4" [1]="4" [2]="11" [3]="1" [4]="release" [5]="arm-openwrt-linux-gnu") BASH_VERSION='4.4.11(1)-release' DIRSTACK=() EUID=0 GROUPS=() HOME=/root HOSTNAME=turris01.czko.perlur.cloud HOSTTYPE=arm IFS=$' \t\n' LOGNAME=root MACHTYPE=arm-openwrt-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/bin:/usr/sbin:/bin:/sbin:/root/.acme.sh/:/usr/local/bin/ PIPESTATUS=([0]="0") PPID=14913 PS4='+ ' PWD=/root SHELL=/bin/ash SHELLOPTS=braceexpand:hashall:interactive-comments SHLVL=2 SSH_AUTH_SOCK=/tmp/ssh-NqAmXg83Kd/agent.14911 SSH_CLIENT='192.168.1.12 53651 22' SSH_CONNECTION='192.168.1.12 53651 82.209.54.74 22' SSH_TTY=/dev/pts/0 TERM=xterm-256color UID=0 USER=root _='Disk /dev/sda detected!' verbose=0 Disk /dev/sdb detected! BASH=/bin/bash BASHOPTS=cmdhist:complete_fullquote:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=([0]="1") BASH_ARGV=([0]="bbb") BASH_CMDS=() BASH_LINENO=([0]="0") BASH_SOURCE=([0]="/usr/local/bin//mount-internal-crypto-drives") BASH_VERSINFO=([0]="4" [1]="4" [2]="11" [3]="1" [4]="release" [5]="arm-openwrt-linux-gnu") BASH_VERSION='4.4.11(1)-release' DIRSTACK=() EUID=0 GROUPS=() HOME=/root HOSTNAME=turris01.czko.perlur.cloud HOSTTYPE=arm IFS=$' \t\n' LOGNAME=root MACHTYPE=arm-openwrt-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/bin:/usr/sbin:/bin:/sbin:/root/.acme.sh/:/usr/local/bin/ PIPESTATUS=([0]="0") PPID=14913 PS4='+ ' PWD=/root SHELL=/bin/ash SHELLOPTS=braceexpand:hashall:interactive-comments SHLVL=2 SSH_AUTH_SOCK=/tmp/ssh-NqAmXg83Kd/agent.14911 SSH_CLIENT='192.168.1.12 53651 22' SSH_CONNECTION='192.168.1.12 53651 82.209.54.74 22' SSH_TTY=/dev/pts/0 TERM=xterm-256color UID=0 USER=root _='Disk /dev/sdb detected!' verbose=0 RAID md0 already exists root@turris01:~#Nevíte čím to může být způsobeno?
Řešení dotazu:
set bez parametrů (konkrétně set $disks, kde $disks je nedefinovaná proměnná). set bez parametrů vypíše všechny proměnné prostředí.
disks a když spustíte příkaz set bez parametrů, vypíše hodnoty všech proměnných. Ale abych pravdu řekl, nením mi moc jasné, o co se to tam s tou proměnnou vlastně snažíte (a co očekáváte, že by v ní mělo být).
sdb jsem ještě nekontroloval stav té proměnné, pokud by byla nenastavená tak by se test na sdb vůbec nespustil.
set a unset. První umožňuje nastavit poziční parametry shellu (se kterými ale skript nepracuje) a druhý sice odstraní proměnnou, ale jako argument musí dostat její jméno (ne hodnotu).
Takže jestli to chápu dobře, ta pasáž na začátku měla vypadat spíš nějak takhle
ALL_DISKS="/dev/sda /dev/sdb"
disks=""
for d in $ALL_DISKS; do
if [ -b "$d" ]; then
disks="$disks $d"
fi
done
Výsledkem by bylo, že v proměnné disks budou ta ze zařízení v ALL_DISKS, která skript v systému najde.
#!/bin/bash
declare -a disks=("/dev/sda" "/dev/sdb")
raid="/dev/md0"
for disk in ${disks[@]}; do
if [ ! -b "$disk" ]; then
echo "Disk $disk not detected!" >&2
exit 1
fi
done
if [ -b "$raid" ]; then
echo "RAID $raid already exists" >&2
exit 2
fi
mdadm --assemble "$raid" ${disks[@]}
if [ ! -b "$raid" ]; then
echo "Raid $raid failed to assemble!" >&2
exit 3
fi
Tiskni
Sdílej: