Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
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 »
M.
Řešení dotazu:
[Unit] Description=Mount btrfs subvolume [Mount] What=UUID=.... Where=/media/test Type=btrfs Options=defaults,auto,nofail,subvol=@milan [Install] WantedBy=multi-user.target
ENV{ID_FS_UUID}=="af761341-f12a-447b-aa33-2fa088c96a4c", ACTION=="add", RUN{program}+="/usr/bin/systemd-mount --no-block --collect $devnode /media/extDisk"
Tak jsem v sekci RUN změnil můj původní zápis na jméno mého skriptu a v něm
/usr/bin/systemd-mount --no-block --collect $NODE /media/extDiskTo funguje, budu tedy pokračovat
/usr/bin/systemd-mount --no-block --collect -t=btrfs -o=defaults,auto,nofail,subvol=@milan $NODE /media/extDiskS tím -o jsem si nebyl jistý co tam patří, dokumentace nic ... děkuji, zkusím zítra ... Tak nějak ale vaše rady vždy fungovaly...
M
/usr/bin/systemd-mount --no-block --collect -t=btrfs -o=defaults,auto,subvol=Filmy /dev/sdc /srv/data/Filmymi to psalo :
Failed to start transient mount unit: Unit srv-data-Filmy.mount was already loaded or has a fragment file.Takže jsem pátral, a zjistil jsem, musel jsem, že srv-data-Filmy.mount skutečně eistuje ( jesti jen do následujícího restartu nevím, jetě jsem nezkoušel, ale ve skrtiptu mi stačí ( resp musí spustit jen
systemctl start srv-data-Filmy.mountJako fakt koukám, tohle jsem nikdy nepotřeboval, ale jak je to vše udělaný ... no žasnu.
M.
/etc/udev/rules.djsem vytvořil soubor
99_ext_disk.ruleskterý obsahuje
ENV{ID_FS_UUID}=="af761341-f12a-447b-aa33-2fa088c96a4c", ACTION=="add", RUN+="/root/bin/disk.automount.sh $devnode"
af761341-f12a-447b-aa33-2fa088c96a4c = můj případ, vy si tam dejte potřebné hodnoty ( najdete např. v /dev/disk/by-uuid/ )
samotný soubor /root/bin/disk.automount.shobsahuje jednak mountování disku, pak i mountování subvolumů btrfs. Protože skript je spouštěn udevem dvakrát ( jsou dva disky "slité" do jednoho velkého pomocí btrfs ) po začátku programu se nastavuje hodnota 'run' v hlídacím souboru, jako flag, že už jedna instance běží - nedokázal jsem to jinak ... možná to jde...
#! /bin/bash
watchFile="/root/bin/automount.watch"
test=`grep "run" $watchFile`
logfile="/root/bin/automount.log"
echo -e "\n\n"`date` >> $logfile
if [[ "$test" == "run" ]]; then
echo "mountování již běží :$test: " >> $logfile
exit 0
fi
echo "run" > $watchFile
NODE=${1:-""}
if [ -z $NODE ]; then
echo "Bez node " >> $logfile
echo "" > $watchFile
exit 1
fi
echo $NODE >> $logfile
point=`systemctl list-units -t mount --all | grep 'mounted' | grep '/media/extDisk'`
if [ -n "$point" ]; then
echo " $NODE už připojeno :>$point< :" >> $logfile
echo "" > $watchFile
exit 0
fi
echo "mountuju $NODE na /media/extDisk" >> $logfile
rv=`/usr/bin/systemd-mount --no-block --collect $NODE /media/extDisk 2>&1`
st=$?
if [ $st -gt 0 ]; then
echo "$NODE Mount disku se nezdařil: $rv" >>$logfile
echo "" > $watchFile
exit 1
fi
echo "$NODE mount subvolume Filmy" >> $logfile
point=`systemctl list-units -t mount --all | grep mounted | grep /srv/data/Filmy`
if [ -n "$point" ]; then
echo "$NODE už připojeno " >> $logfile
echo "" > $watchFileunmount /
exit 0
fi
$rv=`systemctl start srv-data-Filmy.mount`
st=$?
if [ $st -gt 0 ]; then
echo "$NODE Při mountu Filmy se něco nezdařilo: $st $rv" >>$logfile
fi
echo "$NODE mount subvolume Software " >> $logfile
systemctl start srv-data-Software.mount
echo "$NODE mount subvolume zalohy " >> $logfile
systemctl start srv-data-zalohy_ext.mount
echo "" > $watchFile
exit 0
Soubor je plný hlášek, tak trochu ladící režim, protože některé úseky mě zlobily, chtěl jsem vědět, co se vlastně děje... A zachoval jsem ta hlášení i pro vás, snad to využijete . Nebo promažete.
Výsledkem je, že po spuštění (nebo připojení) zálohovacího disku se disk automaticky disk připojí a připojí se i připojí 3 další subvolumy do složek, které jsou pak pro mě i ostatní pak dostupné v síti. To připojování se děje na serveru, je tam sice ssh připojení, ale tento způsob je pro mě supr. No odpojování ( odmountování před fyzickým vypnutím / odpojením ) funguje "samo" ale asi to ošetřím nějakým skriptem už na mém PC...
M.
x-systemd.automount v /etc/fstab
To↑ je univerzální odpověď na všechny otázky kolem automatického mountování subvolume (i čehokoliv jiného). Pak už stačí, aby v /etc/fstab bylo několik řádků se stejným UUID=..., ale jiným subvol=... / subvolid=... a je to, cíle je dosaženo.
Záleží na distru, ale obvykle z fstab i z crypttab vzniknou unity.
Externí disk se ničím neliší od interního, pokud jde o x-systemd.automount.
Za běžných okolností je do mountpointu „namountovaný“ systemd, který na vyžádání (při prvním přístupu) mountne přes sebe ten opravdový filesystém.
Teď si nevzpomínám, co se stane, když automount je, ale zařízení s FS není. Mám dojem, že se nějakou dobu čeká a pak ty čekající přístupy selžou nebo tak. Někde je to (trochu) konfigurovatelné.
Pro mnohem flexibilnější nastavení je dobré prostudovat systemd.path. Tím se dá celkem spolehlivě spustit akce při změně adresáře (třeba toho mount pointu).
Tiskni
Sdílej: