Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.
Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.
Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.
Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.
Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.
Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).
Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.
Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).
- #!/bin/sh
- #Skript na zalohovani SVN
- #Use: $0 <what to backup>
- #based on http://snippets.dzone.com/posts/show/2635
- call_exit(){
- echo -n "Error code $1 - "
- case "$1" in
- 1)
- echo "Cannot find place for backup, exitting"
- ;;
- 2)
- echo "Backup dir is not present, exitting"
- ;;
- 3)
- echo "Backup dir is not writable, exitting"
- ;;
- esac
- exit $1
- }
- #Setup
- infoDir=${HOME}/.backup #directory, where information about stored revisions is kept
- svnRepository=${HOME}/SVN #repository location
- externalBackupMountPoint1='/mnt/mp3' #first mountpoint to try
- externalBackupMountPoint2='/mnt/local/mp3' #second mountpoint to try
- externalBackupDir='backup' #path in the mounted disc (asume the disc can be mounted on two locations)
- defaultBackup='phd' #what to backup, if nothing is given on commandline
- #End of setup
- #Find a location for the backup
- if [ `mount | grep $externalBackupMountPoint1 | wc -l` -eq 1 ]
- then
- backupDir="$externalBackupMountPoint1/$externalBackupDir"
- elif [ `mount | grep $externalBackupMountPoint2 | wc -l` -eq 1 ]
- then
- backupDir="$externalBackupMountPoint2/$externalBackupDir"
- else
- call_exit 1
- fi
- [ -d $backupDir ] || call_exit 2
- [ -w $backupDir ] || call_exit 3
- echo =============================================
- echo ============ Backup utility =================
- echo =============================================
- echo
- echo Using $backupDir for the backup
- timeStamp=`date +%F-%H-%M-%S`
- #function to dump SVN repository
- dumpDir(){
- dir=$1 #what repository to backup
- dirBaseName=`basename $dir` #basename of the repository to backup
- echo Processing $dir
- youngest=`svnlook youngest $dir` #last (youngest) revision in the repository
- if [ -r $infoDir/$dirBaseName ]; then #if we have information about the last backupped revision
- latest=`cat $infoDir/$dirBaseName` #last revision
- if [ $latest -lt $youngest ]; then #if the last backuped revision is older than the youngest
- cil=${backupDir}/`basename $dir`_$latest_$youngest_$timeStamp.gz #file name where to backup
- echo Running incremental backup from revision $latest to revision $youngest
- echo Target is $cil
- svnadmin dump $dir --incremental -r $latest:$youngest | gzip > $cil # the command itself
- cp $infoDir/$dirBaseName $infoDir/$dirBaseName.old #backup the old setting
- echo $youngest > $infoDir/$dirBaseName #write the information about the backup
- else #no change since the last backup
- echo No need to backup
- fi
- else #if we have no info about last backup, run full backup
- cil=${backupDir}/`basename $dir`_0_$youngest_$timeStamp.gz
- echo Runnig full backup up to revision $youngest
- echo Target is $cil
- svnadmin dump $dir | gzip > $cil #the command itself
- [ -d $infoDir ] || mkdir $infoDir
- echo $youngest > $infoDir/$dirBaseName #write the information about the backup
- fi
- echo Done
- }
- #if nothing is given on commandline, $defaultBackup is backed up
- what=$1
- if [ "x$1" = "x" ]
- then
- what=$defaultBackup
- fi
- case "$what" in
- all)
- for dir in $svnRepository/*
- do
- dumpDir $dir
- done
- ;;
- *)
- dir=${svnRepository}/${what}
- if [ -d $dir ]
- then
- dumpDir $dir
- else
- echo $dir is not a valid SVN repository
- exit 2
- fi
- ;;
- esac
- echo All Done
Tiskni
Sdílej:
what=$1 if [ "x$1" = "x" ] then what=$defaultBackup filze nahradit za
what=${1:-$defaultBackup}P.S.: s/exitting/exiting/g