ARM-এ Outline: কোন বিল্ড, আর কে এটি রক্ষণাবেক্ষণ করে?
একটি ARM64 লেবেল একটি সামঞ্জস্যের প্রশ্নের উত্তর দেয়। সিদ্ধান্ত নিন কে Outline ক্লায়েন্ট তৈরি করেছে, এটি কোন সোর্সকে প্রতিনিধিত্ব করে এবং প্রথম সংযোগের পরে কে আপডেট সরবরাহ করবে।
একটি ARM64 লেবেল একটি সামঞ্জস্যের প্রশ্ন নিষ্পত্তি করে এবং আরও তিনটি কঠিন প্রশ্ন খোলা রাখে। এটি বলে না কে এক্সিকিউটেবলটি তৈরি করেছে, এটি কোন সোর্স রিভিশন থেকে এসেছে, বা পরবর্তী নিরাপত্তা সংশোধন কে সরবরাহ করবে। যখন একটি পুরোনো ফোরাম উত্তর কোনো কমিউনিটি বিল্ডের দিকে ইশারা করে, তখন ওই প্রশ্নগুলোই ঠিক করে ইনস্টলেশনটি যুক্তিযোগ্য কি না। কিছু ডাউনলোড করার আগে সেগুলো আলাদা করুন।
ম্যানেজার না ক্লায়েন্ট: আগে সঠিক আর্টিফ্যাক্ট বেছে নিন
Outline সার্ভার পরিচালনার জন্য একটি ম্যানেজার এবং ডিভাইস সংযোগের জন্য একটি ক্লায়েন্ট সরবরাহ করে, এবং এগুলো আলাদা অ্যাপ্লিকেশন। আপস্ট্রিম রিপোজিটরি দুই ভূমিকার পার্থক্য করে এবং তাদের নিজস্ব ইনস্টলেশন চ্যানেলে লিঙ্ক দেয়। Raspberry Pi-তে একটি ম্যানেজার ইনস্টল করলে সেই Pi-এর জন্য ক্লায়েন্ট পাওয়া যায় না। দুই চ্যানেলও ভিন্ন সময়সূচিতে আপডেট হয়। দুই ভূমিকাই বিদ্যমান, তাই প্রশ্ন হলো ডিভাইসটি কোন ভূমিকা পালন করার কথা।
আপনি যে অপারেটিং সিস্টেম চালান তার জন্য বর্তমান ক্লায়েন্ট চ্যানেল পরীক্ষা করুন। একটি সাধারণ Linux এন্ট্রি কোনো আর্কিটেকচার ম্যাট্রিক্স নয়, এবং এটি প্রতিটি বোর্ড সম্পর্কে প্রতিশ্রুতি নয়। ডাউনলোড পৃষ্ঠাটি যা আছে তার তালিকা হিসেবে পড়ুন, যা থাকা উচিত তার তালিকা হিসেবে নয়।
ARM সমর্থনের অনুরোধ করা একটি ঐতিহাসিক ইস্যু আজ কী প্রকাশিত হয় সে সম্পর্কে কিছুই বলে না। এটিকে অতীতের একটি ঘাটতির রেকর্ড হিসেবে বিবেচনা করুন, বর্তমান সম্পর্কে বিবৃতি হিসেবে নয়। যে চ্যানেল থেকে আপনি ডাউনলোড করতে পারেন সেটিই একমাত্র প্রমাণ যা গণ্য হয়।
ইনস্টল করা সিস্টেমটি আসলে কোন আর্কিটেকচার চালায়?
শুধু বোর্ডের নাম নয়, রিলিজ এবং পর্যালোচনাধীন আর্টিফ্যাক্ট লিখে রাখুন। এক্সিকিউটেবল এবং এর নেটিভ উপাদানগুলোকে লক্ষ্যের সাথে মেলান, কারণ একটি 64-বিট কার্নেল 32-বিট ব্যবহারকারী-স্পেস চালাতে পারে এবং বাক্সের লেবেল আপনাকে বলবে না কোনটি।
ক্লায়েন্ট সোর্সে শেয়ার্ড ইন্টারফেস কোড এবং প্ল্যাটফর্ম-নির্দিষ্ট উপাদান থাকে। শুধু ইন্টারফেস পুনর্নির্মাণ করা প্ল্যাটফর্ম পোর্ট নয়, তা যত পরিষ্কারভাবেই কম্পাইল হোক। নেটিভ অংশগুলোই সেই জায়গা যেখানে আর্কিটেকচার প্রকৃতপক্ষে দেখা যায়। যে পুনর্নির্মাণ কেবল ইন্টারফেস স্পর্শ করে তা চলবে এবং তবুও নেটিভ দিকে ব্যর্থ হবে।
uname -m এবং ইনস্টল করা সিস্টেমের প্যাকেজ আর্কিটেকচার এখানে গুরুত্বপূর্ণ দুইটি তথ্য। সেগুলো ডিভাইসে পড়ুন, যে মেশিন থেকে আপনি বিল্ড করছেন সেখানে নয়। সেই ধাপে অমিল হলে পরবর্তী প্রতিটি তুলনা অকার্যকর হয়।
কমিউনিটি বিল্ড একটি রিলিজ মালিক যোগ করে
যদি অফিসিয়াল চ্যানেলে আপনার লক্ষ্যের জন্য সমর্থিত আর্টিফ্যাক্ট না থাকে, তাহলে কমিউনিটি বিল্ড ইনস্টলেশন নয়, একটি ডিপ্লয়মেন্ট সিদ্ধান্ত হয়ে ওঠে। প্রকাশক, সোর্স রিভিশন, আপস্ট্রিম থেকে পরিবর্তন এবং বিল্ড নির্দেশাবলি চিহ্নিত করুন।
তারপর জিজ্ঞাসা করুন ভবিষ্যতের সংশোধনগুলো কীভাবে ইনস্টলেশনে পৌঁছাবে। আপডেট আপস্ট্রিম থেকে, ফর্ক থেকে, বা এমন একটি ম্যানুয়াল পুনর্নির্মাণ থেকে আসতে পারে যা চালাতে কাউকে মনে রাখতে হবে। তৃতীয় বিকল্পটিই নিঃশব্দে ঘটতে থেমে যায়।
বর্তমান দেখতে একটি রিপোজিটরি আপনার ইতিমধ্যে থাকা বাইনারি কোন রিভিশন তৈরি করেছে সে সম্পর্কে কিছুই বলে না। বিল্ড নির্দেশাবলিকে আর্টিফ্যাক্ট নিজের সম্পর্কে যা জানায় তার সাথে তুলনা করুন। দুটি যদি অমিল হয়, তবে অবিশ্বাস করার জিনিসটি আর্টিফ্যাক্ট।
একটি চেকসাম কী প্রমাণ করে আর কী করে না
একটি চেকসাম নির্দিষ্ট বাইট চিহ্নিত করে। একই অনানুষ্ঠানিক নির্মাতার প্রকাশিত চেকসাম সেই নির্মাতাকে আপস্ট্রিম প্রকল্প বানায় না, এবং সেই বাইটগুলোতে কী আছে তাও বলে না। এটি উত্তর দেয় ডাউনলোডটি অক্ষত পৌঁছেছে কি না, যা একটি উপযোগী কিন্তু সংকীর্ণ প্রশ্ন। এটি ফাইলটির বৈশিষ্ট্য, যিনি এটি প্রকাশ করেছেন তার নয়।
সফল লঞ্চের একটি স্ক্রিনশট একটি মেশিন সম্পর্কে প্রমাণ। এটি বাইনারি বা তার আপডেট চ্যানেলের পর্যালোচনা নয়। কোনোটিই সোর্স পড়ার বিকল্প নয়।
উৎস এবং প্রয়োজনীয় বিশেষাধিকার পর্যালোচনা না হওয়া পর্যন্ত অপরিচিত বিল্ডকে প্রোডাকশন গোপনীয়তা থেকে দূরে রাখুন। প্রথমে এটিকে নিজস্ব অ্যাকাউন্টসহ একটি ব্যবহার-পরে-ফেলার পরিবেশে চালান। এটি সস্তা, এবং এটি একটি মতকে পরীক্ষায় রূপান্তরিত করে।
এটি পরীক্ষা না যন্ত্র, তা নির্ধারণ করুন
একজন প্রশাসক ইচ্ছাকৃতভাবে একটি সমর্থিত লক্ষ্যের জন্য পর্যালোচিত সোর্স বিল্ড করতে পারেন এবং নির্ভরতা, প্যাকেজিং ও আপডেটের দায়িত্ব নিতে পারেন। এটি একটি রক্ষণাবেক্ষণকৃত আপস্ট্রিম আর্টিফ্যাক্ট ইনস্টল করার চেয়ে ভিন্ন সমর্থন মডেল। একটি অমনোযোগী ডিভাইসের জন্য, দায়িত্বশীল মালিক যে মডেল ধরে রাখতে পারেন সেটি বেছে নিন।
ডিপ্লয়মেন্টের পাশে আর্টিফ্যাক্টের পরিচয়, প্ল্যাটফর্ম, যাচাইয়ের ফলাফল এবং আপডেটের মালিক লিখে রাখুন। সিদ্ধান্তটি সম্পূর্ণ হয় যখন সেগুলো মিলে যায়, তখন নয় যখন একটি ARM বাইনারি একবার চালু হয়।