Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.
Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.
3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.
Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Ř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
#!/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: