نسخه جدید لینوکس ردهت RHEL4

اشاره :
سال 2002 را می‌توان سال ورود سیستم‌عامل لینوکس، تحت عنوان Red Hat Enterprise Linux یاRHEL به موسسات بازرگانی نامید. لینوکس اکنون با معرفی نسخه چهارم این سیستم عامل، قابلیت‌های فراوان، کارایی و امنیت بیشتری را برای کاربران به ارمغان آورده‌است.

 

 مزایای‌‌ RHEL4 رامی‌توان درچهارمورد زیر خلاصه کرد:‌‌ ‌
-‌ مطمئن ، توسعه یافته و استوار بر اساس کرنل لینوکس 6/2‌ ‌
- توانایی تأمین نیازهای امنیتی شبکه‌های بزرگ ‌
-‌ پیشرفت و کارایی از کامپیوترهای شخصی تا مرکز اصلی اطلاعات
-‌ عملکرد استثنایی و توانایی کار با سیستم‌های 32 و 64 بیتی

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

مستندات خوب، یکی ازمزایای سیستم عامل ‌RHEL4 به شمار می‌رود که در فرم‌های HTML و ‌PDF در نشانی زیر قابل دسترسی است:
http://www.redhat.com/docs/manuals/enterprise

RHEL4 یک نمونه خوب از پرو‌ژهای اپن سورس است که لینوکس به بازار عرضه کرده ومی‌تواند نیازهای سازمان‌های بزرگ را از کامپیوترهای رومیزی تا اتاق‌های سرور برآورده سازد.

خواهید دید این مقاله نشان می‌دهد که پس از تغییرات بسیار برروی ‌کرنل6/2، RHEL4 امنیت و کارایی بیشتری نسبت به نسخه‌های قبلی دارد.  سازمان‌هایی که درحال حاضر از‌ RHEL3 استفاده می کنند، برای بررسی این  افزایش کارایی، می‌توانند نرم افزارهای خود را با این نسخه امتحان کنند تا ببینند که آیا ارتقا به نسخه جدید ارزش دارد یا نه.  نسخه جدید را می‌توان از
‌rhn.redhad.com دانلود نمود.

‌عواملی که باید هنگام ارتقای سیستم یا مهاجرت به این سیستم‌عامل  مد‌نظرقرار داد، عبارتند از:

1- نوع  نرم‌افزاری که می‌خواهید استفاده کنید.
2- سخت افزاری که می خواهید برای راه اندازی نرم افزار از آن استفاده کنید.
اگر از نرم‌افزارهای تجاری و بازرگانی‌ای استفاده می‌کنید که از لینوکس پشتیبانی می‌کند، ‌RHEL بهترین سیستم‌عاملی است که لینوکس به شما پیشنهاد می کند. اگر به دنبال راه‌اندازی نرم‌افزار اپن سورس جدیدی هستید، RHEL یک پلتفرم جامع برای کار شماست. این پلتفرم دارای اجزایی بروزشده‌است که از طرف لینوکس حمایت می‌شود واز ‌‌Fedora کامل‌تر است. این سیستم‌عامل همچنین یک سری توابع کتابخانه‌ای همراه دارد که به کاربران امکان می‌دهد برنامه‌های خود را از  RHEL2.1 و RHEL3 کامپایل کنند.

نسخه رومیزی ‌RHEL ازکاربر یک کلاینت قوی می‌سازد. اما تفاوت زیادی با بسته‌های دسکتاپ لینوکس‌های دیگر ندارد. هرچند از Red Hat انتظار می‌رود کارایی بیشتری برای مدیریت سیستم RHEL تعبیه کند؛ مثلا با اضافه‌کردن ابزارهای مدیریت ساختاری کاربرهایی که از ایستگاه‌های سان استفاده می‌کنند.

قیمت
قیمت نسخه سرور این سیستم عامل از 349 دلار برای RHEL ES با امکانات پایه‌ای تا 2499 دلار برای RHEL AS با امکانات و پشتیبانی گسترده است‌. RHEL ES می‌تواند از ltanium 2 ,intel x86 یا EM46T یا حداکثر 2 عدد پردازشگر ‌AMD64 پشتیبانی کند. از طرف دیگر ‌RHEL AS نسبت به RHEL ES پشتیبانی و قدرت بیشتری دارد. ازجمله برای ‌پلتفرم ‌IBM power Series، مین‌فرم‌ها، و انواع متعددی از پردازشگرها. این پشتیبانی گسترده، یکی ازمشخصات برجسته ‌‌‌RHEL4 است که می‌توان گفت نسبت به سیستم‌عامل‌های Solaris 10 و Windows Server 2003 برتری دارد. 

ردهت همچنین اقدام به فروش نسخه‌های ایستگاه‌های کاری به قیمت 179 دلار(برای هر سیستم در سال) کرده‌است و نسخه رومیزی‌‌ RHEL  را به قیمت 70 دلار در سال به‌فروش می رساند.

‌کرنل 6/2 و برنامه های زمانبندی شده ‌‌ 
ردهت بعد از تغییرات و روزآمد سازی‌های فراوان روی پروژه توسعه کرنل، و همچنین آزمون‌های مختلف از نسخه‌های 2 و 3 لینوکس Fedora core،‌‌ کرنل6/2‌  را برای امور بازرگانی و استفاده انبوه انتخاب کرد. (لازم به ذکر است که‌‌ RHEL4 به همراه ‌‌ ‌یک ‌‌کرنل تحت لینوکس 2.6.9 ارائه می شود). یکی از مهم‌ترین و ارزنده‌ترین پیشرفت‌ها در نسخه کرنل 6/2، زمانبندی ورودی/‌خروجی I/O بود که با مرتب‌سازی درخواست‌های نوشتنی و خواندنی، کارایی دیسک را بالا می‌برد، و به سیستم‌عامل امکان می‌داد برای برنامه‌هایی که همزمان اجرا می‌شوند، ازمقدار معینی دسترسی به دیسک استفاده‌کند.

‌کاربران با استفاده از ‌‌RHEL4 می توانند با ارسال یک آرگومان به ‌کرنل در زمان بوت کردن سیستم، یکی از‌‌ ‌چهار زمانبند ورودی/ خروجی  را انتخاب کنند. از آن‌جایی که این سیستم‌عامل امور تنظیم I/O را به عهده دارد، زمانبند ‌ noop (اولین زمانبند) که در محیط های مجازی استفاده می‌شود، از انجام این کار معاف می شود.

سه زمانبند دیگر  که در مواقع نیاز مورد استفاده قرارمی گیرند، عبارتند از: ‌
- Anticipatory
- Deadline
- completely fair queuing) CFQ) گزینه پیش فرض در RHEL4

هریک از زمانبندهای ‌(‌Schedulers) بالا به صورت متفاوتی ورودی/‌خروجی دیسک را منظم می‌کند و هرکدام براساس این‌که چه نرم‌افزارهایی را اجرا می‌کنیم، مزایایی دارد. ولی راهنمای Red Hat در مورد این گزینه‌ها هیچ توضیحی نمی‌دهد. (اگرچه در ‌Linux Kernel Mailing list - ikml.org می‌توان اطلاعات مفیدی درباره این گزینه‌ها پیدا کرد).

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

‌همان‌طور که توضیح داده شد، RHEL AS قدرت بیشتری نسبت به‌ ‌RHEL ES دارد. همچنین یکی دیگر از مزایای آن، پشتیبانی از انواع پردازنده‌هاست. به طور مثال، می تواند از‌‌ x86 یا‌‌ Itanium 2 پشتیبانی کند.

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

‌‌ RHEL4 به صورت پیش فرض از یک سیاست هدف‌دار ‌‌‌(targeted policy) استفاده می‌کند که محافظت از قسمت کوچکی از سرویس‌های سیستم که مستقیما با اینترنت در ارتباط هستند و بیشتر مورد حمله هکرها هستند را به عهده می گیرد.  در RHEL4 می‌توان به صورت گرافیکی ساختار امنیتی را تغییر داد؛ مثلا یک فایروال جدید تنظیم نمود. هرچند بعضی مواقع برای اجرای دستورات پیشرفته و ساختاری SELinux کاربران باید از خط فرمان برای کنترل SELinuxها استفاده کنند. برای اطلاع بیشتر از ساختار امنیتی‌ ‌ SELinux در ‌‌RHEL4،‌ راهنمای جامع آن را می توانید از
این نشانی دریافت کنید.

یکی از امکانات دیگری که ‌‌RHEL4 در اختیار کاربران قرار داده‌، ‌ExecShield است که در واقع در نسخه‌های RHEL3 هم وجود داشت و ابزار مطمئنی است که سیستم شما را  در مقابل  برخی از حملات مثل سرریزس بافر محافظت می‌کند. طبق تحقیقاتی که از اول نوامبر 2003 تا 11 آگوست 2004 انجام شده،  این ابزارتوانسته است  از مجموع 16 حمله جدی به سیستم، با یازده حمله مقابله کند و از گسترش آن‌ها جلوگیری نماید.

