.Xz භාවිතා කරන තාර බෝලයක් මා ඉවත් කරන්නේ කෙසේද?


840

-xfzGzip සහ bzip2 ලේඛනාගාරය හසුරුවන ධජයක් සමඟ තාර බෝල නිස්සාරණය කිරීමට මම පුරුදුව සිටිමි .

මෑතකදී මම .tar.xzගොනුවකට දිව ගිය අතර එය එක් පියවරකින් සම්පීඩනය කිරීමට මම කැමැත්තෙමි, එය tarකරන්නේ කෙසේද?


12
xz-utilsදැනටමත් නොමැති නම් ඔබට ස්ථාපනය කිරීමට සිදුවිය හැකි බව සලකන්න
ටොබියාස් කියෙන්ස්ලර්

ඔබ වෙනුවෙන් තාර කොඩි අනුමාන කරන මගේ කුඩා පිටපත මෙන්න: gist.github.com/shime/5908634
shime

4
tar --helptarකොඩි ලැයිස්තුගත කරයි. -xzfසඳහා අදාළ වේ gzip. -xjfවෙත bz2. -xJfවෙත xz.
noobninja

තාර මෙය ඉටු කරන ආකාරය වඩා අහන්න හොඳ ප්රශ්නය: භාවිත unarහෝ 7zකිසි විටෙකත් නැවත සංරක්ෂිත ඔබේ වර්ගය සඳහා ඇති අයිතිය වැඩසටහන තෝරා ගැන කරදර වෙනවා. වැඩි වැඩියෙන් සංරක්ෂිත වර්ග පැමිණීම බලාපොරොත්තුවෙන් සිටින එකම ශක්‍ය විසඳුම මෙයයි. ඔබ තාක්ෂණික විස්තර ගැන සැලකිලිමත්
නොවන්නේ නම්

Answers:


1091

උබුන්ටු වලට ග්නූ තාර ඇතුළත් වන අතර එය ආකෘතිය තනිවම හඳුනා ගනී! එක් විධානයක් අත්පොත අනුව ඕනෑම ආධාරක සම්පීඩන ක්‍රමයක් සමඟ ක්‍රියා කරයි .

tar xf archive.tar.xz
tar xf archive.tar.gz
tar xf archive.tar

තාර Cannot execදෝෂයක් ලබා දෙන්නේ නම් , ඔබට sudo apt install xz-utilsපළමුව අවශ්‍ය විය හැකිය .


42
එය ග්නූ තාරයේ ලක්ෂණයකි. තරඟකාරී ක්‍රියාත්මක කිරීම් ගැන මම නොදනිමි, නමුත් උබුන්ටු සඳහා වඩාත් අදාළ වන්නේ ග්නූ තාර විය යුතුය. gnu.org/software/tar/manual/tar.html#SEC131
ramslök

46
ඔබ දුවන්නේ නම් tar: xz: Cannot exec: No such file or directory, ස්ථාපනය කරන්න xz-utils:sudo apt-get install xz-utils
කොලින් ඇන්ඩර්සන්

10
මෙය පිළිතුරක් නොවේ, එය 'ඔබ ඉල්ලුවද පිළිතුර ගැන ඔබ තැකීමක් නොකරයි'. 'නවතම' නොවන පුද්ගලයින් සඳහා සිතුවිල්ලක් තබන්න
ෂෝන් හූලිහාන්

6
tarනිශ්චිත ධජය අවශ්‍ය නොවන අනුවාදය කුමක්ද?
මාර්ක් ටොම්ලින්

9
E සීන්හවුලිහාන්, එය පිළිතුරක් නොවන්නේ OP විසින් සුළු XY ගැටලුවක් ඇසූ බැවිනි . ramslök විසින් OP ට ඉල්ලූවාට වඩා හොඳ ප්‍රති gave ල ලබා දුන් අතර එයට "ඔබ ඇසූවත් පිළිතුර ගැන ඔබ තැකීමක් නොකරයි" යන effective ලදායී ඇතුළත් විය.
ක්‍රිස්ටෝස් හේවර්ඩ්

346

උත්සාහ කරන්න

tar -xJf file.pkg.tar.xz

මෙම -Jවිශේෂයෙන් .xz ගොනු සමග කටයුතු කරන ධජය වේ.


66
2020 දී අපට කොඩි කීයක් තිබේදැයි මම කල්පනා කරමි. මෙන් ... විවිධ සම්පීඩන 45 ක්? තාර ස්විචයන් දැන ගැනීම දැනටමත් ලිනක්ස්-ෆු හි කළු පටියකි. : /
Apache

23
H ෂිකි: සම්පීඩන ආකෘති ධජය තවදුරටත් සඳහන් කිරීමට එය හේතු නොවන්නේ ඒ නිසා විය හැකිය. (Ramslök ගේ පිළිතුර බලන්න.)
Nate CK


6
තාර .xz
ආධාරකයේ

9
වර්ෂ 2030 දී ධජ ටියුරින් සම්පුර්ණ වේ ... 2040 ඒවා සංවේදී වේ
පරිශීලක 1359

83

කිසියම් හේතුවක් නිසා tarවිසඳුම් ක්‍රියා නොකරන්නේ නම් (සමහර විට ඔබ OS X බිල්ට්-ඉන් භාවිතා කරන නිසා), මෙය උත්සාහ කරන්න:

unxz < file.tar.xz > file.tar

… ඊට සමාන:

xz -dc < file.tar.xz > file.tar

ඉන්පසු tarගොනුව ඉවත් කිරීමට භාවිතා කරන්න.


3
එය පයිප්පයකින් සෑදිය හැකි ය.
ගෙරිට්

7
මට හිතෙනවා ඔයාට කරන්න පුළුවන් කියලා unxz < file.tar.xz | tar x.
තිස්වන වර්‍ගය

7
මෙය මට වැඩ කළා, tar xfනැති තැන. ubuntu 12.04
philshem

අවම වශයෙන් මගේ උබුන්ටු යන්ත්‍රයේ, unxzසමාන නොවේ xz -dc, නමුත් xz -d. එබැවින් උපුටා ගැනීම file.tar.xzසඳහා file.tar, ඔබ සරලව ලියනු unxz file.tar.xzඇත. ඔබට සමාන වීමට අවශ්‍ය නම් xz -dc, stdout වෙත විසංයෝජනය කිරීම, භාවිතා කිරීම xzcat. උදාහරණයක් ලෙස xzcat file.tar.xz | tar x.
nwellnhof

33

xz යනු අලාභ රහිත දත්ත සම්පීඩකයකි. ඔබට xz වෙතින් තාර බෝලය උකහා ගෙන පසුව තාර නිස්සාරණය කිරීමට සිදුවේ:

unxz my_archive.tar.xz      # results in my_archive.tar

එවිට ඔබ තාර නිස්සාරණය කිරීමට දන්නවා

tar -xf my_archive.tar

මුලාශ්‍රය: XZ Utils - විකිපීඩියා .


1
හොඳම පිළිතුර. xzstdout යළි-යොමුවීමක් අවශ්‍ය නොවේ. ඊටත් වඩා හොඳයි:unxz -k
මාර්ක් ජෙරොනිමස්

Ark මාක් ජෙරොනිමස් අතරමැදි ගොනුවක් නිර්මාණය කරන බැවින් මට මෙය එතරම් හොඳ නැත. ග්නූ තාර හෝ පයිප්පයක් භාවිතා කිරීමෙන් අඩු සම්පත් ඉල්ලා සිටිය යුතුය.
මෙලෙබියස්

මෙය මට වැඩ කළ නමුත් එය මුල් tar.xz ගොනුව මකා දමනු ඇති බව සැලකිල්ලට ගත යුතුය
කෙලී බෑන්

20

මට එකම ගැටලුවක් තිබුනි, tar xfවිධානයට එය උපුටා ගැනීමට නොහැකි විය. මෙය නිවැරදි කිරීම සඳහා, ඔබ xz-utilsපැකේජය ස්ථාපනය කළ යුතුය. විසඳුම වූයේ:

sudo apt-get install xz-utils

එවිට:

tar xf myfile.tar.xz

15
tar -xvf package.tar.xz

-x - ගොනු උකහා ගන්න

-v - සැකසූ ලිපිගොනු වාචිකව ලැයිස්තුගත කරන්න

-f - නිශ්චිත සංරක්ෂිත ගොනුවක් භාවිතා කරන්න


5

තාර සම්පීඩන ආකෘතිය හඳුනා ගන්නේ නම්, ඔබට ධජයක් අවශ්‍ය නොවේ:

tar xvf *.tar.xz

ඔබට ආදානය අතින් විකේතනය කිරීමට අවශ්‍ය නම්, උදාහරණයක් ලෙස ඔබේ තාර xz හඳුනා ගැනීමට නොහැකි තරම් පැරණි නිසා හෝ ඔබට විශේෂ මාර්ගයක් අවශ්‍ය නිසා:

xz -cd *.tar.xz | tar xvf -

සම්පීඩිත නොවන අතරමැදි ගොනුවක් සෑදීමට වඩා පයිප්ප වේගවත් වන අතර අඩු තැටි ඉඩක් ද භාවිතා කරන්න!


5

ඔයා පරණ අනුවාදය ඇති නම් එකතු කිරීමට අවශ්ය GNU තාර 1.22 අනුවාදය කිරීමට පෙර --xz හා -J විකල්ප ඔබ භාවිතා විසින් tar.xz ගොනු සංකෝචනය හෝ විහිදුවා හැකි, ලබා ගත හැකි වූ විට --use-compress-program xz. උදාහරණයක් වශයෙන්,

tar --use-compress-program xz -cf example.tar.xz file1 file2 file3

හෝ

tar --use-compress-program xz -xf example.tar.xz

4

ඇවැත්නි, එය ඇත්තෙන්ම හොඳ එකකි. මැක් මත 7zip සමඟ එය සිදු කර තිබේද? මේක උත්සාහ කරන්න:

7z x -so file.tar.xz | tar xf -

