ভার্চুয়াল মেশিন ব্যবহার করে একটি লিনাক্স মডিউলটি বিকাশ / পরীক্ষা করা কি নিরাপদ?


18

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

যদি আমি কোনও ভিএম ব্যবহার করে পরীক্ষা করে দেখি, তবে এটি কি হোস্ট সিস্টেমটিকে সম্ভাব্য असुरक्षित কোড থেকে রক্ষা করবে? আমি সত্যিই স্কুলে কোনও সিস্টেমে আটকে থাকতে চাই না এবং স্ন্যাপশট কার্যকর হবে।

যদি এটি এখনও উচ্চ ঝুঁকিপূর্ণ হয় তবে নিরাপদে পরীক্ষা করার জন্য আমার কী বিবেচনা করা উচিত?

আমরা শুরু করার জন্য লিনাক্সমিন্টের মতো কিছু ব্যবহার করব। কেউ যদি বর্তমান প্রকল্পে কী হবে তা দেখতে চায়: http://www.cs.fsu.edu/~cop4610t/assignments/project2/writeup/specifications.pdf


সত্যিকারের হার্ডওয়ারে এটি করা খুব ঝুঁকিপূর্ণ নয়, বিশেষত যদি আপনি ব্যাকআপ নেন। আমার আছে, এবং আমি নিশ্চিত যে অন্যান্য অনেক দেব-দেবীরও আছে।
hobbs

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

উত্তর:


28

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

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

আপনি যদি স্ন্যাপশটগুলি নিতে এবং পুনরুদ্ধার করতে যাচ্ছেন, আপনার ভিউএমের বাইরের সংস্করণ নিয়ন্ত্রণের ভাণ্ডারে আপনার সোর্স কোডটি চেক ইন করে রাখা উচিত যাতে আপনি ভিএম এর বর্তমান অবস্থাটি বাতিল করে দিলে ঘটনাক্রমে আপনার সর্বশেষ কোডটি হারাবেন না।


3
অথবা ভিএম এর কেবলমাত্র কয়েকটি দিক স্ন্যাপশট করা সম্ভব। উদাহরণস্বরূপ, একটি পৃথক ভার্চুয়াল ডিস্কে উত্স কোড রাখা। অবশ্যই, ভিএমএল-এর উত্স কোডের সংগ্রহস্থল যা আপনি নিয়মিত কোডে যাচাই করেন তা যাইহোক ভাল ধারণা; এটি আপনাকে অনেক বিব্রতকর ভুল থেকে বাঁচাতে পারে এবং এটি কোডিংয়ের ভাল অনুশীলন শেখায়।
একটি সিভিএন

আপনার সিস্টেমে আরও সহজে ক্রাশ হওয়ার অন্য দিকটি হ'ল আপনি যখন আপনার সিস্টেমটি ক্র্যাশ করেন তখন আপনার মধ্যে জামানত দূর্নীতি ঘটার সম্ভাবনা বেশি থাকে।
ব্যবহারকারী 253751

14

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

যদি আপনি পারেন তবে ভিএম-এর একটি সম্পূর্ণ নকল তৈরি করুন, স্ন্যাপশট সিস্টেমটি আমি যা ভাবি তার চেয়ে বেশি অযৌক্তিক হয়ে উঠলে। :)

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