ابزارهای مدیریتی
فرق زیادی در ابزارهای مدیریتی ‌RHEL4 با نسخه های قبلی این سیستم‌عامل وجود ندارد. در حقیقت از آنجایی که مدیران سیستم در این سیستم‌عامل دستورات را توسط ‌خط فرمان‌ وارد می کنند و وقت زیادی را صرف تایپ و اصلاح این دستورات می‌نمایند، می‌توان گفت که ابزارهای مدیریتی در این سیستم‌عامل‌ها نسبت به سیستم‌عامل‌هایی مثل ویندوز سرور 2003 یا Novel SuSE9 از کارایی کمتری برخوردار است و مدیر سیستم باید وقت زیادی را صرف کند؛ مخصوصا در تنظیم ساختار امنیتی SELinux. هرچند این مشکل مدیران سیستمی است که تا به حال با ‌RHEL کار نکرده‌اند و تازه می‌خواهند از این سیستم‌ها استفاده کنند. از طرف دیگر‌RED HAT راهنمای استفاده خوبی در مورد استفاده از این ابزارها در اختیار مدیران سیستم قرار می‌دهد که از
این نشانی قابل دریافت  است.


همان‌طور که در نسخه‌های قبلی‌ RHEL کاربران می‌توانستند نرم‌افزارهای‌‌ ‌RHEL4 را نصب و روزآمد سازی کنند (به‌وسیله ارتباط با شبکه‌‌ ردهت با ‌RHEL up2date client)، در نسخه‌ای از ‌up2date که همراه RHEL4 ارائه می‌شود مدیران سیستم می‌توانند بسته‌هایی از apt software repositories ,yum یا دایرکتوری استاندارد استفاده کنند. همچنین مدیران سیستم می‌توانند به‌راحتی سیستم‌هایی که نسخه RHEL3 دارند را با استفاده از‌‌up2date به‌‌ RHEL4 ارتقا‌دهند. وقتی برای اولین بار سیستم‌عامل جدید را نصب می‌کنید، SELinux به صورت پیش فرض فعال نیست و کاربران باید آن را فعال کنند؛ البته با مشکلات و ریزه کاری‌های فراوان. شایان ذکر است که ردهت هم استفاده ‌‌up2date را جهت ارتقای سیستم‌عامل پیشنهاد نمی‌کند و به جای آن به کاربران توصیه می‌کند برای روزآمد سازی سیستم، با دیسک Preboot Execution Envionment) PXE) سیستم را راه‌اندازی کنند، که نرم افزار‌‌ Anaconda installer را اجرا می کند.

ارتقای سیستم‌ها بین سیستم‌عامل‌های FedoraCore به وسیله نرم‌افزارهایی مثل yum کار آسانی است و اگر RHEL هم  از این سازوکار استفاده می کرد، خیلی از مشکلات روزآمد‌سازی سیستم‌ها کمتر می‌شد. اگر‌چه RHELدر برخی ابزارهای مدیرتی ضعیف عمل می‌کند، برخی از امکانات این سیستم‌عامل می‌تواند برای  مدیران سیستم بسیار مفید باشد. مثلا نسخه 4 این سیستم عامل، دارای یک ابزار بروز و بسیار سودمند برای آسان کردن مدیریت داده‌های اطلاعاتی در سیستم‌هایی با چند دیسک می‌باشد. این‌ ‌ابزار Logical Volume Manager) LVM) نام دارد. برنامه راه‌اندازی ‌Anaconda) RHEL4) به‌‌صورت پیش فرض از LVM استفاده می‌کند. ولی این امکان را نیز به کاربر می‌دهد که سیستم را به صورت استاندارد پارتیشن بندی کند. اگر چه ‌LVM  ابزاری بسیار سودمند  درسیستم عامل RHEL4 است،  هنوز از RAID (سیستم‌هایی که از چند هارد‌دیسک برای اشتراک یا کپی همزمان استفاده می کنند) پشتیبانی  نمی کند و مدیران ‌ردهت‌  قول داده‌اند که این موضوع در نسخه‌های جدید اعمال شود. از طرف دیگر ‌‌RHEL4 شامل یک کلاینت گرافیکی  بسیار ابتدایی جهت مدیریت LVM است که در آینده امید می‌رود پیشرفته تر گردد.‌

مهاجرت برنامه‌های کاربردی ویژوال بیسیک به لینوکس

یافتن یک راه‌حل مطمئن و ساده مهاجرت برای برنامه‌های ویژوال بیسیک

لینوکس در حال پیشرفت در حوزه سازمانی است. در ابتدا این سیستم‌عامل بعنوان سرور طراحی گردید، اما بیشتر و بیشتر بر روی دسک‌تاپ تست شد و گسترش یافت. راه‌حل‌های لینوکس برای برنامه‌های بازدهی تجاری معمولی، شامل Evolution، Mozilla، و OpenOffice، قابل دستیابی هستند و به همراه اغلب توزیع‌های لینوکس عرضه گردیده‌اند.

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

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

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

چه گزینه‌هایی وجود دارند؟

گزینه‌های عمده برای مهاجرت برنامه‌ها بین پلاتفرم‌ها شامل Mono/.NET، Java، و REALbasic می‌باشد. در هنگام اتخاذ تصمیم برای انتخاب ابزار جهت انجام مهاجرت یک برنامه عظیم ویژوال بیسیک به لینوکس، شما باید دو مساله مهم را مد نظر قرار دهید: سادگی توسعه، که برای توسعه‌گران شما یک امر حیاتی است، و سادگی گسترش، که برای کاربران نهایی و کارکنان بخش پشتیبانی از اهمیت بالایی برخوردار است.

چرا .NET و Mono نه؟

هنگامی که مایکروسافت اعلام نمود که نسخه بعدی ویژوال بیسیک VB.NET خواهد بود، توسعه‌گران ویژوال بیسیک در انتظار ویژوال بیسیک 7 بودند. محیط VB.NET محققا مدرن‌تر بود، اما بسیار متفاوت از ویژوال بیسیک 6، و در واقع ناسازگار با ویژوال بیسیک 6. برای نخستین بار از زمان ویژوال بیسیک 2، یک ویژوال بیسیک جدید نمی‌توانست کد نسخه قبلی را باز، اجرا و کامپایل نماید. توسعه‌گران، .NET را کندتر و پیچیده‌تر یافتند. آنها همچنین دریافتند که زبان .NET بسیار متفاوت از ویژوال بیسیک 6 است.

کاری که .NET انجام داد فراهم نمودن یک زمان اجرای زبان مشترک (CLR) بود که تمامی زبان‌های .NET مایکروسافت در حال حاضر از آن استفاده می‌کنند. به همین دلیل، پروژه کدباز Mono یک پیاده‌سازی مستقل-از-پلاتفرم از CLR را آغاز نمود. پروژه Mono تلاش خود را بر روی .NET با استفاده از C# متمرکز نمود، از این رو توسعه‌گران می‌توانند پروژه‌های خود را با استفاده از Mono به لینوکس منتقل سازند. برای استفاده از Mono جهت مهاجرت پروژه‌ها به لینوکس، توسعه‌گران ویژوال بیسیک بایستی C# و .NET را بیاموزند، تغییرات عمده‌ای را در کد پروژه ایجاد نمایند، و از CLR استفاده کنند.

برای انجام گسترش، چارچوب برنامه .NET که دارای حجم 20 مگابایت است باید بر روی هر کدام از دسک‌تاپ‌ها نصب باشد تا برنامه‌های .NET بر روی آنها اجرا گردند. این .NET Framework تلاش می‌نماید سازگاری با آینده و گذشته را میان نسخه‌ها حفظ نماید. یک تغییر در .NET Framework که امنیت، صحت، یا کارکرد را بهبود می‌بخشد همچنین می‌تواند مسائل سازگاری را افزایش دهد. پس از به روزرسانی Framework، این مشکلات سازگاری می‌تواند باعث گردد نرم‌افزاری که بر روی .NET کار می‌کرده از کار بیافتد.

یک مساله دیگر در رابطه با گسترش وجود دارد که آن نیز بایستی مد نظر قرار گیرد. برای آن که .NET و Mono کار کنند، هزاران API ارائه شده از سوی واسطه‌ها باید برای ویندوز و لینوکس استاندارد گردند. به عنوان یک مثال، همگی ما کاملا با استاندارد HTML آشنا هستیم، و ما مفاهیم این استاندارد را هر روز در هنگام استفاده از تکنولوژی‌های مرورگر مختلف می‌بینیم. مرورگرهای مختلف همگی ملزم به پذیرفتن استاندارد HTML هستند، اما شما می‌توانید مشاهده کنید که مرورگرها صفحات را به یک صورت رندر نمی‌کنند، حتی با این وجود که همه آنها استانداردها را پذیرفته‌اند. تست و گسترش در دنیای واقعی همواره مستلزم محیط‌های استاندارد خواهد بود.