7z අවශ්‍යයි, එය ඔහුට අවශ්‍ය දේ නොවේ - ඔහුට එය සම්පූර්ණයෙන්ම තාර වලින් කිරීමට අවශ්‍යයි.
jrg

ඔව්, ස්තූතියි - "xz" මට ලැබුණා! හොඳයි, කෙසේ වෙතත් එය එක් පියවරකි :) සහ tar J= tar xz, එබැවින් අපි tar xzf file.tar.xz"සාමාන්‍ය" ලෙස පවා ලිවිය හැකිය tar xvfz file.tar.gz. එබැවින් මූලික වශයෙන් වෙනසක් නැත. ස්විචය භාවිතා කිරීමට පෙර ඉරක් අවශ්‍ය නොවේ.

එය හරියටම ප්‍රශ්නයට පිළිතුර ලබා දී ඇත. :)

.Xz ගොනුවේ තාර zxf වැරදී ඇති හෙයින් මා ද ඉවතට විසිවිය, මම සිතන්නේ සෑම විටම J භාවිතා කිරීම යා යුතු මාර්ගය වනු ඇති බවයි.
ජෝර්ජ් කැස්ත්‍රෝ

2
ඔව්! අත්පොත පිටුව ප්‍රභවය සමඟ සමපාත නොවේ: buffer.c lzma සඳහා -J භාවිතා කරයි.


3

උබුන්ටු පැමිණෙන්නේ පයිතන් (පයිතන් 2.7 සහ පයිතන් 3), එහි ලේඛනාගාරය උකහා ගැනීම සඳහා අවශ්‍ය මොඩියුල අඩංගු වේ. එබැවින් කුමන හේතුවක් නිසා හෝ tarවිධානයක් අස්ථානගත වී ඇත්නම් (ඔබේ සයිසැඩ්මින් එය ඉවත් කර ඇති sudoබවත් එය ස්ථාපනය කිරීමට ඔබට පෞද්ගලිකත්වයක් නොමැති බවත් කියන්න ), කෙනෙකුට මෙය භාවිතා කළ හැකිය:

python3 -c 'import tarfile,sys; b = tarfile.open(sys.argv[1]);print(b.extractall())' ./archive.xz 

කෙටි පිටපතක් ලෙස, එය වඩාත් කියවිය හැක්කේ:

#!/usr/bin/env python3
import tarfile,sys

with tarfile.open( sys.argv[1] ) as fd:
    fd.extractall()

මම .xzගොනුවක් නිර්මාණය කළා යැයි සිතමු tar cJf thing.xz /etc/passwd. සංරක්ෂිතයේ ඇතුළත ගොනුවක් සහිත etcනාමාවලිය අඩංගු වේ passwd. ඉහත ස්ක්‍රිප්ට් භාවිතා කිරීමෙන් etcඔබගේ වර්තමාන වැඩ කරන ඩිරෙක්ටරියේ ඩිරෙක්ටරිය නිර්මාණය වනු ඇති අතර එය තුළ passwdගොනුවක් වනු ඇත . ඇත්ත වශයෙන්ම, extractall()ශ්‍රිතය තුළ ඔබට උපුටා ගැනීමට අවශ්‍ය ස්ථානය නියම කිරීමෙන් මෙය සැමවිටම දීර් can කළ හැකිය .


1

unar 7z සහ RAR ඇතුළුව ඕනෑම ආකෘතියක් පාහේ අක්‍රීය කිරීමට ඉතා සරල සරල වැඩසටහනක් සහ ටයිප් කිරීමට පහසුය

එය (GNU) Objective-C හි ලියා ඇති බව පෙනේ, එබැවින් සමහර gnustep(GNU හි පරමාර්ථ-සී ක්‍රියාත්මක කිරීම) පුස්තකාල ස්ථාපනය කිරීම අවශ්‍ය වේ ( gnustep-base-runtimeසහ libgnustep-base1.25)

ඔබ --install-යෝජනා භාවිතා කරන්නේ නම් හෝ aptයෝජිත පැකේජ ස්ථාපනය කිරීමට වින්‍යාස කර තිබේ unarනම්, ඔබට අවශ්‍ය නොවන බොහෝ GUI GNUStep වැඩසටහන් යෝජනා කර ස්ථාපනය කරනු ඇත.

sudo apt install --no-install-suggests unar 
unar linux-source.tar.xz

එය ප්‍රතිදාන නාමාවලිය linux-sourceස්වයංක්‍රීයව නිර්මාණය කරයි .


1
හොඳම පිළිතුර (ප්‍රශ්නය සඳහා විශේෂයෙන් සඳහන් කරන්නේ රැකියාව සඳහා තාර භාවිතා කිරීමයි ...). මෙය ස්ථාපනය කළ දා සිට නැවත වරක් සංරක්ෂිත X ඉවත් කරන්නේ කෙසේදැයි සොයා බැලිය යුතු නැත. එම දැනුම එම වැඩසටහන තුළ කේතනය කර ඇත. සෑම දෙයක්ම එකට වැඩ කළ යුතු ආකාරය මෙයයි ...
masterxilo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.