.Xz ব্যবহার করে এমন টারবলকে আমি কীভাবে সঙ্কুচিত করব?


776

আমি একটি -xfzপতাকা সহ টার্বলগুলি বের করতে অভ্যস্ত , যা জিজিপ এবং বিজিপ 2 সংরক্ষণাগার পরিচালনা করে।

সম্প্রতি আমি একটি .tar.xzফাইল চালিয়েছি এবং আমি এটি ব্যবহার করে এক ধাপে এটি সঙ্কুচিত করতে চাই tar, আমি কীভাবে এটি করতে পারি?


10
নোট করুন xz-utilsইতিমধ্যে উপস্থিত না থাকলে আপনাকে ইনস্টল করতে হতে পারে
টোবিয়াস কেইনজলার

: এখানে আমার সামান্য স্ক্রিপ্ট যে আপনার জন্য আলকাতরা পতাকা অনুমান এর gist.github.com/shime/5908634
shime

2
tar --helptarপতাকা তালিকা । -xzfপ্রযোজ্য gzip-xjfto bz2-xJfto xz
noobninja

উত্তর:


1017

উবুন্টুতে জিএনইউ টার অন্তর্ভুক্ত রয়েছে, যা ফর্ম্যাটটি নিজেই স্বীকৃতি দেয়! ম্যানুয়াল অনুসারে কোনও কমান্ড কোনও সমর্থিত সংক্ষেপণ পদ্ধতিতে কাজ করে ।

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

ইত্যাদি। যদি টার একটি Cannot execত্রুটি দেয় তবে আপনাকে sudo apt install xz-utilsপ্রথমে প্রয়োজন হতে পারে ।


41
এটি জিএনইউ টারের একটি বৈশিষ্ট্য। আমি প্রতিযোগিতামূলক বাস্তবায়ন সম্পর্কে জানি না, তবে জিএনইউ টারটি উবুন্টুর সাথে সর্বাধিক প্রাসঙ্গিক হওয়া উচিত। gnu.org/software/tar/manual/tar.html#SEC131
ramslök

42
আপনি যদি চালিত হন তবে tar: xz: Cannot exec: No such file or directoryইনস্টল করুন xz-utils:sudo apt-get install xz-utils
কলিন অ্যান্ডারসন

10
এটি কোনও উত্তর নয়, এটি 'আপনি উত্তর জিজ্ঞাসা করলেও উত্তরটির বিষয়ে চিন্তা করবেন না' এমনটি। 'সর্বশেষ' নয় এমন লোকদের জন্য একটি চিন্তাভাবনা রাখুন
শান হোলিহানে

6
কোন সংস্করণের tarআর নির্দিষ্ট পতাকাটির প্রয়োজন নেই?
মার্ক টমলিন

8
@ সিয়ান হোলিহানে, এটি কোনও উত্তর নয় কারণ ওপি একটি ছোট্ট XY সমস্যা জিজ্ঞাসা করেছে । রামস্লাক ওপিকে যা চেয়েছিলেন তার চেয়েও ভাল দিয়েছেন, এবং এর মধ্যে একটি কার্যকর "আপনি উত্তর জিজ্ঞাসা করলেও, আপনি উত্তর দেবেন না" অন্তর্ভুক্ত ছিল, যা যথাযথ ছিল কারণ এটি সত্য ছিল।
ক্রিস্টোস হ্যাওয়ার্ড

331

চেষ্টা

tar -xJf file.pkg.tar.xz

এই -Jপতাকাটি বিশেষত .xz ফাইলগুলির সাথে সম্পর্কিত।


59
আমি ভাবছি 2020 সালে আমাদের কতগুলি পতাকা থাকবে? লাইক ... 45 টি বিভিন্ন সংকোচনের? টার্ক স্যুইচগুলি জানা লিনাক্স-ফু-তে ইতিমধ্যে একটি কালো-বেল্ট। : /
শিকি

