Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).
OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.
Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.
R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.
IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.
Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.
Řešení dotazu:
rsync ..... 2> /dev/null
if ! mount | grep připojený_disk; then exit 0 fi rsync ...
#!/bin/sh
?
Můžu udělat něco takového? :
#!/bin/sh mount /mujusbdisk /umisteni if ! mount | grep připojený_disk; then exit 0 fi rsync ... umount /umisteniAle co se stane, když mountlej bude? Moc diky.
#!/bin/sh # sve UUID zjistis pomoci: blkid /dev/aktualni_jmeno_zarizeni_oddilu UUID="UUID_PRIPOJENEHO_ODDILU_NA_KTEREJ_CHCES_ZALOHOVAT" if ! blkid -U $UUID; then exit 0 fi mount /dev/disk/by-uuid/$UUID /umisteni rsync ... umount /umisteni
mountpoint -q /umisteni && umount /umisteni #nebo dle preferenci zapis if-fi :) if mountpoint -q /umisteni; then umount /umisteni; fi
mountpoint -q /umisteni || mount /dev/disk/by-uuid/$UUID /umisteni #nebo dle preferenci zapis if-fi :) if ! mountpoint -q /umisteni; then mount /dev/disk/by-uuid/$UUID /umisteni; fi
cryptsetup luksOpen
No a ruční zadávání hesla pak ještě dořeším nakonec.
#!/bin/sh # UUID USB disku podle blkid UUID="30a8ed74-3d45-4fb1-8d84-3890cb60b0e1" if ! blkid -U $UUID; then exit 0 fi echo "Rozšifrování a připojení disku" if ! mountpoint -q /mnt/backup; then cryptsetup luksOpen /dev/sdb1 backup && mount /dev/mapper/backup /mnt/usbbackup; fi echo "start synchronizace" rsync -a --progress --delete /FOTKY_ARW /mnt/usbbackup echo "konec synchonizace" echo "odpojení disku" if mountpoint -q /mnt/usbbackup; then umount /mnt/usbbackup/ && cryptsetup luksClose backup; fi echo "Hotovo! "
lvdisplay
neumí být sám o sobě tichý...
# presmerovani stdout - standardni vystup nastroj >/dev/null #nebo to same jinak nastroj 1>/dev/null # presmerovani stderr - standardni error vystup nastroj 2>/dev/null # presmerovani stdout a stderr nastroj 1>/dev/null 2>/dev/null #nebo to same jinak nastroj &>/dev/nullu lvdisplay normalni vystup je kdyz zobrazuje informace, errorvystup je kdyz hlasi ze nenalezl zarizeni, takze aby byl zticha musis presmerovat oboje... tedy v tvem pripade:
lvdisplay /dev/mapper/lvm-root--snap &>/dev/null && echo "Snap uz je..." || echo "Snap jeste neni..."nebo jednoduse kontrolujes jen existenci souboru:
[ -e /dev/mapper/lvm-root--snap ] && echo jenebo dukladneji primo existenci blokoveho zarizeni:
[ -b /dev/mapper/lvm-root--snap ] && echo je(viz seznam operatoru co muzes testovat)
lvdisplay /dev/mapper/lvm-root--snap | grep -q "read/write" && echo "je pro zapis"
#!/bin/sh ?Já používám bash (na Debianu je sh defaultně dash), má víc funkcí (které ty nevyužiješ, takže klidně sh). Nebo taky nic když ten skript budeš spouštět jako
bash skript.sh
(místo pouhého zadání cesty).
Jo, klidně tak.
udisks --detach /dev/sdb
ztichne a jen bliká ledka. Existuje nějaká možnost jeho opětovného připojení, bez toho, abych musel fyzicky odpojit a připojit USB? Jde mi o to, aby neběžel nepřetržitě, když na to není dělaný.
# odpojení disku (samozřejmě prováním po odmountování) # disk zmizí i z fdisk -l a z blkid:) echo '2-1.1' |sudo tee /sys/bus/usb/drivers/usb/unbind # připojení disku echo '2-1.1' |sudo tee /sys/bus/usb/drivers/usb/bind
1. mount USB disku (pokud není přimountovaný) 2. vytvoření LVM snapshotu (pokud není vytvořený) 3. mount LVM snapshotu (pokud není přimountovaný) 4. rsync záloha LVM snapshotu na USB disk 5. umount LVM snapshotu 6. odstranění LVM snapshotu 7. umount USB diskuA to by mělo být vše. Pokud jakýkoliv krok nedopadne, skript se ukončí a nepokračuje dalším krokem (nic inteligentnějšího mě v tuto chvíli nenapadá:).
0. ověřit, zda je USB disk připojenýTo všechno mám, zdá se, funkční. Takže "jen" tam dodat to ověřování a vytváření/rušení snapshotů. Dostanu se k tomu večer, a čuju, že se zaseknu na tom ověření, zda snapshot existuje:)
#!/bin/sh # UUID USB disku podle blkid UUID="30a8ed74-3d45-4fb1-8d84-3890cb60b0e1" # Snapshot, který se bude zálohovat SNAPSHOT="FOTKY" if ! blkid -U $UUID ; then echo "USB disk není připojen!!!" exit 0 fi if [ ! -d /mnt/usbbackup ] ; then echo "vytváření adresáře pro připojení disku" mkdir /mnt/usbbackup fi echo "dešifrování disku" if ! cryptsetup status -q /dev/mapper/backup ; then cryptsetup luksOpen /dev/disk/by-uuid/$UUID backup fi echo "připojení disku" if ! mountpoint -q /mnt/usbbackup ; then mount /dev/mapper/backup /mnt/usbbackup fi echo "vytvoření snapshotu" if ! lvdisplay /dev/LVM-sda2-sdb2/$SNAPSHOT ; then lvcreate -s -L 1G -n $SNAPSHOT /dev/LVM-sda2-sdb2/$SNAPSHOT fi if [ ! -d /snapshots/$SNAPSHOT ] ; then echo "vytváření adresáře pro připojení snapshotu" mkdir /snapshots/$SNAPSHOT fi echo "připojení snapshotu" if ! mountpoint -q /snapshots/$SNAPSHOT ; then mount /dev/LVM-sda2-sdb2/$SNAPSHOT /snapshots/$SNAPSHOT fi echo "start synchronizace" rsync -a --progress --delete /snapshots/$SNAPSHOT /mnt/usbbackup echo "konec synchonizace" echo "odpojení USB disku" if mountpoint -q /mnt/usbbackup; then umount /mnt/usbbackup && cryptsetup luksClose backup fi echo "odpojení snapshotu" if mountpoint -q /snapshots/$SNAPSHOT ; then umount /snapshots/$SNAPSHOT fi echo "zrušení snapshotu" if lvdisplay /dev/LVM-sda2-sdb2/$SNAPSHOT ; then lvremove -f /dev/LVM-sda2-sdb2/$SNAPSHOT && rmdir /snapshots/$SNAPSHOT fi echo "hotovo!"
./zaloha -s FOTKY
(to "s" je příklad - jako snapshot).
# pro pouziti ./jmenoscriptu jedna dva tri # pouziti paramatru podle poradi echo $1 $2 $3 PROMENA_1="$1" PROMENA_2="$2" PROMENA_3="$3" # pouzti vsech parametru dohromady jako jeden - tedy jako "jedna dva tri" echo $* # pouzti vsech parametru samostatne za sebou - tedy jako "jedna" "dva" "tri" echo $@ # pro "uplnost" -> zobrazeni nazvu scriptu # pouzitelne napr. pokud 1 script toho ma delat vice a chces rozlisovat co ma delat podle nazvu symlinku kterej smeruje na script # tedy napr. script zalohovani, na kterej smeruje symbolickej link zalohu-udelej a zalohu-obnov :) echo $0nebo ti jde opravdu o moznost predavat parametry ktere maji nejakou hodnotu (viz tve -s jmeno_snapshotu) ?
zaloha AVF
, kde AVF by znamenalo, Audio, Video, Foto a přítomnost každého parametru by znamenala, že se záloha provede (popřípadě že bez parametru se provede vše a uvedením parametru to vyloučíš)
#!/bin/bash pripravne_kroky(){ #genericke kroky vyuzivajici predane jmeno parametru v hodnote $1 } uklizeci_kroky(){ #genericke kroky vyuzivajici predane jmeno parametru v hodnote $1 } for snapshot in $@; do pripravne_kroky rsync blabla uklizeci_kroky done
#!/bin/bash pripravne_kroky(){ #genericke kroky vyuzivajici predane jmeno parametru v hodnote $1 } uklizeci_kroky(){ #genericke kroky vyuzivajici predane jmeno parametru v hodnote $1 } for snapshot in $@; do pripravne_kroky ${snapshot} rsync blabla uklizeci_kroky ${snapshot} done
echo "připojení disku - mount" if ! mountpoint -q /mnt/usbbackup ; then mount /dev/mapper/backup /mnt/usbbackup &>/dev/null fi if ! mountpoint -q /mnt/usbbackup ; then echo "připojení disku se nepodařilo (je disk fyzicky připojen v USB?)" echo "KONEC!" exit 0 fiCely muj aktualni skript je v priloze.
mountpoint -q /mnt/usbbackup || (mount /dev/mapper/backup /mnt/usbbackup || (echo "připojení disku se nepodařilo (je disk fyzicky připojen v USB?)"; echo "KONEC!"; exit 0))to same rozdelene pomoci \ na vice radku pro prehlednost
mountpoint -q /mnt/usbbackup || \ (mount /dev/mapper/backup /mnt/usbbackup || \ (echo "připojení disku se nepodařilo (je disk fyzicky připojen v USB?)"; echo "KONEC!"; exit 0))"&>/dev/null" sem vypustil, protoze pokud neni problem tak neni vystup zadnej a pokud je problem, neni dobre to zahazovat ale se podle toho zaridit a/nebo upravovat skript na lepe odchyceni takovych situaci v budoucnu ;)
dalsi duvod je ze "to proste chce" a proc by ne :)No vzhledem k tomu, že první věta vlastního dotazu tazatele je: "Ahojky, svépomocí a hlavně na základě čerpání informací z podobných diskuzí, jako je abclinuxu jsem si rozjel můj první Linux." mi připadalo rozumné uvést kontex a nějaké doporučení. Všichni máme zkušenosti z dotazy začátečníků, kteří "něco chtějí", ale ne vždy je to rozumné, viz jedna z tazatelových reakcí, kdy píše že rozdělení je proto, že je tam několik uživatelů a různí uživatelé se různým způsobem připojují. Ale tohle neošetřuje LVM a rozdělení na oddíly, ale struktura přístupových práv.
Tiskni Sdílej: