abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:33 | IT novinky

    Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | Zajímavý projekt

    Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »

    Ladislav Hagara | Komentářů: 1
    včera 18:55 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.4 (𝕏). Přehled novinek a vylepšení v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | Bezpečnostní upozornění

    Byla objevena zranitelnost Tailworm v Tailscale a Headscale umožňující lokální eskalaci práv přihlášeného uživatele. Následně byla v Tailscale v opravené verzi 1.104.4+ změněna architektura aplikace. Viz příspěvek na blogu Tailscale.

    vencour | Komentářů: 0
    27.10. 18:11 | Nová verze

    Byl vydán Mozilla Firefox 159.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 159 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    27.10. 14:11 | IT novinky

    Nasazení softwaru, který nyní používá ve svých autech pro čínský trh, zvažuje automobilový koncern Volkswagen také v Evropě, kde by se mohl používat v budoucích vozech značek Volkswagen, Škoda a Cupra. Základem pro budoucí evropské modely by se mohla stát takzvaná China Electronic Architecture, elektronická architektura vyvinutá pro čínské modely ve spolupráci s tamní automobilkou Xpeng.

    Ladislav Hagara | Komentářů: 37
    27.10. 13:44 | Komunita

    Vedoucím brněnské pobočky Red Hatu se stal Radek Vokál [LinkedIn].

    Ladislav Hagara | Komentářů: 2
    26.10. 21:29 | Nová verze

    Open source download manager Fatrat povstal z popela. Autor k dvacetiletému výročí projektu přidal do vínku podporu nejnovější knihovny libtorrent, rozhraní portoval na QT6, došlo k nahrazení podpory java rozšíření pythonem. Webové rozhraní bylo přepsáno s podporou mobilních zařízení. Aplikaci je taktéž možno zkompilovat bez podpory GUI. Více informací v releases.

    Max | Komentářů: 31
    26.10. 21:11 | Bezpečnostní upozornění

    Zranitelnost Broccoli2Shell (CVE-2026-111497) v kompresní knihovně Brotli se netýká pouze Node.js. Ohroženy jsou také aplikace využívající HTTP. Knihovnu používají webové prohlížeče, servery i řada dalších aplikací a technologií, například také Python nebo Bun. Identifikace všech zranitelných komponent může být obtížná, protože knihovna bývá součástí dalších softwarových balíčků nebo je přímo začleněna do spustitelných souborů aplikací.

    Ladislav Hagara | Komentářů: 10
    26.10. 18:33 | Komunita

    Quad9, švýcarský celosvětově působící neziskový poskytovatel DNS, od 24. listopadu 2026 ukončí své služby ve Francii kvůli soudnímu sporu s katarskou televizní stanicí beIN. Ta požadovala blokování domén, které podle ní nelegálně zpřístupňují sportovní přenosy. Francouzský soud Katarům vyhověl a nařídil (🇫🇷, PDF) Quad9 blokaci zavést, pod hrozbou pokuty 1000 eur denně. Provozovatel příkaz odmítá s tím, že blokace

    … více »
    Pendrekama do nich❗ | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2937 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: tar a čtení z listu

    18.4.2024 01:10 jejda | skóre: 27 | blog: jejda
    tar a čtení z listu
    Přečteno: 937×
    Ahojte! Mám seznam souborů ve kterém je několik set položek ve formátu:
    /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.txt
    U 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?

    Odpovědi

    18.4.2024 05:09 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Teda provizorně jsem to zatím vyřešil takto:
    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 $dir
    Ale 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.
    18.4.2024 06:57 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Teda má to jeden zajímavý bug. Když ten archiv někam rozbalím, tak to změní práva adresáře do kterého se to rozbaluje na 0700. :-(
    21.4.2024 09:30 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Aha tak ono to není bug ale takova "security" fičura toho mktemp. Bezpečnější je to rozbalovat jako
    tar --one-top-level -xzf $archive
    Vyvoří to podadresář.
    18.4.2024 08:15 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Existuje nástroj, ktorý je na toto ušitý: cpio. Akurát, že formát nie je "tar" ale "cpio". Zabaliť:
    cpio -ov < filelist.txt > archiv.cpio
    Rozbaliť:
    cpio -idv < archiv.cpio 
    'o' je 'output to archive'
    'v' je 'verbose' - aby písal mená súborov, ktoré spracováva
    'i' je 'input from archive'
    'd' je 'create directories as needed'

    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.

    18.4.2024 08:17 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: tar a čtení z listu

    A prípadne sa dá pri rozbaľovaní pridať ešte

    'm' - zachovať file modification time
    18.4.2024 10:37 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Ono se cpio v tomto chová uplně stejně jak tar. Ty adresáře které v tom archivu fyzicky vůbec nejsou to vytváří až během rozbalování s právama toho kdo ten archiv rozbaluje. Jediné na co jsem zatím přišel je, ty soubory přechodně vykopírovat včetně cest někam ven a tam je teprv zabalit. Ale přijde mi to takové těžkopádné. Jsem tak trochu doufal, že by mohl existovat nějaký elegantnější způsob.
    21.4.2024 01:43 Jarda
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    rastos: je to skvělé, jenom jestli by šla nějak zakomponovat komprimace do příkazů něco jako "cpio.gz"?
    21.4.2024 09:16 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Zakomprimovat to jde jednoduše rourou přes gzip
    cpio -ov < filelist.txt | gzip > archiv.cpio.gz
    a rozbalit
    zcat archiv.cpio.gz | cpio -idv
    pří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.
    23.4.2024 16:16 Jarda
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Moc díky za radu. Začal jsem to používat
    23.4.2024 23:04 bajus
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Vyzkoušel jsem, ale má to nějaký zvláštní omezení oproti tar.gz. Například mám Thunderbird s profilem na sdb1 a cpio.gz zabalí jenom prázdný adresář Thunderbird bez podadresáře Profiles/bajus.mail... takže vlastně nic. Ve filelistu mám cestu a Thunderbird.
    24.4.2024 14:41 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Tak jestli máš v tom filelistu jenom jeden řádek, cpio ti zabalí jenom jeden soubor. Neprohledává ty adresáře rekurzivně. Jestli chceš zabalit sakumprásk všecko v adresáři Thunderbird, předhoď mu jako vstup výstup programu find.
    find Thunderbird | cpio -vo | gzip > Thunderbird.cpio.gz
    nebo
    cd Thunderbird; find | cpio -vo | gzip > ../Thunderbird.cpio.gz
    Ně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ší.
    18.4.2024 08:24 X
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    -p, --preserve-permissions
    extract information about file permissions (default for superuser)
    
    18.4.2024 10:40 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Dělám to jako root, tak ten přepínač nemá nanic vliv vůbec.
    18.4.2024 12:20 Vtipnéř | skóre: 39 | blog: Vtipnéřův blog | Brno
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Dělám to jako root, tak ten přepínač nemá nanic vliv vůbec.
    Nepomohlo by přidat --same-owner (viz zde)?
    Opening Windows is better than washing them. Clearing Windows (e.g. erasing or deleting) is even much better.
    18.4.2024 10:49 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    A ten zoznam zálohovaných objektov z akého dôvodu nemôže obsahovať aj priečinky (adresáre)?

    Vyextrahovať to z hootvého zoznamu cez dirname a uniq by mala byť hračka. Ale nechce sa mi to testovať.
    20.4.2024 20:28 Vlado99 | skóre: 14 | blog: vlado99
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Áno, toto je cesta. Len treba pridať --no-recursion, pretože chceme iba tie adresáre, nie všetky súbory v nich:
    #!/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
    
    21.4.2024 08:29 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    To ale nebude fungovat pro vnořené adresáře. Zkus
    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/f
    
    Aby 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
    21.4.2024 12:46 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    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 :-/
    21.4.2024 22:56 Vlado99 | skóre: 14 | blog: vlado99
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Rýchlosť sa trochu zlepší, keď sa zbavíš zbytočných 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.
    22.4.2024 07:19 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Hm tak toto už vypadá líp. Je to asi třikrát rychlejší jak ten můj pokus. 20000 řádků to přechroupe zhruba za 15 sekund. To už se dá používat. V těch složených závorkách se odehrává nějaká magie které zatím moc nerozumím. No každopápádně děkuju.
    22.4.2024 10:45 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Jaká magie? Normální práce s obsahem a názvy proměnných.
    22.4.2024 13:18 X
    Rozbalit Rozbalit vše Re: tar a čtení z listu
    Naji si v manualu "Parametr Expansion".

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.