22
@ শিকি: সম্ভবত এই কারণেই এটি আপনাকে আর সংক্ষেপণ বিন্যাসের পতাকা নির্দিষ্ট করতে দেয় না। (রামস্লাইক এর উত্তর দেখুন))
নাট সি কে


6
এটি সম্পূর্ণরূপে গ্রহণযোগ্য উত্তর হওয়া উচিত যেহেতু এটি .xz
ট্যার

8
2030 সালে পতাকাগুলি ট্যুরিং সম্পূর্ণ হয়ে ওঠে ... 2040 তারা সংবেদনশীল হয়ে ওঠে
ব্যবহারকারী 01359

80

যদি কোনও কারণে tarসমাধানগুলি কাজ না করে (সম্ভবত আপনি ওএস এক্স বিল্ট-ইনগুলি ব্যবহার করছেন) তবে এটি ব্যবহার করে দেখুন:

unxz < file.tar.xz > file.tar

… যা এর সমান:

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

তারপরে tarফাইলটি আনতার জন্য ব্যবহার করুন।


2
এটি একটি পাইপ দিয়ে গঠনযোগ্য হতে হবে।
-14

6
আমার মনে হয় আপনি ঠিক যেমন করতে পারতেন unxz < file.tar.xz | tar xবা তেমনই করতে পারেন ।
ত্রয়োদশ ত্রৈমাসিক

7
এটি আমার পক্ষে কাজ tar xfকরেছিল , যেখানে হয়নি। উবুন্টু 12.04
ফিল্মসেম

আমার উবুন্টু মেশিনে অন্তত, unxzসমমানের নয় xz -dc, কিন্তু xz -d। সুতরাং এক্সট্র্যাক্ট file.tar.xzকরার জন্য file.tar, আপনি কেবল লিখতে চাই unxz file.tar.xz। আপনি যদি xz -dcstdout এর সংকোচনের সমতুল্য চান , ব্যবহার করুন xzcat। উদাহরণস্বরূপ xzcat file.tar.xz | tar x
nwellnhof

30

এক্সজেড হ্রাসহীন ডেটা সংক্ষেপক। আপনাকে এক্সজেড থেকে টার বলটি বের করতে হবে এবং তারপরে ট্যারেটি বের করতে হবে:

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

তারপরে আপনি জানেন যে একটি ট্যারিটি বের করতে হবে

tar -xf my_archive.tar

সূত্র: এক্সজেড ইউটিলস - উইকিপিডিয়া


1
সেরা উত্তর. xzস্ট্যাডআউট পুনর্নির্দেশের প্রয়োজন নেই। আরও ভাল:unxz -k
মার্ক জেরোনিমাস

@ মারকজেরোনিমাস এটি মধ্যবর্তী ফাইল তৈরি করায় আমি এটি এতটা ভাল পাই না। জিএনইউ টার বা একটি পাইপ ব্যবহার করার জন্য কম সংস্থার দাবি করা উচিত।
মেলিবিয়াস

15

আমারও একই সমস্যা ছিল, tar xfআদেশটি এটি বের করতে সক্ষম হয় নি। এটি ঠিক করতে, আপনাকে xz-utilsপ্যাকেজ ইনস্টল করতে হবে । সমাধানটি ছিল:

sudo apt-get install xz-utils

তারপর:

tar xf myfile.tar.xz

14
tar -xvf package.tar.xz

-x - ফাইল নিষ্কাশন

-v - মৌখিকভাবে প্রক্রিয়াজাত ফাইলগুলি তালিকাভুক্ত করুন

-f - নির্দিষ্ট আর্কাইভ ফাইল ব্যবহার করুন


5

কেবল এটি যুক্ত করতে চাই যে 1.X সংস্করণ এবং -জে বিকল্পগুলি উপলব্ধ হয়ে ওঠার আগে আপনার যদি জিএনইউ টারের একটি পুরানো সংস্করণ থাকে , আপনি ব্যবহার করে টার.এক্সজেড ফাইলগুলি সংকুচিত বা সঙ্কোচিত করতে পারেন --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

যদি টার সংক্ষেপণ বিন্যাসটি স্বীকৃতি দেয় তবে আপনার পতাকা লাগবে না:

tar xvf *.tar.xz

যদি আপনাকে ম্যানুয়ালি ইনপুটটি সংক্রামিত করতে হয়, উদাহরণস্বরূপ, কারণ আপনার টারটি xz চিনতে খুব বেশি পুরানো, বা আপনার একটি বিশেষ পথের প্রয়োজন:

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

পাইপগুলি একটি সঙ্কুচিত মধ্যবর্তী ফাইল তৈরির চেয়ে দ্রুততর হয় এবং খুব কম ডিস্কের জায়গাও ব্যবহার করে!



3

বাহ, এটা সত্যিই ভাল। এটি একটি ম্যাকে 7 জিপ দিয়ে করা হয়েছিল? এটা চেষ্টা কর:

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

7z প্রয়োজন, যা সে চায় না - তিনি এটি সম্পূর্ণরূপে টারেতে করতে চান।
jrg

হ্যাঁ, ধন্যবাদ - "এক্সজেড" আমাকে পেয়েছে! ঠিক আছে, যাইহোক এটি এক ধাপ :) এবং tar J= tar xz, তাই আমরা এমনকি tar xzf file.tar.xz"সাধারণ" এর মতো লিখতে পারি tar xvfz file.tar.gz। সুতরাং মূলত কোনও পার্থক্য নেই। সুইচ ব্যবহার করার আগে কোনও ড্যাশ দরকার নেই।

এটি প্রায় প্রশ্নের মতো উত্তর দেওয়া হয়েছিল। :)

টর্ zxf .xz ফাইলে ভুল করে ফেলেছি বলে আমিও ছুঁড়ে ফেলেছি, আমি মনে করি যে সারা সময় জে ব্যবহার করে যাওয়ার উপায় হবে।
জোর্হে কাস্ত্রো

2
হা! ম্যানুয়াল পৃষ্ঠাটি উত্সটির সাথে সিঙ্ক নয়: lfma জন্য বাফার.সি ব্যবহার করে -জে।

3

উবুন্টু পাইথন (পাইথন ২.7 এবং পাইথন ৩) নিয়ে আসে, এতে আর্কাইভগুলি বের করার জন্য প্রয়োজনীয় মডিউল থাকে। সুতরাং যে কোনও কারণেই 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()ফাংশনের ভিতরে যেখানে এক্সট্রাক্ট করতে চান তা নির্দিষ্ট করে এটি সর্বদা প্রসারিত হতে পারে ।


0

unar 7z এবং আরএআর সহ প্রায় কোনও বিন্যাস সংরক্ষণাগারভুক্ত করার জন্য এটি বেশ দুর্দান্ত একটি সহজ প্রোগ্রাম এবং টাইপ করা সহজ

এটি (জিএনইউ) অবজেক্টিভ-সি-তে লিখিত হয়েছে বলে মনে হয় এবং এর জন্য কিছু gnustep(জিএনইউ এর উদ্দেশ্য-সি বাস্তবায়ন) গ্রন্থাগার স্থাপন করা প্রয়োজন ( gnustep-base-runtimeএবং libgnustep-base1.25)

যদি আপনি - aptইনস্টল -পরামর্শ ব্যবহার করেন বা প্রস্তাবিত প্যাকেজগুলি ইনস্টল করার জন্য কনফিগার করেছেন , unarতবে অনেকগুলি জিইউআই জিএনএসটিপ প্রোগ্রাম প্রস্তাব এবং ইনস্টল করবে যা আপনি চান না

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

এটি linux-sourceস্বয়ংক্রিয়ভাবে আউটপুট ডিরেক্টরি তৈরি করবে ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.