Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.
Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.
Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.
Na GitHubu byl zveřejněn algoritmus "Pro vás" sociální sítě 𝕏.
Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.
Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.
Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.
Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.
… více »PCIem je linuxový framework, který vytváří virtuální zařízení PCIe pomocí technik, které umožňují hostitelskému operačnímu systému rozpoznat tyto syntetické 'neexistující' karty jako fyzické zařízení přítomné na sběrnici. Framework PCIem je primárně zamýšlen jako pomůcka pro vývoj a testování ovladačů bez nutnosti použít skutečný hardware. Dle tvrzení projektu si fungování PCIem můžeme představit jako MITM (Man-in-the-Middle), který se nachází mezi ovladači a kernelem.
Řešení dotazu:
setfacl -m d:u:franta:rwx /dir
IN_MOVED_TO, kdyz chci, aby se zmenila prava souborum presunutym do adresare (v syslogu se neobjevi ani spusteni incronu). testoval jsem IN_CREATE a to funguje.
Mam tam tohle
/FILMY IN_MOVE_TO /bin/chmod 0777 $@/$#
IN_CLOSE_WRITE. Jak mam ale nastavit, aby pri presunu do toho hlidaneho adresare mely vsechny soubory prava 0770 a soubory 0660?
/bin/chmod 0660 soubor && chown user:filmy souborJak to zapisu?
$# by měl být soubor, kterého se daná událost týká. Takže bych zkusil
/bin/chmod 0660 $# chown user:filmy $#
&&, ale vysledek prakticky zadny
/muj/sledovany/files on_neco,on_neco /usr/local/bin/mujskript '$#'(těmi apostrofy si nejsem jistý…)
chmod 666 "$1" chown kubrt "$1"Odzkoušel bych první v tom skriptu:
echo "$1" > /tmp/kuka co bude v kuk to je předáno jako parametr, nevím jestli $# je včetně cesty…
./mujscript prenaseny_soubor, vystup je takovyto:
/bin/chown: nelze přistoupit k „“: Adresář nebo soubor neexistuje
chown).. on to nema totiz kam aplikovat, kdyz ten prenaseny_soubor je uz pryc ... jak to ale resit?
Takto je to dobre (tj. vc. cesty) $@/$#. Diky
Jen pro informaci. Nakonec jsem nasadil watcher .. incron totiz neumi pracovat rekruzivne, takre uninstall. Skriptiky jsem ponechal a predhodil jsem je watcheru. Ted je to dokonaly.
incron:/moje/cesta IN_ALL_EVENTS /usr/local/bin/mujskript $@ $# $% $&mujskript:
outfiles=/root/kuk
echo " cesta: $1" >> ${outfiles}
echo " nazev: $2" >> ${outfiles}
echo " udalost-text: $3" >> ${outfiles}
echo "udalost-cislo: $4" >> ${outfiles}
echo '----------------------------------' >> ${outfiles}
A uvidíte co se děje v rostoucím 'kuk' filesu…$@/$#, vždyť je to i v ukázkovém příkladu - nějak jsem to přehlédl…
ssh a taky to nefunguje
Tzn. zkopiroval jsem do "hlidaneho" adresare soubor pres ssh a prava se mi nazmenila..
events=all command=/usr/local/bin/mujskript $watched $filename $tflags $nflagsmujskript:
outfiles=/root/kuk
echo '----------------------------------' >> ${outfiles}
echo " cesta: $1" >> ${outfiles}
echo " nazev: $2" >> ${outfiles}
echo " udalost-text: $3" >> ${outfiles}
echo "udalost-cislo: $4" >> ${outfiles}
echo '----------------------------------' >> ${outfiles}
co potrebuju je jasne predpokladam
Takze mam zase nainstalovat incron? Bude tenhle test k necemu dobry, kdyz incron (diky tomu, ze neumi pracovat recursivne) pouzivat stejne nebudu?
…
Ted mam nastaveny watcher takhle:
[job1] watch=/shares/FOTKY events=create,move_to recursive=true command=/usr/local/scripts/shares-perm/fotky-perm $filename
/shares/FOTKY jsou na lokalnim disku serveru, kde bezi watcher. Kdyz nakopiruju soubor/adresar v ramci serveru (i z jineho diskoveho oddilu), skript zmeni prava. Kdyz ale nakopiruju soubor/adresar do /shares/FOTKY pomoci ssh nebo nfs z jineho pc, skript se nespusti.
Je to srozumitelne?
events=all, tak v logu mam spoustu techto hlasek:
Exception in thread Thread-185:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
self.run()
File "/usr/lib/pymodules/python2.6/pyinotify.py", line 1348, in run
self.loop()
File "/usr/lib/pymodules/python2.6/pyinotify.py", line 1334, in loop
self.process_events()
File "/usr/lib/pymodules/python2.6/pyinotify.py", line 1128, in process_events
self._default_proc_fun(revent)
File "/usr/lib/pymodules/python2.6/pyinotify.py", line 810, in __call__
return _ProcessEvent.__call__(self, event)
File "/usr/lib/pymodules/python2.6/pyinotify.py", line 544, in __call__
return meth(event)
File "/etc/init.d/watcher", line 257, in process_IN_OPEN
self.runCommand(event)
File "/etc/init.d/watcher", line 213, in runCommand
prefix)
File "/etc/init.d/watcher", line 290, in addWatch
wm = pyinotify.WatchManager()
File "/usr/lib/pymodules/python2.6/pyinotify.py", line 1530, in __init__
raise OSError()
OSError
Exception in thread Thread-221:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
self.run()
File "/usr/lib/pymodules/python2.6/pyinotify.py", line 1348, in run
self.loop()
File "/usr/lib/pymodules/python2.6/pyinotify.py", line 1334, in loop
self.process_events()
File "/usr/lib/pymodules/python2.6/pyinotify.py", line 1128, in process_events
self._default_proc_fun(revent)
File "/usr/lib/pymodules/python2.6/pyinotify.py", line 810, in __call__
return _ProcessEvent.__call__(self, event)
File "/usr/lib/pymodules/python2.6/pyinotify.py", line 544, in __call__
return meth(event)
File "/etc/init.d/watcher", line 257, in process_IN_OPEN
self.runCommand(event)
File "/etc/init.d/watcher", line 213, in runCommand
prefix)
File "/etc/init.d/watcher", line 290, in addWatch
wm = pyinotify.WatchManager()
File "/usr/lib/pymodules/python2.6/pyinotify.py", line 1530, in __init__
raise OSError()
OSError
To nevim, jestli je dobre nebo spatne.
/usr/local/bin/mujskript
chown root:root /usr/local/bin/mujskript
chmod 700 /usr/local/bin/mujskript
command=/usr/local/scripts/shares-perm/fotky-perm $filenamecommand=/usr/local/bin/mujskript $watched $filename $tflags $nflags
events=create,move_to na events=all
/root/kuk uvidíte co se děje, třeba cat /root/kuk
create(což bych ignoroval) a pak write_close, ale chce to vyzkoušet co to dělá při přejmenování, move-ntutí či zkopírování (v rámci sdílení, či odjinud).all mělo fungovat.kuk se prave nic neobjevi.
events=all, tak je to smůla a ta informace (event) není vyvolána, takže s tím tímto způsobem asi nic neuděláte.
mv a copy na tom lokalnim serveru?
, nevím jestli tam máte 'all' a jestli je tato konfigurace přenačtena.sync.
sudo exportfs /share/test 192.168.1.2server:
grep -ov '#' /etc/exports /share/test 192.168.1.2(rw,sync,rw,sync,no_subtree_check)server:
sudo incrontab -l/share/test IN_ALL_EVENTS /usr/local/bin/mujskript $@ $# $% $&client (na root-a):
mkdir bubuntunfs chmod 777 ./bubuntunfs mount -o 'vers=3' -t nfs 192.168.1.129:/share/test ./bubuntunfs touch ./mv-nfs-share-file mv mv-nfs-share-file bubuntunfs/ sudo cat /root/kuk cesta: /share/test
nazev: mv-nfs-share-file
udalost-text: IN_CREATE
udalost-cislo: 256
----------------------------------
cesta: /share/test
nazev: mv-nfs-share-file
udalost-text: IN_ATTRIB
udalost-cislo: 4
----------------------------------
cesta: /share/test
nazev: mv-nfs-share-file
udalost-text: IN_ATTRIB
udalost-cislo: 4
----------------------------------
cesta: /share/test
nazev: mv-nfs-share-file
udalost-text: IN_ATTRIB
udalost-cislo: 4
----------------------------------
cesta: /share/test
nazev: mv-nfs-share-file
udalost-text: IN_ATTRIB
udalost-cislo: 4
----------------------------------
server: sudo rm /root/kukmv bubuntunfs/mv-nfs-share-file ./sudo cat /root/kuk
cesta: /share/test
nazev: mv-nfs-share-file
udalost-text: IN_DELETE
udalost-cislo: 512
----------------------------------
... a pak na root-a umountsleep 3 && chmod…, což má ovšem také svá úskalí.$myPath=/cesta/tam/kam/chci
myGroup='mojeskupina'
myPermFile=660
myPermDir=2770
find "$myPath" ! -group "$myGroup" -exec chgrp "$MyGroup" {} \;
find "$myPath" -type f ! -perm $myPermFile -exec chmod $myPermFile {} \;
find "$myPath" -mindepth 1 -type d ! -perm $myPermDir -exec chmod $myPermDir {} \;
díky hledání jen neodpovídajících nastavení, jsou většinou změny malé...
…odzkoušejte postupně a používejte man - nevěřte mi
myPath=/cesta/tam/kam/chci …
Zeptam se blbe.. nestaci tam pridat jen prametr IN_ATTRIB? Jak by se to chovalo? Muzu tim neco zkazit?
incron tam lze použít IN_NO_LOOP, tím pádem by to šlo.
sleep 3 &&. Bohuzel se mi skripty neaplikuji. Bohuzel se mi prava nezmeni v pripade, kdyz nakopiruju adresar s obsahem. Na ten jeho obsah (soubory v nem) se prava neaplikuji. Pouzivam ten watcher protoze pracuje recursivne. Funguje mi, kdyz nakopiruju prazdny adresar a teprve pak jeho souborovy obsah - to se skript aplikuje a v mem propade se prava zmeni. Pritom jsem to overoval tim kuk souborem a system mi hlasi, ze soubory byly vytvoreny IN_CREATE - kdyz kopiruju adresar se souborovym obsahem. Jakto?
)
all tam mam nastaveno. sync jsem nezkusil, nejdrive se musim podivat, k cemu vubec je
Tiskni
Sdílej: