Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.1.0. Po devíti letech od vydání předchozí verze 3.0.5. Doména dillo.org již nepatří vývojářům Dilla.
O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).
Nová vývojová verze Wine 9.8 řeší mimo jiné chybu #3689 při instalaci Microsoft Office 97 nahlášenou v roce 2005.
Coppwr, tj. GUI nástroj pro nízkoúrovňové ovládání PipeWire, byl vydán v nové verzi 1.6.0. Zdrojové kódy jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.
Byla vydána dubnová aktualizace aneb nová verze 1.89 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í. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.
Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.
Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.
Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".
Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).
rsync -ab --log-file=$tgf/00_full.log --block-size=$blok -X /tmp/exclude -d $s1 $tgf
Rsync skopíruje všetko do nového umiestnenia, spraví log, vylúči súbory čo sa nebudú zálohovať,a data bude kopírovať po blokoch zadanej velkosti
Rsync - prírastková záloha:
rsync -ab --block-size=$blok --link-dest=$lbf -X /tmp/exclude -d $s1 $tgi
Rsync postupuje rovnako ako pri plnej zálohe. Na nezmenené súbory spravý hardlink namiesto kopírovania.
SSHFS - prístup na server:
sshfs tomolc@$iph:/home/tomolc/zalohy/tomolc $tg
Kontrola či NB bezí z batérie:
cat /sys/class/power_supply/ACAD/online
V prípade že NB beží z batérie spraví sa len prírastková záloha.
Samotný skrypt pridáva niekoľko obslužných pasáži, ktoré kontrolujú stav NB, pripoja domáci server a vyhodnotia aká záloha sa uskutoční - full alebo prírastková.
V dizkuzii by som sa chcel poradiť ohladom optimálnosti riešenia vzhladom na čas zálohovania na 100Mbit LAN a jednojadrovom CPU na notebooku (Intel Core2Solo 1,6Ghz). Pôvodná predstava bola, že plnú zálohu stačí robiť raz za niekoľko mesiacov a prírastkovú potom každý deň.
Je dvoležité aby dáta v zálohe vyzerali rovnako ako oreginál. V prípade že si zmažem omylom súbor tak si jednoducho cez sshfs pripojím disk so zálohou a skopírujem cez filemanager záložný súbor nazad do notebooku.
Skript vyzerá takto:
(Zatial som neprerobil všetky komenty do AJ - v tom som začiatočník.)
echo "back_remote======================================================="
ac=`cat /sys/class/power_supply/ACAD/online`
#if [ "$ac" = "0" ]; then echo "power off-line"; exit; fi
dnorm="`date +'%Y-%m-0%d_%H-%M-%S'`" #human date
dunix="`date '+%s'`" #unix date in "s"
bn=30 #backup numbers
hm=$HOME #user home
export DISPLAY=:0
blok=32768 #65536, 16384
iph=192.168.0.101 #ip servera urceneho na zalohy
fbd=60 #full backup time period in days
ibh=24 #incremental backup time period in hours
fbt=`echo $(($fbd * 24 * 3600))` #full backup time period in "s"
ibt=`echo $(($ibh * 3600))` #incremental backup time period in "s"
s1="$hm" #source dirs to backup
tg=/media/netfs/.z_back_remote #remote backup target
tgf=$tg/$dnorm-full #target full backup
tgi=$tg/$dnorm-incr #target incr backup
lbf=$tg/00_last_backup_full #last backup full symlink
lbi=$tg/00_last_backup_incr #last backup incr symlink
echo "mobac
.mobac
XnView.db
.thumbnails
lost+found
.cache
" > /tmp/exclude #users excludet dirs or files
#zalohovacie funkcie----------------------------------------------------
function backfull () {
echo "full_backup==================================================="
cd $tg; mkdir $tgf #vytvori ciel pre novu plnu zalohu
if [ -L "$lbf" ]; then rm $lbf; fi
ln -s $dnorm-full 00_last_backup_full #vytvori novy simlink aby bolo jasne ktora zaloha je posledna plna
echo $dunix > $tgf/full.time #poznaci unixovi datum tejto plnej zalohy
echo "backfull"
rsync -ab --log-file=$tgf/00_full.log --block-size=$blok -X /tmp/exclude -d $s1 $tgf
echo "end==========================================================="; sleep 3
}
function backincr () {
echo "incremental_backup============================================"
cd $tg; mkdir $tgi
if [ -L "$lbi" ]; then rm $lbi; fi
ln -s $dnorm-incr 00_last_backup_incr
echo $dunix > $tgi/incr.time
echo "backinr"
rsync -ab --block-size=$blok --link-dest=$lbf -X /tmp/exclude -d $s1 $tgi
echo "end==========================================================="; sleep 3
}
#sprava uloziska--------------------------------------------------------
function hzon () {
ping -c 3 -W 3s $iph > /dev/null
if [ "$?" = "0" ]; then echo "domaci server je online"; sync
sshfs tomolc@$iph:/home/tomolc/zalohy/tomolc $tg
else echo "domaci server je offline"; exit
fi
}
function hzoff () { sync; sync; fusermount -u /media/netfs/.z_back_remote;}
#kontroly---------------------------------------------------------------
function control () {
rsync --version &>/dev/null
if [[ ! $? -eq 0 ]]; then echo "nainstaluj program rsync"; exit; fi
sync; sleep 2
if [ ! -f "$tg/tomolc.test" ]; then hzon; else echo "Server uz je pripojeny, zacinam zalohovanie"; fi
}
#samotne zalohovanie----------------------------------------------------
control; cd $tg
if [ -d "$lbf" ]; then dplna="`cat $lbf/full.time`"; else dplna=0; fi #pri uplne prvom spusteni spravi plnu zalohu, pri dalsich uz pracuje podla ligiky nizsie
if [ -d "$lbi" ]; then dprir="`cat $lbi/incr.time`"; else dprir=0; fi #pri uplne prvom spusteni spravi plnu zalohu, pri dalsich uz pracuje podla ligiky nizsie
if [ "$ac" = "0" ]; then echo "sekcia 1 power off-line"; echo "INCREMENTAL"; fi #ak NB bezi na baterku urobi sa len prirastkova zaloha.
if [ "$ac" = "1" ]; then #ak je PC pripojeny do elektriky tak sa rozhoduje co dalej
echo "sekcia 2 power online"
if [ `echo $(($dunix - $dplna))` -ge $fbt ]; then #podmienka vypocita ako stara je posledna plna zaloha a ak je starsia ako FB (def hore) spravy znova plnu zalohu
echo "sekcia 2-3 plna"
backfull
elif [ `echo $(($dunix - $dprir))` -ge $ibt ]; then
echo "sekcia 2-4 prirastkova"
backincr
else echo "dnes uz zaloha prebehla"
fi
long="`ls -t $tg | tail -n +$bn`" #list backup older of backup numbers
#if [ ! "$long" = "" ]; then echo "remove old backup"; cd $tg; rm $long; fi #remove old backup
fi
sync; sleep 1; sync; hzoff
echo "end==============================================================="; sleep 3
Tiskni Sdílej:
Pôvodná predstava bola, že plnú zálohu stačí robiť raz za niekoľko mesiacov a prírastkovú potom každý deň.Pokud nebudete dělat rotaci záloh (myslím změnu disku, médií apod.) pak Vám stačí udělat plnou pouze jednou a následně pouze increment.
fbt=`echo $(($fbd * 24 * 3600))`
muzes usetrit jedno volani echo a jeden subshell a napsat rovnou:
fbt=$(($fbd * 24 * 3600))
dnorm="`date +'%Y-%m-0%d_%H-%M-%S'`" ---> dnorm=$(date +'%Y-%m-0%d_%H-%M-%S')
deb http://ftp.cz.debian.org/debian jessie main contrib non-free