در مورد Java وضعیت به چه شکل است؟

از لحاظ سادگی توسعه، توسعه Java چندان تفاوتی با .NET/Mono نمی‌کند چرا که شما ناچارید زبان جدیدی را بیاموزید و با Java Virtual Machine های متعدد و ناسازگاری‌های ذاتی آنها روبرو شوید. همه این موارد یک لایه از پیچیدگی را به تلاش در جهت مهاجرت می‌افزاید؛ مهاجرت‌های موفق پیچیدگی فرایند را به حداقل می‌رساند.

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

 

توسعه آسان، گسترش آسان

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

به هر حال، بر خلاف Java، REALbasic برنامه‌های محلی می‌سازد که ظاهر، حس و رفتار برنامه‌هایی را دارند که انحصارا برای یک پلاتفرم نوشته شده‌اند، چه ویندوز (98/NT/Me/2000/XP)، چه لینوکس، و چه Mac OS X.

به علاوه، REALbasic مشکلات گسترش را با ایجاد اجرا شدنی‌های خودشمول حل می‌نماید. هیچ کتابخانه یا چارچوبی برای نصب بر روی پلاتفرم‌های مقصد وجود ندارد. این امر نه تنها گسترش و پشتیبانی برنامه‌ها را ساده می‌کند بلکه دارای مزیت افزوده حذف نیاز به DLL ها (اگر چه آن کاربر را از به کار بردن کنترل‌های COM در صورت نیاز برای یک پروژه محروم نمی‌نماید) برای آنهایی که به پشتیبانی ویندوز ادامه می‌دهند است.

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

نگاهی به SUSE Professional 9.3

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

من در LAN خود به یک پلاتفرم واحد روی آوردم چرا که در تلاش برای به اشتراک گذاردن یک چاپگر موجود بر روی سیستم دسک‌تاپ خود با سایر سیستم‌های موجود در LAN ناکام ماندم. من با رضایت کامل Debian Woody را بر روی دسک‌تاپ خود و Ubuntu را بر روی ایستگاه‌کاری اجرا می‌کردم تا این که استفاده‌ام از ایستگاه‌کاری افزایش یافت و حجم کارهای چاپی که از روی آن انجام می‌دادم به همان میزان چاپ از روی دسک‌تاپ رسید. پس از ساعت‌ها ناکامی و ناراحتی، من به این نتیجه رسیدم که احتمالا یک پلاتفرم مشترک راه‌حلی برای برطرف ساختن این مشکل است. یک ماه قبل از آن که SUSE 9.3 عرضه گردد، من SUSE 9.2 را بر روی هر دو سیستم نصب نمودم، و در مدت زمانی کوتاه‌تر از آن چه که صرف CUPS کرده بودم و موفقیتی هم در بر نداشت، "آن به درستی کار کرد".

 

نصب‌ها

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

من به جای انجام یک نصب کامل اقدام به ارتقای دسک‌تاپ GNOME نمودم. این کار تقریبا یک ساعت زمان برد. تنها مشکل من از دست دادن برنامه‌ای بود که من آن را از RPMهای تهیه شده از توسعه‌دهندگان (به جای تهیه از SUSE) نصب کرده بودم. فرایند ارتقا هشدار داد که در صورتی که Xlog را حذف نکنم احتمالا سیستم من ثبات خود را از دست خواهد داد، که دلیل این امر ظاهرا برخی انواع تصادم در حوزه libexpat است. بنابراین من به جای این که گرفتار ریسک نفرین ابدی در هیبت یک سیستم بی‌ثبات شوم، تصمیم به حذف آن گرفتم. هنگامی که من Xlog را بعدا دوباره نصب کردم، این کار بدون گرفتار شدن در خشم YaST انجام گردید.

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

از آنجایی که آن کار خود را به درستی انجام می‌داد، من توانستم به روز رسانی آنلاین را زودتر از معمول به پایان برسانم. آنجا 28 به روز رسانی در دسترس قرار داشت – که بسیاری از آنها برنامه‌های اصلاحی (patch) بودند، زیرا SUSE 9.3 فقط حدود یک هفته بود که عرضه شده بود. بیست تا از آنها برنامه‌های اصلاحی امنیتی بودند.

یکی از برنامه‌های اصلاحی که من برای استفاده برگزیدم، برنامه  اصلاحی Nvidia برای افزودن قابلیت تصویر سه بعدی بود. من مطمئن بودم که یک سری کار دستی باقی می‌ماند که انجام دهم، اما این گونه نشد. یک بار دیگر ""آن به درستی کار کرد"، همان گونه که هنگامی که من برای نخستین بار سیستم ارتقا یافته را بوت نمودم کارهای دیگر (به استثنای Xlog) را به انجام رساند.

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

پس از نصب

SUSE همواره تعداد بسیار زیادی از برنامه‌های کاربردی را به همراه توزیع خود فراهم می‌سازد، و از این نظر این عرضه هم مستثنی نیست. شما می‌توانید از میان 5 CD یا 2 DVD موارد دلخواه خود را انتخاب کنید. شما امکان انتخاب KDE یا GNOME و مجموعه‌ی عظیمی از برنامه‌های کاربردی عالی را در کنار آنها دارید.

خارج از این مجموعه، SUSE Pro 9.3 دارای نسخه 2.6.11.4-20a از کرنل لینوکس و یک پیش‌عرضه OpenOffice.org 2.0 است. به روز رسانی‌های آن‌لاین برای کرنل نسخه 2.6.11.4-21.7 در حال حاضر در دسترس قرار دارند. بر اساس توضیحات عرضه، به محض این که نسخه نهایی 2.0 از OpenOffice.org در دسترس قرار گیرد، شما قادر خواهید بود آن را از طریق به روز رسانی آن‌لاین نیز دریافت نمایید. نسخه SUSE از OpenOffice.org شامل پخش صوت و تصویر نیست، چرا که آنها متکی بر قالب رسانه‌ای جاوا (Java Media Framework) هستند، که بخشی از توزیع SUSE محسوب نمی‌گردد.

 

SUSE Pro به عنوان راهکار SOHO

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

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

 NFS و مشکلات مدیر سیستم

درست همان گونه که عملیات چاپ به خوبی کار کرد، مدیریت سیستم نیز این گونه بود. با استفاده از پانل‌های پیکربندی YaST (Yet another Setup Tool) قدرتمند SUSE، من به سادگی قادر به برپایی یک سرور NFS بر روی ایستگاه‌کاری و یک کلاینت NFS بر روی دسک‌تاپ بودم.

یک نکته که ممکن است برای کاربران غیر متخصص کاربرد داشته باشد: فراموش نکنید که شما نیاز به ایجاد یک نقطه اتصال (mount point) بر روی کلاینت دارید. برای مثال، به منظور دسترسی به دایرکتوری /backup موجود بر روی ایستگاه‌کاری از سیستم دسک‌تاپ، من یک دایرکتوری به نام /media/backup بر روی دسک‌تاپ ایجاد نمودم، سپس در هنگام پیکربندی کلاینت NFS خود با YaST آن را به عنوان نقطه اتصال معرفی کردم.

NFS به من امکان ایجاد پشتیبان‌های خارج از سیستم از پژوهش‌ها و نوشته‌های حیاتی‌ام را می‌دهد. آن همچنین این امکان را برای من فراهم می‌آورد که از فعالیت HAM موجود بر روی ایستگاه‌کاری با ابزارهایی برای چاپ و گزارش‌گیری بر روی دسک‌تاپ به log‌ها و داده‌ها دسترسی یابم. برای مثال، من می‌توانم از Glabels برای چاپ کارت‌های QSO بر پایه‌ی فایل‌های Xlog بر روی ایستگاه‌کاری استفاده کنم. در نهایت، NFS در شبکه به من امکان دسترسی به داده‌ها بر روی یک درایو DVD را می‌دهد.

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

نتیجه‌گیری

SUSE 9.3 یک پلاتفرم دسک‌تاپ عالی است. آن به سادگی قابل استفاده است، به خوبی پشتیبانی می‌گردد، و دارای اجزای جدید، از قبیل Beagle، است. سوال اصلی که من برای خود مطرح کردم این بود: یک کاربر معمولی می‌تواند سیستم‌ها و شبکه SOHO  را با استفاده از SUSE Linux Professional 9.3 اداره نماید؟

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

 محیط تست

