কীভাবে লিনাক্সে মাল্টিপার্ট (স্প্যানড) জিপ আনজিপ করবেন?


73

আমাকে আমার ওয়েব সার্ভারে একটি 400 এমবি ফাইল আপলোড করতে হবে, তবে আমি 200 এমএম আপলোডের মধ্যে সীমাবদ্ধ। আমার হোস্ট প্রস্তাবিত আমি একটি বিস্তৃত সংরক্ষণাগার ব্যবহার করব, যা আমি লিনাক্সে কখনও করি নি।

আমি নিজস্ব ফোল্ডারে একটি পরীক্ষা সৃষ্টি মধ্যে একটি PDF আপ zip করা test.zip.001, .002এবং .003। আমি এটি আনজিপিং সম্পর্কে কীভাবে যেতে পারি? আমার কি তাদের সাথে প্রথমে যোগদানের দরকার আছে?

দয়া করে মনে রাখবেন যে আমি জিপ ফর্ম্যাটগুলি ব্যবহার করছি ঠিক তেমন 7z ব্যবহার করে আমি খুশি হব। যদি ফলাফলটিতে কোনও পার্থক্য আসে।


সীমিত সফ্টওয়্যার ইনস্টল থাকা কোনও ওয়েব সার্ভারে এটি সহায়ক নাও হতে পারে, তবে আমি এই সমাধানটি অন্য কোথাও দেখতে পাইনি এবং এটি আমিই ব্যবহার করি: java.util.zip এআইপি আমি যে সমস্ত জিপ অংশগুলি ফেলেছি তা মোকাবেলা করেছে এমনকি পিছনের অংশগুলি না থাকার বা শেষ অংশটি অসম্পূর্ণ হওয়ার ক্ষেত্রেও সাধারণ ক্ষেত্রে। আমি এটি জাইথন ​​থেকে কল করেছি তাই এটি স্ক্রিপ্ট আকারে, এবং এখানে কোডটি রয়েছে: github.com/combatopera/unzipparts
Andrzej Cichocki

উত্তর:


74

আপনাকে প্রথমে তাদের সাথে যোগ দিতে হবে। catনীচের উদাহরণ হিসাবে আপনি সাধারণ লিনাক্স অ্যাপ্লিকেশনটি ব্যবহার করতে পারেন :

cat test.zip* > ~/test.zip

এটি আপনার সব কনক্যাটেনেট হবে test.zip.001, test.zip.002এক বড় test.zip ফাইলে, ইত্যাদি ফাইল। আপনার একবার সেই একক ফাইল হয়ে গেলে আপনি চালাতে পারেনunzip test.zip

"লিনাক্সে জিপ সংরক্ষণাগারগুলি কীভাবে তৈরি করা, বিভক্ত করা, যোগদান এবং উত্তোলন করা যায়" সহায়তা করতে পারে।


1
ঠিক আছে, আমি এটি পছন্দ করি ... অগ্রগতি ... তবে আমি এখানে সত্যিই লিনাক্স n00b। আমি ধরে নিই x*ফাইলের নাম কি? এবং ~/hugefileএকটি ডিরেক্টরি হয়? টিলড প্রতীকটির উদ্দেশ্য কী? আমি সন্দেহ করি যা জিজ্ঞাসা করুন খুব প্রাথমিক প্রশ্ন।
টিম

আপনি যখন ফাইলগুলি বিভক্ত করবেন তখন আপনার x_ (যেমন: x_split1, x_split2, ...; উইন্ডোজ প্রত্যয় ফাইলের মতো.001, ফাইল.002 ... ইত্যাদি) এর মতো একটি উপসর্গ ব্যবহার করা উচিত the home / বিশাল ফাইলটি / হোম / টাইম / বিশাল ফাইলের সমান। আপনি কি আপনার ফাইলগুলি বিভক্ত করেছেন? বিভক্ত ফাইলের নাম কি?
fromnaboo

1
আমি মনে করি আমি দেখতে যেখানে সংখ্যায় আসবে দৃশ্যও সংরক্ষণাগার উইন্ডোতে তৈরি করা হয়েছে, একটি ZIP এক্সটেনশানের সঙ্গে 7zip ব্যবহার করে, তাই এটি স্বয়ংক্রিয় যেমন সৃষ্টি TEST.zip.001, TEST.zip.002এবং TEST.zip.003যার মানে বিভক্ত ভিন্ন। দেখে মনে হচ্ছে এটি ভিএমওয়্যারের উপর লিনাক্স ছুঁড়ে ফেলা এবং ফাইলগুলি এখানে তৈরি করা সহজ হতে পারে তবে কমপক্ষে আমি কেবল 1 ওএস এর সাথেই কাজ করছি। আপনি কি কোনও ফাইল প্রকারে SPLIT কমান্ড ব্যবহার করতে পারেন? অর্থাত্ ছবি, অডিও চলচ্চিত্র ইত্যাদি?
টিম

