আপনি Amazon Linux 2-র কথা শুনে থাকতে পারেন। এটি একটি AWS অপারেটিং সিস্টেম, Amazon द्वारा विकसিত। এটি ফ্রিতে অফার করা হয়, এবং আপনি ভার্চুয়াল মেশিন অ্যাপ্লায়েন্সও পাবেন টেস্ট করার জন্য। যা আমি করলাম, আমার এই টপিকের আর্টিকেলে দেখানো অনুযায়ী।
টেস্টিং-এর সময় আমি যে একটা স্ন্যাগে আটকে পড়লাম সেটি ছিল লগইন। সাধারণত, আপনি SSH ব্যবহার করেন আপনার EC2 ইনস্ট্যান্সে লগইন করার জন্য। কিন্তু একটি এসেনশিয়ালি অফলাইন ভার্চুয়াল মেশিনের জন্য আপনি কী ব্যবহার করবেন? আমি অনলাইনে কোনো root/ec2-user কম্বো খুঁজে পেলাম না, এবং সিঙ্গেল মোডে পাসওয়ার্ড চেঞ্জ করার সvič পদ্ধতিটি কাজ করলো না। এই গাইডটি তাই। এটি আপনাকে দেখাবে কীভাবে আপনার Amazon Linux 2 ভার্চুয়াল মেশিনের লগইন ক্রেডেনশিয়াল ম্যানুয়ালি চেঞ্জ করতে হয়, যাতে আপনি টেস্টিং শুরু করতে পারেন। আফTER মি।
লগইন প্রম্পট
খুব, ইমেজ ডাউনলোড করুন। বুট। লগইন। এখন কী?
সিঙ্গেল মোড
দীর্ঘদিনের লিনাক্স ইউজাররা ট্রিকটি মনে করবেন। আপনার সিস্টেমকে সিঙ্গেল মোডে ফোর্স করুন, রুটকে রাইটেবল হিসেবে রিমাউন্ট করুন, পাসওয়ার্ড চেঞ্জ করুন, রিবুট। আমরা সবাই এটি অনেকবার করেছি। আলাস, আর সম্ভব নয়।
আমি বুট মেনুতে বুট অপশনে `init=/bin/bash` অ্যাপেন্ড করার চেষ্টা করলাম, এবং সিস্টেমে কার্নেল প্যানিক হয়ে গেলো। আমি নিশ্চিত নই এটি কার্নেলে কিছু, Amazon Linux systemd ব্যবহার করার ফ্যাক্ট, বা কিছু অন্য, কিন্তু পুরানো এবং প্রমাণিত পদ্ধতি সাহায্য করলো না।
অনলাইন পড়তে, মিলিয়ন বিন-বাশ এন্ট্রি ছাড়া যা কিছু নতুন দিলো না, আমি RHEL ভার্সন ৭-র জন্য পাসওয়ার্ড চেঞ্জ করার একটি ডিটেইল্ড আর্টিকেল পেলাম। টিউটোরিয়ালটি আরও ফিলসফিক্যাল কনসেপ্টও মেনশন করে RHEL ৬ থেকে RHEL ৭-এ ট্রানজিশন নিয়ে, এবং এই ফ্যাক্ট যে এটি RHCSA এক্সামের অংশ। আমার মানে কী? সিমপ্লিসিটি কোথায় গেলো?
যাই হোক, আমি একটি রান্ট обеща করেছি, কিন্তু আর্টিকেলটিতে বলা আছে, কার্নেল লাইনে `rd.break` যোগ করলে হেল্প করতে পারে, এবং যেহেতু Amazon Linux 2 RHEL-ভিত্তিক, আমি ভাবলাম চলো করি। কেবল এটি কিছুই করলো না। Amazon Linux আনুভূতভাবে নরমালি বুট করলো। এটি আপনাকাঙ্ক্ষিত ফলাফলও দিলো না।
VDI ম্যানুয়ালি মাউন্ট করুন
আমরা এই बारेে গততে আলোচনা করেছি। আমি আপনাকে দেখিয়েছিলাম কীভাবে ভার্চুয়াল মেশিন ডিস্ক এবং পার্টিশন লুপব্যাক ডিভাইস হিসেবে মাউন্ট করতে হয়, যাতে আপনি ফাইলসিস্টেম কন্টেন্ট এডিট করতে পারেন। আমরা partx ব্যবহার করেছি KVM মেশিন ক্লোন করার জন্য। আমরা এখানেও একই জিনিস করব, এবং আমি আপনাকে ভার্চুয়াল মেশিন ইমেজ ফাইলসিস্টেম মাউন্ট এবং প্রেজেন্ট করার আরেকটি পথ দেখাবো।
আমাদের qemu-nbd টুল দরকার, যা একটি সিমিলার ট্রিক করে। এই ইউটিলিটি qemu-kvm প্যাকেজের অংশ হিসেবে অধিকাংশ ডিস্ট্রিবিউশনে উপলব্ধ, তাই আপনি ইনস্টল করুন। তারপর, টুলটি ব্যবহার করুন। এক্সিকিউশন ফেইল করলে, আপনাকে nbd (network block device) মডিউল মেমরিতে ম্যানুয়ালি লোড করতে হতে পারে। তাই, কমান্ড সিকোয়েন্স (sudo বা root হিসেবে):
install qemu-kvm modprobe nbd qemu-nbd -c /dev/nbd0
Amazon Linux 2 vdi ইমেজ ডাউনলোড করুন এবং লোকেট করুন এবং উপরের কমান্ডে ম্যাপ করুন। আপনাকে স্পেসিফিক্যালি `/dev/nbd0` ব্যবহার করার দরকার নেই, আপনি যেকোনো নম্বর ব্যবহার করতে পারেন, কিন্তু সিকোয়েনশিয়ালি কাজ করা সহজ এবং ক্লিন।
ব্লক ডিভাইস ম্যাপ হয়ে গেলে, আপনি এর পার্টিশনগুলো `/dev/nbd0p*` আন্ডারে পাবেন। নম্বরগুলো আসল হার্ড ডিস্ক পার্টিশন লেআউটের সাথে মেলবে, বলে p1, p2, ইত্যাদি। আবার, এটি অলমোস্ট আইডেন্টিক্যাল যেটি আমরা partx-এ করেছিলাম। পরবর্তী ধাপ হলো ডিজায়ারড পার্টিশন কোথাও মাউন্ট করা:
mount /dev/nbd0pX /mountpoint
এই কমান্ড করলে, আপনার এখন Amazon Linux 2 vdi ফাইলসিস্টেম (পার্টিশন) কন্টেন্ট আপনার ডিজায়ারড মাউন্টপয়েন্ট (যেমন /mnt) আন্ডারে এক্সপোজড আছে, এবং এখন আমরা এটিকে ম্যানিপুলেট করতে পারি।
/etc/shadow ফাইল এডিট করুন
এখন আমরা পাসওয়ার্ড চেঞ্জ করতে চাই। কীভাবে করব সেটি হলো নিচের মতে। আমাদের নেটিভ লিনাক্সে, যেটি আসলে ভার্চুয়াল মেশিন চালাচ্ছে, একটি নতুন ইউজার তৈরি করুন। আপনি যা চান সেটি কল করতে পারেন। চলুন amazon বলি। একটি পাসওয়ার্ড তৈরি করুন। `/etc/shadow` ফাইল খুলুন। আপনি লক্ষ্য করবেন পাসওয়ার্ড এনক্রিপ্টেড এবং একটি লম্বা হ্যাশ হিসেবে প্রেজেন্টেড, দুটি কোলন ডিলিমিটার এর মাঝপথে। গ্রেট। এটিই আমাদের দরকার। কিছুটা এভাবে:
amazon:$123456$dedoimedo:11111:0:99999:6:::
এখন আগের মাউন্টপয়েন্ট থেকে Amazon Linux 2 ফাইলসিস্টেমে নেভিগেট করুন, বলে /mnt এবং এর shadow ফাইল একটি টেক্সট এডিটরে খুলুন:
/mnt/etc/shadow
আপনি লক্ষ্য করবেন ডিফল্ট ইউজার আসলে `ec2-user` নামে। এমনকি আপনি যদি না জানতেন, এখন আপনি জানেন। এর পাসওয়ার্ডের জন্য সেখানে কিছু হ্যাশ আছে। আমি নিশ্চিত নই সেটি কী, এবং এটি মেটারও করছে না। হ্যাশটি লোকাল amazon ইউজারের সেটি দিয়ে রিপ্লেস করুন। ফাইল সেভ করুন, vdi আনমাউন্ট করুন।
রিবুট, লগইন, কাজ, এবং উপভোগ করুন
আপনার ভার্চুয়াল মেশিন আবার শুরু করুন। একবার লগইন প্রম্পটে পৌঁছালে, সঠিক ইউজার নাম এবং পাসওয়ার্ড দিয়ে নিজেকে সঠিকভাবে আইডেন্টিফাই করুন যা আমরা ঠিক নobj রোপণ করেছি। আপনি এখন লগইন করবেন, এবং আপনি আপনার ভার্চুয়াল মেশিন অ্যাপ্লায়েন্সের সাথে কাজ শুরু করতে পারবেন। এখন, আমরা এটা Amazon Linux-এ করলাম, কিন্তু এই ট্রিক সব লিনাক্স ডিস্ট্রিবিউশন এবং ফাইলসিস্টেমের জন্য প্রযোজ্য। আপনি যদি সিস্টেম মেইনটেন্যান্স নরমালি রান করতে না পারেন, আপনি এই ট্রিক ব্যবহার করতে পারেন লিমিটেশন বাইপাস করতে এবং ফাইলসিস্টেমে প্রয়োজনীয় পরিবর্তন করতে। এটি ভার্চুয়াল মেশিনের জন্য কফি উপকারী। আমরা KVM-এ এবং এখন VirtualBox-এও এটা করেছি।
উপসংহার
আপনি যদি Amazon Linux 2 টেস্ট করতে চান কিন্তু লগইন ক্রেডেনশিয়াল স্ন্যাগে আটকে পড়েছেন, এবং আপনি নিজের ISO ইমেজ তৈরি করতে বা EC2 জিনিসপত্রের ফুল, প্রপার পদ্ধতি ফিগার আউট করতে ফিল করছেন না, আপনি partx বা qemu-nbd ব্যবহার করে ভার্চুয়াল হার্ড ডিস্ক মাউন্ট করতে পারেন, এবং ম্যানুয়ালি shadow ফাইল এডিট করতে পারেন। এটি একটি গ্যারান্টিড ওয়ার্কঅরাউন্ড, কেসে সিঙ্গেল মোড বা রescue মোড বা যেকোনো কিছু আপনার জন্য কাট করলো না।
Amazon Linux 2 একটি ফান অপারেটিং সিস্টেম দেখাচ্ছে কিছুuttosto আকর্ষণীয় ফিচারের সাথে, এবং এটি লজ্জার হবে সেগুলো মিস করা একটি টেকনিক্যাল/ব্যুরোক্র্যাটিক বান্ডলের মত initial login/password এর কারণে। আমার মানে কোনো কারণ নেই যে ডিফল্ট সেট কেন থাকা উচিত নয়, যেকোনো ডিস্ট্রোর মতো। প্লাস লিনাক্স ইনফ্রাস্ট্রাকচারের জেনেরিক পরিবর্তন, vis-a-vis `init=/bin/bash` শার episódio সাহায্য করছে না। আশা করি এই আর্টিকেল আপনাকে প্রয়োজনীয় টেকনিক্যাল নো-হাও এবং অ্যাডভেঞ্চারাস স্পার্ক দেবে আপনার যাত্রা শুরু করার জন্য। সেরা জিনিস, এটি ডিস্ট্রো-অগনস্টিক। যেকোনো ভার্চুয়াল মেশিন অ্যাপ্লায়েন্স, যেকোনো ফাইলসিস্টেম, আপনি আপনার টেস্টিং-এর জন্য প্রয়োজনীয় পরিবর্তনগুলো করতে পারবেন। এক্সপ্লোর করার মজা লুটুন।
চিয়ার্স।