8.11.1. ویژگیهای یک بسته کرنل در دبیان
یک بسته کرنل در دبیان اقدام به نصب کرنل (vmlinuz-version
)، پیکربندی آن (config-version
) و جدول نمادین آن (System.map-version
) در مسیر /boot/
میکند. جدول نمادها به توسعهدهندگان کمک میکند که معنای یک پیام خطا در کرنل را متوجه شوند؛ بدون آن، “oops”ها در کرنل (یک “oops” معادل خطای بخشبندی برای برنامههای سمت-کاربر است، به معنای دیگر پیامهایی که پس از یک ارجاع ناموفق اشارهگر تولید میشوند) تنها شامل نشانیهای حافظه به صورت عددی هستند، که بدون کمک گرفتن از جدول نمادهای شامل این نشانیها به همراه فراخوانیهای تابعی ارزش خاصی ندارند. ماژولها در دایرکتوری /lib/modules/version/
نصب میگردند.
اسکریپتهای پیکربندی موجود در بسته یک فایل initrd تولید میکنند، که یک سیستم جمع و جور جهت قرارگفتن در حافظه (که از نام آن نیز پیداست، یعنی “initial ramdisk”) توسط راهانداز اولیه است و توسط کرنل به منظور بارگیری ماژولهای مورد نیاز برای دسترسی به دستگاههای کاربردی در سیستم دبیان است (برای نمونه، درایور دیسکهای SATA). در نهایت، اسکریپتهای پس از نصب اقدام به بروزرسانی پیوندهای نمادین /vmlinuz
، /vmlinuz.old
، /initrd.img
و /initrd.img.old
مینمایند به منظور اینکه آنها به آخرین دو کرنل نصب شده اشاره کنند، به همراه فایلهای initrd مربوطه.
اکثر آن فعالیتها توسط اسکریپتهای موجود در دایرکتوریهای /etc/kernel/*.d/
انجام ميشوند. برای نمونه، انطباق با grub
توسط /etc/kernel/postinst.d/zz-update-grub
و /etc/kernel/postrm.d/zz-update-grub
به منظور فراخوانی update-grub
هنگام افزودن یا حذف یک کرنل صورت میگیرد.
8.11.2. نصب با استفاده از dpkg
Using apt
is so convenient that it makes it easy to forget about the lower-level tools, but the easiest way of installing a compiled kernel is to use a command such as dpkg -i package.deb
, where package.deb
is the name of a linux-image package such as linux-image-4.9.30-ckt4-falcot_1_amd64.deb
.
پیکربندی که گامهای در فصل به آنها اشاره شد بسیار پایه هستند و میتوان در هر دو محیط رومیزی و سرور از آنها استفاده کرد و امکان فرآیند خودکارسازی آنها نیز وجود دارد. اگرچه، این کارها به خودی خود یک سیستم کاملا پیکربندی شده را آماده نمیکنند. تکههای کوچکی هنوز نیاز به پیکربندی دارند، که با برنامههای سطح پایینی به نام سرویسهای یونیکس یا “Unix services” شناخته میشوند.