প্রকল্প সম্পর্কে

grubForge হলো একটি টার্মিনাল ইউজার ইন্টারফেস (TUI) অ্যাপ্লিকেশন, যা Linux সিস্টেমে GRUB বুটলোডার পরিচালনা ও কাস্টমাইজ করার জন্য ডিজাইন করা হয়েছে। GRUB কনফিগারেশন ফাইলগুলো ম্যানুয়ালি সম্পাদনার জটিলতা এবং ঝুঁকি মোকাবিলা করাই এর লক্ষ্য, এবং এটি একটি নিরাপদ, স্পষ্ট ও বেশি সহজলভ্য বিকল্প প্রদান করে। অ্যাপ্লিকেশনটি চারটি মূল নীতির উপর নির্মিত: * **নিরাপত্তা**: প্রতিটি পরিবর্তনের আগে ব্যাকআপ তৈরি নিশ্চিত করে, কাজের জন্য নিশ্চিতকরণ প্রয়োজন এবং ইনপুট যাচাই করে। * **স্বচ্ছতা**: প্রতিটি GRUB সেটিংস সহজ ভাষায় ব্যাখ্যা করে এবং প্রয়োজনীয় ও ঐচ্ছিক সেটিংসের মধ্যে পার্থক্য করে। * **নান্দনিকতা**: মৌলিক কনফিগারেশন স্ক্রিনের পরিবর্তে একটি আধুনিক, সুন্দর ডিজাইনের TUI উপস্থাপন করে। * **সহজলভ্যতা**: এটি কীবোর্ড-চালিত, দ্রুত এবং বুটলোডার সম্পর্কে গভীর জ্ঞান নেই এমন ব্যবহারকারীদের জন্যও ব্যবহারযোগ্য করে ডিজাইন করা হয়েছে। মূল বৈশিষ্ট্যগুলোর মধ্যে রয়েছে: * **ড্যাশবোর্ড**: বর্তমান GRUB সেটআপের একটি ওভারভিউ প্রদান করে এবং বুট মেনু পুরনো হয়ে গেলে তা নির্দেশ করে। * **কনফিগ এডিটর**: রিয়েল-টাইম যাচাইকরণ এবং ব্যাখ্যাসহ GRUB সেটিংস সম্পাদনার সুবিধা দেয়। * **থিম ব্রাউজার**: ইনস্টল করা GRUB থিম ব্রাউজ, প্রিভিউ এবং প্রয়োগ করার সুবিধা দেয়। * **বুট এন্ট্রি**: বুট এন্ট্রিগুলো পুনর্বিন্যাস, পুনঃনামকরণ এবং তৈরি করার সুবিধা দেয়, পাশাপাশি অন্যান্য অপারেটিং সিস্টেম শনাক্ত করে। ব্যবহারকারীরা কাস্টম অর্ডার সংরক্ষণ করতে এবং মূল অবস্থা পুনরুদ্ধার করতে পারেন। * **ব্যাকআপ ও রিস্টোর**: প্রতিটি পরিবর্তনের আগে স্বয়ংক্রিয়ভাবে সময়সীমাবদ্ধ ব্যাকআপ তৈরি করে, সাম্প্রতিক ১০টি ব্যাকআপ সংরক্ষণ করে, যা অ্যাপের ভিতর থেকে পুনরুদ্ধার করা যায়। * **বুট মেনু পুনর্নির্মাণ**: যেকোনো পরিবর্তনের পরে বুট মেনু পুনর্নির্মাণের জন্য এক-কী চাপার বিকল্প দেয়। * **সামঞ্জস্যপূর্ণ কীবাইন্ডিং**: সব স্ক্রিনে কাজ করে এমন সার্বজনীন অ্যাকশন কী (এডিট, সেভ, অ্যাপ্লাই, রিফ্রেশ, রিজেনারেট) এবং স্ক্রিন-নির্দিষ্ট কী প্রদান করে। * **ইউজার-লেভেল অপারেশন**: সাধারণ ব্যবহারকারী হিসেবে চলে, বিশেষাধিকারপ্রাপ্ত কাজের জন্য Polkit ব্যবহার করে, ফলে অ্যাপ্লিকেশনটি নিজে কখনো রুট পাসওয়ার্ড পরিচালনা করে না। grubForge-এর নিরাপত্তা দর্শন বুটলোডার ভাঙা প্রতিরোধকে অগ্রাধিকার দেয়। প্রতিটি পরিবর্তন যাচাইকরণ, নিশ্চিতকরণ, স্বয়ংক্রিয় ব্যাকআপ এবং Polkit-অনুমোদিত পারমিশনের মধ্য দিয়ে যায়। একটি ছোট, নির্দিষ্ট শব্দভান্ডারযুক্ত হেল্পার স্ক্রিপ্ট রুট-স্তরের কাজগুলো পরিচালনা করে, সব ইনপুট পুনরায় পরীক্ষা করে এবং গুরুত্বপূর্ণ কনফিগারেশন ফাইলে অ্যাটমিক লেখা নিশ্চিত করে। অ্যাপ্লিকেশনটি সম্ভাব্য সমস্যা সম্পর্কে ব্যবহারকারীদের স্পষ্টভাবে সতর্ক করে, যেমন কাস্টম বুট অর্ডার সক্রিয় থাকলে বুট মেনুতে কার্নেল আপডেট দেখা যায় না, কারণ এই মোডে GRUB-এর স্বয়ংক্রিয় এন্ট্রি জেনারেটর বন্ধ থাকে। ইনস্টলেশন নির্দেশনা দেওয়া আছে Arch Linux (AUR বা সোর্স থেকে), Debian/Ubuntu এবং অন্যান্য ডিস্ট্রিবিউশনের জন্য, এবং এতে প্রয়োজনীয় ডিপেন্ডেন্সি যেমন Python 3.10+, `python-textual`, `python-rich` এবং `polkit` উল্লেখ করা হয়েছে। ব্যবহারের ক্ষেত্রে `grubforge` সাধারণ ব্যবহারকারী হিসেবে চালানোর উপর জোর দেওয়া হয়, তবে কনসোল-নির্দিষ্ট পরিবেশ বা যারা এটি পছন্দ করেন তাদের জন্য `sudo grubforge` ব্যবহার করা যেতে পারে। প্রকল্পের রোডম্যাপে উন্নত UI ধারাবাহিকতার জন্য `forgekit` শেয়ার্ড ফাউন্ডেশনে স্থানান্তর এবং আরও উন্নতি অন্তর্ভুক্ত, যেমন ডুপ্লিকেট বুট এন্ট্রি মোকাবিলা, প্লেইন টেক্সট কনসোলে পঠনযোগ্যতা বৃদ্ধি এবং বুট এন্ট্রি হিমায়িত হলে সতর্কতা প্রদান। চেঞ্জলগ সাম্প্রতিক আপডেটগুলো তুলে ধরে, যার মধ্যে Polkit-ভিত্তিক পারমিশন হ্যান্ডলিং-এ স্থানান্তর এবং সীমিত `grub.cfg` পারমিশনযুক্ত সিস্টেমের জন্য উন্নত বুট মেনু পড়ার ক্ষমতা উল্লেখযোগ্য। grubForge একজন মানব এবং একটি AI-এর মধ্যে সমন্বিত প্রচেষ্টা, যার উন্নয়ন প্রক্রিয়া স্বচ্ছ। এটি GNU জেনারেল পাবলিক লাইসেন্স v3.0-এর অধীনে প্রকাশিত।