আপনার VPN ভেন্ডরের apt সোর্স আপনার প্যাকেজ ম্যানেজার ভেঙে দিয়েছে, আর সমাধানটি একটি সিদ্ধান্ত, কোনো কমান্ড নয়। NO_PUBKEY, অথবা রিপোজিটরিতে Release ফাইল নেই এমন অভিযোগ, বোঝায় apt ওই সোর্সে ভরসা করতে অস্বীকার করেছে, তাই পরের প্রতিটি প্যাকেজ কাজ একই সতর্কবার্তা ছাপতে থাকে। সুড়ঙ্গটি নিজে সম্ভবত নির্দোষ। ওই সোর্স এখনও চান কি না, সেই তিনটি প্রশ্নের উত্তর দিন, আর সঠিক মেরামত প্রায় যান্ত্রিকভাবেই আসবে।

প্রথমে, ব্যর্থতাটিকে সঠিক শ্রেণিতে রাখুন

বিশ্বাসের ব্যর্থতা সোর্স ফাইলের নাম বলে এবং হয় অনুপস্থিত কী, নয় অনুপস্থিত Release ফাইল। পরিবহন ব্যর্থতা অন্যরকম দেখায়: TLS সার্টিফিকেট ত্রুটি, সংযোগ প্রত্যাখ্যান, সময়সীমা উত্তরণ, বা CONNECT প্রত্যাখ্যানকারী প্রক্সি। এই পার্থক্যই ঠিক করে আপনি কোন নিবন্ধ পড়ছেন, কারণ যে VPN TLS আটকায় বা ভেন্ডরের হোস্ট ব্লক করে, সে পরিবহন ত্রুটি দেয়, সই ত্রুটি নয়।

শুধু sudo apt update চালান এবং উপরের ক্যাশে থাকা ফলাফল উপেক্ষা করে শেষের লাইনগুলো পড়ুন। যে লাইনটি গুরুত্বপূর্ণ, সেটি /etc/apt/sources.list.d/ নাম দেয় এবং কোন ফাইল খুলবেন তা বলে দেয়।

যদি সুড়ঙ্গ ওঠার পরেই ব্যর্থতাটি আসে, তবে সুড়ঙ্গ বন্ধ রেখে এবং DNS সিস্টেম রিজলভার দিয়ে সমাধান করে পরীক্ষা করুন। যে সোর্স VPN ছাড়া কাজ করে, সেটি রাউটিং বা আটকানোর প্রশ্ন, আর কোনো কী ব্যবস্থাপনাই তা সারাবে না।

তিনটি প্রশ্ন যা পথ বেছে দেয়

আপনি কি এখনও এই সোর্স থেকে প্যাকেজ ইনস্টল বা আপগ্রেড করেন? ক্লায়েন্ট সক্রিয় ব্যবহারে থাকলে বিশ্বাস মেরামত করুন। যদি ক্লায়েন্ট একবার ইনস্টল করে এখন NetworkManager-এ সাধারণ প্রোফাইল আমদানি করেন, তবে সোর্সটি বাড়তি বোঝা আর সরিয়ে ফেলাই সৎ সমাধান।

দ্বিতীয়ত, ভেন্ডর কি এমন কী আর ফিঙ্গারপ্রিন্ট প্রকাশ করে যা আপনি চ্যানেলের বাইরে যাচাই করতে পারেন? তৃতীয়ত, এই হোস্টে কী কে পরিচালনা করে: ডিস্ট্রিবিউশন, নাকি আপনি? যে সোর্স এমন কী দিয়ে সই করা যা আপনি যাচাই করতে পারেন না, সেটি এমন আপডেট কর্তৃত্ব যা আপনার দেওয়া উচিত নয়।

প্রথম প্রশ্নের উত্তর না হলে বিশ্লেষণ শেষ। তিনটি বিন্দুতেই হ্যাঁ হলে তা signed-by মেরামতের দিকে নিয়ে যায়, যা একমাত্র ব্যবস্থা যা একসাথে কাজ করে এবং নিরীক্ষাযোগ্য থাকে। দুটি পথ মেশানো, অর্থাৎ সোর্স রেখে জোর করে চালানো, একমাত্র বিকল্প যা স্পষ্টভাবে বাদ দেওয়া উচিত।

কেন trusted=yes সমাধানের মতো দেখায় অথচ নয়

sources.list ম্যানুয়াল পৃষ্ঠা এ নিয়ে সরাসরি বলে। Trusted বিকল্পটি yes করে দিলে apt সোর্সটি গ্রহণ করে এমনকি প্রমাণীকরণে ব্যর্থ হলেও, যা ওই রিপোজিটরির জন্য apt-secure বন্ধ করে দেয়। পৃষ্ঠাটি এটি স্থানীয় প্রসঙ্গের জন্য রাখা, যদি আদৌ ব্যবহার হয়।

এটি ভেন্ডরকে ভরসা করার সংকীর্ণ সংস্করণ নয়। এটি সূচিপত্রে কে সই করেছে সেই প্রশ্নটিই সরিয়ে দেয়, তাই যে কেউ ওই হোস্টনামের পক্ষে উত্তর দিতে পারে, সে আপনার মেশিনে root হিসেবে ইনস্টল হওয়া প্যাকেজ দিতে পারে।

মেরামতের পথ: কী আনুন, তারপর পিন করুন

ভেন্ডর যে জায়গার নথি দেয় সেখান থেকে কীটি আনুন এবং প্রশাসক-নিয়ন্ত্রিত কীরিংয়ে ডি-আর্মার করুন, তারপর রিপোজিটরি লাইনটি ওই ফাইলের দিকে নির্দেশ করুন যাতে ভরসা সরে না যায়।

  1. ব্যর্থ লাইনটি পড়ে কী-এর ID আর সোর্স ফাইলের নাম নিন।
  2. ভেন্ডরের ASCII-আর্মার করা কী ডাউনলোড করুন এবং gpg --dearmor চালিয়ে /etc/apt/keyrings/vendor-name.gpg এ লিখুন।
  3. [signed-by=/etc/apt/keyrings/vendor-name.gpg] সেট করুন ওই ভেন্ডরের .list ফাইলের এন্ট্রিতে।
  4. চালান sudo apt update এবং নিশ্চিত করুন সোর্স সইয়ের সতর্কবার্তা পুনরাবৃত্তি না করে একটি সূচি আনছে।

প্যাকেজের সাথে আসা কীগুলোর জন্য /usr/share/keyrings পছন্দ করুন, আর হাতে রাখা কীগুলোর জন্য /etc/apt/keyrings। এই বিভাজন আলংকারিক নয়: এটি পরবর্তী প্রশাসককে বলে দেয় কোন কীগুলো প্যাকেজ আপগ্রেডে টিকে থাকবে আর কোনগুলো মানুষের সাহায্য চায়।

ভরসা করার আগে ভেন্ডরের প্রকাশিত মানের সাথে ফিঙ্গারপ্রিন্ট যাচাই করুন। ফোরামের পোস্ট থেকে পেস্ট করা কী-এর ID হলো সেই উপায় যেখানে একটি মেশিন এমন আপডেট কর্তৃত্বে ভরসা করা শুরু করে যা কেউ নাম বলতে পারে না।

সরানোর পথ, আর কেন ত্রুটি ফিরে আসতে পারে

ইনস্টলার আসলে কী লিখেছে তা দেখুন, কারণ একাধিক ফাইল একই ভেন্ডরের কথা বলতে পারে আর তাদের একটি সাধারণত পড়ে থাকা কপি।

grep -r . /etc/apt/sources.list.d/
sudo rm /etc/apt/sources.list.d/vendor.list

apt ওই ডিরেক্টরি থেকে কেবল .list আর .sources ফাইল পড়ে, তাই .save বা .distUpgrade কপি আগেই উপেক্ষিত; তবুও এটি মুছে ফেললে পরের কোনো পাঠক দুর্ঘটনাক্রমে তা ফিরিয়ে আনতে পারবে না। সোর্স সরালে কিছুই আনইনস্টল হয় না, এবং apt তখন ইনস্টল করা VPN প্যাকেজকে স্থানীয়ভাবে ইনস্টল বা আর উপলব্ধ নয় বলে বর্ণনা করতে পারে, যা প্যাকেজ-অবস্থার বার্তা, বিশ্বাসের ত্রুটি ফিরে আসা নয়।

বারবার আসা ঘটনাটি পুরোনো নির্দেশনা, যা apt-key দিয়ে কী ইনস্টল করত বিশ্বব্যাপী বিশ্বস্ত রিংয়ে। ওই পথ বাতিল হয়েছে, আর একটি রিলিজ আপগ্রেড কীটিকে ফেলে দেওয়া বা কেবল অপরামর্শিত রেখে যেতে পারে, ঠিক সে কারণেই এক বছর চুপ থাকা ত্রুটি আপনার আপগ্রেডের সপ্তাহে দেখা যায়। /etc/apt/trusted.gpg.d/ দেখুন, তারপর বিশ্বাসের সিদ্ধান্তটি রিপোজিটরি লাইনে সরান যেখানে তা থাকা উচিত। ভেন্ডর যদি এখনও apt-key নির্দেশনা ছাপায়, তবুও signed-by ব্যবহার করুন; এটিই ম্যানুয়ালে নথিভুক্ত ব্যবস্থা, আর এটিই আপগ্রেডে টিকে থাকে।

সম্পর্কিত নিবন্ধ