لینوکس ( همه چیز درباره لینوکس )

ساخت وبلاگ

لینوکس چیست؟
لینوکس یک سیستم عامل آزاد و باز متن است که تحت مجوز GNU/GPL منتشر شده است. باز متن به این معنی که هر شخصی آزاد است تا از آن استفاده کند ،‌آن را تغییر دهد و حتی می تواند آن را دوباره توزیع کند.
لینوکس در سال ۱۹۹۱ در دانشگاه هلسینکی فنلاند توسط یک دانشجوی جوان به نام لینوس تروالدز نوشته شد. تراوالدز در اصل با Minix (که یک یونیکس خلاصه شده است.) کار می کرد ،‌اما تصمیم گرفت تا سیستم عاملی دلخواه خود و بر اساس UNIX خلق کند و این ماجرا با انتشار نسخه ی ۰٫۰۲ در سال ۱۹۹۱ توسط او آغاز شد که در زمان نوشتن این مقاله آخرین نسخه ی پایدار آن ۲٫۶ می باشد.

لینوس ترووالدز طی یک نامه ی الکترونیکی خبر نوشتن سیستم عامل بازمتن خود را اعلام کرد ، طولی نکشید که صدها نفر از سراسر دنیا خواهان کار با این سیستم عامل باز متن (Open Source) که به UNIX شباهت داشت شدند و شروع به توسعه ی ان کردند.
امروزه توزیع های فراوانی از لینوکس و جود دارد که از هسته و نرم افزار های آزاد (Free Software) همراه هسته تشکیل می شوند. همه ی این توزیع ها از یک هسته ی واحد به نام لینوکس استفاده می کنند.
اگر بخواهیم دقیق تر توضیح بدهیم ، لینوکس یکسری کد است و ارتباط بین سخت افزار ها و نرم افزار ها را برقرار می کند (به عنوان هسته یا کرنل) و یک توزیع لینوکس (که در زبان عام به ان لینوکس می گویند) شامل هسته و تعداد زیادی نرم بازمتن می باشد مانند توزیع های ردهت (Redhat) ، دبیان ( debian ) ، اسلاکویر( Slackware) وجینتو(Gentoo).
شایان ذکر است که امروزه برای راحتی به توزیع های لینوکس همان لینوکس گفته می شود که البته صحیح آن گنو/لینوکس می باشد ، چرا که بیشتر نرم افزار های استفاده شده در این توزیع ها تحت مجوز های گنو انتشار یافته اند، بنابراین این از این پس هر جا که از لینوکس نام می بریم منظورمان همان توزیع های گنو/لینوکس است مگر ان که صریحا به هسته ی لینوکس اشاره کنیم .
II.لینوکس سیستم عامل قرن ۲۱
در ابتدای مقاله هم اشاره کردیم که گنو/لینوکس یک سیستم عامل بامتن (Open Source) است . بازمتن بودن گنو/لینوکس باعث شده تا عده ی فراوانی از سرتاسر جهان توسط اینترنت گردهم آمده و برروی این سیستم عامل کار کنند ، نتیجه ی این گردهم آیی سیستم عاملی قدرتمند با ویژگی هایی منحصر به فرد شده که علاوه بر رایگان بودن و باز متن بودن ویژگی های بسیاری دارد که باعث شده تا لینوکس که در ابتدا در محیط های دانشگاهی و آکادمیک بزرگ شده حالا دیگر پا به عرصه ی تجارت و دولت بگذارد تا جایی که دولت های بزرگ اروپا مانند آلمان و اسپانیا سیستم عامل ملی خود را لینوکس اعلام کنند و البته نه تنها دولت ها بلکه نهاد ها و وزارت خانههای بسیاری سیستم عامل نهاد یا وزارت خانه ی خود را به لینوکس تبدیل کرده اند مانند وزارت دفاع آمریکا ،‌اداره ی پست آمریکا ،‌نیروهای مسلح ترکیه یا حتی در ایالت کالیفرنیای امریکا نیز برای اداره یامور از این سیستم عامل استفاده می شود. شاید برای شما این پرسش مطرح شده باشد که این ویژگی های لینوکس چیست که این گونه همگان را به سوی لینوکس جذب کرده؟ ما در این جا برخی ویژگی های لینوکس را ذکر می کنیم:
۱٫هزینه
گنو/لینوکس یک سیستم عامل رایگان است ، البته توزیع هایی هم وجود دارد که به صورت تجاری ارائه می شوند اما قیمت آن ها همواره کمتر از سیستم عامل های تجاری مانند مایکروسافت ویندوز یا UNIX است ، البته این نکته نیز گفتنی است که اغلب توزیع های تجاری لینوکس را نیز می توان به صورت رایگان از اینترنت دریافت (Download) کرد و حتی برای دوستانتان نیز می توانید کپی کنید اما این نسخه هایی که بابت آنها پولی پرداخت نشده ، دارای خدمات پشتیبانی یا کتابچه ی راهنما نیستند .(هر چند که همواره هزاران صفحه اطلاعات رایگان در اینترنت در باره ی توزیع های مختلف گنو/لینوکس وجود دارد.)
پایین بودن هزینه های گنو/لینوکس یکی از عواملی است که دولت های بسیار و شرکت های بزرگ را واداشته تا این سیستم عامل را سیستم عامل رسمی خود اعلام کنند.
۲٫امنیت و پایداری
لینوکس با توجه به ساختار خود سیستم عاملیست امن و پایدار ، پایداری لینوکس را مدیون روش صحیح استفاده ی آن از سخت افزاریم که این خصلت را از UNIX به ارث برده و امنیت آن را علاوه بر ساختار صحیح ان مدیون بازمتن (Open Source) بودن آن هستیم. بازمتن بودن بودن باعث شده تا در صورت مشاهده ی کوچکترین مشکل در هسته یا نرم افزار های جانبی در چند ساعت یا حد اکثر چند روز توسعه دهندگان و برنامه نویسان ضعف و مشکل را حل کرده و راه حل را در اختیار عموم کاربران قرار دهند. این گونه است که گنو/لینوکس در پایداری و امنیت به یک افسانه تبدیل شده است و جزو ایمن ترین و پایدارترین سیستم عامل های جهان به شمار می رود.
موضوع پایداری و امنیت در حوزه ی سرور ها و شبکه بسیار مهم است تا جایی که لینوکس بیش از ۳۰ در صد از سرور های جهان را شامل می شودو۷۰ در صد دیگر شامل SCO UNIX و SUN UNIX و IRIX و HP-UX و FreeBSD ودیگر یونیکس ها و Apple Mac و در صدی هم ویندوز می شود و با توجه به تعدد این سیستم ها می بینیم ۳۰در صد خود رقمی قابل توجه است.
باید خاطر نشان کنم که تا به حال برای لینوکس هیچ ویروس یا کرمیبه آن شکل که برای ویندوز مایکروسافت وجود دارد نوشته نشده است و برای نرم افزار های مدیریت ایمیل یا جستجوی وب (Browser) آن هم ویروسی شناسایی نشده و برعکس IE ویندوز که همواره باید برای آن وصله (Patch) های امنیتی دانلود کرد برای مورورگر های لینوکس بعد نیازی به تلف کردن وقت با این کار ها نیست. ۳٫نیاز های سخت افزاری اندک
گنو/لینوکس به دلیل ساختار هسته ی مناسب و تعدد توزیع ها می تواند با حداقل امکانات سخت افزاری به خوبی کار کند تا جایی که حتی توزیع هایی وجود دارد که بدون وجود هارد دیک برروی سیستم و یا با حافظه (RAM) معادل ۱۶ مگابایت می تواند سیستم شما را راه اندازی کند .
۴٫تنظیم و شخصی سازی
گنو/لینوکس را می توان با رابط خط فرمان (Command Line Interface) همانند MS-DOS و یا با رابط گرافیکی مانند ویندوز مایکروسافت یا Apple Mac اجرا و استفاده کرد. دردسر های معمول تنظیم و شخصی سازی میز کار با وجود محیط های گرافیکی مختلف مانند کی دی ای ( KDE) یا گنوم (GNOME) از بین رفته و شما می توانید از ده ها محیط گرافیکی گنو/لینوکس حداکثر بهره را ببرید.
محیط های گرافیکی گنو/لینوکس با هدف رفع نیاز کاربران و به صورت بازمتن بوده و توسط گروه بزرگی از برنامه نویسان در خلق شده و در حال توسعه هستند، شما می توانید باتوجه به شرایط سخت افزاری و سلیقه ی خود از از هر کدام از این محیط های گرافیکی بهره برده و بر اساس نیازتان تنظیمش کنید
۵٫آزادی
لینوکس یک سیستم عامل آزاد است ،‌شما می توانید با در دست داشتن کد های منبع آن که برنامه نویسان و خالقین لینوکس در اختیار شما قرار می دهند مطابق میل خود تغییر و توسعه دهید ، کافیست شما به زبان های C و ++C و اسمبلی آشنا باشید ، حالا می توانید توزیع خود را داشته منتشر کنید،‌حتی برای کاربران غیر فنی که به این زبان ها اشنایی ندارند ابزار ها و توزیع هایی معرفی می شود تا با حداقل دانش برنامه نویسی به انتشار توزیع مخصوص خود بپردازند.
این آزادی در تغییر و توزیع مجدد با در دست داشتن کد های منبع باعث رواج هر چه بیشتر گنو/لینوکس شده تا جایی که شما می توانید برای هر کاربردی یک لینوکس بیابید! برای نمومنه لینوکسی فقط برای کار های وب وجود دارد و لینوکسی دیگر فقط برای پخش مولتی مدیا و یا لینوکسی برای شبکه .
البته آزاد بودن گنو/لینوکس باعث پیشرفت این سیستم عامل تا جایی است که دولت هایی مانند چین تصمیم به نوشتن توزیع مخصوص به خودشان گرفته اند که کاملا با ویژگی های زبان آن ها سازگاری دارد در صورتی که این موضوع در سیستم عامل های غیر ازاد (Free) و بازمتن مسلما میسر نمی شد.
III.کاربرد های لینوکس
گنو/لینوکس را می توان از میز کار دانش اموزان دبستان در اسپانیا تا ماهواره های کوچک در فضا یافت! از آن جایی که لینوکس یک سیستم عامل ذاتا چند کاربره (Multi User) و چند کاره (Multi Task) است [به این معنی که در یک لحظه بیش از یک کاربر می تواند با ان کار کند و بیش از یک برنامه را اجرا می کند.] و در کنار این دو مزیت سیستم عاملی پایدار و امن است می تواند گزینه ای مناسب برای سرویس دهنده های شبکه باشد ، در حال حاضر اغلب شبکه های بزرگ و معتبر از سیستم عامل لینوکس به عنوان سرویس دهنده ی اصلی خود استفاده می کنند.حتی سرویس دهنده های سایت hotmail بعد از کرک های متناوب از سوی مهاجمین به جای ویندوز مایکروسافت از لینوکس برای مدتی استفاده کرد تا بتواند در مقابل کرک های مداوم مهاجمان دوام بیاورد. البته شرکت بزرگ IBM نیز محصولات سرویس دهنده ی خود را مانند سرور های وب و شبکه با سیستم عامل لینوکس می فروشد .
البته کاربرد لینوکس به سرویس دهنده ها ختم نمی شود بلکه آن را می توان بر روی تقریبا هر ابزاری نصب کرد! آخرین مدل های گوشی موبایل در کره به جای سیستم عامل های قبل از گنو/لینوکس استفاده می کند ،‌در هند لینوکس به عنوان سیستم عامل کامپیوتر های دستی (Handheld) یا PDA استفاده می شود در ژاپن شرکت سونی در لوازم صوتی و تصویری خود از گنو/لینوکس استفاده می کند ، خلاصه هر کجا به یک سیستم عامل احتیاج هست می توان از لینوکس استفاده کرد و اگر لینوکس برای آن کار مناسب نباشد جامعه ی توسعه دهنده ی لینوکس برای آن کار توسعه می دهندش ! و البته میز کار کاربران معمولی را فراموش کردیم ، همان طور که در بالا گفتیم با توجه به توزیع های متفاوت و محیط های گرافیکی بسیار زیاد برای کار با لینوکس امروزه دیگر این سیستم عامل یک سیستم عامل حرفه ای نیست بلکه یک سیستم عامل حرفه ای و خانگی شده است. شما می توانید در خانه به شنیدن موسیقی یا تماشای فیلم بپر دازید یا کار های خود را مدیریت کنید یا در اینتر نت به گشت وگذار بپردازید یا با دوستتان یک گپ (Chat) اینترنتی بزنید و یا می توانید در خواست مرخصی خود را با برنامه های لینوکسی تایپ کنیدو به مدیر خود بدهید! و البته اگر شما یک برنامه نویس کنجکاو هستید یا برنامه نویس وب ،‌ گنو/لینوکس بهشت شماست !!
البته از دیگر کاربرد های لینوکس استفاده از ان به عنوان سرور اشتراک فایل بجای سیستم عامل گران قیمت ویندوز NT مایکروسافت است که این کار را سامبا ( Samba ) که یک برنامه ی اشتراک گذاری فایل است برایتان انجام می دهد.البته می توانید به عنوان یک سرور SQL قدرتمند که به وسیله ی پایگاه های داده ای بازمتنی که همراه گنو/لینوکس عرضه می شوندمانندMySQL یا PostgreSQL به رفع نیاز پایگاه داده خود بپردازید.
در اینده ای نزدیک دیگر قابلیت های لینوکس را در مقالات سایت خواهید دید , والبته این بار دیگر تصمیم با شماست که همچنان با مایکروسافت باشید یا لذت استفاده از نرم افزار ازاد را بچشید!!
نصب لینوکس شبدیکس بر روی دیسک سخت:
لینوکس شبدیکس بر اساس دیسک زنده کناپیکس ( Knoppix ) که خود بر اساس Debian GNU/Linux می باشد ، ساخته شده است. میز کار پیش فرض این سیستم عامل KDE فارسی می باشد که توسط شرکت « چاپار شبدیز » به فارسی برگردانده شده است. برای اطلاعات بیشتر در مورد KDE فارسی به سایت آن در آدرس http://www.farsikde.org مراجعه نمایید.
این توزیع همانند پدر خود کناپیکس یک دیسک زنده است که قابلیت نصب بر روی دیسک سخت را نیز دارا می باشد. در این مقاله پس از بوت کردن این سیستم عامل به نحوه نصب آن بر روی دیسک سخت خواهیم پرداخت.
پس از اینکه دیسک لینوکس شبدیکس را در درایو CD خود قرار دادید و سیستم را از روی CD بوت کردید ، پس از چند لحظه صفحه ی مربوط به بوت کردن شبدیکس با ظاهری زیبا نمایان می شود. در این قسمت برای بوت با تنظیمات پیش فرض فقط کافیست کلید Enter را فشار دهید و یا چند لحظه صبر کنید تا بصورت خودکار شروع به بوت شدن نماید. اما اگر می خواهید بعضی تنظیمات آنرا در هنگام بوت تغییر دهید کافیست کلید F2 را فشار دهید تا صفحه ی راهنمایی آن ظاهر شود. لازم به ذکر است که تمام این گزینه ها همانند کناپیکس می باشند.
خوب ٬ چون من به تغییر تنظیمات نیاز ندارم فقط کلید Enter را می زنم تا سیستم بوت شود.
اولین چیزی که بر روی صفحه نمایش ظاهر می شود ، پیغام !Ba Dorood می باشد که بنده احساس بسیار خوبی نسبت به این پیغام دارم ( کمی احساس غرور به خاطر فارسی بودن آن ). سپس مراحل دیگر بوت طی می شود تا تصویر پس زمینه شرکت چاپار شبدیز نمایان می شود و پس از آن KDE فارسی شروع به بارگذاری می شود. پیغام های فارسی در صفحه ی KDE Splash همیشه نظر من را به خود جلب می کند.
اکنون سیستم مراحل بوت را پشت سر گذاشته است. ( تصویر شماره ۱ (

شکل شماره ۱ ( اندازه ی واقعی )

بر روی دیسک سخت این سیستم ۳ پارتیشن و مقداری فضای خالی وجود دارد که بر روی پارتیشن اول سیستم عامل ویندوز مایکروسافت می باشد و دو پارتیشن بعدی نیز دارای فایل سیستم FAT32 می باشند. برای نصب شبدیکس بر روی دیسک سخت احتیاج به یک پارتیشن با یکی از فایل سیستم های لینوکس دارم. برای این منظور از ابزار QTParted موجود در شبدیکس استفاده می کنم. QTParted را از KMenu –> سیستم –> QTParted اجرا می کنم. شکل شماره ۲ این ابزار را نشان می دهد.

شکل شماره ۲ ( اندازه ی واقعی )

چون من پارتیشن سوم را برای نصب انتخاب کرده ام ( dev/hda6/ ) بر روی پارتیشن مربوطه کلیک راست کرده و گزینه ی Delete را انتخاب می کنم تا این پارتیشن حذف شود. سپس بر روی قسمت فضای خالی کلیک راست کرده و گزینه ی Create را انتخاب می کنم تا یک پارتیشن جدید با فایل سیستم ext3 بسازم. در پنجره ی جدید باز شده نوع فایل سیستم را مشخص می کنم و اندازه آنرا نیز وارد می کنم و سپس تایید می کنم. حال یک پارتیشن با فایل سیستم ext3 دارم که می توانم شبدیکس را بر روی آن نصب کنم.
نکته:
باید این نکته را متذکر شوم که در طول نصب شبدیکس بر روی دیسک سخت برنامه QTParted اجرا خواهد شد و شما قادر خواهید بود تا پارتیشن های خود را ویرایش کنید. اما من این مرحله را جداگانه و قبل از اجرای برنامه نصب انجام دادم. شما می توانید از ابزارهای دیگری مانند fdisk نیز برای پارتیشن بندی استفاده کنید.

نکته:
برای آشنایی با نحوه ی کار با ابزار fdisk اینجا کلیک کنید.

از برنامه QTParted خارج می شوم و بر روی آیکون «نصب بر روی دیسک سخت» که بر روی میز کار قرار دارد کلیک می کنم.
برنامه نصب اجرا شده و یک پیغام اخطار برای عدم مسئولیت شرکت چاپار شبدیز در قبال از دست رفتن اطلاعات و یا خرابی دیسک سخت نمایان می شود. ( شکل شماره ۳ )

شکل شماره ۳
پس از تایید آن برنامه ی نصب به کار خود ادامه می دهد و پس از نشان دادن یک پیغام دیگر برنامه QTParted را اجرا می کند. اگر یک پارتیشن با فایل سیستم مناسب و فضای کافی دارید براحتی با بستن این ابزار می توانید از این مرحله بگذرید. در غیر اینصورت از این ابزار استفاده کنید و یک پارتیشن برای نصب شبدیکس بسازید.
پس از گذشتن از این مرحله باید یکی از دیسک های سخت موجود بر روی سیستم را برای نصب انتخاب کنید. ( شکل شماره ۴ )

شکل شماره ۴
پس از انتخاب و تایید ٬ پیغامی در رابطه با حافظه مجازی نمایان می شود. اگر بر روی دیسک سخت خود یک پارتیشن swap دارید بر روی دکمه بله کلیک کنید تا برنامه نصب آنرا شناسایی کند و در غیر اینصورت بر روی دکمه لغو کلیک کنید. چون بر روی سیستم من پارتیشن swap وجود ندارد بر روی دکمه لغو کلیک می کنم. پس از آن لیستی از پارتیشن هایی که می توانید شبدیکس را بر روی آنها نصب کنید نمایش داده می شود تا یکی را انتخاب کنید. ( شکل شماره ۵ )

شکل شماره ۵
پس از انتخاب پارتیشن مورد نظر لیستی از انواع فایل سیستم ها نشان داده می شود. باید یکی را انتخاب کنید تا برنامه نصب پارتیشن مورد نظر را به آن فایل سیستم فرمت کند. ( شکل شماره ۶ )

شکل شماره ۶
پس از انتخاب و تایید نهایی برنامه نصب پارتیشن مربوطه را فرمت می کند و سپس پیغامی برای آغاز کپی کردن فایلها بر روی دیسک سخت می دهد که با تایید آن ، اینکار صورت می گیرد. ( شکل شماره ۷ )

شکل شماره ۷
زمان کپی کردن فایلها حدودا ۲۰ دقیقه به طول انجامید. پس از اتمام عملیات کپی چند سوال در مورد شروع به کار سرویس دهنده های پست الکترونیکی ، سامبا ، چاپ و … در هنگام راه اندازی سیستم پرسیده می شود که باید با توجه به نیاز خود به آنها پاسخ دهید.
سپس سوالی در مورد KDM و ورود گرافیکی به سیستم از شما پرسیده می شود که به آن نیز بسته به میل خود باید پاسخ دهید. ( شکل شماره ۸ )

شکل شماره ۸
حال باید یک نام میزبان ( hostname ) برای سیستم انتخاب کنید. ( شکل شماره ۹ )

شکل شماره ۹
اکنون رمز عبور برای دو کاربر ریشه و کناپیکس از شما پرسیده خواهد شد و پس از آن سوالی در مورد نصب مدیر بوت lilo بر روی MBR پرسیده می شود که به آن پاسخ مثبت می دهم تا جایگذین مدیر بوت ویندوز شود.
در انتها نوبت به ساختن یک دیسکت راه انداز می باشد. در صورت تمایل بر روی دکمه بله کلیک کنید و مراحل آنرا ادامه دهید و در غیر این صورت بر روی دکمه خیر کلیک کنید.
تذکر!
اگر مدیر بوت lilo را بر روی MBR نصب نکرده اید به یک دیسکت راه انداز برای بوت کردن سیستم احتیاج خواهید داشت.
خوب ، نصب شبدیکس به پایان رسید. یک نصب بسیار ساده و آسان که هر کاربر تازه کار را نیز قادر می سازد تا آن را بر روی سیستم خود نصب کند.

I.اجرای fdisk

ابزار fdisk ابزاریست ساده اما قدرتمند در دستان شما که کار کردن باآن بسیار آسان است.برای استفاده از fdisk با دستور su به حالت کاربر ریشه رفته و fdisk یا به طور کامل sbin/fdisk/ را اجرا کنید.
II.استفاده از Fdisk

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

[root@GNUIran/]# /sbin/fdisk /dev/hdb

The number of cylinders for this disk is set to 2491.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:

1)software that runs at boot time (e.g., LILO)

2)booting and partitioning software from other Oss
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):

با توجه به وضعیت دیسک سخت شما چنین پیغامی نمایش داده می شود،این پیغام برای دیسک های بالای ۸گیگابایت نمایش داده می شود.بسیارخوب حالا چه باید کرد؟ اولین چیزی که به ذهن خطور می کند نوشتن m ست برای کمک، وس من هم می نویسم:

Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Command (m for help):

خوب حالا به تمام ابزارهایی که در اختیار داریم آشنا شدیم، کار را پیش می گیریم و با وارد کردنp به بخش پارتیشن بندی می رویم.

Command (m for help): p Disk /dev/hdb: 255 heads, 63 sectors, 2491 cylinders
Units = cylinders of 16065 * 512 bytes

Device Boot Start End Blocks Id System
/dev/hdb1 * 1 195 1566306 a5 BSD/386
/dev/hdb2 196 212 136552+ 82 Linux swap
/dev/hdb3 213 2491 18306067+ 5 Extended
/dev/hdb5 213 474 2104514+ 83 Linux
/dev/hdb6 475 506 257039+ 83 Linux
/dev/hdb7 507 532 208844+ 83 Linux
/dev/hdb8 795 925 1052257 83 Linux
/dev/hdb9 926 1056 1052257 83 Linux
/dev/hdb10 1057 1088 257008+ 83 Linux
/dev/hdb11 1089 1350 2104483+ 83 Linux
/dev/hdb12 533 794 2104483+ 83 Linux
Command (m for help):

III.نگاهی به ستون ها
Device-شماره ی پارتیشن و نام دیسک سختی که پارتیشن بر روی آن قرار دارد در این ستون نوشته می شود.
Boot-اگر در این ستون ستاره وجود داشته باشد(در نمونه ی ما در کنارdev/hdb1/ قرار دارد) آن پارتیشن قابل بوت(Bootable) می باشد،یعنی اگر این دیسک دیسک اول من باشد(که در این جا dev/hda/ دیسک اول است) سیستم عامل ویا بوت لودر در این پارتیشن قرار دارد.
Start-شماره سیلندر ابتدای پارتیشن را نمایش می دهد.
End-شماره ی سیلندر انتهای پارتیشن را نشان می دهد.
Blocks- تعداد بلوک های موجود در پارتیشن را نمایش می دهد.بزرگی یک بلاک به نوع سیستم فایل شما بستگی دارد.در اغلب مواقع بزرگی یک بلاک حدود ۱K است.در نمونه ی ما در اولین پارتیشن ۱۵۶۶۳۰۶KB یا ۱٫۵G فضای خالی وجود دارد که کاملا مشخص است.
Id- شماره ای که نوع پارتیشن را مشخص می کند.هر نوع پارتیشن شماره ی مخصوص خود را دارد.با نوشتن “l”می توانید لیست تمام انواع فایل سیستم های مورد پشتیبانی Fdisk را همراه شماره هایشان ببینید.
System- این ستون در واقع انگلیسی ستون ID می باشد.درواقع با توجه به شماره ی نوع پارتیشن سیستم عامل مربوط به آن را می نویسد.

ایجاد پارتیشن های جدید.
برای یاد گیری پارتیشن بندی با fdisk این جا دو نمونه می آوریم. ایجاد یک پارتیشن Swap
swap در واقع یک حافظه(Ram)مجازی برروی هارد دیسک شماست و لینوکس به بودن آن برای سرعت بیشتر نیاز دارد.البته در هسته های قدیمی لینوکس(۲٫۰) نمی توان بیش از ۱۲۸مگابایت به Swapاختصاص داد،هرچند که این هسته ها بسیار بسیارکم استفاده می شوند.
در این جا ما یک پارتیشن Swap به بزرگی ۲۵۶مگابایت خواهیم ساخت ،برای ایجاد یک پارتیشن جدید کافیست “n”را وارد کنیدتا به بخش “Add a new partition”(افزودن یک پارتیشن جدید) وارد شوید.در صفحه ی ترمینال خواهید دید:

Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)

ما در این جا قصد داریم تا یک درایو منطقی یا Logicalایجاد کنیم ،برای این کار “l” را انتخاب می کنم.

l
First cylinder (1351-2491, default 1351)

سعی کنید در میان پارتیشن ها فضای خالی ایجا نکنید،بهترین انتخاب انتخاب اولین سیلندر فضای خالی هارد است تا به باقی پارتیشن ها آسیب نرسد.برای این کار به سادگی کلید Enter را فشار دهید.

Using default value 1351
Last cylinder or +size or +sizeM or +sizeK (1351-2491,
default 2491):

زیبایی و راحتی کار با fdisk این جا خود نمایی می کند! برای ایجاد یک پارتیشن احتیاجی به محاسبه یسیلندر ها ندارید کافیست حجم خود را به مگابایت یا کیلوبایت در مقابل اعلان وارد کنید.برای ایجاد یک Swap به اندازه ی ۲۵۶مگابایت وارد کنید”۲۵۶M+”:

Last cylinder or +size or +sizeM or +sizeK (1351-2491,
default 2491): +256M

Command (m for help):

یک بار دیگر هم به پارتیشن های خود نگاهی می اندازیم تا اشتباهی صورت نگرفته باشد ،برای این کار “p” را می زنیم:

Command (m for help): p

Disk /dev/hdb: 255 heads, 63 sectors, 2491 cylinders
Units = cylinders of 16065 * 512 bytes

Device Boot Start End Blocks Id System
/dev/hdb1 * 1 195 1566306 a5 BSD/386
/dev/hdb2 196 212 136552+ 82 Linux swap
/dev/hdb3 213 2491 18306067+ 5 Extended
/dev/hdb5 213 474 2104514+ 83 Linux
/dev/hdb6 475 506 257039+ 83 Linux
/dev/hdb7 507 532 208844+ 83 Linux
/dev/hdb8 795 925 1052257 83 Linux
/dev/hdb9 926 1056 1052257 83 Linux
/dev/hdb10 1057 1088 257008+ 83 Linux
/dev/hdb11 1089 1350 2104483+ 83 Linux
/dev/hdb12 533 794 2104483+ 83 Linux
/dev/hdb13 1351 1383 265041 83 Linux

Command (m for help):

خوب در نهایت صاحب یک پارتیشت ۲۵۶مگابایتی شدیم ،اما یک مشکل هنوز وجود دارد ، این پارتیشن یک پارتیشن لینوکس (ID=83) است نه یک Swap پارتیشن(ID=82) بنابر این بعد از یک بررسی دوباره در لیست فرمان ها با “m”کلید “t”را فشار می دهیم تا به بخش “change a partition system id”)تغییر شماره سیستم یک پارتیشن: (

 Command (m for help): t
Partition number (1-13):

معلوم است که شماره پارتیشن ما ۱۳ است پس آن را وارد می کنیم:

 Partition number (1-13): 13
Hex code (type L to list codes):

بسیارخوب حالا برای پارتیشنSwap باید عدد ۸۲ را وارد کرد:

 Hex code (type L to list codes): 82
Changed system type of partition 13 to 82 Linux swap

برای اطمینان از درست بودن کارها به لیست پارتیشن ها با “p”دوباره سرک می کشیم و در خط آخر می بینیم:

/dev/hdb13 1351 1383 265041 82 Linux swap

دقت کنید !تا به این جا یک پارتیشن جدید تعریف کردیم اما تغییرات بر روی دیسک سخت اعمال نشده اند برای اعمال این تغییرات باید “w” را فشار دهید تا به “write table to disk and exit”(در دیسک بنویس و خارج شو) ,وارد شوید، در خط فرمان خواهیددید:

  Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.

همه چیز تمام است ، تنها چیزی که مانده شناساندن Swap به لینوکستان است که این موضوع خارج از بحث این مقاله است اما به دلیل سادگی آن را در این جا مطرح می کنم، برای این کار کافیست در کنسول در حالت کاربر ریشه وارد کنید:

#swapon /dev/hdb13

به همین سادگی … ایجاد یک پارتیشن EXT2
با توجه به تجربه ی شما در ایجاد یک پارتیشن جدید که در بالا آن را مرور کردیم این جا یک پارتیشن ۱GB ایجاد خواهیم کرد.برای این کار همان طور که به یاددارید از “n” استفاده می کنیم:

  Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)

وسپس:

  l
First cylinder (1384-2491, default 1384):

برای ۱GB از ۱۰۲۴M استفاده می کنیم.

Last cylinder or +size or +sizeM or +sizeK (1384-2491,
default 2491): +1024M

Command (m for help):

اگر همه چیز درست باشد باید در جدول پارتیشن ها چنین چیزی اضافه شده باشد:

   /dev/hdb14 1384 1514 1052226 83 Linux

حالا طبق روال گذشته از “w”برای ثبت تغیییرات و خروج استفاده کنید.
III.پاک کردن یک پارتیشن
این کار نیز کاریست بس آسان!برای پاک کردن کافیست “d” را وارد کنید و پارتیشن مورد نظر خود را انتخاب کنید به همین آسانی… اما باید توجه داشته باشید تا زمانی که با “w” تغییرات را ذخیره نکرده اید هیچ تغییری در دیسک سخت شما اعمال نخواهد شد.

نکته ی مهم :
بعد از عدد ۵ نام تمام پارتیشن ها به ترتیب ادامه خواهد داشت و شماره ای خالی نخواهد بود.بنابر این اگر مثلا پارتیشن ۱۰ را پاک کنید پارتیشن ۱۱ جای ان را خواهد گرت و ۱۲ جای ۱۱ را بنابر این جای پارتیشن ها به کل تغییر خواهد کرد این می تواند باعث ایجاد مشکل برای شما باشد. بنابراین بعد از پاک کردن یک پارتیشن حتما در etc/fstab/ تغییرات انجام شده را اعمال و این جدول را درست کنید تا در بوت بعدی دچار سر در گمی نشوید.

I. روش های نصب برنامه ها در لینوکس [۱]
با  توجه به گستردگی توزیع های لینوکس مسلما روش های نصب نرم افزار ها نیز متفاوت خواهد بود . در ابتدا به تعریف مفهون کد منبع یا Source Code می پردازم . یک نرم افزار در ابتدا فقط یک سری حروف و کلمات است که یک برنامه نویس آن ها را در محیطی خاص و یایک ویرایشگر متن معمولی می نویسد این نوشته ها ” سورس کد”  برنامه یا ” کد منبع” برنامه نام دارند. این کد ها را می توانید در یک ویرایشگر متن معمولی وارسی کنید ،‌اما برای کامپیوتر معنایی ندارند ! چرا که کامپیوتر شما فقط زبان ۰ و ۱ را متوجه می شود.بنابراین باید این برنامه ی نوشته شده را به زبان کامپیوتر ترجمه کنیم ،‌ این کار ترجمه را ” کامپایل ” می گویند.درواقع شما کدمنبع را کامپایل می کنید تا کامپیوتر شما آن رادرک کند. به فایل حاصل از کامپایل  فایل “باینری” می گویند. دلیل این نام گذاری این است که فایل حاصل از کامپایل فقط برمبنای دو (Base2) می باشد ،‌یعنی فقط  شامل صفر و یک است. بنابراین وقتی می گوییم برنامه ای بازمتن (OpenSourec )است این بدان معناست که کد های منبع آن در اختیار دیگران قرار دارد و در برنام های CloseSource یا سورس بسته این کد های منبع در اختیار شما قرار نمی گیرد وفقط فایل های باینری در اختیار شما قرار می گیرد.

یکی از محبوب ترین راه های نصب نرم افزار در لینوکس نصب از کد منبع یا به اصلاح درست تر کامپایل از سورس کد برنامه است.در ویندوز مایکروسافت شما همواره بسته های باینری را در سیستم خودنصب می کردید ،‌این بسته های باینری که از پیش کامپایل شده اند بر اساس یک استاندارد کلی که سیستم عامل (ویندوز) دارد ،‌ کامپایل شده اند بنابر این شما نمی توانید به راحتی برروی آن ها مانور دهید ،‌اما در لینوکس قضیه کمی متفاوت است ،‌شما می توانید کد منبع را بگیرید و از اول روی سیستم خودتان کامپایل کنید .شاید بپرسید این چه مزیتی دارد؟ زمانی که شما برنامه ای را در سیستم خودتان شخصا کامپایل می کنید می توانید آن را بر اساس نیاز های خودتان تنظیم کنید.(در اصطلاح صحیح تر می توانید نرم افزار راباتوجه به شرایط خود بهینه سازی -optimization-کنید.) حسن این کار در آن است که برنامه ی نصب شده در سیستم شما کاملابا سیستم شما خوانایی دارد و اگر شما به امکاناتی که برنامه ارائه می دهد نیازی ندارید می توانید به سادگی آن امکانات را زمان کامپایل ندیده بگیرید.

  بنابراین اولین روش نصب برنامه کامپایل از سورس کد بود ،‌این روش تا حدودی وقت گیر است و نیاز به تجربه دارد  تابتوانید به بهترین روش ممکن برنامه ی خود را کامپایل کنید ،‌البته گاهی راهی جز کامپایل نرم افزار ندارید .برای همین توزیع کنندگان لینوکس به فکر ایجاد روشی کاربر پسندتر افتادند تا کاربران بتوانند در زمانی کوتاه تر و با روشی ساده تر برنامه های خود را نصب کنند ، این دیدگاه باعث بوجود آمدن بسته های نرم افزاری RPM و  DEB شد . این بسته ها اغلب همانند بسته های نرم افزاری ویندوز از قبل کامپایل شده اند (البته این فقط یک مقایسه ی ناشیانهات و در عمل با بسته های ویندوزی بسیار متفاوتند) و شما از طریق یک مدیر بسته می توانید این بسته ها را مدیریت کنید. مدیر بسته ها در لینوکس تقریبا همان برنامه ی Add/Remove در کنترل پانل ویندوز است  که با  توجه به توزیع و نوع بسته ی نرم افزاری بسیار مختلف است. البته باید توجه داسته باشید که این بسته ها هم می توانند حاوی سورس کد نیز باشند. نکته ی قابل توجه دیگر این است که این بسته ها می توانند شامل فایل های کمکی (Help) و مستندات دیگر مربوط به برنامه باشند.

  شما برنامه ی خود رااز هر راهی که نصب کنید در اغلب موارد فایل های آن در مسیر های usr/bin/ و bin/ و usr/sbin/ قرار می گیرند و فایل های مربوط به پیکره بندی آن در دایرکتوری etc/ قرار می گیرند. بنابراین ما در لینوکس چیز به نام رجیستری نداریم و تنظیمات مربوط به برنامه ها در فایل ها ذخیره می شوند که در بیشتر موارد این فایل هافایل های هستند که به راحتی قابل خواندن و ویرایش کردن با ویرایشگر های معمولی متن می باشند.

  بسته ها! چرا به برنامه ها بسته (Pakage) میگویند؟ اغلب برنامه ها امروزه شامل فایل های بسیاری می باشند ،‌از جمله فایل های باینری ،‌فایل های پیکره بندی و فایل های مربوط به راهنما و روش نصب و مجوز های برنامه که به Documentation یا مستندات معروف هستند. بنابراین می بینیم یک برنامه همراه خود تعداد بسیاری فایل به همراه دارد ،‌تمام این فایل ها به صورت فشرده در یک بسته قار می گیرند ،‌خواه این یک بسته ی RPM باشد یا یک بسته ی DEB یا حتی یک بسته ی Tarball باشد. برای آشنایی هرچه بیشتر شما با انواع بسته های نرم افزاری ما در این مقاله به سه نمونه ی عمده ی بسته های نرم افزاری لینوکس اشاره می کنیم ،‌باید توجه داشته باشید که در این مقاله قصد آموزش کار با بسته های نرم افزاری رانداریم و تنها به معرفی انواع  بسته ها بسنده خواهیم کرد.

II. بسته های RPM
یکی از معروف ترین بسته های نرم افزاری لینوکس  بسته های RPM میباشد.RPM مخفف RedHat Pakage Manager می باشد ،‌همان طور که از اسم آن بر می آید ابداع شرکت RedHat Linux می باشد اما در توزیع های مختلفی از این بسته ها استفاده می شودو جالب تر این که از این بسته ها می توانید در سیستم های شبه یونیکس دیگر مانند FreeBSD و SunSolaries نیز قابل استفاده هستند.بسته های RPM با پسوند rpm شناخته می شوند .
از جمله توزیع هایی که از بسته های rpm استفاده می کنند می توان لینوکس Mandrake وLinuxPCC و لینوکس YellowDog را که بر پایه ی ردهت است و برای سیستم های با پردازنده ی PowerPC طراحی شده و نیز توزیع  SuSE را نام برد.البته توزیع های دیگری نیز از این بسته ها  استفاده می کنند .برای مدیریت بسته های rpm شما می توانید از مدیر بسته های rpm استفاده کنید. اگر می خواهید در خط فرمان و براساس محیط متنی کار کنید می توانید از دستور rpm برای مدیریت استفاده کنید. اما اگر می خواهید از محیط گرافیکی برای مدیریت استفاده کنید با توجه به توزیع شما این ابزار متفاوت است. کاربران SuSE با ابزار YaST می توانند این کار را بکنند ،‌کاربران Mandrake می توانند با rpmdrake بسته هایشان رامدیریت کنند. البته باید توجه داشته باشید که SuSE و Mandrake گاهی از بسته های rpm مخصوص خود استفاده می کنند که جز آن توزیع در توزیع دیگری قابل استفاده نمی باشد.

   بسیارخوب تا این جا بسته های RPM را شناختیم  ،‌ حال قبل از معرفی بسته های DEB به نحوه ی نام گذاری بسته های RPM خواهیم پرداخت. برای آن که کاربران با دیدن نام بسته ی rpm به راحتی بتوانند متوجه محتویات آن بشوند از یک استاندارد برای نام گذاری این بسته ها استفاده می شود.این نام گذاری مانند زیر است :

pakagename-a.b.c-x.arch.rpm
در این نام گذاری همان طور که معلوم است از سمت چپ اولین بخش نام نرم افزار اصلی ماست مثلا xchat یا gaim اما سایر اجزا :
.a.b.c نسخه ینرم افزاری است که دردست دارید، این شماره نسخه را اغلب نویسنده ی برنامه تعیین می کند مثلا ۲٫۲٫۶ یا ۵٫۶٫۷a.
x این شاره به شماره ی build number یا relase number معروف است.(شماره ی انتشار !)این شماره در واقع نشان دهنده ی تغییرات کوچکیست که اغلب هم کار نویسنده ی برنامه نیست مثلا یک وصله یا Patch برای رفع یک مشکل (bug) یا یا تغییر یک فایل نصب یا اضافه شدن یک فایل راهنما یا help یا Documentation به فایل .
arch این بخش از نام مربوط می شود به معماری پردازنده ای که از آن استفاده می کنید. بسته های RPM برروی معماری های مختلفی از پردازنده قابل اجراست ،‌از جمله x86 یا SPARC یا Alpha نیزIA-64  بنابر این لازم است که نوع پردازنده ی مورد پشتیبانی را در نام فایل بگنجانیم تا در آینده بتوانیم به راحتی از آن برای پردازنده ی خودمان استفاده کنیم.برای پردازنده های x86 این جا i386 نوشته می شود. این پردازنده ها باقی مانده ی نسل ۸۰۳۸۶ هستند که شرکت اینتل آن ها را تولید می کند ،‌البته باید خاطر نشان کنم که در حال حاضر وقتی می گوییم x86 منظور ما هر پردازنده ای سازگار با این  معماری است از جمله AMD  مدل های Duron و Athlon و یا پنتیوم های Pro ,I,II,II,IVو نیز  پنتیوم MMX ویا پردازنده های سازگار با x86شرکت Transmeta یا Cyrix!! بنابراین امروزه فقط این اینتل نیست که پردازنده های خانواده ی x86 را تولید می کند. اگر بسته یRPM شما برای پنتیوم بهینه سازی شده باشداین مقدار ۱۵۸۶ و i686 خواهد بود. البته RPMبرای پردازنده های دیگر نیز وجود دارد از جمله PowerPC که با ppc مشخص می شود. نکته ی قابل توجه این است که اگر بسته ی rpm شما محتوی فایل متنی یا Documentation یا هر چیز دیگری باشد که به پردازنده (CPU) بستگی ندارد این مقدار noarch خواهد بود.
برای روشن تر شدن این نام گذاری به نام xbill-2.1.3-85.i386.rpm دقت کنید. xbillنام این نرم افزار است که یک بازی لینوکس است.که بسته ی ما buildشماره ی ۸۵ نسخه ی ۲٫۱۳ آن است که برای معماری x86 طراحی شده است.
III. بسته های DEB
بسته ی دیگری که بسیار استفاده می شود ،‌بسته ی دبیان یا DEB می باشد ،‌ این بسته ها نیز مانند بسته های RPM هستند و کار کردن با آن ها مانند کار با RPM ها ساده است. این بسته ها را دبیان توسعه داده است و هم اکنون توزیع های فراوانی از لیبرانت تا DammnSmallLinux از این بسته ها استفاده می کنند ،‌در واقع هر توزیع مبتنی بر دبیان از این بسته ها استفاده می کند.بسته های rpm و deb را نمی توان به جای یکدیگر استفاده کرد اما می توان  آ نها را به یکدیگر تبدیل کرد ،‌البته این تبدیل نیز همیشه موففقیت آمیز نخواهد بود.بسته های دبیان نیز مانند rpm برای معماریهای متفاوتی نوشته شده است .برای مدیریت بسته های دبیان در خط فرمان از ابزار dpkg استفاده می شود dpkg بسیار شبیه RedHat pakage Manager یا rpm است .(منظور ابزار rpm است که برای مدیریت بسته های RPM استفاده می شود.). البته در دبیان و توزیع های مبتنی بر دبیان ابزار دیگری نیز برای مدیریت بسته های نرم افزاری در خط فرمان وجودداردکه کار با بسته های نرم افزاری را بسیار راحت تر و شیرین تر می کند ،‌این ابزار APT نام دارد.APt مخفف Advanced Pakage Tool می باشد. (تلفظ کنید اپت /æpt/) یکی از خواص بستههای RPM وDEB این است که شما نی توانید به راحتی و از طریق همین ابزار های مدیریت بسته بسته های خودرا در چند ثانیه یاحداکثر چند دقیقه به روز بکنید و لی اگر برنامه ای را از کد منبع آن کامپایل کنید برای هر بار به روز رسانی مجبورید برنامه را از ابتدا کامپایل کنید.البته برای مدیریت بسته های نرم افزاری در دبیان نیز برنامه های مختلفی وجوددارد مانند synaptic ویا برای مدیریت بسته هادر خط فرمان اما کمی راحت تر مانند dselect . نام گذاری بسته های دبیان نیز مانند RPM است با کمی تفاوت در ظاهر که برای طولانی نشدن بحث به آن اشاره نمی کنیم.
IV.بسته های Tarball
در حقیقت  بسته های Tarball چیزی جز بسته های آرشیو شده نیستند ، این بسته ها را می توانیددر هر توزیعی استفاده کنید و مانند RPM و DEB وابسته به توزیع نیستند. بسته های Tarball همان بسته هایی هستند که با ابزار tar در خط فرمان تولید می شوندو توسط یکی از برنامه های compres یا gzip یا bzip2 فشرده شده اند. این بسته های فشرده شده فقط حاوی فایل ها هستند و بعد از باز کردن آن ها می توان در باره ی روش نصب آن ها تصمیم گرفت. بسته های tarball می توانند مانند RPM و Debian حاوی سورس کد ،‌ فایل های باینری و همچنین مستندات برنامه باشدالبته در اغلب موارد این بسته ا با gzip فشرده می شوند که پسوند حاصل tar.gz. می شود و البته برای این که حجم اطلاعات رد و دلی در اینترنت کمتر شود از فرمت tar.bz2. استفاده می شود که بسته های آرشیو tar را با برنامه ی bzip2 فشرده کرده اند .(فایل هایی که با Bzip2 فشرده شده اند از فایل هایی که با gzip فشرده  شده اند حجم کم تری دارند چرا که الگوریتم فشرده سازی در این دو متفاوت است.)

V.اطلاعات ضروری در زمان نصب برنامه

۱٫وابستگی های برنامه (Dependencies)

