ترجمه فصل هفت کتاب LFS

23
7.1 مقدمها شرح میدهدظیم درست آنها ر و تن کدهای بوت فصل چگونگی نصب این. ریرگونه تغیی کدها بدون هشتر این بی کردر خواهند کا. ج تغییر خواهندری محتا سخت افزاطلاعات وابستگی به اا به علتین فایلهاد کمی از اما تعد ا بود. ین کتاب روش دراSystem_v بیشترطلاعات خواهد شد برای ا گرفتهود به کار میری به کار گسترده ا که به طوررد روش نکاتی در موBSD جود داردس زیر و در آدر. پستی های گروهستجو در بیشتر جنتخابهاین برای ا همچنیLFS مفیداست: http://www.linuxfromscratch.org/hints/downloads/files/bsd-init.txt گر متدهای کدهایده از دیستفا در صورت اinit د از این فصل گذشته و به فصل میتوانی۸ بروید.

description

ترجمه فصل هفتم کتاب LFSمترجم : محمد امین راستگو جهرمی

Transcript of ترجمه فصل هفت کتاب LFS

Page 1: ترجمه فصل هفت کتاب LFS

مقدمه7.1

میدهد شرح را آنها درست تنظیم و بوت کدهای نصب چگونگی فصل تغییری . این هرگونه بدون کدها این بیشتر

کرد خواهند خواهند . کار تغییر محتاج افزاری سخت اطلاعات به وابستگی علت به فایلها این از کمی تعداد اما

. بود

روش کتاب ین بیشتر System_vدرا اطلاعات برای شد خواهد گرفته کار به میرود کار به ای گسترده طور به که

روش مورد در دارد BSDنکاتی وجود زیر آدرس پستی . در های گروه در جستجو بیشتر انتخابهای برای همچنین

LFS مفیداست:

http://www.linuxfromscratch.org/hints/downloads/files/bsd-init.txt

کدهای متدهای دیگر از استفاده صورت فصل initدر به و گذشته فصل این از .بروید ۸میتوانید

Page 2: ترجمه فصل هفت کتاب LFS

بوت 7.2 های :LFSاسکریپ

lfs boot scripts میباشد کدها از ای مجموعه .دربرگیرنده

ساخت تقریبی زمان SBU 0.1:مدت

نیاز مورد MB 0.3:فضای

بوت کدهای میباشد BASHمحتاج LFSنصب هسته قابلیتهای و

بوت 7.2.1 کدهای نصب

نصب

بوت 7.2.2 کدهای محتوای

شده نصب ,checkfs, cleanfs, console, functions, halt, ifdown, ifup, localnet, mountfs, mountkernfs: کدهای

network, rc, reboot, sendsignals, setclock, static, swap, sysklogd, template, and udev

مختصر :شرح

checkfs

میکند چک شدن مونت از قبل را سیستم روزانه . )فایل و شبکه بر مبتنی های سیستم فایل استثنا (journal)به

cleanfs

در که مانندآنهایی میکند پاک شوند ملاحظه ریبوت در نباید که را دارند var/lock/و / var/run/فایلهایی . وجود

console

برای را کلید صفحه های کلید میکند layoutجدول تنظیم را صفحه فونت همچنین و میکند بارگذاری کلید صفحهfunctions

دارد بر در را شریکند مختلفی کدهای میان در که را وضعیت . توابعی و خطاها کردن چک مانندhalt

میکند خاموش را .سیستم

ifdown

میکند چک را شبکه ابزار و شبکه .کدهای

ifup

بالا مانندlocalnet

ابزار و میزبان میکند loopbackنام تنظیم .را

mountfs

عنوان به که آنان استثنای به میکند مونت را ها سیستم فایل اتوماتیک )noautoتمامی شده ( غیر گذاری علامت

میباشند شبکه بر مبتنی که آنان و .اند

mountkernfs

توسط که هایی سیستم فایل کردن مونت مانند kernelبرای میشوند میشود procتامین . استفادهnetwork

و میکند تنظیم را شبکه کارت مانند شبکه های میکند gatewayرابط تنظیم را فرض عملی . )پیش که جاهایی

(میباشد

make install

Page 3: ترجمه فصل هفت کتاب LFS

rc

کنترل ‍ کد ترین کدهای run-levelاصلی از که حالتی در میباشد کدها دیگر تک تک مسوول و میباشد ها

میکند استفاده شده پردازش . سیمبلیکreboot

را .میکند rebootسیستم

sendsignals

باشند یافته پایان ها پروسس تمام سیستم شدن ریبوت یا شدن خاموش از قبل که میشود .مطمئن

setclock

زمان kernelساعت با افزار سخت ساعت که حالتی در UTCرا*

تنظیم محلی ساعت با باشد نشده تنظیم

.میکند

static

داخلی پروتکل یک تا است نیاز مورد که را عبارتی staticعملیاتی به را ipیا شود داده نسبت شبکه رابط یک به

میدهد انجامswap

های پارتیشن میکند swapفایلهاو فعال غیر و فعال .را

sysklogd

میکند kernel logدیمن متوقف و کرده فعال .را

template

میباشد templateیک ها دیمن دیگر و دلخواه بوت کدهای ساختن .برای

udev

تنظیم از udevکار یک هر نودهای ایجاد در deviceو را میدهد / devها انجام .را

میباشد * . موجود فصل آخر در اصطلاحات این جهت . توضیحی

Page 4: ترجمه فصل هفت کتاب LFS

میکنند؟ 7.3 کار چگونه ها اسکریپت بوت این

عنوان به بوت خاص روش یک از پایه Sys Vinitلینوکس بر بوت run-levelکه عمل انجام جهت میباشد ها

است متفاوت کاملا دیگر سیستم به سیستمی از که میکند یک . استفاده در چیزها چون گفت نمیتوان بنابراین

در باید اند میکرده عمل ای گونه به لینوکس از کند lfsنسخه کار گونه همان به انجام lfs.نیز برای را خود روش

میکند رعایت را عمومی های استاندارد ولی دارد .کارها

Sys Vinit( بعد به این از میشود initکه از ( خوانده استفاده میکند run levelبا کار (6تا 0از )run levelهفت . ها

دارد اقع )وجود استفاده run-levelدر عمومی صورت به و هستند خاص موارد برای که دارد وجود بیشتری های

در و اند initهای man pageنمیشوند شده داده توضیح از ( آنها کدام در run-levelهر سیستم که را عملیاتی ها

میکند بیان میکند پشتیبانی است آمده بالا حالت آن در که فرض run-level. هنگامی در: مترجم]است 3پیش

سرور های در 3کامپیوتر فرض pcو پیش صورت به هر [ است ۵ها از کوتاهی شرح زیر میبینید run-levelدر را

میکند 0 خاموش ار کامپیوتر

کاربر 1 تک حالت

بدون 2 کاربره چند networkحالت

علاوه 3 به کاربره چند networkحالت

میکند 4 عمل سه حالت مانند حال هر به است شده رزرو دلخواه تغییرات جهت

رود 4مانند 5 می کار به گرافیکی حالت در این لاگ برای معمول طور kdmو xدر xdmمانند )به

( kdeدر

میکند 6 ریبوت را کامپیوتر

تغییر جهت که میرود run-levelدستوری کار که init ]run-leve[lبه مذکور [ run-level]میباشد حالت کننده بیان

کاربر . است کامپیوتر کردن ریبوت برای مثال میکند init 6برای استفاده آن aliasیک rebootدستور . را برای

دستور که همانطور .است init 0برای aliasیک haltمیباشد

شاخه در دایرکتوری شکل etc/rc.d/تعدادی به که دارد بین )میباشند rc?.dوجود عددی کار ( .میباشد ۶تا ۰؟ آنها

و میدهند انجام را اسکریپت sysnlinkواقعی به ها لینک شروع و کردن متوقف میکنند اشاره آنها به همگی ها

در متفاوتی / etc/rc.d/init.d/مشابهی پارامترهای با میتوانند ها اسکریپت که است علت این به این میکند اشاره

لینک start,stop,restart,reload ,statsمانند یک که وقتی شوند زده با kصدا مناسب اسکریپت شود مشاهد

لینک stopپارامتر مشاهده با و میشود پارامتر sفراخوانی با شد startاسکریپت خواهد .اجرا

در که لینکهایی دارد وجود استثنا یک بیان این چیز sبا rc6.dو rc0.dدر هیچ شروع باعث میشوند شروع

پارامتر با بلکه میشوند stopنمیشوند فراخوانی عمل یک دادن پایان آن . برای عمل این پشت در نهفته منطق

باید سیستم بلکه شود شروع نیست لازم چیز هیچ میکند ریبوت یا خاموش را سیستم کاربر وقتی که است

شود .متوقف

میبینید را میکنند چه آرگومانها این از یک هر اینکه بر توضیحی زیر :در

start:

میشود آغاز . سرویس

stop

Page 5: ترجمه فصل هفت کتاب LFS

میشود متوقف . سرویس

restart

میشود اجرا اول از و شده متوقف . سرویس

reload

است شده عوض سرویس تنظیمات که زمانی گزینه این میشود روز به سرویس تنظیمات

به نیازی سرویس میشود restartو استفاده ندارد .شدن

status

از و میباشد اجرا حال در سرویس آیا که میدهد میکند pidنشان .استفاده

باشید راحت دهید تغییر را سیستم شدن بوت روش اینکه سیستم )برای حال هر است lfsبه (.خودتان

میباشد شود انجام میتواند چگونه عمل این اینکه از مثالی اند شده داده اینجا که .فایلهایی

Page 6: ترجمه فصل هفت کتاب LFS

سیستم 7.4 یک در ها ماژول دادن تحویل و lfsابزارها

بسته شش فصل از Udevدر تاریخچه یک میکند کار چگونه که بپردازیم جزئیاتی به اینکه از قبل کردیم نصب را

تحویل قبلی است deviceمتدهای مفید . ها

ایجاد متد از سنتی طور به لینوکس میکند staticسیستم استفاده این . ابزار های نود از زیادی تعداد که حالی در

نود )ابزار صدها مواقع در ( بعضی خیر یا دارد وجود راستی به اشاره مورد ابزار اینکه به توجه ایجاد/ devبدون

اسکریپت . میشوند وسیله به عمل برنامه makedevاین فراخوانی تعدادی دربرگیرنده که میشود mknodانجام

میباشد باشد داشته وجود دنیا در است ممکن که ابزاری تمام با متد ( پیوسته از استفاده برای udevبا تنها

میشود ساخته نود اند شده شناخته کرنل توسط که ریبوت . ابزاری سیستم که هربار نودها این اینکه علت به

در شوند می ساخته میشوند ramfsمیشود میگیرد ramfs)ذخیره قرار حافظه در تماما که است سیستمی فایل

نمیگیرد زیادی فضای میباشد (.و اغماض قابل شده اشغال حافظه بنابراین نمیگیرند زیادی فضای ابزار .نودهای

:تاریخچه

سال فوریه نام 2000در به جدید سیستم فایل کرنل devfsیک سری 2.3.46درون های کرنل در و شد گنجانده

ابزار ۲.۴ های نود دینامیک تولید متد این داشت وجود لینوکس منبع کد خود در اگرچه و شد دسترسی قابل

نکرد دریافت لینوکس منبع کد دهندگان ارتقا طرف از را ای ملاحظه قابل توجه وقت .هیچ

بود گذاری نام و تولید و میکرد استفاده ابزار شناخت تحویل برای که راهی تلاش این اصلی عموما.مشکل

ابزار گذاری نام سیستم باید پس باشند تغییر قابل ابزار نام که است شده اجازه اگر که است شده پذیرفته

باشد شده تحمیل دهنده ارتقا یک طرف از آنها بر اینکه نه و باشد دسترسی قابل سیستم مدیر فایل. جهت

در devfsسیستم نسخه تغییر یک بدون نمیتواند و است وابسته طراحی در که سرعت مشکل از همچنین

میبرد رنج دهد رخ شد . کرنل گذاری علامت نشده تایید عنوان به پایداری عدم علت به همچنین آن

سری پایدار غیر های کرنل در ارتقا سری 5.2با های کرنل عنوان به ها نسخه آخرین فایل 6.2در یک پایدار

عنوان به جدید آمد Sys fsسیستم وجود از Sys fsکار .به جلوه یک فضای structureفرستادن پروسه به سیستم

میباشد برای . کاربر کاربر فضای جایگزینی یک دیدن امکان مشاهده قابل کاربر فضای جایگزینی واقعی dev fsبا

شد تر

Udevتوضیح ‍7.4.2

سیستم شد sysfsفایل داده توضیح بالا در خلاصه طور چگونه . به اینکه مورد در است مورد Sysfsممکن در

کند استفاده آنان با رابطه در باید را هایی شماره چه و است موجود سیستم روی بر که ابزاری چه اینکه

کنید تعجب در . میداند را خود اشیا مستقیما اند شده کامپایل کرنل با که مانند Sysfsدرایورهایی میکنند ثبت

Page 7: ترجمه فصل هفت کتاب LFS

اند شده شناسایی کرنل توسط رخ . اینکه زمانی این اند شده کامپایل ماژول یک عنوان به که درایورهایی برای

میشود بارگذاری ماژول که که . میدهد پیش / sysتحت sys fsزمانی از درایورهای که اطلاعاتی میشود مونت

در شده برای Sysfsساخته و کاربر فضای پروسه برای اند کرده قابل udevثبت ابزار نودهای ساختن جهت

میشود . دسترسی

init اسکریپتS10udev دارد عهده به را افزاری سخت های نود این ساختن از مراقبت لینوکس بوت هنگام .در

ثبت با اسکریپت یک / sbin/udevاین عنوان میشود (hot plug event handler)به این hotplutوقوع . آغاز در نباید

ولی پذیرد انجام است udevمرحله شده ثبت افتند می اتفاق انها که زمانهایی برای udevstartبرنامه . تنها

سیستم فایل طول در و / sysسپس کرده در deviceحرکت را میسازد / devها مشخصات مثلا. مطابق

sys/classs/tty/vcs/dev / دارد " 0.7"رشته بر در توسط . را رشته ساختن udevstartاین عدد / dev/vcsجهت با

major مینور و مقدار ( minor)هفت میشود " 0".با اسکریپتهای . استفاده بوت در مشابهی مکانیسم با lfsاینها

میشوند گذاری برای udevاگر . عدد را مجوزها فایل پیش deviceنتواند مجوزهای کند پیدا میسازد دارد که ای

مالکیت 600فرض دهد root:rootو می اختصاص آن به دایرکتوری . را در که نودهایی شده / devنامهای ساخته

در که قوانینی مطابق است / etc/udev/rules.dاند شده تنظیم اند شده .مشخص

استفاده جهت دارند شده کامپایل درایورهای و میباشد حاضر ابزاریکه تمام رسید پایان به مرحله این که زمانی

چطور؟ دارند ماژولی درایورهای که آنها اما حاضرند

یک اساس ما کردیم * "hot plug handler"پیشتر بیان کرنل . را توسط جدید ابزار یک اتصال که هنگامی

یک کرنل میشود hot plug eventشناخته*

فایل در و میکند فضایی / proc/sys/kernel/hotplugتولید تا میکند نگاه

کند پیدا میگیرد تحویل را ابزار اتصال گیرنده udevاسکریپت . که تحویل این عنوان میکند udevبه ثبت .را

به کرنل افتند می اتفاق اتصالات این که که udevهنگامی چک / sysمیگوید ابزار این مورد در اطلاعات برای را

در ورودی یک و بسازد / devکند آن .برای

در این از پیش که مشکلی به را ما یاد dev fsاین مرغ تخم و مرغ مسئله عنوان به آن از و داشت وجود نیز

میدهد ارجا های . میشود داده طریق از لینوکس های نسخه انجام / etc/modulesبیشتر را ها ماژول بارگذاری

میشود .میدهند کرنل در ناسب ماژول بارگذاری موجب ابزار نودهای از یکی به کار Udevبا .دستیابی متد این

نود ماژول بارگذاری از قبل تا اینکه علت به کرد داشت deviceنخواهد نخواهد وجود این . مربوطه حل برای

کنار S05modulesاسکریپت initمشکل است lfs boot criptsبه / etc/sysconfigدر شده نام . اضافه کردن اضافه با

فایل به ها شد modulesماژول خواهند بارگذاری کامپیوتر شدن بوت هنگام در ها ماژول به . این اجازه udevاین

بسازد را مناسب نودهای و بشناسد را ابزارها که .میدهد

Page 8: ترجمه فصل هفت کتاب LFS

ایجاد عمل میسازند نود زیادی تعداد که درایورهایی برای یا تر کند های سیستم در که باشید داشته توجه

device بکشد طول ثانیه چند است ممکن است . ها ممکن افزاری سخت نودهای که است معنی این به این

نباشند دسترسی قابل .بلافاصله

و 7.4.3 دینامیک ابزارهای دادن pluggableتحویل

مانند ابزار یک که اکنون usb mp3 playerزمانی هم ابزار یک که فهمد می کرنل میکنید متصل سیستم به را

یک و است شده میکند hot plug eventمتصل باشد . ایجاد شده بارگذاری درایور که صورتی اینکه )در خاطر به چه

طریق از یا شده کامپایل کرنل در آن است S05modulesدرایور شده توجه udev) بارگذاری با تا میشود فراخوانی

اطلاعات در sysfsبه کند / sysموجود ایجاد را مناسب افزاری سخت موجود . نود شده متصل تازه ابزار درایور اگر

یک کرنل که میشود سبب تنها سیستم به ابزار اتصال باشد نشده بارگذاری ولی کند hotplug eventباشد تولید

که دریابد که میشود سبب ( usr space)که*

نیست متصل درایوری هیچ به جدید ابزار هیچ . فضای نتیجه در

نیست استفاده قابل ابزار و افتد نمی .اتفاقی

در شده کامپایل درایورهای عنوان به نه و ماژول عنوان به درایور زیادی تعداد که سیستم یک ساختن صورت در

از استفاده دارد بسته S05modulesمنبع بلکه بود نخواهد مفید باشد hotplugخیلی مفید میتواند موارد این )در

http://linux-hotplug.sourceforge.net ببینید بسته ( . را یک که به hotplugزمانی شود های hot plug eventنصب

داد خواهد جواب نودهای hot plugبسته . کرنل ساختن طریق از را ابزار و میکند بارگذاری را مناسب های ماژول

میکند دسترسی قابل آن جهت . مناسب

ساختن 7.4.4 با ها deviceمشکل

بیاید پیش نودها اتوماتیک ساختن در است ممکن مشکل :چند

به را اطلاعات است ممکن نکند sysfsکرنل .ارسال

مورد در بیشتر میدهد third party driverاین رخ کرنل شاخه از خارج نودهای . ها شدن ساخته به درایورها این

دهند نمی پایان تنظیمات . مربوطه فایل دستی / etc/sysconfg/createfilesاز ساختن استفاده deviceبرای ها

مینور devices.txtبه .کنید و ماژور عددهای کردن پیدا برای درایور آن مستندات یا کرنل مستندات (majr/minor)در

کنید مراجعه آنها برای .مناسب

است deviceیک نیاز مورد افزاری سخت در . غیر صدا پیشرفته معماری سازگاری ماژول مورد در بیشتر این

ها ( alsa)لینوکس پروژه باز صدای سیستم است ( oss)و است deviceاین .معمول ممکن راه دو یا یک طریق از

شوند داده :تحویل

Page 9: ترجمه فصل هفت کتاب LFS

به ماژول نام کردن /etc/sysconfig/modulesاضافه

خط یک از به / etc/modprobe.confدر " install"استفاده بارگذاری "میگوید modprobeاین را ماژول این که زمانی

کن گذاری بار همزمان نیز را دیگر ماژول این "میکنی

مثال :برای

بارگذاری برای درخواست با تا شد خواهد باعث کند snd-cm-ossو snd-pcmهمزمان snd-pcmاین بارگذاری .را

مفید 7.5.4 منابع :دیگر

باشند می دسرسی قابل زیر سایتهای در اضافی مفید :منابع

از شرح :devfsیک

http://www.kroah.com/linux/talks/ols_2003_udev_paper/Reprint-Kroah-Hartman-OLS2003.pdf

udev faq

http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ

کرنل درایورهای :مدل

http://public.planetmirror.com/pub/lca/2003/proceedings/papers/Patrick_Mochel/Patrick_Mochel.pdf

install snd-pcm modprobe -i snd-pcm ; modprobe \ snd-pcm-oss ; true

Page 10: ترجمه فصل هفت کتاب LFS

اسکریپت 7.5 setclockتنظیمات

عنوان Set clockاسکریپ به که افزری سخت ساعت از را ساعت BIOSزمان Complementary Met Oxide"یا

Semiconductor " یا(CMOS ) میخواند میشود شناخته صورت . نیز به افزاری سخت ساعت که صورتی UTCدر

فایل از استفده با را افزاری سخت ساعت اسکریپت این باشد شده به )etc/local timeتنظیم hwclockکه

دارد وجود زمانی منطقه چه در کاربر که میکند (میگوید تبدیل محلی ساعت ساعت . به آیا اینکه برای راهی هیچ

با افزاری پذیرد UTCسخت انجام دستی صرت به باید این بنابراین ندارد وجود نه یا است شده . تنظیم

با افزاری سخت ساعت آیا که آورید یاد به توانید نمی که صورتی دستور UTCدر خیر یا است شده تنظیم

hwclock - - localtime - -show کنید اجرا ساعت . را مطابق حاضر زمان آیا که گفت خواهد شما به دستور این

خیر یا میباشد افزاری .سخت

تنظیم محلی ساعت با افزاری سخت ساعت پس باشد میگوید شما ساعت آنچه مطابق زمان که صورتی در

است خروجی . شده که صورتی زمان hwclockدر با احتمالا باشد نمی محلی است UTCزمان شده با. تنظیم

کنید تایید را مطلب این میتوانید محلی زمان تفاوت کردن کم یا کردن . اضافه

با افزاری سخت ساعت که صورتی متغیر UTCدر مقدار زیر در است نشده دهید UTCتنظیم تغییر صفر به را

نام به جدید فایل یک زیر دستور اجرای : بسازید/ etc/sysconfig/clockبا

در ساعت تنظیم مورد در خوبی است lfsنکات موجود زیر آدرس :در

http://www.linuxfromscratch.org/hints/downloads/files/time.txt

چون نکاتی مورد در محیطی UTCو time zoneکه متغیر میدهد TZو توضیح

cat > /etc/sysconfig/clock << "EOF"# Begin /etc/sysconfig/clock

UTC=1

# End /etc/sysconfig/clockEOF

Page 11: ترجمه فصل هفت کتاب LFS

لینوکس 7.6 کنسول بندی پیکر

تنظیم را کنسول فونت و کلیدها جدول که کنسول به مربوط بوت فایلهای بندی پیکر مورد در قسمت این در

میشود بحث آمریکایی . میکند شما کلید صفحه و نمیکنید استفاده اسکی غیر کاراکترهای از که صورتی در

بگذرید قسمت این از نمیکنند . میباشد کار هیچ کنسول به مربوط بوت فایلهای بندی پیکر فایل .بدون

فایل از میکند / etc/sysconfig/consoleکنسول استفاده بندی پیکر فایل عنوان جدول . به کدام که بگیرید تصمیم

شد خواهند استفاده فونتی چه و کند How-to. کلیدها کمک رابطه این در میتواند زبانها به پیش .مربوط فایل یک

بوت / etc/sysconfig/consoleساخته کدهای بسته با کشورها از تعدادی برای شده شناخته تنظیمات نصب lfsبا

است خارج . شده کامنت ازحالت را مربوط قسمت دارد وجود لیست در مربوطه کشور که صورتی در بنابراین

دایرکتوری . کنید در دارید شک هنوز که صورتی کنید / usr/share/kdbدر نگاه معتبر فونتهای و کلید جدول . برای

Man page برنامه این برای مناسب پارامترهای فهمیدن برای را فونتها تنظیم و کلیدها بارگذاری به مربوط های

کنید مطالعه بسازید . ها زیر دستورات با را بندی پیکر فایل گرفتید تصمیم که : زمانی

نخواهد اجرا را درخواست مورد برنامه کنسول باشد نشده تنظیم کنسول فونت یا کلیدها جدول که صورتی در

. کرد

کلیدها جدول از برخی هسته deleteو back spaceدر درون که فرض پیش کلید جدول از متفاوتی کاراترهای

میکنند تولید است شده مثال . کامپایل برای شد خواهد برنامه از برخی گیجی باعث فشار emacsاین هنگام در

مزبور back spaceدادن کاراکتر کردن پاک جای میدهد helpبه نمایش را کلید . خود جدول آیا اینکه امتحان برای

است چنین استفاده کلیدهای )مورد جدول (:i386در

کلید کد که صورتی جای ۱۴در کلیدها back spaceکد deleteبه جدول در را تغییر این مشکل حل برای است

:بدهید

کند گذاری بار اصلی کلید جدول گذاری بار از پس را تغییر که بگویید کنسول به و

cat >/etc/sysconfig/console <<"EOF"

KEYMAP="[arguments for loadkeys]"

FONT="[arguments for setfont]"

EOF

zgrep '\W14\W' [/path/to/your/keymap]

Page 12: ترجمه فصل هفت کتاب LFS

العمل دستور کنسول های اسکریپت در آن هرباره تنظیم جای به هسته در کلیدها جدول کردن کامپایل برای

در شده کنید .? Section 8.3, ?Linux-2.6.8.1داده گیری پی کلید . را صفحه که باشید مطمئن کار این انجام با

حالت در اگر حتی میکند رفتار انتظار مطابق بیاییم maintenanceهیشه دستور )بالا فرستادن بوسیله

