আমি কীভাবে একটি একক পার্টিশন তৈরির স্ক্রিপ্ট করতে পারি যা পুরো ডিভাইসটি ব্যবহার করে?


9

আমি এটি বিশেষভাবে বিভাজনে ব্যবহার করছি এবং আমাজন ইসি 2 উদাহরণগুলিতে ইবিএস ভলিউম মাউন্ট করব, তবে সত্যিই এটি কোনও নতুন ড্রাইভ আরম্ভ করার ক্ষেত্রে সাধারণত প্রযোজ্য।

প্রশ্নটি হিসাবে আমি একটি একক প্রাথমিক পার্টিশন তৈরির স্ক্রিপ্ট করতে চাই যা প্রদত্ত ডিভাইসে সমস্ত উপলব্ধ স্থান ব্যবহার করে। ডিভাইসটি কত বড় তা আমি আগে জানব না এবং এটি খুব বড় (অর্থাত্ বেশ কয়েকটি টিবি) হতে পারে।

এটি গবেষণায় মনে partedহয় স্ক্রিপ্টিংয়ের জন্য ব্যবহারের সেরা কমান্ড। আমি মনে করি যেটুকু রেখাগুলি বরাবরই parted /dev/sdf mkpart primary 0 ENDআমি যা চাই তা চাই তবে এন্ডটি কী হওয়া উচিত তা নির্ধারণ করার জন্য একটি সুন্দর উপায় বের করতে আমার বেশ কষ্ট হচ্ছে। কেউ কি এটি করার একটি সহজ উপায় জানেন?

উত্তর:



5

আমি অন্য উত্তরটি ব্যবহার করার চেষ্টা করার পরে আমি সমস্যার মধ্যে পড়েছিলাম। আমার পক্ষে কাজটি হ'ল পরিবর্তে শতাংশের পদ্ধতির ব্যবহার করা:

$ parted /dev/sdf --script -- mkpart primary 0% 100%

partedপার্টিশনের সারিবদ্ধকরণের সাথে এটির সমস্যা এবং উপায় There এই 2 নিবন্ধটি কিছুটা বিষয়টি নিয়ে আলোচনা করেছে:

এই নিবন্ধগুলিতে বর্ণিত গণিতটি কেবল আমার পরিস্থিতিতে কাজ করে না। দ্বিতীয়টির একটি মন্তব্যে সমাহিত, কেউ শতাংশটি ব্যবহার করার পরামর্শ দিয়েছিল এবং এটি কাজ করেছে।

ঘটনাচক্রে আপনাকে সাধারণত এইচডিডি লেবেল করতে হবে। এর সাথে সিএলআইয়ের মাধ্যমে এটি করতে parted:

$ parted /dev/sde --script -- mklabel msdos

-অথবা-

$ parted /dev/sde --script -- mklabel gpt

আপনার এইচডিডি উপর নির্ভর করে।


gdiskসঠিকভাবে সারিবদ্ধ। আমার মতে, partedএকটি গোলযোগ। এটি খুব বেশি করে - এবং এটি যে কাজ করে তা কেবল আলগাভাবে সংযুক্ত। এটি অদ্ভুতভাবে কীভাবে এটি ফাইল সিস্টেম এবং পার্টিশন টেবিলগুলি একসাথে তৈরি করে - এটি যে ডেটা লেখেন তার ডিস্ক লোকারেশন একই পাড়ার মতো কিছু নয়। আমি কেবল তখনই বুঝতে শুরু করি যে ডিস্কগুলি কীভাবে কাজ করেছিল যখন আমি বুঝতে পারলাম যে পার্টিশন টেবিলটি একটি সামান্য মানচিত্র যা তার মাথার উপরে বসে থাকে এবং এটি ওএসকে বলে যেখানে এটি কোনও ফাইল সিস্টেমের সন্ধান করতে পারে। যখন এটি ক্লিক করা হয়েছিল, আমি সুপারব্লকগুলি এবং মেগাম্যান এবং এটির সমস্ত কিছুই বুঝতে পারি। ভাল, আমি যাই হোক না কেন তাই ভাবতে পছন্দ করি।
মাইক্রজারভ 21

ধন্যবাদ, এই স্পেসে থাকা সরঞ্জামগুলির সাইটটি আমার কাছে সবসময়ই গোলমেলে। আমি অবিচ্ছিন্নভাবে sfdisk, fdisk, cfdisk, parted, ইত্যাদি মিশ্রিত করব আমি fdisk চেষ্টা করব এবং দেখি এটি আরও সহজ কিনা। স্ক্রিপ্টগুলিতে অন্তর্ভুক্তির জন্য মূলত ক্লাইপ বিকল্প থেকে চালানো সহজ খুঁজছেন।
slm

মূলত [gf]diskতাদের স্টিডিনকে বৈষম্যমূলক আচরণ করবেন না - এটি কোনও মেয়াদীকালীন থেকে থাকে কিনা সেগুলি তাদের যত্ন করে না। সুতরাং যে কোনও কমান্ড ক্রম আপনি ইন্টারেক্টিভভাবে প্রবেশ করতে যা চান তা সরাসরি কোনও printfস্ক্রিপ্টে অনুবাদ করা যায় । আমার উত্তরের সমস্ত নিউলাইনগুলি কেবলমাত্র (or press enter for default)বিকল্প options এটা বেশ সহজ। যখন আমি W / তাদের চারপাশে খেলা আমি শুধু যেতে /tmpএবং fallocate -l1g imgএবং তারপর শুধু আমার নতুন ব্যবহার /tmp/imgআমার ডিস্ক হিসাবে ফাইল - তারা পরোয়া করে না। তারা কেবল একটি পার্টিশন টেবিল লিখতে চায়। আপনি যদি এটি করেন তবে ডাব্লু / strings -1 imgমাঝে মাঝে কী ঘটে তা একবার দেখুন ।
মাইকজার্ভ

তবে আমি আগে মিথ্যা বলছিলাম - মেগামান আমার কাছে রহস্যজনক রয়ে গেছে। হতে পারে তিনি সবসময় করবেন।
মাইকজার্ভ

1
সঙ্গে parted /dev/sdf --script -- mkpart primary 0 -1আমি একটি সতর্কবার্তা পেয়েছিলাম জন্য শ্রেষ্ঠ অভিনয়ের জন্য প্রান্তিককৃত নয়। শতাংশের সাথে এটি জরিমানা হয়েছে
nachoparker

2

আপনি করতে পারেন...

printf 'n\n\n\n\n\nw\n' | fdisk /dev/disk

... একটি এমএসডোস ধরণের জন্য। কার্যত একই জিনিস জিপিটি-র জন্য কাজ করে ...

printf 'n\n\n\n\n\nw\ny\n' | gdisk /dev/disk

এবং আপনি ফাইল সিস্টেম তৈরির সময় আপনার ডিস্ককে লেবেল করতে পারেন।

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