وابستگی های نرم افزاری یا همان Dependencies در واقع آن برنامه هاو نیاز هایی است که باید داشته باشید تا برنامه ی شما بتواندکار کند!! درواقع شما برای نصب یک برنامه اغلب به یک پیش نیاز احتیاج دارید ،‌ مثلا برای بسیاری از برنامه های لینوکس لازم است تا شما کتابخانه های C را داشته باشید. در واقع وقتی می گوییم یک برنامه فلان وابستگی ها را می خواهد یعنی اولا بدون آن نیازمندی ها نمی تواند کار کند و در ثانی می توان نتیجه گرفت که آن برنامه از برنامههایی که در اصطلاح وابستگی نام دارند برای کار کردن استفاده می کند.

توجه داشته باشید که مفهوم پیشنهادی یا Recommended با وابستگی متفاوت است ،‌اگر وابستگی ها را نصب نکنید برنامه ی شما کار نخواهد کرد اما اگر پیشنهادی ها را نصب نکنید برنامه ی شما کار خواهد کرد. پس این Recommended ها به چه کاری می آیند؟ اگر شما این Recommended هارا نصب کنید برنامه ی شما بهتر کار می کنه یا بهتر بگویم بازدهی برنامه ی شما بیشتر خواهدشد.

   یکی از خواص بسته های Debian وrpm هوشمندی آن ها نصبت به شناخت این پیش نیاز هاست ،‌در واقع وقتی شمایک بسته ی Debian را نصب می کنید خودش به دنبال پیش نیاز ها می گردد و پیش نیاز ها را نیز برای شما نصب می کند.البته بسته های RPM این هوشمندی راندارند اما برنامه های مدیریت بسته های rpm این کار را می کنند یعنی زمانی که شما از دستور rpm برای نصب استفاده می کنید این برنامه  است که  تشخیص می دهد ثبل از نصب باید چه برنامه های دیگری نصب شود و به شمااعلام می کند که این بسته ا را نیز نصب کنیدو یا خودش نصب می کند. اما بسته های دبیان در ذات خود این قابلیت را دارا هستند که پیش نیاز هایشان را  تشخیص بدهند و لی بسته های Tarball فاقد این هوشمندی هستند و باید خودتان با مطالعه ی فایل های README و INSATLL ویا دیگر راهنماهای موجود در بسته یا سایت آن پیش نیاز ها را یافته و آن ها را نصب کنید.

     ۲٫کتابخانه ها(Libraries)
کتابخانه ها همان DLL هایی هستند که شما در ویندوز می شناختید.(که اغلب گم شده بودند یا به دلیل خرابیشان برنامها کار نمی کرد!!) در لینوکس نیز کتابخانه ها همان مسئولیت را به عهده دارند اما پسوند خاصی ندارند چرا که هر زبان از کتابخانه های خوداستفاده می کند.خوب این مسئولیت کتابخانه ها چیست؟ کتابخانه ها یکسری فایل هستند که  شامل یکسری توابع و روتین برای برنامه می باشند ،‌ شما می توانید یک فایل کتابخانه درست کنید و تمام توابعی که در برنامه ی شما استفاده می شود را در آن قرار دهید و از برنامه ی خود بخواهید که این توابع را از فایل مذکور اجرا کند،‌این کار چه فایده ای دارد؟ فکر کنید همکار شمانیز می خواهد برنامه ای بنویسید او می تواند از ابتدا شروع کند و تمام توابع رادر برنامه ی خود تعریف کند ،‌این کار باعث صرف وقت بیشتر و خستگی بیشتر و نیز حجم بیشتر فایل ها می شود.راه حل هوشمندانه این است که توابع مشترک برنامه ها را در یک فایل کتابخانه ای قرار دهید و هر کسی که به آن توابع احتیاج داشت زمان اجرای برنامه این توابع را فرابخواند. به این ترتیب لازم نیست که شما هر بار تمام توابع را تعریف کنید کافیست یکبار این توابع در کتابخانه ای نوشته شوند و کاربران این کتابخانه ا را در سیستم خودنصب کنند ،‌حالا شما و همارانتان و دیگران بدون دغدغه ی حجم زیاد و تعریف مجدد توابع به نوشتن برنامه مشغول می شوید.(حالا متوجه شدید چرا به این برنامه ها کتابخانه می گویند؟(

از جمله معروف ترین کتابخانه ا می توان به کتابخانه های C اشاره کرد که با نام libc و در توزیع های مدرن تر به نام glibc وجود دارند و یا کتابخانه ی معروف +GTK که شما یک بار نصب می کنید و تمام برنامه های محیط گرافیکی گنوم از آن استفاده می کنند.

۳٫ابزار های توسعه(Development Tools)

اگر شما تصمیم به کامپایل یک برنامه گرفته اید باید فایل های کتبخانه ای و ابزار های توسعه ی مربوط به آن برنامه را داشته باشید. مثلا اگر برنامه ای به زبان C دارید باید یک کامپایلر برای C داشته باشید و کتابخانه های مربوط به آن را نیز باید در سیستمتان داشته باشید. اگر شما نیازی به کامپایل برنامه ها ندارید لازم نیست تا ابزار های توسعه رانیز نصب کنید. درواقع وقتی شما یک برنامه را کامپایل می کنید مانند این است که شما برنامه نویسید و برنامه رانوشتیدو کد آن راآماده کردید و می خواهید آن را به زبان ماشین ترجمه کنید،‌خوب برای این کار به ابزاری نیاز دارید به نام Development tools که بوسیله ی آن برنامه ی خودرا کامپایل کنید. برنامه ی معروف gcc جزو این ابزار هاست ،‌ gcc که یک کامپایلر است و تحت مجوز GNU/GPL نیز منتشر سده است مجموعه ای است از کامپایلر های زبان های مختلف،‌ البته این اسم آن نیز معلوم است GNU Compiler Collection!!!!
4.پایگاه داده ی بسته های نصب شده
پایگاه داده ی بسته های نصب شده یا به زبان ساده تر Installed package Database !! محلی است که اطلاعات بسته های نصب شده ی سیستم  در آن قرار دارد. شاید شما بخواهیدبدانید که فایل کتابخانه ای X یا Y  آیا نصب شده است یا نه؟ یا می خواهید بدانی چه نسخه ای از برنامه در سیستم شما موجود است ،‌یا حتی می خواهید بدانید برای برنامه ی شما چه نیاز مندی هایی لازم است؟ تمام این اطلاعات و اطلاعات دیگر در یک پایگاه داده ذخیره می شود.برای بسته های Debian این مسیر اغلب در مسیر var/lib/dpkg/ است و برای RPM این مسیر var/lib/rpm/ است ،‌اما برای Tarball هیچ پایگاهی وجود ندارد!! البته توزیع SlackWare خودش توسط برنامه ای ب کتابخانه تخصصی رشته کامپیوتر ...

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

برچسب : نویسنده : َA&N dlebook بازدید : 2347 تاريخ : دوشنبه 20 شهريور 1391 ساعت: 19:20