আমি কীভাবে রৌদ্র সোলারিতে সংকুচিত টার তৈরি করতে পারি?


11

আমি সান সোলারিস ওএস-এ লগ ইন করছি। আমি একটি সংকুচিত টার ফাইল তৈরি করতে এবং বের করতে চাই। আমি এই সাধারণ ইউনিক্স কমান্ডটি চেষ্টা করেছি:

tar -cvzf file.tar.gz directory1

এটি নিম্নলিখিত ত্রুটির সাথে সান ওএসে কার্যকর করতে ব্যর্থ হচ্ছে

bash-3.2$ tar -cvzf file.tar.tz directory1
tar: z: unknown function modifier
Usage: tar {c|r|t|u|x}[BDeEFhilmnopPqTvw@[0-7]][bfk][X...] [blocksize] [tarfile] [size] [exclude-file...] {file | -I include-file | -C directory file}...

2
আপনি কেন এটি সাধারণ ইউনিক্স কমান্ড বলে মনে করেন?
স্কাইবা

আমি মনে করি ইউনিক্স লিনাক্স এবং জিএনইউ সরঞ্জামগুলির মধ্যে পার্থক্যগুলি পড়তে আপনার কিছুটা সময় ব্যয় করা দরকার।
কোটায়ার

4
তারা যখন এই zপতাকাটি জিএনইউ টারে যুক্ত করেছিল, তখন লোকেদের কীভাবে যুক্তিযুক্তভাবে চিন্তা করতে এবং পাইপলাইন তৈরি করতে শেখানোর জন্য আমাদের সর্বশ্রেষ্ঠ উদাহরণটি হারিয়েছি ...

উত্তর:


28

অস্থায়ী মধ্যবর্তী ফাইল তৈরি এড়াতে আপনি এই আদেশটি ব্যবহার করতে পারেন

tar cvf - directory1|gzip -c >file.tar.gz

2
এর সম্ভাব্য সুবিধা রয়েছে যে সমান্তরালে কিছু প্রসেসিং ঘটতে পারে।
স্মারকগুলি

হয় f -প্রয়োজন, অথবা সোলারিস নেই tarআউটপুট ডিফল্টরূপে stdout- এ?
চিহ্নিত করুন

2
@ মার্ক: ম্যান পেজ অনুসারে , "যদি fবাদ দেওয়া tarহয় তবে TAPEপরিবেশ পরিবর্তনশীল দ্বারা চিহ্নিত ডিভাইসটি সেট করা থাকলে ব্যবহার করা হবে; অন্যথায় এটি ডিফল্ট মানকে সংজ্ঞায়িত করবে /etc/default/tar" " সুতরাং, না, এটির মতো মনে f -হচ্ছে না যে আপনি নিরাপদে ধরে নিতে পারেন যা প্রয়োজন নেই।
ইলমারি করোনেন

@ রোমিও: উত্তরের জন্য ধন্যবাদ, আমি এটি দরকারী বলে মনে করি। আপনি কি ব্যাখ্যা করতে পারেন যে "-" সিভিএফ এবং ডিরেক্টরি নামের মধ্যে কেন প্রয়োজন? অতিরিক্ত হিসাবে, আমি বেশ কয়েকটি ওএস - সোলারিস 10, 11.4, লিনাক্স (আরএইচইএল, সেন্টোস, ওরাকল ইত্যাদি) এ আপনার আদেশটি চেষ্টা করেছি এবং ধারাবাহিকভাবে কাজ করি। আমি সংশ্লিষ্ট টার ম্যান পৃষ্ঠাগুলিও পর্যালোচনা করেছি - উপরেরগুলি লিনাক্সে সিভিএফের আগে "-" ছাড়াই কাজ করে কেন? আমি লিনাক্সকে "টার-সিভিএফ ...." এর মতো কিছু প্রয়োজন বলে আশা করব the উত্তরের জন্য আবারও ধন্যবাদ।
আরসি 1

@ আরসি 1, ড্যাশ-এ ড্যাশ মানে আপনি আউটপুট ফাইলটি STDOUT হিসাবে সেট করবেন। প্যারামিটারগুলির দুটি স্টাইল রয়েছে, বিএসডি এবং এসওয়াইএসভি। এবং লিনাক্স তার দু'জনের সাথেই কাজ করে (সিভিএফের আগে এবং ডাব্লু / ও ড্যাশ সহ)
রোমিও নিনভ

10

দেখে মনে হচ্ছে সোলারিস tarকীভাবে সংকোচন করতে জানেন না। সুতরাং এটি নিজেই করুন:

tar -cvf file.tar directory1 && gzip file.tar

-zযাইহোক, জিএনইউ টারের সমস্ত স্যুইচ এটি করে। উপরের কমান্ডটি উত্পাদন করবে file.tar.gz


এটি কাজ করবে (যতক্ষণ না আপনার মাঝারি সংকীর্ণ file.tarসংরক্ষণাগার সংরক্ষণের জন্য পর্যাপ্ত অতিরিক্ত ডিস্ক স্থান রয়েছে ) তবে এটি অকারণে ধীর এবং ডিস্কের জায়গার অপব্যয়। রোমিও নিনভের উত্তরের চেয়ে এই পরিস্থিতি যেখানে পছন্দযোগ্য তা আমি ভাবতে পারি না ।
ইলমারি করোনেন

1
@ ইলমারি কারোনেন আমিও পারব না আমি এই প্রথমটি ভেবেছিলাম।
terdon

2

আপনি SUNWgtarইনস্টল করেছেন কিনা তা পরীক্ষা করে দেখুন । এটির জিএনইউ সংস্করণ tarএবং সরবরাহ করে /usr/sfw/bin/gtarযা জিএনইউ বিকল্পগুলি ব্যবহারের জন্য ট্যারে অনুমতি দেয়।


-1

কমান্ড নীচে চেষ্টা করুন

tar -cvf file.tar directory1 && gzip file.tar

(সোলারিসে ফাইলটি জিপ করতে)

gunzip file.tar.gz

(আনজিপ করতে)



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