এবিআই হ'ল অ্যাপ্লিকেশন বাইনারি ইন্টারফেস, (এপিআই, অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেসের সাথে বিভ্রান্ত হওয়ার দরকার নেই)। এবিআই অ্যাপ্লিকেশনটি ব্যবহার করছে এমন নম্বরগুলির আকার, চিহ্ন এবং ক্রমগুলি সংজ্ঞায়িত করে।
স্পষ্টরূপে, এখানে একটি উদাহরণ: আমি বছরের মধ্যে প্রকাশিত কোনও বিল্ডিংয়ের বয়সটি এনকোড করতে চাই। এটি করার জন্য, আমি একটি সি ব্যবহার করতে পারি unsigned char, যা এক প্রকারের আকার 1 বাইট এবং এটি 0 থেকে 255 পর্যন্ত মানগুলি এনকোড করতে পারে Now এখন ধরুন যে আমি আবিষ্কার করেছি যে 255 একটি খুব কম সীমা কারণ এখানে আরও বিল্ডিং ছিল এমন বিল্ডিং রয়েছে because 255 বছর আগে। আমি তখন একটি সি ব্যবহার করতে পারি unsigned intযা 4-বাইট দীর্ঘ এবং এটি 0 থেকে 65535 পর্যন্ত মানগুলি এনকোড করতে পারে।
থেকে টাইপ পরিবর্তন charকরার জন্য int, আমি মাঠের শব্দার্থিক অর্থ পরিবর্তিত হয়নি (এটা একটি বয়স বছর প্রকাশ করেন এবং এটি এখনও আছে), কিন্তু আমি তার আকার পরিবর্তিত হয়েছে। আমার অ্যাপ্লিকেশনটির সাথে যোগাযোগ করে এমন প্রতিটি সফ্টওয়্যার পরিবর্তন করার প্রয়োজন হবে না, তবে এটি একটি আলাদা "ভাষা" বলবে।
অতএব, যখন কার্নেল তার এবিআই পরিবর্তন করে, এর অর্থ হল যে এটি যে ভাষায় কথা বলছে তার ভাষা পরিবর্তন করেছে তবে কোনও কার্যকারিতা যুক্ত করা হয়নি, সরানো বা সংশোধন করা হয়নি। সমস্ত নতুন তৃতীয় পক্ষের মডিউলগুলি যে কার্নেলের সাথে ইন্টারঅ্যাক্ট করতে হবে তাদের এই নতুন ভাষাটি বলার জন্য আবার সংকলন করা দরকার, তবে সঠিকভাবে কাজ করার জন্য তাদের কোনওভাবেই পরিবর্তন করার দরকার নেই।
aptitude changelog linux-image-2.6.35-28-genericপরিবর্তনের একটি তালিকা প্রদর্শন করে। আমি নিশ্চিত না কেন মেটা-প্যাকেজেlinux-{image,headers}-*-genericপ্যাকেজগুলির আপডেট থাকে না ;linux-{image,headers}-*-serverপ্যাকেজ আছে কারণ সম্ভবত ?