استفاده از محیط گرافیکی GNOME در ردهت۹

محیط های گرافیکی در حقیقت نرم افزاری هستند که بالای زیر ساختار های فراهم شده توسط سیستم X Window اجرا میشوند. GNOME (تلفظ کنید گنوم) یکی از این محیطهای گرافیکی است که دارای پایداری خوب و امکانات متعدد و قدرتمندی می‌باشد. این محیط گرافیکی، محیط پیش گزیده لینوکس ردهت می‌باشد. در این بخش با محیط گرافیکی GNOME و راههای استفاده از آن آشنا می‌شوید. پس از اینکه به سیستم وارد می‌شوید و محیط گرافیکی اجرا می‌شود، میز کار GNOME که شبیه تصویر ۱ می‌باشد، ظاهر می‌شود.

میز کار GNOME از بخشهای آیکونهای میز کار، سطح میز کار و پنل تشکیل شده است. پنل مهمترین قسمتی است که در کار کردن با میز کار به آن نیازمند هستید. پنل نواری است که در پایین ترین قسمت پنجره میزکار قرار گرفته است. پنل شامل آیکون‌های اجرا کننده برنامه‌ها (launchers)، قسمت منطقه اخطار (Notification Area) که در کنار ساعت قرار دارد و برنامه های کوچکی است که اپلت (Applet) نام دارند. با استفاده از اپلت‌ها می‌توانید کارهایی مانند حرکت بین محیطهای کاری، تنظیم صوت و نمایش وضعیت سیستم خود را انجام دهید. اپلت‌های بسیاری در لینوکس ردهت وجود دارند که بصورت پیش‌گزیده روی پنل قرار ندارند و شما می‌توانید آنها را بنا به نیاز خود اضافه نمایید.

آیکونهای روی میز کار می‌توانند میانبرهایی به پوشه‌ها، برنامه‌های کاربردی و یا درایوهای فلاپی و CD-ROM باشند، که هنگام متصل بودن نمایش داده می‌شوند. برای اجرا کردن میانبرهای روی میز کار، باید روی آنها دوبار کلیک کنید.


تصویر ۱ محیط گرافیکی GNOME


برای دسترسی به منوهای میزکار باید روی آیکون کلاه کلیک کنید. این منوها همچنین با کلیک کردن روی آیکون Start Here که روی میز کار قرار دارد، قابل دسترسی خواهند بود.

میز کار در لینوکس ردهت مانند میزکار در سایر سیستم عامل ها است. به آسانی می‌توانید با استفاده از کشیدن و انداختن (Drag and Drop) فایلها را جابجا نموده، آیکونهای جدیدی برای دستیابی به برنامه های مختلف، پوشه ها و مستندات خود ایجاد کنید.


استفاده از پنل

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



تصویر ۲ پنل میزکار


استفاده از منوی اصلی

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

برای خاموش کردن سیستم کافی است در منوی اصلی روی گزینه logout کلیک کرده و سپس در پنجره ای که باز می‌شود، گزینه Shut Down را انتخاب نمایید. کامپیوترتان پس از خاموش کردن و بستن تمام سرویسها خاموش خواهد شد. در صورتی که این گونه نشد، پیغام Power Down روی صفحه نمایش داده خواهد شد که بمعنی این است که می‌توانید کامپیوتر خود را خاموش کنید.


هشدار : هرگز سیستم خود را بدون اینکه آنرا Shut Down کنید، خاموش نکنید. این کار ممکن است سبب آسیب دیدن سیستم فایل لینوکس و از بین رفتن اطلاعات شما شود.


استفاده از اپلت ها

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

    - اپلت سوئیچ کننده میزکار (Workspace Switcher) : در محیط گرافیکی GNOME میتوانید در آن واحد دارای چندین میزکار باشید. این امر از شلوغ شدن بیش از حد یک میزکار جلوگیری بعمل میاورد. به طور پیش گزیده تعداد ۴ میزکار فعال هستند. اپلت سوئیچ کننده میزکار برای جابجایی بین این میزکارها ایجاد شده و بکار می‌رود. این اپلت از ۴ مربع کوچک تشکیل شده است که با کلیک روی هر یک از مربع‌ها می‌توانید در محیط کار جابجا شوید. همچنین با استفاده از کلیدهای Ctrl+Atl بعلاوه یکی از کلیدهای مکان نما (بالا، پایین، چپ و راست) می‌توانید بین میزکارها جابجا شوید. تصویر ۳ این اپلت را نشان می‌دهد.


تصویر ۳ اپلت سوئیچ کننده میزکار


    - اپلت نوار وظیفه (Taskbar) : در کنار اپلت سوئیچ کننده میزکار، اپلت نوار وظیفه قرار دارد. این اپلت برنامه‌هایی را که روی میزکار در حال اجرا هستند را نشان می‌دهد. این اپلت برای سوئیچ کردن بین برنامه ها و یا بستن یا Minimize کردن برنامه ها و... استفاده می‌شود. کافی است روی دگمه‌هایی که نماینده هر برنامه هستند، کلیک کنید. تصویر ۴ این اپلت را نشان میدهد.




تصویر ۴ اپلت نوار وظیفه


استفاده از منطقه اخطار

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

آیکون وضعیت شبکه ردهت وضعیت به روز بودن سیستم شما را نشان می‌دهد. در صورتی که روی آن کلیک کنید، برنامه به روز کننده ردهت اجرا شده و در صورتی که به اینترنت متصل باشید و نرم‌افزاهای جدیدی برای بروزکردن سیستمتان ارائه شده باشد، آنها را دریافت کرده و روی سیستمتان نصب می‌کند. البته برای این کار هنگام نصب باید سیستم ردهت خود را ثبت کرده باشید.

آیکون احراز هویت که به شکل دو کلید کوچک است، هنگامی نمایش داده می‌شود که شما مجوزهای سطح ریشه را برای سیستم خود دریافت کرده باشید. این مسئله معمولا هنگامی اتفاق می‌افتد که یکی از ابزارهای گرافیکی پیکربندی سیستم را بکار برده باشید. این آیکون دارای یک زمان timeout میباشد و پس از اتمام آن دیگر روی منطقه اخطار نمایش داده نمیشود. در زمانی که این آیکون در حال نمایش است، در صورتی که برنامه های دیگر پیکربندی سیستم را اجرا کنید از شما درخواست کلمه عبور نخواهد شد.

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

تصویر ۵ آیکونهای منطقه اخطار



توجه : در صورتی که هیچ یک از آیکونهای بالا در سیتم شما نمایش داده نمی‌شوند، کافی است روی پنل کلیک راست کرده و قسمت Add to Panel سپس قسمت Utility و در نهایت Notification Area را انتخاب نمایید.


اضافه کردن آیکونها و اپلتها به پنل

برای اینکه پنل را مطابق نیاز خود تنظیم کنید، می‌توانید آیکون‌ها و اپلتهای مختلفی را به آن اضافه نمایید. برای اضافه کردن یک اپلت به پنل، کافی است در یک منطقه خالی از پنل راست کلیک کرده و گزینه Add to Panel را انتخاب کرده و سپس از اپلت‌های موجود اپلت مورد نیاز را انتخاب نمایید. برای اضافه کردن یک آیکون اجرا کننده برنامه (launcher) به پنل کافی است در یک فضای خالی از پنل کلیک راست کرده و گزینه Add to Panel و سپس launcher را انتخاب کنید. با این کار پنجره کوچکی باز می‌شود که باید در آن مسیر برنامه را وارد نمایید. می‌توانید آیکونی هم برای آن انتخاب نمایید.


نکته : در صورتی که برنامه مورد نظر شما قبلا در منوهای اصلی موجود است، کافی است برای ایجاد launcher برای آن در یک فضای خالی از پنل کلیک راست کرده و سپس پس از انتخاب Add to Panel گزینه Launcher from menu را نتخاب کرده و از برنامه‌های موجود مورد دلخواه را انتخاب کنید. راه دیگری که برای این کار وجود دارد، کلیک روی منوی اصلی و گرفتن آیکون برنامه مورد نظر و انداختن آن روی قسمت آیکون‌های پنل است.


پیکربندی پنل

این امکان وجود دارد که پنل را بصورت دستی یا خودکار مخفی کنید و یا آنرا در هر قسمتی از میزکار که مایلید قرار دهید، اندازه، رنگ و نحوه رفتار آنرا تغییر دهید. برای دستیابی به تنظیمات پنل کافی است در یک فضای خالی از پنل کلیک راست نموده و گزینه Properties را انتخاب کنید. در پنجره کوچکی که باز می‌شود، به این تنظیمات دسترسی دارید.

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

فکر میکنم اسم ناتیلوس برای شما کمی آشنا باشد! البته که این ناتیلوس زیردریایی کاپیتان نمو در ۲۰۰۰۰ فرسنگ زیر دریا نیست! این ناتیلوس برنامه مدیر فایل پیش گزیده GNOME است.

ناتیلوس شمایی گرافیکی از فایلها و سیستم فایل کامپیوترتان به شما ارائه می‌کند. ناتیلوس طوری طراحی شده است که چیزی بیش از یک مدیر فایل گرافیکی باشد. با ناتیلوس میتوانید میزکار خود را تنظیم کنید، سیستم لینوکس ردهت خود را پیکریندی نمایید، کلکسیون تصاویر خود را مرور کنید، به منابع شبکه دسترسی پیدا کنید، و... و تمام اینها در یک رابط گنجانده شده اند.

ناتیلوس کارایی شما را در مدیریت فایلها، جستجو برای فایلهای خاص و بطور کلی آنچه از میزکار انتظار دارید، بالا می‌برد.

برای شروع به کار با ناتیلوس، کافی است روی آیکون خانه (Home) که روی میزکار قرار دارد، دو بار کلیک کنید و یا در منوی اصلی سیستم Home Folder را انتخاب نمایید.

با استفاده از ناتیلوس می‌توانید سرتاسر سیستم فایل سیستم خود را بررسی نمایید. برای بازگشت به دایرکتوری خانگی خود کافی است روی آیکون Home که در بالای پنجره آن قرار دارد، کلیک کنید. می‌توانید آدرس مورد نظر خود را در نوار location تایپ کرده و با فشار دادن کلید Enter به آنجا منتقل شوید. با استفاده از منوی File بخش New Window و یا فشار دادن کلیدهای Ctrl+N میتوانید یک پنجره جدید بازکنید. با استفاده از کشیدن وانداختن (Drag and Drop) می‌توانید فایلها را بین دو پنجره کپی کنید. درگ کردن یک فایل درون یک پوشه دیگر به طور پیش‌گزیده آنرا منتقل می‌کند. برای کپی کردن می‌توانید هنگام درگ کردن، کلید Ctrl را پایین نگه دارید.

بصورت پیش‌گزیده فایلهای تصاویر بصورت نمونه تصاویر کوچک و فایلهای متنی به صورت گوشه ای از متن فایل نمایش داده می‌شوند. می‌توانید این قابلیت را با کلیک روی منوی Edit و انتخاب بخش Preferences و سپس انتخاب لبه Preview و انتخاب گزینه های Never غیر فعال کنید. این کار سرعت ناتیلوس را بیشتر می‌کند.

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

کار کردن با ناتیلوس بسیار آسان است و بزودی به آن عادت خواهید کرد. برای مشاهده کلیدهای میانبر ناتیلوس، می‌توانید منوهای آنرا بررسی کنید. استفاده از کلیدهای میانبر به جای کلیکهای ماوس، سرعت کار شما را افزایش خواهد داد.


نکته : در صورتی که با یک دایرکتوری خاص سر و کار زیادی دارید و مجبورید در طول روز بارها به آن مراجعه کنید، می‌توانید با رفتن به آن دایرکتوری و فشار دادن کلیدهای Ctrl+D و یا کلیک روی منوی Bookmarks و انتخاب Add bookmark آنرا به آن منو اضافه کنید و پس از این برای رجوع به آن فقط یک کلیک کافی است.


سفارشی کردن میزکار

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

http://technotux.com

راه اندازی وب سرور در لینوکس با کمک XAMPP

یکی از مشکلاتی که بسیاری از برنامه نویسان وب (خصوصا برنامه نویسان PHP) بــا آن درگـیـر هستند دشواری نصب و راه اندازی یک وب سرور به همراه متعلقات آن در سیستم عامل لینوکس است.

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


Xampp مجموعه‌ای از بستـه‌های مورد نیاز یک سروریس دهنده وب PHP و PERL است، که شــمــا بـه راحتی می‌توانید همه بسته‌ها را به صورت یک جا بر روی سیستم خود نصب کنید . بـاید توجه داشه باشید که نسخه هایی از Xampp برای سیستم عامل های مختلفی همچون Windows ،Mac OS و Solaris نیز وجود دارد.

لیست برخی از بسته ها و کتابخانه های موجود در Xampp :

  • Ming

  • Webalizer

  • pdf class

  • ncurses

  • mod_perl

  • FreeTDS

  • gettext

  • IMAP C-Client 2002b

  • OpenLDAP (client)

  • mcrypt

  • mhash

  • eAccelerator

  • cURL

  • libxslt

  • phpSQLiteAdmin

  • libapreq

  • Apache

  • MySQL

  • PHP & PEAR + SQLite + multibyte support

  • Perl

  • ProFTPD

  • phpMyAdmin

  • OpenSSL

  • GD

  • Freetype

  • libjpeg

  • libpng

  • gdbm

  • zlib

  • expat

  • Sablotron

  • libxml

اگر در لیست بسته های بالا دقت کنید می بینید که Xampp چیزی فراتر از یک وب سرور ساده است و شما با نصب آن مجموعه کاربردی شامل (سرویس دهنده وب ، بانک اطلاعات، سرویس دهنده FTP و ...) بدست خواهید آورد.


شروع نصب

Xampp تقریبا بر روی همه توزیع های لینوکس قابــل نصب است امـــا بــر روی توزیــع‌های SuSe ، Ubuntu ، RedHat ، Mandrake و Debian به طـور کامل تست شده است و با اطمینان کامل می توانید در این توزیع ها از آن استفاده کنید.


برای شروع آخرین نسخه Xampp را از آدرس [1] دریافت کنید. فایل دریــافت شـده به صورت فشرده شده است و ما باید آن را از حــالت فشــرده خــارج کنیم و محتویات را در شاخه opt/ نصب کنیم برای این کار از دستور زیر با دسترسی کاربر ریشه استفاده می‌کنیم:

# tar xvfz xampp-linux-1.5.1.tar.gz -C /opt


با این کار Xamp در شاخه opt/lamp/ کپی و نصب می شود! حــالا تنــها کاری که باید انجام بدهیم راه اندازی Xampp است . برای راه اندازی دستور زیر را وارد کنید:

# /opt/lampp/lampp start


در صورتی که همه چیز درست انجام شده باشد شما باید پیغام زیر را ببینید:

Starting XAMPP 1.5.1...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.

بعــد از انــجام مــراحل بالا ســرویس دهنده وب Apache و سرویس‌دهنده بانک اطلاعاتی MySQL شروع به کار می‌کنند. برای مطمئن شدن کافیست مرورگر خود رو باز کنید و آدرس زیر را در آن وارد کنید:

http://localhost

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


نکات تکمیلی

در این قسمت مطالب مهمی را که در وب سایت Xampp عنوان شده و باید به آن توجه کنید ذکر شده است.

مسائل امنیتی

  • کاربر اصلی MySQL با نام کاربری "root" در حالت عادی کلمه عبور ندارد.

  • MySQL daemon از طریق شبکه قابل دسترسی است.

  • ProFTPD برای کاربر "nobody" از کلمه عبور "lampp" استقاده می کند.

  • PhpMyAdmin از طریق شبکه قابل استفاده است.

  • مثال ها (فایل های Examples ) از طریق شبکه در دسترس عموم قرار دارند.

  • MySQL و Apache هر دو از کار بر " nobody" استفاده می‌کنند.


با استفاده از دستور زیر می توانید تنظیمات امنیتی را اعمال کنید:

# /opt/lampp/lampp security

PHP4 یا PHP5؟

از آنجا که نسخه PHP5 آخرین نسخه از PHP است Xampp نیز از آن استفاده می کند اما خیلی از برنامه نویسان هنوز به PHP5 مهاجرت نکرده اند. و هنوز خیلی از برنامه ها تحت PHP4 کار می کنند. برای تغییر نسخه PHP در Xamp تنها کافیست از دستورات زیر استفاده کنید زیرا Xamp هم شامل PHP4 است هم PHP5 !

# /opt/lampp/lampp php4

# /opt/lampp/lampp php5

پارامتر های اصلی

تا نسخه 0.9.4 ما فقط می توانستیم فایل opt/lampp/lamp/ را راه اندازی و یا غیر فعال کنیم. اما از نسخه 0.9.5 به بعد پارامتر هایی به آن اضافه شد که برخی از آن ها در این مقاله ذکر شده است :


پارامتر

توضیح

start

راه اندازی Xampp.

stop

غیر قعال کردن Xampp.

restart

راه اندازی مجدد Xampp.

startapache

راه اندازی Apache به تنهایی .

startssl

راه اندازی SSL.

startmysql

راه اندازی MySQL به تنهایی.

startftp

را اندازی سروبس دهنده ProFTPD. جهت ارائه سرویس ftp.

stopapache

غیر قعال کردن Apache.

stopssl

غیر فعال کردن SSL .

stopmysql

غیر فعال کردن MySQL

stopftp

غیر فعال کردن سروریس FTP

security

اعمال تنظیمات امنیتی


شکل کلی اجرای پارامتر ها به صورت زیر است:

# /opt/lampp/lampp پارامتر


فایل های اصلی

در جدول پایین محل فایل های مهم بسته‌های مختلفlamp را می‌بینید. که برای پیکربندی به برخی از آن ها نیاز داریم:

/opt/lampp/bin/

محل دستورات اصلی Xampp

/opt/lampp/htdocs/

مسیر مستندات آپاچی

/opt/lampp/etc/httpd.conf

فایل پیکربندی آپاچی

/opt/lampp/etc/my.cnf

فایل پیکربندی MySQL

/opt/lampp/etc/php.ini

فایل پیکربندی PHP

/opt/lampp/etc/proftpd.conf

فایل پیکربندی FTP

/opt/lampp/phpmyadmin/config.inc.php

فایل پیکربندی phpMyAdmin


پاک کردن Xampp

در صــورتـی کــه بــه هــر دلیلی مــایـل به پاک کردن Xampp هستید، کافیست شاخه مربوطه را پاک کنید! برای این کار می‌‌توانید از دستور زیر استفاده کنید:

# rm -rf /opt/lamp

http://irantux.com

مدیریت بسته‌های RPM بخش اول

بسته‌های نرم‌افزاری چه هستند و چرا به آنها نیاز داریم؟

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

بسته‌های نرم‌افزاری کار نصب نرم‌افزارهای کاربردی را در لینوکس آسان کرده‌اند. دیگر لازم نیست برای نصب هر نرم‌افزار، کاربر کدهای منبع را دریافت کرده، آنها را کامپایل نموده و نصب کند. کاری که بسیاری از کاربران از انجام آن ناتوان هستند.

همانطور که متوجه شدید، بسته‌های نرم‌افزاری حاوی برنامه‌های قابل اجرا و آماده برای نصب هستند. ممکن است در اینترنت به انواع مختلفی از بسته‌های نرم‌افزاری برخورد نمایید که البته همه آنها حاوی نرم‌افزارهای آماده برای نصب نیستند که جلوتر درباره آنها توضیح خواهم داد. پر کاربردترین بسته‌های آماده نصب نرم‌افزارهای کاربردی، بسته‌های نوع rpm و deb هستند. در این مقاله ما به بررسی بسته‌های نرم‌افزاری با فرمت rpm و مدیریت آنها خواهیم پرداخت و در مقاله جداگانه‌ای، مدیریت بسته‌های deb را که مخصوص لینوکس debian و توزیع‌های مبتنی بر آن است را بررسی خواهیم کرد.

درک نامگذاری و فرمت بسته های نرم‌افزاری

وقتی بسته ای را از اینترنت دانلود می‌کنید، می‌بینید که از یک نام، تعدادی شماره، نقطه، gz و tar تشکیل شده است. خوب اینها چه معنی دارند؟ ابتدا این اعداد و حرفها پیچیده به نظر می‌رسند در صورتی که اگر برایتان شرح داده شوند، بسیار ساده هستند. پس از مدتی به این شیوه نامگذاری عادت خواهید کرد. بیشتر بسته های نرم‌افزاری لینوکس از قاعده نامگذاری GNU استفاده می‌کنند. مثال‌های زیر فرمت‌های گوناگون بسته های نرم‌افزاری را نشان می‌دهد :

mycoolapp-4.2.3.i386.rpm
mycoolapp-4.2.3.tar.gz
mycoolapp-4.2.3.src.tar.gz
mycoolapp-4.2.3.bin.SPARC.tar.gz
mycoolapp-4.2.3.bin.ELF.static.tar.gz

این مثالها بسته های مختلف یک نرم‌افزار هستند. نام این بسته نرم‌افزاری mycoolapp است. پس از نام بسته ، شماره نسخه آن که 4.2.3 است قرار دارد. اولین شماره شماره اصلی یا major، دومین شماره شماره فرعی یا minor و آخرین شماره شماره وصله یا patch است. پس از شماره نسخه، نقطه ای قرار دارد که بعد از آن بخش های انتخابی قرار دارند که نشانگر محتوای بسته و چگونگی فشرده سازی آن هستند.

خط نخست یک بسته نرم‌افزاری rpm را نشان می‌دهد. rpm مخفف Redhat Package Manager است. i386 که قبل از rpm قرار دارد، نشان دهنده این است که بسته حاوی نرم‌افزار اجرایی برای کامپیوترهای PC معمولی است. فرمت rpm که ابتدا توسط Redhat ارائه شد، اکنون تبدیل به یک استاندارد برای پخش بسته های نرم‌افزاری لینوکس شده است. ببیشتر توزیع‌های لینوکس مانند ردهت، زوزه، ماندریک و... از این سیستم بسته بندی نرم‌افزار استفاده می‌کنند.

rpm در مقابل کد منبع

بسته هایی که بصورت فرمت rpm ارائه می‌شوند به سادگی قابل نصب بوده و برداشتن آنها نیز به سادگی امکان پذیر است. برای مدیریت بسته‌های rpm هم ابزارهای گرافیکی و هم ابزارهای متنی وجود دارند. در صورتی که در دنیای لینوکس تازه کار هستید، همیشه سعی کنید از این فرمت برای دریافت نرم‌افزارها استفاده نمایید.

    - RPM: نصب نرم‌افزارها با استفاده از بسته‌های rpm بسیار آسان است. برای نصب یک بسته rpm شما نیازی به دانستن اطلاعاتی در مورد makefile ها و کامپایلرها ندارید. همانطور که در بالا نیز اشاره کردم، ابزارهایی نیز برای مدیریت این بسته‌ها فراهم آمده است. هنگامی که یک بسته rpm را نصب می‌کنید، ابزارهای rpm سایر نرم‌افزارهای احتمالی مورد نیاز این بسته را نیز بررسی کرده و در صورت نیاز به نصب بسته دیگری به شما اعلام میکنند.

    - کد منبع (Source Code) : برخی اوقات تا ایجاد بسته های rpm یک نرم‌افزار، مدتی طول می‌کشد. در این مواقع باید از کد منبع آن استفاده کنید. همچنین می‌توانید با ایجاد تغییراتی در کد منبع نرم‌افزار، آنرا برای خود مناسبتر کنید. اکثر کاربران حرفه ای لینوکس کار کردن با کد منبع را ترجیح می‌دهند.

خوب به مثال بالا برمی‌گردیم. در دوخط بعدی بسته‌هایی قرار دارند که حاوی کد منبع نرم‌افزار هستند. هـمـانطور که مـی‌بـینید، این بسته‌ها توسط دستور tar آرشیو شده (tar) و توسط دستور gzip فشرده شده‌اند (gz). شما از این دو فرمان برای باز کردن و خارج کردن از حالت فشردگی بسته‌های نرم‌افزاری استفاده خواهید کرد.

بین شماره های نسخه و پسوند های tar.gz بخش های اختیاری می‌توانند قرار گیرند. این بخش ها توسط نقطه از هم جدا می‌شوند و اطلاعات خاصی مانند نوع پردازنده‌ای که کدهای اجرایی بر روی آنها اجرا خواهد شد، نوع کدهای اجرایی و ... را فراهم می‌کنند. برای مثال bin.SPARC نشان می‌دهد که بسته حاوی کدهای اجرایی است که بر روی ایستگاههای کاری مبتنی بر پردازنده‌های SPARC اجرا خواهد شد.

استفاده از انواع گوناگون آرشیوها و فرمت مستندات

بسیاری از بسته‌های نرم‌افزاری که به یک توزیع خاص (مانند ردهت، SuSE، Debian و...) وابسته نیستند از روش tar/gzip برای فشرده سازی و آرشیو کردن فایل‌ها استفاده می‌کنند. البته ممکن است در سایتهای FTP لینوکس به فرمت‌های دیگری نیز بر بخورید. لازم به ذکر است که برخی از این فایلها مستندات همراه نرم‌افزار بوده و کد منبع یا اجرایی نیستند.

جدول ۱ فرمت های مختلف فایلی که شما هنگام چرخش در سایتهای FTP لینوکس مشاهده خواهید کرد و جدول ۲ برخی فرمت‌های رایج مستنداتی که همراه با نرم‌افزارهای لینوکس ارائه می‌شوند را نشان میدهد.

برای اینکه بدانید یک فایل دارای چه فرمتی است، می‌توانید از دستور file استفاده کنید. به مثال زیر توجه کنید :

$ file telnet.htm
telnet.htm: HTML document text

فرمت

پسوند

شرح

Gzip file

gz or .z

این فایل با استفاده از ابزار GNU gzip فشرده شده است. این فایل توسط ابزارهای gzip یا gunzip باز خواهد شد.

Tar File

tar

این فایل با استفاده از دستور tar آرشیو شده است. این فرمان برای ایجاد یک بسته از چند فایل بکار می‌رود. برای باز کردن این آرشیو از خود دستور tar استفاده می‌شود.

Bzip2

bz2

این فایل با استفاده از برنامه bzip2 فشرده شده است. میزان فشرده سازی این برنامه از gzip بیشتر است.

Tar/compressed

taz or .tz

این فایل توسط دستور compress یونیکس فشرده شده است.

Linux Software Map

lsm

این فایل حاوی متنی است که محتویات یک آرشیو را نشان می‌دهد.

Debian binary package

deb

این فایل یک بسته نرم‌افزاری است که توسط ابزارهای لینوکس debian ایجاد شده است.

Redhat Package Manager

rpm

این فایل بسته نرم‌افزاری است که با استفاده از ابزارهای rpm ایجاد شده است و غیر از ردهت، توسط توزیع کنندگان دیگر لینوکس هم استفاده می شود.

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

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

بیشتر برنامه هایی که نیاز به نصب آنها دارید، به صورت فرمت rpm موجود هستند. در صورتی که هیچ بسته rpm ای برای نرم‌افزار مورد نظرتان پیدا نکردید، می‌توانید از کد منبع نرم‌افزار استفاده کنید و خودتان نرم‌افزار مورد نیاز را کامپایل و نصب کنید.

فرمت

پسوند

شرح

Hypertext Markup Language

.html
or .htm

این فرمت شناخته شده را می‌توانید در هر مرورگر وبی بخوانید.

PostScript

.ps

یک فایل پست اسکریپت برای ارسال به یک چاپگر پست اسکریپت.

SGML

.sgml

فایلهای SGML برای ایجاد مستنداتی بکار می‌روند که آنها را می‌توان به فرمتهای گوناگون تبدیل کرد.

DVI

.dvi

این فرمت خروجی برنامه LaTeX است. با استفاده از فرمان dvilj می‌توانید آنرا به PostScript یا HP PCL تبدیل کنید.

Plain Text


فایلهای بدون پسوند معمولا متنهای ساده با فرمت ASCII هستند.

جدول ۲ انواع فرمت مستندات همراه بسته های نرم‌افزاری

نصب و مدیریت بسته های rpm

هنگامی که یک برنامه کاربردی که با فرمت rpm است به دستتان می‌رسد، این بسته معمولا فقط شامل یک فایل است. دستوری که شما برای مدیریت و استفاده از بسته های نرم‌افزاری rpm استفاده می‌کنید، دستور rpm است.

برای مدیریت بسته های rpm ، دستور rpm گزینه‌هایی را برای لیست کردن بسته‌های نصب شده، ارتقا بسته‌های نصب شده، بدست آوردن اطلاعات از محتویات یک بسته و .... ارائه می‌کند. همچنین گزینه‌هایی وجود دارند که توسط آنها می‌توانید بررسی نمایید که کلیه فایل‌های یک بسته نصب شده وجود داشته و تغییر نکرده باشند. دستور rpm در حالتهای زیر کار می‌کند:

- نصب نرم‌افزار (install) با گزینه i

-ارتقا نرم‌افزار (Upgrade) با گزینه U

- کسب اطلاعات از بسته (Query) با گزینه q

- چک کردن بسته (Verify) با گزینه V

- بررسی امضا بسته (Signature check) با گزینه checksig

- برداشتن بسته (Uninstall) با گزینه e

-ساخت بسته (Build) با گزینه b

-ساخت مجدد بانک اطلاعاتی (Rebuild Database) با گزینه rebuilddb

- تصحیح مجوزها (Fix Permissions) با گزینه setperms

- تعیین مالک/گروه (Set Owners/groups) با گزینه setugids

با استفاده از این گزینه‌ها می‌توانید بسته های rpm را نصب کرده، صحت نصب بسته ها را بررسی کنید و اشکالات احتمالی را برطرف نمایید.

هشدار : برای نصب یا برداشتن بسته های rpm باید با کاربر ریشه وارد سیستم شده باشید. نمایش بسته‌های نصب شده، کسب اطلاعات از بسته و نمایش محتویات بسته نیاز به داشتن مجوز ریشه ندارد.

منبع:http://technotux.com

راهنمای تنظیم LiLo

 استفاده از لیلو

یکی از پر استفاده‌ترین و قدیمی‌ترین برنامه‌های مدیر بوت لینوکس برنامه‌‌ای به نام Lilo می‌باشد که نام آن مخفف Linux Loader می‌باشد. با وجودی که برنامه مدیر بوت GRUB دارای قابلیت‌های بیشتری نسبت به لیلو است، ولی هنوز از لیلو در تعداد زیادی از توزیع‌های لینوکس استفاده می‌شود.

در این مقاله چگونگی تنظیم مدیر بوت لیلو و همچنین چگونگی تغییر مدیر بوت کامپیوتر از لیلو به گراب و بلعکس را خواهید آموخت.

هنگامی که کامپیوتر شما با استفاده از مدیر بوت لیلو بوت می‌شود، ابتدا صفحه‌ای گرافیکی ظاهر می‌شود و در آن پارتیشن‌های قابل بوت (سیستم عامل‌های) سیستمتان نشان داده می‌شوند. کافی است از کلیدهای بالا و پایین برای انتخاب سیستم عامل مورد نظر استفاده کرده و سپس کلید Enter را فشار دهید. در غیر اینصورت پس از چند ثانیه، سیستم با سیستم عامل پیش‌گزیده بوت خواهد شد.

در صورتی که مایلید هنگام بوت گزینه‌هایی را به سیستم‌عامل ارسال نمایید، هنگام بوت کلیدهای Ctrl+X را فشار دهید. اعلان بوت متنی مشابه زیر مشاهده خواهید کرد:

boot:

لیلو چند ثانیه صبر کرده و سپس اولین image بوت را برای بوت شدن انتخاب می‌کند. در صورتی که مایلید دوباره لیست پارتیشن‌های قابل بوت را مشاهده کنید، سریعا کلید Tab را فشار دهید. در اینصورت صفحه ای مشابه زیر مشاهده خواهید کرد:

LILO boot:

linux linux-up windowsxp

boot:

این مثال نشانگر وجود سه پارتیشن قابل بوت روی سیستم است که به ترتیب linux ، linux-up و windowxp نام دارند. دو گزینه اول نشانگر دو image بوت متفاوت هستند که با آنها می‌توانید پارتیشن لینوکس خود را بوت کنید. گزینه سوم نشاندهنده پارتیشن ویندوز XP می‌باشد. در صورتی که هیچ کلیدی را فشار ندهید، پس از چند ثانیه سیستم با استفاده از گزینه اول بوت خواهد شد. برای اینکه سیستم را وادار به بوت با پارتیشن دیگر کنید باید نام آنرا جلوی اعلان بوت تایپ کنید.

در صورتی که در سیستمتان چند image بوت نصب شده است، با فشردن کلید Shift لیلو از شما سوال خواهد کرد که با کدام image بوت شود. Image های موجود و سایر گزینه‌های لیلو در فایل پیکربندی etc/lilo.conf ذخیره شده‌اند.

آماده سازی فایل پیکربندی لیلو

لیلو اطلاعات مورد نیاز جهت پیدا کردن و بوت شدن از پارتیشن های قابل بوت را از فایل etc/lilo.conf بدست می‌آورد. بوسیله اضافه کردن گزینه‌هایی به این فایل، می‌توانید چگونگی بوت شدن سیستمتان را تغییر دهید. مثال زیر برخی از محتویات این فایل را نشان می‌دهد:

prompt

timeout=50

default=linux

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

message=/boot/message

linear

image=/boot/vmlinuz-2.4.23

label=linux

initrd=/boot/initrd-2.4.23.img

read-only

root=/dev/hda6

append=”hdc=ide-scsi”

other=/dev/hda1

label=windowsxp

با گزینه prompt on اعلان بوت همیشه هنگام بوت سیستم نشان داده خواهد شد و نیازی نیست برای ظاهر شدن آن کلیدی را فشار دهید. زمان انتظار بوت در مثال بالا ۵۰ دهم ثانیه یا ۵ ثانیه است. سیستم قبل از شروع بوت این مدت را برای فشار داده شدن کلید منتظر مانده و در صورتی که هیچ کلیدی فشار داده نشود، با سیستم عامل پیش‌گزیده بوت خواهد شد. خط بوت نشاندهنده این است که پارتیشن قابل بوت در dev/hda قرار دارد (اولین دیسک سخت).

خط نقشه (map) نشاندهنده محل فایل نقشه که حاوی موقعیت های فایلهای image بوت است، می‌باشد. خط install نشان می‌دهد که فایل boot/boot.b به عنوان سکتور بوت جدید مورد استفاده قرار گرفته است. خط message به لیلو اعلام می‌کند که هنگام بوت محتویات فایل boot/messages را نشان دهد. خط linear باعث فعال شدن آدرس دهی خطی بجای آدرس دهی سکتور/هد/سیلندر می‌شود. این قابلیت در دیسکهای سخت اسکازی کاربرد دارد.

در فایل مثال بالا دو پارتیشن قابل بوت وجود دارند. نخستین آنها (image=/boot/vmlinuz-2.4.23) نشاندهنده یک image بوت است که به نام linux نامگذاری شده است. سیستم فایل ریشه برای آن image در آدرس dev/hda6 قرار دارد. واژه فقط-خواندنی (Read-Only) نشان می‌دهد که سیستم فایل ابتدا بصورت فقط خواندنی متصل شده و پس از بررسی شدن امکان خواندن/نوشتن روی آن فعال می‌شود. خط initrd نشاندهنده محل فایل image مربوط به دیسک RAM که برای بوت سیستم استفاده می‌شود، است.

پارتیشن دوم قابل بوت که در این مثال با واژه other مشخص شده است، در dev/hda1 قرار دارد و همانطور که از نام آن پیداست پارتیشن مربوط به ویندوز XP می‌باشد.

سایر image های قابل بوت نیز می‌توانند به این فایل اضافه شوند. شما می‌توانید یک image جدید نصب کرده و با تغییر فایل پیکربندی لیلو آنرا فعال کنید.

پس از اینکه تغییرات مورد نظر خود را در این فایل اعمال کردید، باید دستور lilo را اجرا کنید تا تغییرات اعمال شوند. همانطور که قبلا گفته شد، داشتن چند فایل image هنگامی لازم است که می‌خواهید از چند هسته مختلف که دارای قابلیت‌های متفاوتی هستند بطور همزمان استفاده نمایید. مراحل تغییرات در فایل پیکربندی لیلو بصورت زیر است:

۱.فایل image جدید را از دایرکتوری که ایجاد شده است (مثلا usr/src/linux/arch/i386/boot) به دایرکتوری boot کپی کنید. سـپـس اـین فـایل را طـوری نـامگذاری کنید که نشاندهنده محتویات آن باشد. مثلا zImage-2.6test11 .

۲.خطوط مربوط به این فایل را در فایل پیکربندی لیلو به نحوی اضافه کنید تا امکان انتخاب و بوت از طریق آن فراهم شود :

image=/boot/zImage-2.6test11

label=newlinux

۳. در حالی که با کاربر ریشه به سیستم وارد شده اید دستور lilo -t را اجرا کنید تا تغییرات داده شده آزمایش شده و صحت آنها تایید شود.

۴. دستور lilo را بدون هیچ سوئیچ و گزینه‌ای اجرا کنید تا تغییرات اعمال شوند.

برای اینکه کامپیوتر با فایل image جدید بوت شود، در صفحه آغازین لیلو، newlinux را انتخاب نمایید و یا جلوی اعلان بوت نام newlinux را تایپ کنید. اگر احساس می‌کنید که زمان انتظار ۵ ثانیه مدت کمی است، می‌توانید با افزایش عدد انتظار به ۱۰۰ مدت زمان انتظار را به ۱۰ ثانیه افزایش دهید.

گزینه هایی که شما می‌توانید در فایل پیکربندی لیلو استفاده کنید، به سه دسته گزینه‌های سراسری (Global)، گزینه‌های Per-image و گزینه‌های هسته (Kernel) تقسیم شده‌اند. مستندات زیادی برای لیلو تهیه شده است. برای کسب اطلاعات بیـشـتر در مورد گـزیـنه‌هـایـی کــه ایـنـجا شـرح داده شـده اند و سایر گـزیـنـه‌هـا مـی‌توانـیـد از راهنـمـای لـیـلـو (دستور man lilo.conf) و یا مستندات موجود در usr/share/doc/lilo/doc استفاده کنید.

در زیر چند مثال برای گزینه‌های سراسری ارائه شده است. گزینه‌های سراسری این ویژگی را دارند که تاثیر خود را بر تمام لیلو اعمال می‌کنند و فقط بر یک image خاص تاثیر ندارند.

از گزینه default می‌توانید برای مشخص کردن پارتیشن یا image پیش گزیده برای بوت شدن استفاده کنید. برای مثال:


default = newlinux

از گزینه delay می توانید برای تعیین زمان انتظار لیلو استفاده کنید. توجه داشته باشید که زمان وارد شده به دهم ثانیه می‌باشد. یعنی عدد ۵۰ نشانگر ۵ ثانیه است:

delay = 50


برای تغییر پیامی که قبل از اعلان لیلو قرار دارد، می‌توانید پیامی را در فایلی ذخیره کرده و با افزودن گزینه message به فایل پیکربندی لیلو، آنرا فعال نمایید:

message=/boot/boot.message

تمام گزینه‌های Per-image بوسیله یک خط image که نشان دهنده یک هسته لینوکس است، یا other که نشاندهنده یک سیستم عامل دیگر – مانند ویندوز XP است، شروع می‌شوند. این گزینه‌ها تنها بر روی همان هسته یا سیستم عامل تاثیر دارند. برخی گزینه های Per-image عبارتند از:

- Label : این گزینه نشان دهنده نامی است که شما در لیست لیلو مشاهده می‌کنید. امکان استفاده از نام‌های با فاصله وجود ندارد.

- lock : ضبط خودکار، خط فرمان بوت را برای دریافت سایر گزینه‌های بوت فعال می‌کند.

- alias=name : با جایگزین کردن name بجای هر نامی می‌توانید از آن به عنوان جایگزین نامی که در label تایپ کرده‌اید استفاده کنید.

- password=password : می‌توانید image یا سیستم عامل مورد نظر را با کلمه عبور محافظت کنید. برای این کار جلوی گزینه password کلمه عبور مورد نظر خود را تایپ کنید.

- restricted : این گزینه به همراه گزینه password بکار می‌رود. در صورتی که آنرا بکار ببرید تنها هنگام ارسال گزینه به هسته از شما کلمه عبور درخواست خواهد شد.

همچنین برای هسته لینوکس گزینه‌های خاصی وجود دارند. این گزینه‌ها به شما امکان انجام کارهایی مانند شناساندن برخی سخت افزارها، کنترل چگونگی اتصال سیستم فایل ریشه و ... را می‌دهند. برخی از گزینه های مخصوص هسته لینوکس عبارتند از :

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

- ramdiak : با این گزینه می‌توانید سایز دیسک رمی که هنگام بوت تشکیل می‌شود را تعیین کنید تا بجای مقدار پیش‌گزیده هسته بکار رود.

- read-only : سیستم فایل ریشه را بصورت فقط-خواندنی متصل می‌کند. سیستم فایل ریشه در حالت عادی پس از چک شدن، بصورت خواندن-نوشتن متصل می‌شود.

- read-write : سیستم فایل ریشه را بصورت خواندن-نوشتن متصل می‌کند.


تغییر مدیر بوت کامپیوتر

در صورتی که مایل به استفاده از گراب نیستید و یا لیلو را آزمایش کرده‌اید و اکنون می‌خواهید دوباره گراب را فعال کنید، می‌توانید به آسانی این کار را انجام دهید. برای تغییر مدیر بوت خود از گراب به لیلو مراحل زیر را انجام دهید:

۱.فایل پیکربندی لیلو را با توجه به مطالبی که گفته شد، تنظیم کنید.

۲. بصورت کاربر ریشه به سیستم وارد شده و در یک پنجره ترمینال دستور زیر را تایپ کنید:

# lilo

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

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

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

۱. فایل پیکربندی گراب را مطابق آنچه در بالا گفته شد تنظیم کنید.

۲. باید نام دیسکی که می‌خواهید گراب را در آن نصب کنید، بدانید. مثلا اگر می‌خواهید گراب را در رکورد بوت اصلی دیسک سخت اول نصب کنید، باید بصورت کاربر ریشه وارد سیستم شده و دستور زیر را تایپ کنید:

# grub -install /dev/hda

رکورد اصلی بوت مجددا نوشته شده و اکنون می‌توانید از گراب استفاده کنید.

۳. کامپیوتر خود را راه اندازی کنید. اکنون باید صفحه آغازین گراب را مشاهده کنید.

زبان برنامه‌نویسی D بخش ششم

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

جمع آور زباله در سگمنت داده ایستا ، پشته ها و محتویات رجیستر هر thread ، به دنبال ریشه ها می گردد . اگر تنها ریشه یک شیئ بیرون از آنها باشد ، جمع آور زباله آن را از بین می برد و حافظه را آزاد می‌سازد .

برای اجتناب از این واقعه باید :

    ۱. ریشه دسترسی به یک شیئ را در جایی نگهداری کنیم که جمع آور زباله در آن جا به دنبال ریشه می گردد .

    ۲.به شیئ مجدداً توسط تخصیص دهنده کد خارجی یا کتابخانه های زمان اجرای C یعنی malloc/ free ، حافظه تخصیص دهیم .

اشاره گرها و جمع آور زباله

الگوریتم های جمع آوری زباله بستگی دارد به اشاره گرهایی که به چیزی در حال اشاره ‌اند و غیر اشاره‌گرها که به چیزی اشاره نمی کرده اند . بدین منظور دستورات زیر که در C غیر معمول نیستند باید به دقت در D از آنها خودداری شود :

۱. اشاره گرها را با xor کردن آنها با مقادیر دیگر مخفی نکنید مانند اشاره گر xor شده حقه‌ی لیست پیوندی در C . از حقه‌ی xor برای جا به جا کردن مقادیر دو اشاره گر استفاده نکنید .

۲. اشاره گرهای به مقادیر صحیح را توسط cast یا دیگر حقه ها ذخیره نکنید ، چون جمع آوری زباله انواع غیر اشاره‌گر را برای یافتن ریشه های دسترسی بررسی نمی کند .

۳. از مزیت هم ترازی اشاره گرها برای ذخیره فلگهای بیتی در بیتهای سطح پائین یا بیتهای سطح بالا استفاده نکنید .

۴. مقادیر صحیح را در اشاره گرها نگهداری نکنید .

۵. مقادیر جادویی را در اشاره گرها ذخیره نکنید به غیر از null .

۶. اگر شما باید یک مکان نگهداری خاص را بین انواع اشاره گر و غیر اشاره‌گر به اشتراک بگذارید از union استفاده کنید تا جمع آور زباله تکلیف خودش را در آن مورد بداند .

در حقیقت تا جایی که می شود از اشاره گرها استفاده نکنید . D دارای امکاناتی مانند اشیاء مرجع ، آرایه های پویا و جمع آوری زباله است که نشان می دهد که اغلب اشاره گرهای آشکارا ، متروک و بلااستفاده خواهند بود . اشاره گرها برای ارتباط موفق با API های C و بعضی کارهای کیمیاگرانه در D فراهم شده اند .

ساختمانها و یونیون ها

نحوه اعلان :

Tag { DeclDefs }
Tag Identifier { DeclDefs }
Tag Identifier ;
Tag: struct / union

شبیه C کار می کنند با تفاوتهای زیر :

۱. بدون فیلد های بیت

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

۳. اعلان هایی مانند ; struct ABC x ،مجاز نیستند بنویسید ; ABC x .

۴. ساختمانها یا یونیون های بی نام می توانند عضوی از ساختمانها یا یونیون های دیگر باشند .

۵. انتساب دهنده های پیش فرض اولیه برای اعضا پشتیبانی می شود .

۶. توابع عضو و اعضای استاتیک مجاز است .

ساختمانها و یونیون ها به معنی اجتماع ساده داده ها یا راهی برای رنگ و آب دادن به یک ساختمان داده می باشد ، علاوه بر سخت افزار یا یک نوع خارجی ، انواع خارجی می توانند توسط API سیستم عامل یا یک فرمت فایل تعریف شوند . خصوصیات شیئ گرا نیز با نوع داده کلاس فراهم شده اند .



انتساب اولیه استاتیک ساختمان ها

به اعضای ساختمان استاتیک به طور پیش فرض مقدار صفر انتساب داده می شود و به مقادیر ممیز شناور مقدار NAN . اگر یک انتساب دهنده اولیه‌ی استاتیک فراهم شود ، اعضا به وسیله نام عضو ، علامت ':' و املای دستور ، انتساب اولیه می شوند . در ضمن ممکن است اعضا به هر نحو انتساب اولیه شوند .

struct X { int a; int b; int c; int d = 7;}
static X x = { a:1, b:2}; // c is set to 0, d to 7
static X z = { c:4, b:5, a:2 , d:5}; // z.a = 2, z.b = 5, z.c = 4, d = 5<DD DIR="RTL" STYLE="margin-bottom: 0.5cm; text-align: right"> انتساب اولیه‌ی استاتیک یونیون ها

یونیون ها به طور آشکار مقدار دهی اولیه می شوند :

union U { int a ; double b ; }
static U u = { b : 5.0 } ; // u.b = 5.0

دیگر اعضای یونیون که انتساب دهنده را جای می گذارند ولی فضای بیشتری اشغال می کنند مقدار صفر می گیرند .

Enums
اعلان :
EnumDeclaration:
enum identifier { EnumMembers }
enum { EnumMembers }
enum identifier ;


Enum کاربرد معمولی ماکروی define# در زبان C را برای تعریف مقادیر ثابت جایگزین میکند.

Enum ها همچنین می توانند بی نام باشند که در آن مورد به سادگی ثابت های مجتمع را تعریف می کنند و یا دارای نام باشند که مقدمه یک نوع جدید خواهند بود . اعلان زیر :

enum { A, B, C } // anonymous enum

مقادیر ثابت A=0 , B=1 , C=2 که معادل دستورات زیر است را تعریف میکند :

const int A = 0; const int B = 1; const int C = 2;

در حالی که اعلان زیر:

enum X { A, B, C } // named enum

نوع جدید X با مقادیر X.A=0 , X.B=1 , X.C=2 تعریف می کند.

Enum ها باید حداقل دارای یک عضو باشند . اگر برای یک عضو Enum یک عبارت ریاضی فراهم شده باشد ارزش عضو مذکور برابر حاصل عبارت است و عضو بعدی Enum دارای ارزش عضو قبلی به علاوه یک است . مثلاً در مورد زیر :

Enum { A , B = 5 + 7 , C, D = 8 , E }

داریم A = 0 , B = 12 , C = 13 , D = 8 , E = 9

صفات Enum

کوچکترین عضو min

بزرگترین عضو max

سایز نگهداری ارزش عضو size



مقدار دهی اولیه‌ی Enum :

در غیاب یک مقدار دهنده به صورت آشکار ، یک متغیر Enum دارای مقدار اولین عضو است .

Enum X { A = 3 , B,C }

مقدار X برابر 3 می شود .// ; X x

http://technotux.com