হ্যাঁ, বিভাজন কমান্ড যে কোনও ফাইলের জন্য কাজ করে। অ্যাপেন-এর সাহায্যে পি 7 জিপ ইনস্টল করুন ডিবিয়ান-এ ইনস্টল করুন পি 7 জিপ অথবা ফেডোরায় yum ইনস্টল করুন p7zip, ফাইলগুলি যোগ করুন: বিড়াল TEST.zip। *> সংরক্ষণাগার দিয়ে এবং এগুলি দিয়ে বের করুন।
fromnaboo

1
7za x archiveআর্কাইভটিতে ডিরেক্টরি কাঠামো থাকলে সম্ভবত আরও ভাল।
SLM

38

লিনাক্স unzipইউটিলিটি সত্যিকার অর্থে মাল্টিপার্ট জিপ সমর্থন করে না। ম্যানুয়াল থেকে :

জিপের সাথে মিল রেখে একাধিক অংশের সংরক্ষণাগারগুলি এখনও সমর্থিত নয়। (সমস্ত অংশগুলি একত্রে ক্রমযুক্ত করা উচিত, এবং তারপরে zip -F (জিপ ২.x এর জন্য) বা zip -FF(জিপ ৩.x এর জন্য) এটি সংশোধন করার জন্য সংক্ষিপ্ত সংরক্ষণাগারটিতে সম্পাদন করা আবশ্যক। এছাড়াও, জিপ 3.0 এবং পরে একত্রিত হতে পারে বহু-অংশ (বিভক্ত) একটি মিলিত একক ফাইল সংরক্ষণাগার মধ্যে আর্কাইভ ব্যবহার zip -s- inarchive -O outarchive। দেখুন জিপ 3 ম্যানুয়েল পৃষ্ঠা আরও তথ্যের জন্য।)

সুতরাং আপনাকে প্রথমে টুকরো টুকরো করা দরকার, তারপরে ফলাফলটি মেরামত করুন। ওয়াইল্ডকার্ডের অক্ষরগুলির যে কোনও ক্রমের জন্য দাঁড়ানো যেখানে cat test.zip.*ডাকা সমস্ত ফাইল সংযুক্ত করে ; ফাইলগুলি ডিক্সিকোগ্রাফিক ক্রমে গণিত করা হয়, যা নেতৃস্থানীয় শূন্যগুলির জন্য সংখ্যাসূচক অর্ডার হিসাবে একই। আউটপুটটি ফাইলে ডাইরেক্ট করে ।test.zip.**>test.ziptest.zip

cat test.zip.* >test.zip
zip -FF test.zip --out test-full.zip
unzip test-full.zip

আপনি যদি অফিসিয়াল পিকেজিপ ইউটিলিটি সহ একাধিক অংশের জিপ তৈরি করার বিপরীতে জিপ ফাইলটি সরাসরি বিভক্ত করে টুকরা তৈরি করেন তবে আপনাকে যা করতে হবে তা কেবল অংশগুলিতে যোগ দিতে হবে।

cat test.zip.* >test.zip
unzip test.zip

1
২ য় কমান্ডটি জিপ-এফএফ টেস্ট.জিপ - আউট টেস্ট -ফুল.জিপ হওয়া উচিত - আপনাকে আউটআউট কমান্ড ছাড়াই একটি ত্রুটি দেবে
অ্যালভিন

3
আমার জন্য, FFপদ্ধতির কাজ হয়েছিল যদি আমি zipপ্রথম মাল্টি-পার্ট ফাইলের দিকে ইঙ্গিত করি তবে কোনও catপ্রয়োজন নেই।
জোনিস এলমারিস

1
@ জনিস এলমারিস ইতিমধ্যে উল্লিখিত হিসাবে, সংরক্ষণাগারগুলি ব্যবহার zip -FFকরার আগে তাদের সাথে একত্রীকরণ করার প্রয়োজন নেই ।
রেনি

24
7z x archive.zip.001

এটি স্বয়ংক্রিয়ভাবে বাকীগুলি সন্ধান করবে


1
এটি এত অদ্ভুত ... এটির কাজ করার জন্য আপনাকে প্রথমে সমস্ত জিপ ফাইলের (.zXX এবং .zip) নাম পরিবর্তন করতে হবে .zip.xxx (.zip শেষ অংশ), তবে আপনি প্রথমটিতে 7z x ব্যবহার করতে পারেন , যা একটি সংক্ষিপ্ত জিপতে "নিষ্কাশন করে" যা আবার আনজিপ ব্যবহার করে সঙ্কুচিত হতে পারে তবে 7z নয় ... আমি পুরোপুরি নিশ্চিত নই যে ফাইলটি সঠিকভাবে আনপ্যাক করা হয়েছে কিনা তবে কমপক্ষে এই সময় আনজিপ সিআরসি ত্রুটি সম্পর্কে অভিযোগ জানায় না .. জিপ লিনাক্সটিতে এতটাই অবিশ্বাস্যভাবে ভেঙে গেছে - আপনি যদি পারেন তবে এড়িয়ে চলুন। :(
শক্তিমান

কমপক্ষে সেন্টোসের জন্য, আমাদের কীভাবে 7z ইনস্টল করতে হবে তার নির্দেশিকা দরকার
stiv

20

আমি উত্তরটি এখানে পেয়েছি: https://superuser.com/a/517758/10264

এই উত্তরটি গিলসের মত ধারণার অনুরূপ , যথা প্রথমে আপনি বিভক্ত ব্যবহার করে বিভাজন সংরক্ষণাগারকে একটি সাধারণ সংরক্ষণাগারে বিভক্ত করে একত্রিত করেন এবং তারপরে আপনি আনজিপটি ব্যবহার করে আনপ্যাক করেন।

পার্থক্যটি হ'ল -FFপতাকাটি ব্যবহার করার পরিবর্তে , যা আমার পক্ষে কাজ করে না, আপনি কেবল জিপকে বলছেন যে বিভাজন ছাড়াই বিভক্ত ফাইলটি আবার সরিয়ে দিতে। -s 0পতাকাটির অর্থ এটিই ।

সুতরাং, প্রথমে একটি একক সংরক্ষণাগারে বিভক্ত সংরক্ষণাগারটি একত্রিত করুন:

zip -s 0 split-foo.zip --out unsplit-foo.zip

তারপরে, আনজিপ ব্যবহার করে একক সংরক্ষণাগারটি বের করুন:

unzip unsplit-foo.zip

2
এটি জিপ 3.x
টেক্সাসব্রুস

0

অন্য একটি উদাহরণ। এটি 3 জিবি ওরাকল ইনস্টলারকে বিভক্ত করার জন্য আমার পক্ষে কাজ করেছে:

echo "<installOracleDB.sh>: Splitting OracleDB installer"
zip /tmp/linuxx64_12201_database.zip --out /tmp/linuxx64_12201_oradb.zip -s 1000m
echo "<installOracleDB.sh>: Merging OracleDB installer"
zip -FF /tmp/linuxx64_12201_oradb.zip --out /tmp/linuxx64_12201_database.zip
echo "<installOracleDB.sh>: Removing temporary files OracleDB installer"
find /tmp -type f -name 'linuxx64_12201_oradb*' -exec rm {} +
echo "<installOracleDB.sh>: Unizipping OracleDB installer"
unzip /tmp/linuxx64_12201_database.zip

এটি পূর্ববর্তী উত্তরের সাথে খুব মিল দেখাচ্ছে। এটি কী করছে এবং আপনি ইতিমধ্যে পোস্ট করা থেকে কীভাবে আলাদা তা ব্যাখ্যা করতে পারেন? মন্তব্যে প্রতিক্রিয়া জানাতে দয়া করে; আপনার উত্তরটি আরও পরিষ্কার এবং আরও পরিপূর্ণ করতে সম্পাদনা করুন।
স্কট

হাই স্কট, আমি আশা করি আমি মন্তব্যে উত্তর দিতে পারতাম তবে এখনই তা করার জন্য আমার খুব কম পয়েন্ট থাকতে হবে। এই উত্তরটি ইউনিক্সে একটি বৃহত ফাইল বিভাজন, মার্জ এবং আনজিপ করতে কমান্ডগুলির একটি সম্পূর্ণ তালিকা দেয়। আমি আমার উত্তর পরিষ্কার করতে আরও ব্যাখ্যা পাঠ্য সরবরাহ করব। ধন্যবাদ তোমার উত্তরের জন্য.
দি হেগকোডার

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