من SUSE Professional 9.3 را بر روی سه کلاینت شبکه‌بندی شده نصب کردم: سیستم دسک‌تاپی که من با استفاده از آن اغلب کارهای پژوهشی و نویسندگی خود را انجام می‌دهم، یک ایستگاه‌کاری که من آن را برای آزمایش و فعالیت رادیویی HAM به کار می‌برم، و یک لپ‌تاپ که گاهی اوقات از طریق یک کابل Category 5 و در برخی موارد بیسیم به شبکه متصل می‌گردد.

سیستم دسک‌تاپ توسط یک پردازنده AMD XP2000+ Athlon با حافظه DDR یک گیگابایتی راهبری می‌شود. آن دارای سه هارد دیسک است، که یکی از آنها به پارتیشن /home اختصاص دارد. آن همچنین دارای یک درایو HP CD-Writer Plus 9100b CD-ROM و یک پرینتر/اسکنر Epson Stylus CX5400 می‌باشد. چیپ اترنت موجود بر روی مادربورد Abit از نوع VIA VT6102 Rhine II است. یک کارت Nvidia GeForce4 MMX 440 و یک صفحه نمایش ViewSonic VP171B کار فراهم آوردن تصاویر را انجام می‌دهند.

ایستگاه‌کاری من نیز دارای یک مادربورد Abit است. پردازنده و اترنت on-board مشابه همان موارد موجود بر روی دسک‌تاپ هستند، اما آن فقط 512 مگابایت حافظه در اختیار دارد. کارت ویدیویی آن یک 3Dfx Voodoo 3 است و صفحه نمایش آن یک ILO L15LCBT می‌باشد. آن دارای یک هارد دیسک بزرگ واحد است که به سه پارتیشن تقسیم گردیده است: /root، /home، و /backup. پارتیشن backup برای پشتیبان‌گیری داده‌های موجود بر روی دسک‌تاپ و لپ‌تاپ مورد استفاده قرار می‌گیرد. آن همچنین دارای یک درایو Sony DW-D22A RW DVD است.

لپ‌تاپ یک نوت‌بوک HP NX5000 است، که مجهز به یک پردازنده 1.6GHz Pentium M و رم SD 256 مگابایتی، یک هارد دیسک 40 گیگابایتی، و یک درایو DVD/CD است. این سیستم دارای یک صفحه نمایش TFT XGA 15 اینچی است که توسط یک کارت گرافیک Intel 855 GM(i810) تغذیه می‌شود. آن همچنین شامل یک مودم on-board، یک NIC بیسیم Compaq AR5212 802.11abg، و یک NIC از نوع HP BCM4401-BO است.

اگر فکر می‌کنید که نصب یک توزیع تجاری لینوکس مانند SUSE از یک بسته‌ی واحد بر روی تمامی سیستم‌های خانگی من غیر قانونی است، باید بگویم که شما در اشتباهید. Novell در EULA (http://www.novell.com/products/linuxprofessional/eula.html) به وضوح توضیح می‌دهد که انجام این کار مانعی ندارد.

کنکور

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

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

یه درسخون بی قایق تو کتاب

داره دور خودش میگرده

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

حالا دیگه نمیدونه چیکار بکنه

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

با قایق جلو تر میره

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

حالا دیگه نزدیک شد

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

ادمهای مورد رحمت واقع شده

دنبال اسمه خودشه

هیچکس

ولی انگار...............

چشم انداز

D چیست؟

D یک زبان برنامه‌سازی سیستمی و کاربردی همه منظوره است . D یک زبان سطح بالاتر از ++C است اما توانایی نوشتن کدهای قدرتمند و تعامل مستقیم با APIهای سیستم عامل و سخت‌ افزار را حفظ می‌کند.D به خوبی برای نوشتن برنامه‌های متداول و برنامه‌های بزرگ چند میلیون خطی با تیمهای برنامه نویسی مناسب است . D به آسانی قابل آموختن است ، توانائیهای زیادی را برای کمک به برنامه ‌نویس فراهم می‌کندوبه خوبی برای فناوری پرتکاپوی بهینه‌سازی کامپایلر مناسب است.

D یک زبان اسکریپتی(متنی) یا دارای مفسر(interpreter) نیست. همچنین دارای ماشین مجازی ، مذهب خاص یا فلسفه برتری‌جویی نمی باشد. بلکه یک زبان عملی است برای برنامه‌ نویسان حرفه‌ای که به انجام سریع و قابل اعتماد پروژه و کد قابل فهم آسان نیاز دارند و مسئول عملکرد صحیح برنامه هستند.

D اوج چند دهه تجربه به کارگیری کامپایلرهایی از زبانهای گوناگون و تلاش برای بنانهادن پروژه های بزرگ توسط آن زبان‌ها است.

D از زبانهای دیگر مخصوصاً ++C الهام می‌گیرد و آن را با تجربه و کاربرد به معنای واقعی درهم می‌آمیزد.

چرا D ؟

واقعاً چرا؟ چه کسی نیاز به زبان برنامه ‌نویسی جدید دارد؟

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

تلاشهای زیادی برای برطرف ساختن آن ضعفها تاکنون صورت گرفته است اما در پی پا فشاری بر حفظ سازگاری با گذشته خنثی شده است. در ضمن هر دوی C و ++C دستخوش یک رشد پیوسته خصوصیات جدید شده ‌اند.

این خصوصیات جدید باید به دقت و بدون نیاز به بازنویسی کد قدیمی به ساختار موجود خورانده شود. نتیجه نهایی بسیار پیچیده است ؛ C استاندارد تقریباً 500 صفحه است و ++C استاندارد حدود 750 صفحه ! در زمینه کامپایلر های ++C واقعیت این است که تعداد اندکی از کامپایلر های موجود ،استاندارد این زبان را به صورت مؤثر و کامل پیاده سازی می کنند.

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

توانایی بزرگ ++C این است که می‌تواند تعداد زیادی سبک های اصلی برنامه‌نویسی را پشتیبانی کند. اما در کاربرد طولانی مدت ، سبکهای دارای اشتراک یا تناقض یک مانع و در نتیجه وقت گیرند.

ناامید کننده است که زبانی چنین قدرتمند ، اعمال پایه‌ا ای مانند تغییر اندازه آرایه‌ها و الحاق رشته‌ها را انجام نمی‌دهد. البته ++C توانایی برنامه نویسی قدرتمند برای پیاده سازی آرایه های قابل تغییر اندازه و رشته ها را فراهم می‌کنند (مانند نوع بردار در STL ) . اما به هرحال چنین خصوصیات بنیادی ، بایستی جزء قسمتهای زبان باشد. آیا قدرت و قابلیتهای ++C ، قابل گسترش ، طراحی مجدد و پیاده‌سازی به یک زبان ساده وارتگنال (منحصر به فرد و مستقل) و کاربردی می‌ باشد؟ آیا تمامی آنها می‌ تواند داخل بسته‌ ای قرار گیرد که برای کامپایلرنویسان به آسانی قابل پیاده‌سازی صحیح باشد و کامپایلرها را قادر کند که به نحوی کارا ، کدهای بهینه شده و پرتکاپو ایجاد کند؟

فناوری پیشرفته کامپایلر به نقطه‌ای رسیده است که خصوصیاتی از زبان که به منظور جبران کردن ناتوانی فناوری ابتدایی کامپایلر وجود دارند ، می‌توانند حذف شوند. (مثالی ازاین نمونه می‌تواند واژه کلیدی 'register' در C باشد ، مثالی ظریفتر ماکروی پیش‌پردازنده در C است) . ما می‌توانیم به فناوری پیشرفته‌ی بهینه سازی کامپایلر اعتماد کنیم تا دیگر به خصوصیاتی از زبان که برای دست یافتن به کیفیت کد قابل‌قبول (جدای از کامپایلرهای ابتدائی) لازم است نیاز نداشته باشیم.

D درنظر دارد که هزینه‌های گسترش نرم‌افزار را حداقل %10 کاهش دهد توسط افزودن خصوصیات بهینه‌سازی بالابرنده میزان سودمندی و تولید ، همچنین با تعدیل کردن خصوصیات زبان ، به طوری که اشکالات وقت‌گیر متداول از ابتدا حذف می‌شوند.

منظره کلی D شبیه C و ++C است . این موضوع آموختن D و انتقال کد به آن را آسانتر می‌کند. گذر از C/++C به سوی D باید طبیعی حس شود و برنامه نویس مجبور نخواهد بود که یک راه کاملاً جدید انجام کارها را فراگیرد. استفاده از D به این معنا نیست که برنامه نویس به یک ماشین مجازی خاص زمان اجرا محدود شود مانند ماشین مجازی جاوا یا Smalltalk . هیچ ماشین مجازی D وجود ندارد .D یک کامپایلر سرراست است که Objectfile های قابل پیوند (Link) تولید می‌کند. D دقیقاً مانند C به سیستم عامل متصل می‌شود . ابزارهای آشنای متداول مانند make مستقیماً در برنامه‌نویسی D گنجانده شده است

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