Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.
OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.
Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.
Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).
Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.
adduser
tohle dela za tebe...
#!/bin/bash
while true; do
echo -n "Enter login name: "
read LOGNAME
LEN=`echo "$LOGNAME" | wc -c`
if [ "$LEN" -gt 8 ] ; then
echo Name too long
continue
fi
if echo "$LOGNAME" | grep [^a-z]; then
echo Only small letters allowed
continue
fi
break
done
_UID=`tail -1 /etc/passwd |awk -F : '{print $3 + 1}'`
echo -n "Enter UID: "
read _UIDOK
if [ "$_UIDOK" = "" ] ; then
_UIDOK=$_UID
elif [ "`grep $_UIDOK /etc/passwd | awk -F : '{print $3}'`" = "" ] ; then
_UIDOK=$_UID
else
echo "ERROR: UID in use"
exit 1
fi
_GID=`grep users /etc/group |awk -F : '{print $3}'`
echo -n "Enter GID: "
read _GIDOK
if [ "$_GIDOK" = "" ]; then
_GIDOK=$_GID
elif [ "`grep $_GIDOK /etc/group`" = "" ] ; then
echo "ERROR: Group $_GIDOK does not exist"
exit 1
fi
echo -n "Enter home directory: [/home/$LOGNAME] "
read _HOME
if [ "$_HOME" = "" ]; then
_HOME="/home/$LOGNAME"
fi
echo -n "Enter login shell: [/bin/bash] "
read _SHELL
if [ "$_SHELL" = "" ]; then
_SHELL=/bin/bash
fi
if [ ! \( -x $_SHELL \) ] ; then
echo Shell does not exist or is not executable
exit 1
fi
echo -n "Enter real name: "
read _REALNAME
echo
echo This is the information you entered:
echo
echo User ID is: $_UIDOK
echo Group ID is: $_GIDOK
echo Home is: $_HOME
echo Login shell is: $_SHELL
echo Real name is: $_REALNAME
echo
echo /etc/passwd entry will be:
echo $LOGNAME:???:$_UIDOK:$_GIDOK:$_REALNAME:$_HOME:$_SHELL
echo
echo -n "Is this correct? (y/n) "
read _verify
if [ "$_verify" = n ]; then
echo Exiting ...
exit 1
else
echo "Adding user $LOGNAME to system"
# useradd -u $_UIDOK -g $_GIDOK -d $_HOME -s $_SHELL -c "$_REALNAME" $LOGNAME
# cp -r /etc/skel $_HOME
# chown -R $_UIDOK:$_GIDOK $_HOME
# passwd $LOGNAME
fi
userid.sh:
#!/bin/bash
if [ $# != 1 ] ; then
echo Usage: `basename $0` username
exit 1
fi
_UID=`grep -F -w $1 /etc/passwd | awk -F : '{print $3}'`
if [ "$_UID" = "" ] ; then
echo Error: User $1 not found
else
echo User $1 has UID=$_UID
fi
#!/bin/bash # pridani noveho uzivatele (mensi uzivatelska nadstavba nad prikaz "useradd") echo echo " Pridani noveho uzivatele do systemu (pouze Enter -> predcasne ukonceni)" echo # jmeno while [ "$xJmeno" == "" ]; do echo -n " Zadej jmeno pro noveho uzivatele : "; read xJmeno # nic nezadano -> ukonceni skriptu [ "$xJmeno" == "" ] && { echo " ! Predcasne koncim skript ..."; exit; } # kontrola, zda zadany uzivatel jiz existuje (hleda prvni retezec od zacatku radku do prvni dvojtecky) if grep "^$xJmeno:" /etc/passwd > /dev/null; then echo " Uzivatel \"$xJmeno\" jiz existuje, zadej jine jmeno!" xJmeno="" fi done # Nasledujici akci - zjisteni a urceni posledniho pouziteho UID zvyseneho o 1 # dela sam prikaz useradd, zde to ale udelame rucne # Predpokladame, ze na poslednim radku je posledni platny uzivatel : # z posledniho radku /etc/passwd nacteme UID (3 polozka mezi : ) a zvysime ji o 1 xUID="$[$(sed -n "$ s#^[^:]*:[^:]*:\([0-9]\+\):.*#\1#p" /etc/passwd) + 1]" # GID while [ "$xGID" == "" ]; do # najde doporucene GID pro skupinu users x="$(sed -n "/^users:/ s#^[^:]*:[^:]*:\([0-9]\+\):.*#(doporucuji: \1 pro skupinu users) #p" /etc/group)" echo -n " Zadej GID $x: "; read xGID # nic nezadano -> ukonceni skriptu [ "$xGID" == "" ] && { echo " ! Predcasne koncim skript ..."; exit; } # kontrola, zda skupina existuje (hleda 3 retezec od zacatku radku, polozky jsou oddelene : ) if ! grep "^[^:]*:[^:]*:$xGID:" /etc/group > /dev/null; then echo " Skupina s GID=$xGID neexistuje, musis zadat nejakou platnou:" sed -n "s#^\([^:]*\):[^:]*:\([0-9]\+\):.*#GID=\2 \t \1#p" /etc/group # vypise seznam skupin xGID="" fi done # login shell while [ "$xShell" == "" ]; do echo -n " Zadej login shell (1=/bin/bash) : "; read xShell # nic nezadano -> ukonceni skriptu [ "$xShell" == "" ] && { echo " ! Predcasne koncim skript ..."; exit; } # preddefinovany shell [ "$xShell" == "1" ] && xShell="/bin/bash" # kontrola na existenci a spustitelnost souboru (shellu) [ -x "$xShell" ] || { echo " Zadany shell \"$xShell\" neni platny (neexistuje, nebo neni spustitelny) !"; xShell=""; } done echo echo " Shrnuti:" echo " Jmeno : $xJmeno" echo " UID : $xUID" echo " GID : $xGID" echo " Login shell : $xShell" echo echo -n " Pridat tohoto noveho uzivatele do systemu ? Ano=a : "; read x echo if [ "$x" == "a" ]; then # pridani uzivatele; pokud se zdari, jeste nastavit heslo if useradd -u $xUID -g $xGID -G $xGID -m -s $xShell $xJmeno; then # prikaz useradd zalozi noveho uzivatele, nastavi mu UID, GID (a prida ho do teto skupiny), nastavi # mu shell, vytvori HOME adresar, nakopipruje do nej vychozi soubory a nastavi vlastnika, # takze nasledujici prikazy jsou jiz zbytecne (viz. man useradd): # cp -r /etc/skel "/home/$xJmeno" # nakopirovani zakladnich souboru do dom.adresare # chown -R $xUID:$xGID "/home/$xJmeno" # nastavi vlastnika echo " Uzivatel \"$xJmeno\" pridan do systemu: useradd -u $xUID -g $xGID -G $xGID -m -s $xShell $xJmeno" echo " Nyni je nutne mu jeste nastavit heslo:" passwd $xJmeno fi else echo " Koncim ... Uzivatel \"$xJmeno\" nepridan do systemu !" fiMějte se fajn, Ltb
Tiskni
Sdílej: