Binarly REsearch před týdnem informoval o kritických zranitelnostech UEFI souhrnně pojmenovaných LogoFAIL. Tento týden doplnil podrobnosti. Útočník může nahradit logo zobrazováno při bootování vlastním speciálně upraveným obrázkem, jehož "zobrazení" při bootování spustí připravený kód. Pětiminutové povídání o LogoFAIL a ukázka útoku na YouTube.
Byla vydána listopadová aktualizace aneb nová verze 1.85 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í. Ve verzi 1.85 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
git.kernel.org je nově oficiálně také v tmavém vzhledu.
Richard Hughes na svém blogu oznámil, že počet aktualizací firmwarů pomocí služby LVFS (Linux Vendor Firmware Service) přesáhl 100 milionů. Přehled podporovaných zařízení, nejnovějších firmwarů nebo zapojených výrobců na stránkách LVFS.
Byla vydána nová stabilní verze 3.19.0, tj. první z nové řady 3.19, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou podporu Raspberry Pi 5.
Altap Salamander (Wikipedie), dvoupanelový správce souborů pro Windows, byl uvolněn jako open source pod názvem Open Salamander. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv2.
Společnost JetBrains představila (YouTube) svou umělou inteligenci JetBrains AI a nástroj AI Assistant v IDE.
Byla vydána nová verze 255 správce systému a služeb systemd (GitHub, NEWS). Z novinek lze vypíchnout například novou službu systemd-bsod.service.
Google představil Gemini, svůj největší a nejschopnější model umělé inteligence.
openSUSE komunita vybírá nová loga. Jedním z cílů je odlišit se od SUSE. Aktuálně probíhá hlasování o logu openSUSE a čtyř distribucí Tumbleweed, Leap, Slowroll a Kalpa.
Ř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: