Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.
Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.
Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.
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.
Rád bych se podělil o mé zkušenosti, které jsem získal, kdýž jsem se snažil nainstalovat Truecrypt do mojí 32 bit Fedory 7. Třeba se to nějakému začátečníkovi jako jsem já někdy hodí.
[merljin@auriga ~]$su
Heslo:
[root@auriga merljin]# cd ~/Download/
[root@auriga merljin]# tar xvzf truecrypt-4.3a-source-code.tar.gz -C /usr/src/
[root@auriga merljin]# vim /etc/yum.repos.d/fedora.repo
v sekci [fedora-source] změnit enabled na 1
[fedora-source]
name=Fedora $releasever - Source
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
Příkazem yum repolist ověřím, že repozitář je aktivní
[root@auriga merljin]# yum repolist
Loading "installonlyn" plugin
Loading "refresh-updatesd" plugin
Loading "fastestmirror" plugin
repo id repo name status
fedora Fedora 7 - i386 enabled
fedora-source Fedora 7 - Source enabled
livna Livna for Fedora Core 7 - i386 - Base enabled
updates Fedora 7 - i386 - Updates enabled
Nyní je potřeba stáhnout vlastní zdrojáky. Nainstaluju také balík yum-utils, který obsahuje prográmek yumdownloader, který mi umožní stáhnout zdrojáky ( má volbu na stažení všech závislostí )
[root@auriga merljin]# yum -y install yum-utils sparse
[root@auriga merljin]# yumdownloader --source kernel
[root@auriga merljin]# rpm -ivh kernel-$(uname -r).src.rpm
[root@auriga merljin]# cd /usr/src
[root@auriga src]# rpmbuild -bp --target=i386 /usr/src/redhat/SPECS/kernel-2.6.spec
(jsem pořad v /usr/src )
[root@auriga src]# ln -s redhat/BUILD/kernel-2.6.22/linux-2.6.22.i386/ linux
[root@auriga merljin]# cd /usr/src/truecrypt-4.3a-source-code/Linux
[root@auriga Linux]# ./build.sh
Checking build requirements...
Preparing kernel build system in /usr/src/linux... Done.
Building internal kernel modules (may take a long time)... Done.
Building kernel module... Done.
Building truecrypt... Done.
Pak spustím install.sh , který nakopíruje modul + aplikaci + help tam kam patří
Pokud vám tak jako mě script install.sh skončí chybou, že nemůže najít modprobe, je to tím, že ve Fedoře adresář /sbin ( ani /usr/sbin ) není defaultně v cestě k prohledávání ($PATH )
[root@auriga Linux]# ./install.sh
Checking installation requirements...
Error: modprobe or rmmod not found. TrueCrypt requires kernel module tools.
[root@auriga Linux]# export PATH=/sbin:/usr/sbin:$PATH
[root@auriga Linux]# ./install.sh
Checking installation requirements...
Testing truecrypt... Done.
Install binaries to [/usr/bin]:
Install man page to [/usr/share/man]:
Install user guide and kernel module to [/usr/share/truecrypt]:
Installing kernel module... Done.
Installing truecrypt to /usr/bin... Done.
Installing man page to /usr/share/man/man1... Done.
Installing user guide to /usr/share/truecrypt/doc... Done.
Installing backup kernel module to /usr/share/truecrypt/kernel... Done.
Teď už si jen přidám práva, abych mohl truecrypt spouštět jako user.
Buď je možné provést to nepěkně ( z bezpečnostních důvodu nevhodné, ale pro používání snažší ) chmod u+s /usr/bin/truecrypt
nebo lépe přidat si možnost spouštět truecrypt jako uživatel
[root@auriga Linux]# visudo
a přidat na konec řádek ( viz man sudoers )
merljin ALL=/usr/bin/truecrypt
No a nezbývá než otestovat (používám ntfs-3g pro zápis na ntfs oddíly )
truecrypt --user-mount -M '-t ntfs-3g -o locale=cs_CZ.UTF-8,rw' /dev/sdd1 /media/tcv
bezva, funguje. Tak si to přidám třebas do ~/.bashrc
# User specific aliases and functions
alias mtcv="truecrypt --user-mount -M '-t ntfs-3g -o locale=cs_CZ.UTF-8,rw' /dev/sdd1 /media/tcv"
Třeba to někomu pomůže. Jiným to jistě přijde triviální, ale mě to trvalo cca 1.5 hodiny :) a ještě jsem
objevil yum-utils a yum-fastestmirror :)
Tiskni
Sdílej:
Použití suid je nebezpečné. Tvoje řešení přes sudo ale není o moc lepší. Představ si situaci, že si na tvůj počítač někdo přinese svůj TrueCrypt svazek naformátovaný nějakým unixovým filesystémem, na kterém bude mít bash s nastaveným suid bitem vlastněný rootem. Když si takový svazek připojí s parametrem suid
, tak má plný přístup ke tvému počítači.
Já to vyřešil vlastním wrapperem (přiloženo níže), který teprve povoluji spouštět přes sudo bez hesla.
Pokud v tom wrapperu někdo objevíte chybu, budu vděčný za nahlášení.
$ visudo
. . .
%encrypted ALL=(root) NOPASSWD: /usr/local/bin/truecryptmount.sh
. . .
$ ls -l /usr/local/bin/truecryptmount.sh
-rwxr----- 1 root root 7076 2006-07-27 19:56 /usr/local/bin/truecryptmount.sh
$ cat /usr/local/bin/truecryptmount.sh
#!/bin/bash # #Tento skript slouzi ke zpristupneni nekterych funkci programu truecrypt #i beznym uzivatelum. Je urcen ke spousteni za pomoci sudo bez vyzadovani hesla. # # #Vycisteni promennych pouzivanych skriptem. # unset truecryptpath unset usergroupregexp unset options unset user unset group unset dmask unset fmask # #Nastaveni cesty k obsluznemu programu truecrypt. # truecryptpath=/usr/local/bin/truecrypt # #Test, zda byl skriptu predan alespon jeden parametr. # if [ $# -ge 1 ]; then # #Test, zda cesta k obsluznemu programu skutecne ukazuje na spustitelny #soubor. # if [ -x $truecryptpath ]; then # #Analyza predanych parametru. # case "$1" in # #Zadost o vypis vsech pripojenych svazku. Musi byt zdan prave jeden #parametr. # -l) if [ $# -eq 1 ]; then # #Vypis vsech pripojenych svazku. # $truecryptpath --list # #Pokud nebyl zdan prave jeden parametr, konci s chybou. # else exit 4 fi;; # #Zadost o odpojeni vsech pripojenych svazku. Musi byt zdan prave #jeden parametr. # -a) if [ $# -eq 1 ]; then # #Odpojeni vsech pripojenych svazku. # $truecryptpath -d # #Pokud nebyl zdan prave jeden parametr, konci s chybou. # else exit 5 fi;; # #Zadost o odpojeni konkretniho svazku. Musi byt zdany prave dva #parametry. # -u) if [ $# -eq 2 ]; then # #Kontola, zda druhy parametr je cesta k beznemu souboru #nebo adresari. # if [ -f "$2" -o -d "$2" ]; then # #Odpojeni svazku identifikovaneho pripojnym bodem nebo #zdrojovym souborem. # $truecryptpath -d "$2" # #Pokud druhy parametr neni cesta k beznemu souboru nebo #adresari, konci s chybou. # else exit 8 fi # #Pokud nebyly zdany prave dva parametry, konci s chybou. # else exit 6 fi;; # #Zadost o pripojeni svazku. Musi byt zadano prave osm parametru. # -m) if [ $# -eq 8 ]; then # #Nastaveni pomocne promenne s regularnim vyrazem, kteremu #musi odpovidat zadane jmeno uzivatele a skupiny. # usergroupregexp='[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-]*[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567899_.$-]\?'; # #Nastaveni pomocne promenne se jmenem uzivatele, ktery ma #byt vlastnikem souboru na pripojenem svazku. # user=`echo "$5" | grep -x -m 1 "$usergroupregexp"`; # #Nastaveni pomocne promenne se skupinou uzivatelu, ktere #maji nalezet soubory na pripojenem svazku. # group=`echo "$6" | grep -x -m 1 "$usergroupregexp"`; # #Nastaveni pomocne promenne se maskou prav k adresarum na #pripojenem svazku. # dmask=`echo "$7" | grep -x -m 1 '[0-7]\{3\}'`; # #Nastaveni pomocne promenne se maskou prav k souborum na #pripojenem svazku. # fmask=`echo "$8" | grep -x -m 1 '[0-7]\{3\}'`; # #Kontola, zda treti parametr je cesta k beznemu souboru, #ctvrty parametr je cesta k adresari a pomocne promenne #obsahuji retezec nenulove delky. # if [ -f "$3" -a -d "$4" -a -n "$user" -a -n "$group" -a -n "$dmask" -a -n "$fmask" ]; then # #Nastaveni pomocne promenne s parametry pro pripojeni #svazku. # options="uid=$user,gid=$group,dmask=0$dmask,fmask=0$fmask,utf8,noauto,nodev,noexec,nosuid"; # #Pokud druhy parametr obsahuje retezece '-r'... # if [ "$2" = '-r' ]; then # #...pripoj svazek se zadanymi parametry ze zadaneho #umisteni do zadaneho pripojneho bodu pouze pro #cteni. # $truecryptpath -r --mount-options "$options" "$3" "$4" # #Pokud druhy parametr obsahuje retezece '-w'... # elif [ "$2" = '-w' ]; then # #...pripoj svazek se zadanymi parametry ze zadaneho #umisteni do zadaneho pripojneho bodu pro cteni #i zapis. # $truecryptpath --mount-options "$options" "$3" "$4" # #Pokud druhy parametr nebosahuje reteze '-r' nebo '-w', #konci s chybou. # else exit 9 fi; # #Pokud neni spravne nastaven treti nebo ctvrty parametr #nebo alespon jedna promenna obsahuje retezec nulove delky, #konci s chybou. # else exit 10 fi # #Pokud nebylo zdano prave osm parametru, konci s chybou. # else exit 7 fi;; # #Pokud v prvnim parametru nebyl nalezen spravny prikaz, konci #s chybou. # *) exit 3;; esac # #Pokud cesta k obsluznemu programu neukazuje na spustitelny soubor, konci #s chybou. # else exit 2 fi # #Pokud skriptu nebyl predan ani jeden parametr, konci s chybou. # else exit 1 fi
$ exit
> # Read-only mód.
> sudo /usr/local/bin/truecryptmount.sh -m -r '/home/michalr/enc.tc' '/home/michalr/encmnt/' 'michalr' 'encrypted' '077' '177'
> # Unmount.
> sudo /usr/local/bin/truecryptmount.sh -u '/home/michalr/enc.tc'
> # Read-write mód.
> sudo /usr/local/bin/truecryptmount.sh -m -w '/home/michalr/enc.tc' '/home/michalr/encmnt/' 'michalr' 'encrypted' '077' '177'
> # Unmount all.
> sudo /usr/local/bin/truecryptmount.sh -a
> # List.
> sudo /usr/local/bin/truecryptmount.sh -l
if not něco then exit; dělej
než if něco then dělej else exit
a neporoste ti to tak do šířky
Takže: Brání tenhle skriptík tomu, abych nepřeplácnoul např. /bin něčím vlastním? Ani nechci domejšlet, co by se mohlo stát, jestli ne /bin
?
$PATH
, ne?