ShirazOnline
نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: تفاوتهای تکنیکی Linux و FreeBSD

  1. #1
    کاربر فعال H.Mehrara آواتار ها
    تاریخ عضویت
    Jan 1970
    محل سکونت
    Tehransar
    نوشته ها
    1,107
    تشکرها / پسندها

    Sm Ok تفاوتهای تکنیکی Linux و FreeBSD

    منبع مقاله: [فقط اعضا می توانند لینک ها را مشاهده کنند برای ثبت نام اینجا را کلیک کنید]
    راستش دیدم حیف بچه های فاروم از این مطلب بی بهره بمونن ، همچنین تشکر میکنم از همه بچه های ایمن پردیس - مهرآرا

    [فقط اعضا می توانند لینک ها را مشاهده کنند برای ثبت نام اینجا را کلیک کنید]

    از آنجایی که ممکن است در هنگام کار با سیستم های متن باز لینوکس و بی.اس.دی در استفاده از دستورات دچار تردید شویم در ادامه به بیان تفاوت های فنی این دو سیستم می پردازم :
    با اینکه هر دو سیستم FreeBSD و Linux از فلسفه یونیکس پیروی میکنند ، اختلافهایی بین آنها وجود دارد .
    Devices

    دستگاههای سخت افزاری مثل هارد دیسک ، کارت شبکه ، پرینتر ، کارت گرافیک ، موس و کیبورد در متون مربوط به سیستم عامل با واژه Device مورد اشاره قرار میگیرند .FreeBSD و GNU/Linux از نامگذاری متفاوتی برای آنها استفاده میکنند.
    لینوکس از اسامی از پیش تعین شده برای هر نوع Device استفاده میکند ، برای مثال eth0 اولین کارت شبکه اترنت با هر نوع chip set است .از سوی دیگر FreeBSD از اسامی مختلفی برای Device های با chip set متفاوت استفاده میکند ،برای مثال یک کارت شبکه با چیپ ست RealTek 8129 با نام rl0 در FreeBSD شناخته میشود .
    در لینوکس اطلاعات مربوط به سخت افزارها میتواند با بررسی محتویات پوشه /proc استخراج شود ، همچنین دستوراتی مثل lspci و lsusb نیز میتوانند مورد استفاده قرار بگیرند – این دستورات اطلاعات درون پوشه /proc را استخراج کرده و نمایش میدهند .FreeBSD از دایرکتوری /proc استفاده نمیکند بلکه دستورsysctl را برای نمایش تمامی اطلاعات مربوط به دستگاههای جانبی متصل به سیستم و همینطور برای کانفیگ و تیونینگ آنها بکار میبرد .
    Runlevels and startup scripts
    Runlevel واژه ایست که برای بیان یک مد عملیاتی سیستم مثل reboot ، halt، single-user mode و multi-user mode استفاده میشود .در GNU/Linux فایل /etc/inittab مد های اجرایی مختلف را توصیف میکند ، همچنین توسط پروسس init میتوان runlevel جاری را تغیر داد .FreeBSD از دستوراتی مثل reboot و shutdown –h برای تغیر runlevel جاری ، بجای دستور telinit که در GNU/Linux بکار میرود ، استفاده میکند .
    در GNU/Linux هر runlevel دارای زیردایرکتوری جداگانه ای در زیر /etc/ یا /etc/rc.d/ میباشد ،متناسب با توزیع مورد نظر ، برای مثال دبیان از مسیر /etc/ استفاده میکند .این زیردایرکتوری ها دارای نامهای rc0.d ، rc1.d و به همین ترتیب تا آخرین شماره runlevel (معمولا هفتrunlevel وجود دارد)هستند .هر زیردایرکتوری rc_x_.d شامل سمبولیک لینک هایی به startup script ها، در مسیر /etc/init.d/ هستند .
    در FreeBSD ، startup script های سیستمی درون دایرکتوری /etc/rc.d/ و startup script های مربوط به برنامه های third-party زیر مسیر /usr/local/etc/rc.d/ وجود دارند ، این اسکریپت ها با پارامترهایی مثل start و stop برای کنترل این موضوع که کدام اسکریپت ها موقع بالا آمدن سیستم اجرا و هنگام shutdown خاتمه یابند بهره میبرند .
    Kernel
    بدیهی است که در طراحی کرنل Linuxو FreeBSD تفاوتهایی است با این حال شباهت های زیر را میتوان نام برد :
    • ماژول ها : پشتیبانی از Load و Unload کردن ماژول ها بدون نیاز به کامپایل مجدد کرنل یا راه اندازی مجدد سیستم .
    دستورات لازم برای Load و Unload ماژولهای کرنل ، همچنین برای فهرست کردن ماژولهای لود شده ، در هر سیستم متفاوت است :لینوکس از دستور modprobe برای لود کردن ماژول واز lsmodبرای نمایش لیستی از ماژولهای لود شده و از دستور rmmod برای Unload کردن ماژولهای ناخواسته، استفاده میکند .
    FreeBSD از سه دستور kldstat ، kldload و kldunload به ترتیب برای نمایش ، Load و Unload ماژول ها استفاده میکند .

    • نسخه ها: هر کرنل که بصورت رسمی انتشار می یابد ، دارای شماره نسخه است .
    کرنل لینوکس از سه عدد برای نمایش شماره نسخه استفاده میکند .اولین عدد نشان دهنده شماره نسخه اصلی است – آخرین نسخه فعلی 3 است .دومین عدد نماینده نسخه پایدار (عدد زوج) یا نسخه در حال توسعه (عدد فرد) میباشد و آخرین عدد نشان دهنده تغیرات (patch) است.در FreeBSD شماره نسخه کرنل از 2 عدد تشکیل شده .اولین عدد نسخه اصلی و دومین عدد نسخه جدید انتشار یافته را نشان میدهند .
    • تغیر کرنل متناسب با نیاز : سریعتر بالا آمدن سیستم ،استفاده از حافظه کمتر و پشتیبانی از سخت افزارهای بیشتر برخی از مزایای ساختن یک custom kernel است .
    ساختن کرنل متناسب با نیازها بر روی هر دو سیستم نیازمند کامپایل آن از سورس کد است .با این حال برای رسیدن به این هدف در دو سیستم مراحل متفاوتی طی میشود .اولین مرحله دانلود سورس کد یا بدست آوردن آن از CD یا DVD نصب سیستم عامل است – این مرحله در هر دو سیستم مشابه است .لینوکس برای ساختن custom kernel هم ابزارهای گرافیکی و هم خط فرمان را در اختیار شما میگذارد .درFreeBSD با استفاده از یک ویرایشگر متن گزینه های مربوط به فعالسازی / غیر فعالسازی ویژگیهای مورد نظر را بصورت comment/uncomment میکنیم .در نهایت توسط دستور make به کامپایل و نصب کرنل می پردازیم .
    Software installation
    نرم افزار های Third party میتوانند هم به صورت سورس کد و هم بصورت باینری توزیع شوند .معمولا این نرم افزارها توسط ابزارهایی فشرده سازی مثل tar و gzip بسته بندی میشوند .با این حال بسیاری از توزیع های GNU/Linux برای بسته های نرم افزاری از فرمت های متعلق به خود جهت install ، un-install و پیکربندی آنها ، استفاده میکنند .برای مثال در دبیان ، از پکیج هایی با فرمت .deb و ابزارهایی مانند apt و dpkg برای مدیریت آنها استفاده میکند .با استفاده از این ابزار ها فرآیند نصب یک نرم افزار کاربردی از خط فرمان بسیار آسان است .چگونگی نصب برنامه GIMP (برنامه ویرایش تصویر) توسط دستور زیر به نمایش در آمده :


    کد: [فقط اعضا می توانند لینک ها را مشاهده کنند برای ثبت نام اینجا را کلیک کنید]
    # apt-get install gimp

    FreeBSD دو تکنولوژی جالب برای نصب نرم افزار ارائه میدهد :
    • Packages
    یک پکیج یک فایل فشرده شده شامل باینری های از قبل کامپایل شده ، مستندات و فایل های پیکربندی است ، همچنین حاوی اطلاعاتی است که سیستم جهت نصب در مسیرهای صحیح از آنها کمک میگیرد .ابزارهایی مانند pkg_add، pkg_delete ،pkg_info و ...برای مدیریت پکیج ها در FreeBSD مورد استفاده قرار میگیرند .مثلا برای دانلود و نصب پکیج GIMP به آسانی مانند شکل زیر عمل میکنیم :


    کد: [فقط اعضا می توانند لینک ها را مشاهده کنند برای ثبت نام اینجا را کلیک کنید]
    # pkg_add -r gimp


    • Ports
    یک port در تکنولوژی FreeBSD مجموعه ای از فایلها است که بمنظور خودکارسازی فرآیند کامپایل یک برنامه کاربردی از سورس کد طراحی شده اند.
    قابلیت مدیریت برنامه های کاربردی با درک وابستگی های نرم افزاری از ویژگیهای مشترک در پکیج ها و پورت ها میباشد .زمانی که نیاز به کنترل کامل روی پارامترهای مربوط به کامپایل یک برنامه ، برای رسیدن به بهترین کارآیی روی یک پلت فرم خاص را داریم ، پورتها بسیار مفیدند .هرچند پکیج ها به علت اینکه شامل سورس کد برنامه ها نیستند به مراتب از پورت ها کوچک ترند ، از این گذشته نصب یک پکیج زمان کمتری را در بر خواهد داشت . موجود بودن هر دو تکنولوژی به کاربر اجازه انتخاب سیستم بهتر در مواقع نیاز را خواهد داد .
    در هر دو سیستم عامل بوسیله روش قدیمی کامپایل سورس کد و استفاده از دستور make نیز میتوان برنامه های مورد نظر را نصب کرد .
    Shells
    شل پیش فرض در توزیعهای( GNU/Linux ، Bash(Bourne-Again SHell است .ولی بصورت پیش فرض در FreeBSD شل bash نصب نیست ، که در صورت تمایل میتوانید بصورت زیر آنرا نصب کنید :


    کد: [فقط اعضا می توانند لینک ها را مشاهده کنند برای ثبت نام اینجا را کلیک کنید]
    # pkg_add -r bash

    به این دلیل توزیعهای GNU/Linux شل Bash را بصورت پیش فرض استفاده میکنند که Bash برای پروژه GNU نوشته شده است. FreeBSD همچون سیستم عامل های قدیمی یونیکس از csh بصورت پیش فرض استفاده میکند .
    Solaris , BSD Unix admin.
    business Contact: 09374700196
    www.Mehrara.Net

  2. Thanks un4g1v3n thanked for this post
  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    محل سکونت
    Advertising world
    نوشته ها
    Many
     

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •