প্রকাশিত: মার্চ ১৯, ২০২৬, ৪:৩০ PM EDT
রোইন বার্টেলসন স্টকহולם-ভিত্তিক একটি টেক রাইター, অনুবাদক এবং ডিজিটাল কৌশলগত বিশেষজ্ঞ যিনি AI টুল, লিনাক্স, কনজিউমার টেক, সাইবারসিকিউরিটি এবং SEO-চালিত কন্টেন্টে বিংশ বছরের হ্যান্ডস-অন অভিজ্ঞতা রাখেন। তিনি জটিল বিষয়গুলিকে স্পষ্ট এবং ব্যবহারিক নির্দেশিকায় রূপান্তর করার জন্য পরিচিত যা পাঠকদের রিয়েল সমস্যা সমাধানে সাহায্য করে। লোকেরা তার কাজে আস্থা রাখেন কারণ তিনি যে টুলগুলো নিয়ে লিখেন সেগুলো আসলে ব্যবহার ও পরীক্ষা করেন, ভুলে ফেলার উদ্দেশ্যে জিনিসপত্র ভাঙেন, এবং আধুনিক প্রযুক্তির ক্যোসাকে মানুষের মতো ইমানদার এবং ব্যবহারিক পরামর্শে অনুবাদ করেন।
সবচেয়ে দীর্ঘ সময়, আমি লিনাক্স প্যাকেজ ম্যানেজারকে একটি ভেন্ডিং মেশিনের মতো বিবেচনা করতাম। অ্যাপ দরকার? ইনস্টল করো। আরেকটি দরকার? সেটিও ইনস্টল করো। APT, Flatpak, Snap মিক্স অ্যান্ড ম্যাচ, এবং একো-दুই PPA ছিটিয়ে দাও। কী যেতে পারে ভুল? কিছুকাল জন্য, কিছুই নেই। এবং সেটিই সমস্যা। কারণ এট আমাকে শুধু পর্যাপ্ত আত্মবিশ্বাস দিলো চালিয়ে যেতে। লিনাক্স প্রতিবাদ করলো না। এটা আমাকে সতর্ক করলো না। এটি একটি সহায়ক ছোট মেসেজ পপ আপ করলো না, "ওকে, হয়তো একই অ্যাপের তিনটি ভিন্ন ভার্সন তিনটি ভিন্ন ইকোসিস্টেম থেকে ইনস্টল করো না।" এটি শুধু … দিলো।
এবং যত বেশি এটা দিলো, তত বেশি আমি অনুমান করলাম আমি জানি আমি কী করছি। যবিন একদিন, সবকিছু ভাঙলো। নাটকীয়ভাবে না, এবং নিঃসন্দেহে একটি সন্তোষজনক, বিস্ফোরণ-এবং-এরর-মেসেজ রকমে না। শুধু … সূক্ষ্মভাবে ভুল। অ্যাপস লঞ্চ করতে বন্ধ করলো, আপডেট ফেললো, এবং ডিপেন্ডেন্সিগুলো একে অপরের সাথে লড়াই শুরু করলো যেন একটি অকার্যকর পরিবার যারা বছরের পর বছর विनয়पूربক দ্বন্দ্ব এড়াতে ছিলেন এবং হঠাৎ সিদ্ধান্ত নিলো আজ রাতটি রাতটি। সেটিই ছিল সন্ধ্যা যখন আমি বুঝলাম আমি আসলে বুঝি না লিনাক্স কীভাবে সফ্টওয়্যার ইনস্টল করে।
কেন সবকিছু কাজ করতো যতক্ষণ না করলো না
লিনাক্স আপনাকে সতর্ক ছাড়া জটিলতা স্ট্যাক করতে দেয়
আধুনিক লিনাক্স ডিস্ট্রিবিউশনগুলো অবিশ্বাস্যভাবে ক্ষমাশীল। আপনি একাধিক সোর্স থেকে সফ্টওয়্যার ইনস্টল করতে পারেন সেটি সম্পর্কে খুব কঠোর চিন্তা না করে, এবং অধিকাংশ সময়, জিনিসপত্র শুধু কাজ করবে। APT সিস্টেম রিপোজিটরি থেকে টানে এবং সবকিছু কঠোরভাবে ইন্টিগ্রেটেড রাখে। Flatpak স্যান্ডবক্সড অ্যাপ ইনস্টল করে তাদের নিজস্ব ডিপেন্ডেন্সির সাথে। Snaps তাদের নিজস্ব এনভায়রনমেন্ট বান্ডেল করে এবং স্বাধীনভাবে আপডেট হয়। PPAs শান্তভাবে আপনার সিস্টেমে nieuwere বা বিকল্প ভার্সন ইনজেক্ট করে।
প্রথমে, এটি স্বাধীনতার মতো লাগে। আসল স্বাধীনতা। সেই ধরনের যা আপনাকে মনে করায় আপনি অন্য অপারেটিং সিস্টেমের ওয়াল্ড গার্ডেন থেকে বেরিয়ে এলেন। আপনি আপডেটের জন্য অপেক্ষা করছেন না। আপনি একটি একক স্টোরে লকড নন। আপনাকে "না" বলা হচ্ছে না। কিন্তু ঘর্ষণ ছাড়া স্বাধীনতা একটি বিপজ্জনক জিনিস। কারণ এই সিস্টেমগুলো সব কিছুটা ভিন্ন সমস্যা সমাধান করে। সেগুলো আপনার সিস্টেমের একটি একক দৃষ্টি শেয়ার করে না, এবং সেগুলো কোনো অর্থপূর্ণভাবে একে অপরের সাথে কোঅর্ডিনেট করে না। সেগুলো সহ-অস্তিত্ব বজায় রাখে, কখনো শান্তিপূর্ণ। অন্য সময়, তেমন না।
তাই আপনি একই অ্যাপ তিনটি ভিন্ন পথে ইনস্টল করতে পারেন, প্রতিটির নিজস্ব ডিপেন্ডেন্সি, আপডেট লজিক, এবং আশ্রয়কারী সিস্টেম সম্পর্কে প্রত্যাশা। লিনাক্স আপনাকে বাধা দেয় না। এটি আপনাকে স্লো ডাউন করায় না। এটি শুধু শান্তভাবে আপনাকে জটিলতা স্ট্যাক করতে দেয় যতক্ষণ না কিছুই একদিন দিতে পারে।
সম্পর্কিত
যখন শ Wales শুরুর দিকে দেখা দেয়
কিছুই পুরোপুরি ফেললো না, কিন্তু সবকিছু অদ্ভুত মনে হলো
আমার সিস্টেম ক্র্যাশ করলো না। সেটি ক্লিন, স্পষ্ট, এবং ফিক্সেবল হতো। বরং, জিনিসপত্র স্লো, ক্রিপিং উপায়ে 이상한 হয়ে উঠলো যা আপনাকে আপনার সানিটি এবং রিয়েলিটিতে গ্রিপ প্রশ্ন করতে বাধ্য করে। APT-এর মাধ্যমে ইনস্টল করা GIMP Flatpak ভার্সন ইনস্টল করার পর লঞ্চ করতে রাজি নয়। একটি PPA একটি সিস্টেম লাইব্রেরি শুধু যতটুকু রিপ্লেস করলো যে আপডেট শিকায়ত করলো পুরোপুরি ব্যাখ্যা ছাড়া। স্ন্যাপ অ্যাপস কিছুটা আলাদা behave করলো, শুধু যতটুকু असঙ্গত মনে হয়ে যাবতীয় উপায়ে বর্ণনা করা কঠিন কিন্তু উপেক্ষা করা অসম্ভব।
কিছুই চিৎকার করলো না "এটি ভাঙলো।" কিন্তু সবকিছু অদ্ভুত মনে হলো। অ্যানিমেশনগুলোর একটু হিচকিচাহট ছিল। অ্যাপস খুলতে এক বিট বেশি সময় নিচ্ছিলো। আপডেটগুলো অস্পষ্ট, প্যাসিভ-অগ্রেসিভ এরর থ্রো করলে যেগুলো ডায়গনস্টিকের চেয়ে হিন্টের মতো লাগত। একটি অ্যাপ রিমুভ করলে অন্যটি শান্তভাবে ভাঙত। রিইনস্টল করলে সবসময় কিছু ফিক্স হতো না কারণ সমস্যাটি অ্যাপটি নিজে ছিল না। এটি সেটি যে ইকোসিস্টেম থেকে এসেছিল। বা আরও সঠিক বলতে, যে ইকোসিস্টেমগুলো আমি কোনো প্ল্যান ছাড়া একে অপরের ওপর স্ট্যাক করলাম। এবং সবচেয়ে খারাপ অংশ ছিল কত অদৃশ্যভাবে সবকিছু মনে হতো। কোনো একক এরর মেসেজ ছিল না রুট কাউজ নির্দেশকারী। কোনো স্পষ্ট "তুমি এটা করলে" মুহূর্ত ছিল না। শুধু একটি বৃদ্ধিমান অনুভূতি যে সিস্টেম বিশ্বাসযোগ্য হতে কঠিন হচ্ছে। সেটিই ছিল যখন বোঝা জামল। এটি র্যান্ডম ছিল না। এটি একটি জমা ছিল। ছোট, যুক্তিসঙ্গত সিদ্ধান্তগুলো জমে পড়েছিল যতক্ষণ না সেগুলো একসাথে যুক্তিসঙ্গত থাকতে বন্ধ করল।
বোঝাপড়া যা সবকিছু বদলালো
প্যাকেজ ম্যানেজারগুলো ইন্টারচেঞ্জেবল নয়
এটি वह অংশ যা আমি দিন এক থেকে বুঝতে পারতাম, বা কমপক্ষে তাদের আগে যারা PPAs ক্যাজুয়ালি ব্রাউজার এক্সটেনশনের মতো যোগ করতাম। APT, Flatpak, এবং Snap শুধু একই সফ্টওয়্যার ইনস্টল করার ভিন্ন উপায় নন। সেগুলো ভিন্ন দর্শন যা শান্তিপূর্ণ সহ-অস্তিত্বের ভাব লুকিয়ে রাখে।
APT একটি শেয়ার্ড সিস্টেম অনুমান করে। লাইব্রেরি রিঅ্যুক হয়। ডিপেন্ডেন্সি কেন্দ্রীয়ভাবে ম্যানেজ হয়। সবকিছু একসাথে ভালো আচরণ করতে আশা করা হয়, কারণ সেগুলো একই বিশ্বে বাস করে।
Flatpak আইসোলেশন অনুমান করে। অ্যাপস তাদের দরকারি জিনিসপত্র আনন এবং বড় আকারে সিস্টেমকে উপেক্ষা করে। তাই সেগুলো আরও পোর্টেবল, প্রায়শই আরও আপ টু ডেট, এবং কখনো কখনো কিছুটা ভারী।
Snap একই পদ্ধতি নেয়, কিন্তু তার নিজস্ব প্যাকেজিং ফরম্যাট, আপডেট আচরণ, এবং রানটাইম মডেল লেয়ার করে ওপর। এটি কিছু সমস্যা সমাধান করে তার নিজস্ব কুইরকস-এর সাথে, যemon কেউ কখনো স্ন্যাপ অ্যাপ শুরু হওয়ার জন্য অপেক্ষা করলে নিশ্চিত করতে পারেন।
এবং PPAs? সেগুলো সম্পূর্ণভাবে নিয়মগুলোর মোড় দেয় আপনার APT ইকোসিস্টেমের কাস্টম ভার্সন দিয়ে রিপ্লেস করে। শক্তিশালী, উপযোগী, এবং কিছুটা ক্যাওটিক যদি আপনি ভুলে যান সেগুলো সেখানে আছে, যা আমি পুরোপুরি করলাম।
এগুলোর কোনটিই ভুল নয়। কিন্তু সেগুলো ইন্টারচেঞ্জেবলও নয়। এবং সেগুলো কোনো প্ল্যান ছাড়া একে অপরের ওপর লেয়ার করতে ডিজাইন করা হয়নি। সেগুলো ক্যাজুয়ালি মিক্স করা যেন ভিন্ন অপারেটিং সিস্টেমের পার্টস কম্বাইন করা এবং আশা করা যে সেগুলো এক সुसঙ্গত সিস্টেমের মতো behave করবে। কখনো কখনো সেগুলো করে। যতক্ষণ না সেগুলো না করে।
এক নিয়ম যা আমার সিস্টেম ফিক্স করলো
প্রতিটি অ্যাপ একটি ঘর পাবে
এটি পরিষ্কার করা মজার ছিল না। এতে ডুপ্লিকেট আনইনস্টল করা, লেফটোভার প্যাকেজ পর্জ করা, PPAs রিমুভ করা যা আমি পুরোপুরি ভুলে গেছিলাম, এবং কীসের কোন ভার্সন আসলে ব্যবহৃত হচ্ছে সেটি বের করার চেষ্টা করা জড়িত। এক পয়েন্টে, আমার একই অ্যাপের তিনটি ভার্সন তিনটি ভিন্ন সিস্টেমে ইনস্টল ছিল, এবং কনোটি একদম একই behave করত না। সেটি লচিলতার চেয়ে বরং মনে হয় যেন আমি অজান্তে আমার নিজস্ব ফ্র্যাগমেন্টেড সফ্টওয়্যার মাল্টিভার্স তৈরি করলাম।
उस পরিষ্কার প্রক্রিয়ার কোথাও, কিছুটা বিরক্ত এবং কতটুকু প্রभाিত যে আমি কত গভীরে জিনিসপত্র জটিল করে ফেললাম, আমি একটি নিয়মে পৌঁছেলাম যা লাড়াই সিম্পল মনে হয়: প্রতিটি অ্যাপ একটি ঘর পাবে। যদি আমি APT-এর মাধ্যমে কিছু ইনস্টল করি, আমি সেটি জন্য APT-এ থাকব। যদি আমি Flatpak বেছে নিই, আমি সেই ভার্সনে কমিট করব। যদি আমি আbsolutely একটি PPA দরকার হয়, আমি সেটিকে একটি সচেতন পছন্দ হিসেবে বিবেচনা করব, না যে একটি ক্যাজুয়াল অডিশন যা আমি পরে ভুলে যাব।
কোনো ডুপ্লিকেট নেই, কোনো ওভারল্যাপ নেই, এবং পুরোপুরি কোনো প্যারালেল ইনস্টল নেই যা পটভূমিতে শান্তভাবে আউট অফ সিংক ড্রিফট করছে। প্রভাব তাৎক্ষণিক এবং, সত্যি বলতে, একটু আশ্চর্য। আপডেট শিকায়ত করলো বন্ধ। ডিপেন্ডেন্সি দ্বন্দ্ব বন্ধ। সফ্টওয়্যার রিমুভ করলে আসলে সেটি রিমুভ করলো ছোট ছোট ভুলের পেছনে ছেড়ে না। আমার সিস্টেম আবার একটি সিস্টেমের মতো behave করতে লাগলো বরং দুর্বলভাবে সংযুক্ত সিদ্ধান্তের সংকলনের মতো না। এবং হয়তো আরও গুরুত্বপূর্ণ, আমি প্রতিটি 이상한 ছোট ইস্যু দিয়ে সেকেন্ড-গেস করলাম বন্ধ। কারণ এখন আমি জানি জিনিসপত্র কোথায় বাস করে।
লিনাক্স ভাঙলো না। আমি শুধু অবশেষে এটাকে বুঝতে পারলাম
সেটিই সত্য যা 받아들이তে কষ্ট। লিনাক্স আমাকে বিশ্বাঘাত করলো না, এটি র্যান্ডমলি আপস পড়লো না, এবং এটিতে একটি খারাপ দিন হওয়ার সিদ্ধান্ত নিলো না।
এটি আমার নির্দেশাবলী পুরোপুরি অনুসরণ করলো। আমি শুধু বুঝতে পারলাম না সেই নির্দেশাবলী konflikt করছে। একবার আমি বুঝতে পারলাম প্যাকেজ ম্যানেজার আসলে কীভাবে কাজ করে, ক্যাওস আর রহস্যময় মনে হলো না। এটি লজিক্যাল হয়ে গেলো। প্রেডিক্টেবল। এমনকি হাইন্ডসাইট-এ একটু স্পষ্ট, যা সবসময় এই জিনিসপত্রগুলো যেতে পারে। এবং একবার কিছু প্রেডিক্টেবল হলে, সেটি ফিক্সেবল। লিনাক্সকে বদলাতে হয়নি, কিন্তু আমাকে হয়েছিল।