init=/bin/sh کرنل اتوماتیک (. به را صفحه فونت کرنل نمیشود اجرا کنسول بوت اسکریپت حالت این در چون

نمیکند کاراکترهای . تنظیم چون کند ایجاد زیادی مشکل نباید است ASCIIاین بعید و میشوند داده تحویل درست

باشد داشته نیاز اسکی غیر کاراکترهای به حالت این در . کاربر

متغیر که است ممکن میکند تنظیم را کلیدها جدول کرنل که آنجایی فایل KEYMAPاز از را

etc/sysconfig/console / کرد گذاشت . حذف باقی تاثیر بدون را آن میتوان تمایل درصورت آن . همچنین نگهداشتن

سخت است شده کامپایل انها همه در کلیدها جدول اینکه از اطمینان که متعدد های کرنل اجرای صورت در

است مفید .میباشد

mkdir -p /etc/kbd && cat > /etc/kbd/bs-sends-del <<"EOF"

keycode 14 = Delete Delete Delete Delete

alt keycode 14 = Meta_Delete

altgr alt keycode 14 = Meta_Delete

keycode 111 = Remove

altgr control keycode 111 = Boot

control alt keycode 111 = Boot

altgr control alt keycode 111 = Boot

EOF

Page 13: ترجمه فصل هفت کتاب LFS

فایل 7.7 etc/inputrcایجاد

است mapبا / etc/inputrcفایل ارتباط در کلید صفحه فایل .کردن وسیله start-upاین به که readlineاست

میشود بوسیله . استفاده ورودی به مربوط دیگر bashکتابخانه میشود shellو استفاده .ها

فایل بیشتر اطلاعات به infoبرای کنید bashمربوط مطالعه را است ورودی خط به که infoصفحه .قسمتی

است خوبی اطلاعات منبع نیز ورودی خط به .مربوط

در عمومی اند / etc/inputrcمتغیرهای شده در . تنظیم شخصی اند ./~ inputrcمتغیرهای شده فایل. تنظیم

inputrc ~/. یابد می تقدم عمومی متغیرهای دیگر . بر صفحه فایل bashیک نبود صورت در تا میکند تنظیم را

inputrc. خواندن هنگام این )etc/profileدر لاگ زمان کند / etc/inputrcاز ( معمولا سیستم . استفاده یک تنظیم برای

که است این خوب ایده یک کلید صفحه عمومی تنظیمات گرفتن نادیده برای یا کند استفاده دو هر از اینکه جهت

فرض پیش در . inputrcفایل جدید کاربران استفاده جهت داد / etc/skelرا .قرار

cat > /etc/inputrc << "EOF"

# Begin /etc/inputrc

# Modified by Chris Lynn <[email protected]>

# Make sure we don't output everything on the 1 line

set horizontal-scroll-mode Off

# Enable 8bit input

set meta-flag On

set input-meta On

# Turns off 8th bit stripping

set convert-meta Off

Page 14: ترجمه فصل هفت کتاب LFS

یک بالا انجام / etc/inputrcبرای baseدر کاری چه مختلف پارامترهای اینکه توضیح جهت کامنت چند همراه به

دارد وجود دهند باشند . می داده قرار خط یک در دستورات با نمیتوانند توضیحات که باشید داشته یاد برای. به

فایل کنید / etc/skelدر . inputrcایجاد استفاده زیر دستورات به . از را پس / etc/skel/.inputrcخروجی و کنید عوض

کنید چک را مجوزها آن به . از را ریشه / etc/inputrcفایل کاربر که سیستم بر موجود کاربران خانگی دایرکتوری و

کنید کپی میگیرد بر در نیز دارد . را نیاز را فایل از اختصاصی نسخه یک ریشه از . کاربر که باشید داشته یاد به

دستور - pپارامتر دهید cpبا تغییر مناسب گونه به نیز را گروه و مالکیت و شوند منتقل مجوزها تا کنید .استفاده

# Keep the 8th bit for display

set output-meta On

# none, visible or audible

set bell-style none

# All of the following map the escape sequence of the

# value contained inside the 1st argument to the

# readline specific functions

"\eOd": backward-word

"\eOc": forward-word

# for linux console

"\e[1~": beginning-of-line

"\e[4~": end-of-line

"\e[5~": beginning-of-history

"\e[6~": end-of-history

"\e[3~": delete-char

"\e[2~": quoted-insert

# for xterm

"\eOH": beginning-of-line

"\eOF": end-of-line

# for Konsole

"\e[H": beginning-of-line

"\e[F": end-of-line

# End /etc/inputrc

EOF

Page 15: ترجمه فصل هفت کتاب LFS

bashپوسته Start-upفایل 7.8

فایلهای bashپوسته از ای مجموعه میگیرد start-upاز کمک اجرا محیط یک ایجاد خاصی . برای کاربرد فایل هر

باشد داشته پویا محیط و این لاگ روی بر متفاوتی تاثیر است ممکن و دایرکتوری . دارد درون etcفایلهای

دربرمیگیرند را عمومی ممکن . تنظیمات باشد داشته وجود خانگی دایرکتوری در مشابه فایل که صورتی در

کند غلبه عمومی تنظیات بر .است

از استفاده با موفق این لاگ یک از پس پویا این لاگ محیط فایل / bin/loginیک خواندن آغاز/ etc/passwdبا

میشود . میشود آغاز فرمان خط در این لاگ بدون پویای محیط یک . یک که زمانی معمولا پویا غیر محیط یک

است حاضر است اجرا حال در تکست حالت در کد . برنامه یک اجرای حال در زیرا است پویا غیر محیط این

نیست دستورات اجرای از قبل کاربر ورودی منتظر و . میباشد

بیشتر اطلاعات ببینید info bash -Nodes :bash Startup files and intractive Shellsبرای را

خوانده ./~ bash-profileو / etc/profileفایلهای میشود استفاده پویا این لاگ پوسته یک عنوان به پوسته که زمانی

.میشوند

پایه فایل تنظیم / etc/profileیک میکند تنظیم را مادری زبان پشتیبانی برای لازم محلی متغیرهای مقداری

میشود باعث آنها :درست

شود • ترجمه مادری زبان به ها برنامه خروجی

دیگر • کلاسهای و اعداد و حروف به کاراکترها درست بندی برای . طبقه بندی طبقه پذیرفتن bashاین جهت

میباشد مهم انگلیسی غیر های محیط در فرمان خط در اسکی غیر .کاراکترهای

کشور • هر برای الفبا حروف اساس بر درست کردن مرتب برای

کاغذ • درست فرض پیش اندازه

کشور • تاریخ و زمان و پولی نظام درست تنظیم

محیطی متغیر همچنین اسکریپت میشود INPUTRCاین باعث که ساخته BASHرا پیش فایل از فرمان خط و

etc/inputrc / کنند .استفاده

زیر نظر [ LL]در مورد زبان برای حرفی دو کد یک با نظر [ cc]و ( enمثلا ) را مورد کشور برای رقمی دو کد با مثلا)را

GB ) کنید باشد . جایگزین لازم است میشود ) ممکن داده ترجیح نقطه ( و یک از پس character encordingکه

نظر کنیم " ( iso8859-1"مثلا)مورد اضافه است )را اینگونه اطلاعات "( en_GB.iso8859-1: نتیجه برای زیر دستور

میشود پیشنهاد :بیشتر

Page 16: ترجمه فصل هفت کتاب LFS

توسط که هایی محیط از لیست آید Glibcیک می دست به زیر دستور اجرای طریق از میشوند :پشتیبانی

فایل آمد دست به محیطی مناسب تنظیمات که کنید / etc/profileزمانی ایجاد :را

:نکته

از lay outتنظیم که محیطهایی پشتیبانی برای لازم کارهای تنها محیطی متغیرهای و فونت و کلید صفحه

و معمولی بیتی تک های میباشد encordingکاراکتر میکنند استفاده راست به چپ تر . از پیچیده مانند) موارد

بر مبتنی های و ( UTF-8محیط بیشتر محیط patchمراحل این در زیادی های برنامه زیرا دارند نیاز بیشتری های

نمیکنند کار کتاب . درست در مراحل توسط lfsاین ها محیط این و اند نشده شوند lfsگنجانده نمی .حمایت

man 3 setlocale

locale -a

cat > /etc/profile << "EOF"

# Begin /etc/profile

export LC_ALL=[ll]_[CC]

export LANG=[ll]_[CC]

export INPUTRC=/etc/inputrc

# End /etc/profile

EOF

:نکته

های فرض " )c"محیط کابران ")en-US"و (پیش برای شده هستند ( Unid states englishتوصیه متفاوت

cat > /etc/profile << "EOF"

# Begin /etc/profile

export LC_ALL=[ll]_[CC]

export LANG=[ll]_[CC]

export INPUTRC=/etc/inputrc

# End /etc/profile

EOF

Page 17: ترجمه فصل هفت کتاب LFS

های 7.9 کد بندی sysklogdپیکر

پارامترهای sysklogdبرنامه sysklogdکد با میکند - m 0را که . اجرا زمانی برنامه پارامتر هر syslogdاین

های فایل دقیقه میکند logبیست فعال غیر نویسد می دوره . را این کردن فعال کدهای برای زمانی

sysklogd کنید ایجاد را لازم تغییرات و کرده ویرایش بیشتر . را اطلاعات ببینید man syslogdبرای .را

Page 18: ترجمه فصل هفت کتاب LFS

اسکریپت 7.10 ببندی localnetپیکر

اسکریپت است localnetنقش سیستم میزبان نام در . تنظیم باید شود / etc/sysconfig/networkاین .تظیم

فایل زیر دستور اجرای کنید / etc/sysconfig/networkبوسیله وارد را میزبان نام و کرده ایجاد :را

[lfs ] شود جایگزین شود زده صدا باید که کامپیوتری نام با دامین . باید کامل نکنید ( fqdn)نام وارد اینجا در را

فایل . در بعدا اطلاعات شد / etc/hostsآن خواهد . گنجانده

echo "HOSTNAME=[lfs]" > /etc/sysconfig/network

Page 19: ترجمه فصل هفت کتاب LFS

فایل 7.11 /etc/hostsایجاد

مورد در شود تنظیم باید شبکه کارت یک که صورتی کامل ipدر نام و برای aliasو دامینآدرس ممکن

در بگیرید / etc/hostsاستفاده است . تصمیم چنین کار :دستور

نیست مشاهده قابل اینترنت در کامپیوتر که صورتی آدرس ) در از محدوده یک و دارد وجود شده ثبت دامین

دارد ipهای وجود شده داده نیستند .- اختصاص اینگونه کاربران آدرس ( بیشتر که شوید در ipمطمئن

آدرس دارد ipمحدوده وجود از . شبکه عبارتند معتبر های :محدوده

آدرس میتواند ipیک دامین 192.168.1.1معتبر کامل نام یک و میتواند( fqdn)باشد

www.linuxfromscratch.org سرور )باشد موجب است ممکن است شده ثبت دامین یک این اینکه علت به

نمیشود توصیه بگیرد (. مشکل

است لازم همچنان دامین کامل نام یک نمیکنید استفاده شبکه کارت از که صورتی در برنامه . حتی این

میباشد حیاتی کردن کار درست جهت مهمی . های

کنید / etc/hostsفایل ایجاد زیر دستورات اجرای با :را

خاص >[ HOSTNAME]<و [ 192.168.1.1]متغیرهای نیازهای و ها کاربر آدرس )برای یک که صورتی IPدر

میشود وصل موجود شبکه یک به یستم و شده داده اختصاص شبکه مدیر یک یافتن ( بوسیله تغییر به نیاز

. دارند

فایل زیر دستورات اجرای با نباشد شبکه کارت یک تنظیم به نیازی که صورتی کنید / etc/hostsدر ایجاد :را

<IP address> myhost.example.org aliases

Class Networks

A 10.0.0.0

B 172.16.0.0 through 172.31.0.0

C 192.168.0.0 through 192.168.255.0

cat > /etc/hosts << "EOF"

# Begin /etc/hosts (network card version)

127.0.0.1 localhost

[192.168.1.1] [<HOSTNAME>.example.org] [HOSTNAME]

# End /etc/hosts (network card version)

EOF

Page 20: ترجمه فصل هفت کتاب LFS

cat > /etc/hosts << "EOF"

# Begin /etc/hosts (no network card version)

127.0.0.1 [<HOSTNAME>.example.org] [HOSTNAME] localhost

# End /etc/hosts (no network card version)

EOF

Page 21: ترجمه فصل هفت کتاب LFS

شبکه 7.12 کد بندی پیکر

میرود کار به شد خواهد نصب شبکه کارت که صورتی در قسمت .این

نیز شبکه کارتهای پیکربندی فایل ایجاد به نیازی شد نخواهد استفاده شبکه کارت از که صورتی در

صورت .نمیباشد این های symlinkدر دایرکتوری تمام از را شبکه به مربوط (etc/rc.d/rc*.d)ها run-levelهای

کنید .پاک

شبکه 7.12.1. رابط بندی پیکر فایل ایجاد

دایرکتوری درون فایلهای به بستگی بیایند پایین و بالا شبکه کدهای توسط هایی رابط چه /اینکه

etc/sysconfig/network-devices فرم . دارد به فایلهایی دربرگیرنده باید دایرکتوری به ifconfig.xyzاین باشد

که میباشد " xyz"صورتی شبکه رابط (.eth0:1یا eth0مانند ) نام

دایرکتوری که صورتی خاطر / etc/sysconfig/network-devices/در به باشد داشته مکان یا و نام تغییر محتاج

فایل باشیدکه متغیر / etc/sysconfig/rcداشته مقدار و کنید ویرایش جدید "network_devices"را بامسیر را

کنید روز .به

میشوند ساخته دایرکتوری این در جدید فایل . فایلهای یک زیر ابزار ipv4دستورات برای :میسازد eth0ساده

کند تغییر باید فایل هر در متغیرها این مقدار درست تنظیم متغیر . جهت که صورتی بوت )onboootدر به( هنگام

شبکه رابط کارت سیستم بوت طول در شبکه اسکریپت باشد شده تنظیم میکند ( NIC)بله اجرا که . را صورتی در

باشد شده تنظیم بله از غیر چیزی هر به متغیر آید NICاین نمی بالا و میشود گرفته نادیده بوت .درهنگام

آوردن SERVICEمتغیر بدست برای را متد میکند IPیک بوت .تعریف تخصیص lfsکدهای مکانیسم یک ipاز

میکنند استفاده دایرکتوری . ماژولی در اضافی فایلهای اجازه/ etc/sysconfig/network-devices/servicesساختن

تخصیص متدهای دیگر از کنیم ipمیدهد در .استفاده که میزبان پیکربندی دینامیک پروتکل مورد در بیشتر این

میرود BLFSکتاب کار به شده اشاره آن . به

cd /etc/sysconfig/network-devices &&

mkdir ifconfig.eth0 &&

cat > ifconfig.eth0/ipv4 << "EOF"

ONBOOT=yes

SERVICE=ipv4-static

IP=192.168.1.1

GATEWAY=192.168.1.2

PREFIX=24

BROADCAST=192.168.1.255

EOF

Page 22: ترجمه فصل هفت کتاب LFS

یک GATEWAYمتغیر وجود صورت دربرگیرنده gatewayدر متغیر gatewayباید صورت این غیر در باشد فرض پیش

درببیاورید کامنت صورت به کاملا .را

در PREFIXمتغیر که بیت تعدادی دربرگیرنده باشد subnetباید اند شده دارد ipدر octetهر .استفاده بیت .هشت

که صورتی سه 255.255.255.240مقدار subnet maskدر از آن بنابراین باشد برای( بیت ۲۴)نخست octetداشته

میکند استفاده شبکه به از Prefix. اختصاص بیشتر بوسیله 24های معمولا میشود ISPو DSLبیت استفاده .ها

مثال این به . است 255.225.225.1مقدار netmaskعدد( prefix=24)در توجه را submetبا آن شده داده تخصیص

کنید .تنظیم

فایل 7.12.2 /etc/resolv.confایجاد

دامین نام سرویس به شود وصل اینترنت به که میخواهد سیستم که صورتی نام ( DNS)در تغییر جهت

آدرسهای به اینترنتی های دارد vice versaو ipدامین آدرس . نیاز دادن قرار راه DNSسرور ipبهترین

طرف از شده فایل ISPتامین در شبکه مدیر اجرای . میباشد / etc/resolv.confیا با را مذکور فایل

کنید ایجاد زیر :دستورات

[IP Address of nameserver ] آدرس با کنید DNSسرور ipرا جایگزین وروی . مناسب یک از بیش معمولا

دارد یک . وجود فقط که صورتی خط DNSدر میخواهید کنید nameserverسرور پاک را ipآدرس . دوم

باشد محلی شبکه روی بر روتر یک میتواند . همچنین

cat > /etc/resolv.conf << "EOF"

# Begin /etc/resolv.conf

domain {[Your Domain Name]}

nameserver [IP address of your primary nameserver]

nameserver [IP address of your secondary nameserver]

# End /etc/resolv.conf

EOF

Page 23: ترجمه فصل هفت کتاب LFS

اصطلاحات از برخی :توضیح

UTC time

hot plug

device node

key map