Byla vydána nová stabilní verze 3.24.0, tj. první z nové řady 3.24, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.
Na čem pracují vývojáři v Rustu napsaného mikrokernelového unixového operačního systému Redox OS (Wikipedie)? Byl publikován přehled vývoje za květen. Vypíchnout lze nový scheduler EEVDF nebo port desktopového prostředí Xfce na Redox OS.
Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.
Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.
Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.
Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.
Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.
Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).
aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.
/home/user1/dir/dir/dir/dir/file /home/user2/dir/dir/file /home/user3/dir/dir/dir/dir/dir/file /etc/dir/dir/file /mnt/disk/dir/dir/dir/file ..... .....Chtěl bych ty soubory zazálohovat, ale netuším jak přinutit tar aby zachoval práva a vlastníka adresářů. Spouštím to jako
tar -czvf archiv.tgz -T filelist.txtU souborů v archivu jsou ty práva v pořádku, ale u adresářů tar nastaví jako vlastníka root:root a práva 0755. Prostě mi jde o to, jak z relativně rozsáhlého filesystému vyzobat soubory a ty zazálohovat i s cestou včetně práv nadřazených adresářů. Poradíte něco?
archive="/home/zaloha/$(cat /etc/hostname)_$(date '+%Y-%m-%d').tar.gz" dir=$(mktemp -d) rsync -a --files-from=/home/zaloha/files.txt / $dir cd $dir tar -czvf $archive . chmod 600 $archive cd .. rm -r $dirAle přijde mi to jako docela prasečina ty soubory někam dočasně kopírovat aby se zachovaly práva adresářů i po rozbalení. Nevíte o nějakém čistějším řešení? Možná nějak cpio a rourou přímo do taru? ...zkusím ješte poexperimentovat.
tar --one-top-level -xzf $archiveVyvoří to podadresář.
cpio -ov < filelist.txt > archiv.cpioRozbaliť:
cpio -idv < archiv.cpio'o' je 'output to archive'
Ak cesty k súborom obsahujú medzeru/tab/... tak jednotlivé mená súborov by mali byť oddelené nulovym bajtom a nie EOL a cpio potom treba pridať flag '0'
Skombinovať sa to dá pekne s find ... -print resp. find ... -print0.
A prípadne sa dá pri rozbaľovaní pridať ešte
'm' - zachovať file modification timecpio -ov < filelist.txt | gzip > archiv.cpio.gza rozbalit
zcat archiv.cpio.gz | cpio -idvpřípadně se dá použít přepínač
--no-absolute-filenames aby se to nerozbalilo na původní místo ale do aktuálního adresáře. Doporučuju ale mít v tom seznamu souborů taky všecky adresáře a podadresáře v cestě k souboru. Jinak se nemusí zachovat jejich původní práva.
find Thunderbird | cpio -vo | gzip > Thunderbird.cpio.gznebo
cd Thunderbird; find | cpio -vo | gzip > ../Thunderbird.cpio.gzNěkteré verze taru prý neumí číst soubory ze seznamu tam se cpio hodí použít, ale na obyčejné rekurzivní balení všeho je tar lepší.
-p, --preserve-permissions extract information about file permissions (default for superuser)
Dělám to jako root, tak ten přepínač nemá nanic vliv vůbec.Nepomohlo by přidat --same-owner (viz zde)?
#!/bin/bash
# mapfile číta po riadkoch, tak nebude problém s medzerami v názvoch súborov
# Ak ale súbory majú v názve "\n", chcelo by to iný prístup
mapfile -t < list
# Vyrobíme si ten zoznam adresárov
for F in "${MAPFILE[@]}" ; do dirname "$F" ; done | sort -u >list-with-dirs
# Pridáme zoznam súborov
cat list >>list-with-dirs
# --no-recursion zabezpečí, že sa v archíve budú iba požadované súbory a adresáre bez obsahu
sudo tar -czf archive.tgz -C source --no-recursion -T list-with-dirs
mkdir -p /tmp/a/b/c/d/e/f
touch /tmp/a/b/c/d/e/f/file
find /tmp/a -type f > /tmp/list
mapfile -t < /tmp/list
for F in "${MAPFILE[@]}" ; do dirname "$F" ; done | sort -u
to vypíše jenom ten poslední adresář
/tmp/a/b/c/d/e/fAby to fungovalo tak by ten výstup měl vypadat nějak takto:
/tmp /tmp/a /tmp/a/b /tmp/a/b/c /tmp/a/b/c/d /tmp/a/b/c/d/e /tmp/a/b/c/d/e/f
filelist=/tmp/filelist.txt
dirlist=/tmp/dirlist.txt
IFS="\n"
t=$(mktemp)
cat $filelist |
while read f; do
cd "$(dirname $f)"
until [ "$(pwd)" = "/" ]; do
pwd >> $t
cd ..
done
done
sort -u < $t > $dirlist
cat $dirlist $filelist > /tmp/list.txt
rm $t $dirlist
tar -czvf archive.tgz --no-recursion -T /tmp/list.txt
Toto mi jakžtakž funguje, ale myslím že použitelné to bude maximálně do pár desítek/stovek souborů protože ta rychlost je tragická. Tak teď nevím co je menší zlo. Jestli toto nebo ten rsync :-/
cd a pwd. Hlavný problém je ale v tom, že sa každý adresár vyhodnocuje stále dokola znova a znova. Toto by mohlo pomôcť:
declare -A processed
mapfile -t < list
for F in "${MAPFILE[@]}" ; do
F="$(dirname "$F")"
while [ "$F" != "." -a "$F" != "/" ] ; do
test -z "${processed[$F]:+_}" || break
echo "$F"
processed[$F]=1
F="$(dirname "$F")"
done
done | sort >list-with-dirs
cat list >>list-with-dirs
sudo tar -czf archive.tgz -C source --no-recursion -T list-with-dirs
P.S.: sort -u by už nemal byť potrebný, možno ani sort.
Tiskni
Sdílej: