مفاهیم کلاسترها و OpenMosix

پیش‌درآمد
مبحث کلاسترها در لینوکس یکی از جذاب‌ترین و جالب‌ترین مباحث برای افراد علاقه‌مند به پردازش‌های موازی است. بدلیل علاقه بسیار زیاد خودم به این مبحث تصمیم به تهیه مقاله‌ای در این مورد گرفتم و بهتر دیدم یکی از بهترین مقالات موجود را ترجمه کرده و تجربه‌های خودم را نیز به آن اضافه کنم. مقاله حاضر برگرفته از نوشته‌های دانیل رابینز (Daniel Robbins) می‌باشد. این نوشته‌ها را می‌توانید از این نشانی دریافت نمایید. دانیل رابینز طراح و خالق لینوکس Gentoo می‌باشد. همانطور که اشاره کردم، این یک ترجمه تنها نیست. من خود تمام آنرا عملا انجام داده و بخش‌های عملی راهنمای فوق را کاملا تغییر داده و روش آسان‌تری را برای اجرای کلاستر پیشنهاد کرده‌ام. در بخش نخست این مقاله که اکنون در حال خواندن آن هستید، با مفاهیم کلاسترهای لینوکس تا حدودی آشنا خواهید شد. در بخش بعدی به طور عملی اقدام به برپاسازی یک کلاستر لینوکس خواهیم کرد.

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

PVM و MPI به درد همه نمی‌خورد!
با اینکه کلاسترهای Beowulf بسیار قدرتمند هستند، ولی به درد همه کس نمی‌خورند! بزرگترین اشکال آنها نیاز به نرم‌افزارهای خاص می‌باشد که با استفاده از PVM و MPI نوشته شده باشند تا بتوانند از مزایای کلاستر استفاده کنند. البته این برای مراکز علمی و تحقیقاتی که برنامه‌های کاربردی خاص خود را از ابتدا می‌نویسند، اشکال مهمی نیست. آنها به راحتی قادرند تا از MPI و PVM استفاده کنند.
حقیقتا درصد افراد و موسساتی که برنامه‌های کاربردی خود را از ابتدا می‌نویسند بسیار پایین است. برای کسانی که مایل هستند تا یک کلاستر بنا کرده و از مزایای آن در اجرای برنامه‌های کاربردی عادی استفاده کنند، این یک مسئله بزرگ است! برنامه‌های کاربردی این دسته از موسسات بدون استفاده از کتابخانه‌های کلاستر سازی نوشته شده‌اند، بنابراین این گونه موسسات قادر نیستند تا از مزایای کلاسترها بهره‌گیری نمایند.
آیا جالب نیست که یک فناوری وجود داشته باشد تا بتوانید با استفاده از آن از مزایای کلاسترهای لینوکس استفاده کنید، بدون آنکه نیاز داشته باشید تا برنامه‌های کاربردی خود را از ابتدا نوشته و یا حتی آنها را مجددا کامپایل نمایید؟ خوشبختانه چنین فناوری وجود دارد و نام آن OpenMosix است!

ورود به OpenMosix
OpenMosix
قابلیت‌های کلاستر سازی را به هسته لینوکس اضافه می‌کند، بنابراین هر پروسه استاندارد لینوکس قادر خواهد بود تا از مزایای منابع کلاستر استفاده نماید. با استفاده از تکنیک‌های موازنه بار تطبیقی (Adaptive Load Balancing) پردازش‌های در حال اجرا بر روی یک گره (node) از کلاستر، قادرند تا بطور نامحسوس به یک گره دیگر از کلاستر مهاجرت کرده و بتوانند سریعتر اجرا شوند. بدلیل اینکه OpenMosix بطور کاملا نامحسوس (Transparent) عمل می‌کند، پردازش‌هایی که از یک گره به گره دیگر مهاجرت می‌کنند، حتی نمی‌دانند (لازم هم نیست بدانند) که در یک ماشین دیگر در حال اجرا هستند!
نامحسوس بودن OpenMosix به این معنی است که برای استفاده از مزایای موازنه بار تطبیقی آن، نیازی به برنامه نویسی خاصی نیست. در حقیقت، یک نصب پیش‌گزیده OpenMosix به طور خودکار پردازش‌ها را به بهترین گره منتقل خواهد کرد. این قابلیت OpenMosix را تبدیل به یک راه‌حل کلاستر سازی می‌کند که می‌تواند برای بخش عظیمی از برنامه‌ها مفید باشد.

OpenMosix دقیقا چکار می‌کند؟
بزرگترین کاری که OpenMosix انجام می‌دهد، تبدیل دسته‌ای از ماشین‌های لینوکس به یک سیستم بزرگ مجازی چند پردازنده‌ای متقارن (SMP=Symmetric MultiProcessor) است. هرچند نحوه عملکرد آن با سیستم‌های SMP واقعی مقداری تفاوت دارد. نخست اینکه سیستم‌های واقعی SMP که مبتنی بر ۲ یا چند پردازنده هستند، می‌توانند اطلاعات را با سرعت بسیار بالا تبادل نمایند، در صورتی که در OpenMosix سرعت ارتباط بین گره‌های کلاستر، محدود به سرعت شبکه محلی است که گره‌ها در آن قرار دارند. استفاده از ارتباطات اترنت گیگابیت و یا سایر انواع پر سرعت اترنت باعث خواهد شد تا تبادل داده‌ها با سرعت بالاتری صورت گرفته و کارایی کلاستر بالاتر باشد.
البته OpenMosix دارای مزایایی نسبت به سیستم‌های چند پردازنده‌ای سنتی داراست. با استفاده از OpenMosix شما قادر به ایجاد کلاسترهایی حاوی دها و حتی صدها کامپیوتر با سخت‌افزار ارزان هستید در حالی که سیستم‌های SMP که حاوی تعداد زیادی پردازنده باشند، می‌توانند بسیار گرانقیمت باشند. برای بسیاری از برنامه‌های کاربردی، OpenMosix نسبت به سیستم‌های SMP یا Mainframe، حرف بیشتری برای گفتن دارد. البته دلیلی وجود ندارد که شما نتوانید OpenMosix را بر روی سیستم‌های قدرتمند چند پردازنده‌ای اجرا نمایید. حتی این امکان وجود دارد تا OpenMosix را به همراه برنامه‌های کاربردی که با MPI یا PVM توسعه یافته‌اند، اجرا نمایید تا سرعت کلاستر خود را بهینه نمایید.
همانند سیستم‌های SMP سنتی، OpenMosix قادر نیست تا یک پروسه را روی چند پردازنده فیزیکی اجرا نماید. واضح‌تر اینکه نباید انتظار داشته باشید تا اجرای برنامه‌ای مانند مرورگر موزیلا روی یک کلاستر سریعتر از یک سیستم تک پردازنده‌ای باشد، مگر اینکه اجرا پروسه آنرا به یک گره سریعتر روی کلاستر منتقل نمایید. بعلاوه در حال حاضر OpenMosix امکان جداسازی رشته‌های متعدد به هم پیوسته را از یکدیگر فراهم نمی‌کند.
OpenMosix
قادر است تا پروسه‌های استاندارد لینوکس را بین گره‌های کلاستر بدون مشکل مهاجرت دهد. در صورتی که یک برنامه کاربردی تعداد زیادی زیر پروسه داشته باشد، آنگاه OpenMosix قادر است تا هر یک از آنها را به یک گره مناسب در کلاستر منتقل کند. شما می‌توانید از این قابلیت حتی در برنامه‌های کاربردی که دارای زیر پروسه نیستند نیز استفاده کنید. برای مثال، در صورتی که نیاز دارید تا تعدادی فایل موسیقی را از فرمت wav به mp3 تبدیل نمایید، تبدیل هر فایل یک پروسه خواهد بود. شما می‌توانید تمام این پروسه‌ها را یکجا اجرا نمایید. در آنصورت عمل پردازش بین کلاستر پخش خواهد شد (بجای اینکه عملیات تبدیل فایل‌ها را یک به یک انجام دهید). در صورتی که شما ۱۲ فایل موسیقی و ۱۲ گره همسان داشته باشید، عملیات تبدیل ۱۲ بار سریعتر انجام خواهد شد.

Mosix در برابر OpenMosix
پروژه OpenMosix جدیدترین شعبه پروژه Mosix می‌باشد که یکی از اهداف آن فراهم کردن کلاستر سازی نامحسوس روی لینوکس است. پس چرا ما از OpenMosix استفاده کنیم؟ دلایل خوبی برای این امر وجود دارد. در اواخر سال ۲۰۰۱ رهبری پروژه Mosix تصمیم به انتشار نسخه‌های جدیدی از Mosix تحت مجوزهای غیر GPL گرفت (کدهایی که قبلا GPL بودند). بنابراین نسخه‌های جدید Mosix دیگر نرم‌افزار آزاد نبودند و حقوق کاربران نیز در آنها نامشخص بود و هیچ مانعی برای نویسنده Mosix وجود نداشت تا از کاربران درخواست پرداخت وجه نماید.
این تغییر مجوز باعث ایجاد نگرانی‌هایی در میان کاربران Mosix شد و برداشته شدن کدهای منبع و حذف لیست‌های پستی Mosix بدون توضیح موجه، این نگرانی را تشدید نمود. خوشبختانه این کاربران تنها کسانی نبودند که در باره این تغییرات جدید نگران بودند. موشه بار (Moshe Bar) یکی از مدیران پروژه Mosix با این تغییر مجوز از GPL موافق نبود. بنابراین وی پروژه OpenMosix را شروع کرد تا این اطمبنان حاصل شود که ارائه نسخه آزاد و رایگان Mosix به عموم مردم ادامه پیدا خواهد کرد. سایت رسمی پروژه OpenMosix در آدرس http://openmosix.sf.net یا http://openmosix.org قرار دارد.
پس از آغاز این پروژه، تعداد زیادی از کاربران Mosix به OpenMosix روی آوردند. سیاست توسعه باز موشه باعث شد تا توسعه OpenMosix سرعت بیشتری بگیرد. در حال حاصر ۱۴ نفر بطور فعال روی پروژه OpenMosix کار می‌کنند در حالی که تعداد افراد پروژه Mosix تنها ۴ نفر است. در حال حاضر تعداد زیادی رفع اشکال، بهینه سازی سرعت و بهینه سازی در کدهای OpenMosix صورت گرفته است و تعدادی قابلیت جدید و بهینه سازی مجدد در سرعت نیز بزودی ارائه خواهند شد. در حقیت جدا شدن پروژه OpenMosix از Mosix باعث ارائه راه‌حل‌های بهتری برای کلاستر سازی تحت سیستم‌عامل لینوکس فراهم نموده است

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

ویروسها در لینوکس

مقدمه /><o:p></o:p>

لینوکس به اندازه Dos، ویندوز یا Mac مستعد پذیرش ویروسها نیست. در یونیکس، کنترلهای امنیتی، جزء بخشهای پایه سیستم‌عامل می‌باشند. به عنوان مثال، کاربران نمی‌توانند در هر مکانی از حافظه که می‌خواهند برنامه‌های خود را بنویسند، امکانی که Dos، ویندوز و Mac به آنها می‌دهد.<o:p></o:p>

حال اگر منصفانه قضاوت کنیم، یونیکس نیز ویروسهایی دارد. تنها موردی که نویسنده این مقاله مشاهده نموده، ویروسی به نام “bliss” است. گزینه‌ای به نام ( “—uninstall-please” ) دارد که باید با کاربر ریشه این دستور را اجرا نمود. کرمها در دنیای یونیکس شایع‌ترند. اصلی‌ترین نمونه آنها کرم اینترنتی Morris است که از یک حفره‌ی امنیتی در Sendmail بهره‌برداری می‌کند. کرمهای لینوکسی رایج از نگارشهای شکسته شده imapd، Sendmail، WU-FTPD و دیگر daemon-ها بهره‌برداری می‌کنند.ساده‌ترین راه برطرف کردن این مشکل، به روز نگه داشتن daemon-ها و در دسترس قرار ندادن آنها، مگر در شرایط استثنایی، است. به هر حال باز هم تأکید می‌کنیم که نیازی به خرید آنتی ویروس برای لینوکس نیست.<o:p></o:p>

از بین بردن ویروسها/کرمها/تروجانها<o:p></o:p>

از کلیه‌ی داده‌های خود یک نسخه پشتیبان بگیرید؛ سیستم را فرمت کرده و مجددا نصب نمایید. اگر مهاجمی رمز عبور ریشه را داشته باشد، روی این سیستم لینوکسی هر عملی می‌تواند انجام دهد. نرم‌افزارهای غیر قابل اطمینان را در ریشه اجرا نکنید. کمی احتیاط، کرمها، ویروسها، و تروجانهای زیادی را تحت لینوکس بلوکه می‌کند. <o:p></o:p>

یکی از راحتترین روشهای مواجهه با ویروسها استفاده از ابزارهای یکپارچه‌سازی سیستم می‌باشد. با ابزارهایی مثل tripwire، L5 و Gog&Magog به راحتی می‌توانید فایلهایی را که ذخیره/ جایگزین و یا به‌روز شده‌اند، پیدا کنید. همچنین ویروس‌کشهای زیادی برای لینوکس موجود می‌باشند. به هر حال، اصرار بر این است که واقعاً ویروس لینوکسی وجود ندارد.<o:p></o:p>

ویروس‌کش‌های لینوکس<o:p></o:p>

همانطور که در بالا به آن اشاره شد، در لینوکس ویروس خطرناکی وجود ندارد، اما ویروس‌کش‌هایی که وجود دارند، می‌توانند در این زمینه مفید باشند. <o:p></o:p>

· آنتی ویروسSophos<o:p></o:p>

آنتی ویروس Sophos یک ویروس کش تجاری است که تحت ویندوز و پلات‌فرمهای زیادی اجرا می‌شود. این برنامه برای استفاده‌های شخصی رایگان است و برای کاربردهای تجاری نیز بسیار ارزان قیمت می‌باشد. می‌توانید فایل آنرا از http://www.sophos.com بگیرید. <o:p></o:p>

· AntiVir<o:p></o:p>

این برنامه نیز یک نرم‌افزار تجاری است که تحت پلات‌فرمهای ویندوزی و لینوکسی اجرا می‌شود. AntiVir را از اینجا دریافت کنید.<o:p></o:p>

· InterScan VirusWall<o:p></o:p>

Trend Micro این محصول خود را به لینوکس اختصاص داده است و آنرا به صورت رایگان در اینجا در اختیار کاربران قرار می‌دهد.<o:p></o:p>

· آنتی ویروس F-Secure

این نرم‌افزار را از http://www.europe.datafellows.com/products دریافت نمایید.<o:p></o:p>

· AVP<o:p></o:p>

نگارش بتای این نرم‌افزار در اینجا در دسترس قرار دارد.<o:p></o:p>

<o:p> </o:p>

<o:p>
</o:p>

آشنایی با Qemu

   نسخه چاپی
مقدمه

QEMU یک شبیه ساز سیستمی است. ایـــن بدان معناست که QEMU می‌تواند یک سیستم کامل به همراه تمامی پردازشها و درایوها و کاربرها و ... را شبیه ســـازی کند. اجازه دهید از اول بحث چندان وارد جزئیات نشویم و مثل یک کاتالوگ که پر از عکسهای رنگین و مصور است، چند عکس زیبا را به شما نشان دهیم.




اجرای Windows 2003 Server درون Fedora Core 5






نصب Microsoft Office XP درون Windows XP در حال اجرا بر روی Fedora Core 5


پخش فیلم "Anger Management” با بازی جک نیکلسون توسط PowerDVD درون WinXP نصب شده بر روی FC5



فکــر مــی‌کنم توانسته باشیـد در کمترین زمان ممکن بیشترین مطلـب را دریافت کنید! بله، با QEMU می‌توانید عملا یک و یا چند دستگاه مجازی و طبعا سیستم‌عامل مجازی بـــــــــرای هر کدام را درون سیستم‌عامل فعلی خود تعریف کنید. سیــــستم عاملهای مجازی نصب شده می‌توانند از منابع سیستم شما همـــچون CD/DVD-ROM ، کارت گرافیک، کارت صوت، USB و غیره استفاده کــــرده و همـــچنین این سیستمها براحتی قابلیت اتصال به شبکه (مجازی و یا واقعی) را دارند.

QEMU یک نرم‌افزار آزاد است که توسط فابریک بلارد نوشته شده است. کـــار این نرم‌افزار دقیقا مثل نمونه‌های دیگری چون VMWare، Bochs و VirtualPC است، با این تفاوت که این برنامه از مــــعماری x86 بیشتر حمایت کرده و در کل با توجه به ساختار بازمتن خود در حال گستــــــرش بسیار سریع بر روی معماریهای دیگر نیز می‌باشد.

از QEMU به دو صورت می‌توان استفاده کرد:

  • User mode emulation که عملا یـــک CPU دیگر را شبیه سازی کرده و می‌توان برنامه‌های مختلف را که برای سیستم‌عاملهای دیگر نوشته شده‌اند را تــحت سیستم‌عامل مورد نظر اجرا کرد. از این حالت عملا در Wine و Dosemu استفاده می‌شود.

  • System mode emulation کـــه هـــــمانا شبیه‌سازی یک سیستم مجازی کامل می‌باشد. در این مقاله کوتاه نیز قصد داریم فقط در این مورد صحبت کنیم.

جناب بلارد یک کرنل ماژول غیر بازمتن به نام KQEMU کـــه فعلا استفاده از آن رایگان می‌باشد نیز منتشر کرده‌اند که در صورتی که به هنگام استــــــفاده از QEMU، این ماژول در کــــرنل قرار گرفته باشد، عملا سرعت ماشین مجازی به ۱۰ برابر می‌رسد! اگر بخواهــم این مطلب را به گونه دیگری بــــــازگو کنم، باید بگویم که عملا از نصب سیستم عاملهای سنگینی چون WinXP و یا حتی FC5 به عنوان سیستم‌عامل مجازی بدون داشتن KQEMU کلا صرف نظر کنید. شاید نصب خود سیستم‌عامل به ۱۵ ساعت برسد و عملا اجرای آن کـــاری احمقانه است. گفتم که این ماژول فـــعلا بصورت closed source منتشر شده و فابریک بلارد خود می‌گوید که تنها بــه دنبال شرکتی است که حمایت از این پروژه را قبول کند تا او این ماژول را نــیز بصورت بازمتن منتشر نماید. امیدوارم بـــــــرادر بلارد بتواند این شرکت سوار بر اسب سفید رویاهایش را بزودی پیدا کند تا هم ما و هم او به نوایی برسیم.

منبعhttp://irantux.com

آشنایی با GnuCash

GnuCash مدیر مالی شخصی
در صورتی که به دنبال این هستید تا امور مالی شخصی خود را با استفاده از یک نرم‌افزار آزاد مدیریت نمایید، GnuCash مناسب‌ترین گزینه است! این نرم‌افزار یک نرم‌افزار سهل الاستفاده، قابل انعطاف و قدرتمند است. GnuCash (گنوکش) به شما امکان مدیریت حساب‌های بانکی، سهام، درآمد و هزینه را می‌دهد. این نرم‌افزار بر پایه مفاهیم حرفه‌ای مالی بنیان نهاده شده است. ممکن است پیش از این با نرم‌افزارهای حسابداری شخصی مانند Quicken یا MS-Money کار کرده باشید. GnuCash نیز برنامه‌ای مشابه با این برنامه‌ها است.
GnuCash
امروزه توسط اکثر توزیع‌های عمده لینوکس ارائه می‌شود. بنابراین لازم نیست به دنبال نصب آن روی سیستم خود باشید. در صورتی که در حال حاضر روی سیستم نصب نیست، می‌توانید تا ۹۰ درصد مطمئن باشید که از روی دیسک‌های نصب قادرید آنرا پیدا کنید. در صورتی که از ردهت استفاده می‌کنید، کافی است به بخش Add/Remove Software مراجعه کرده و آنرا نصب نمایید. در SuSE می‌توانید با استفاده از Yast این کار را انجام دهید و در توزیع‌های مبتنی بر دبیان نیز دستور apt-get install gnucash برای نصب آن کافی خواهد بود.
GnuCash
امروزه علاوه بر لینوکس، در سایر سیستم‌عامل‌ها مانند یونیکس، سولاریس، AIX، MAC OSX و... نیز قابل اجرا است. در صورتی که علاقه‌مند هستید تا آخرین نسخه‌های این نرم‌افزار قدرتمند را دریافت نمایید، به سایت آن در آدرس http://gnucash.org مراجعه کنید.

تاریخچه
GnuCash
از برنامه‌ای به نام X-Accountant منشا گرفته است که بعنوان یک پروژه مدرسه توسط رابین کلارک (Robin Clark) نوشته شده بود. سپس لیناس وپستاس (Linas Vepstas) رابط جدیدی برای آن طراحی کرد، کد آنرا مستندسازی کرد و ساختار آنرا بهبود بخشید و تحت مجوز GPL قرار داد. تا سال ۱۹۹۸ نسخه ۱ این نرم‌افزار ارائه شد. جرمی کالینز (Geremy Collins) نیز شروع کننده پروژه‌ای به نام GnoMoney بود که نام آنرا به GnuCash تغییر داد. جرمی سایت وب GnuCash را راه‌اندازی کرد و نگهداری و توسعه آنرا بر عهده گرفت. همچنین کدهای اولیه GTK نیز توسط وی نوشته شده‌اند. راب بروزینگ (Rob Browsing) نیز Perl را به GnuCash اضافه کرد و فرمت ذخیره داده‌های آنرا به XML تبدیل نمود. تعداد زیادی از افراد دیگر نیز در پروژه GnuCash همکاری می‌کنند که لیست کامل آنها را می‌توانید اینجا مشاهده کنید.

قابلیت‌های GnuCash
نسخه‌های جدید نرم‌افزار GnuCash دارای قابلیت‌های فراوانی هستند که در زیر به آنها اشاره می‌شود:
-
دریافت/پرداخت زمان‌بندی شده: امکان تعریف دریافت/پرداخت‌های زمان‌بندی شده که هنگام فرارسیدن توسط یادآور به کاربر هشدار داده خواهد شد.
-
راهنمای وام: یک دیالوگ راهنما که به شما امکان تعریف وام‌ها را به صورت پرداخت‌های زمان‌بندی شده می‌دهد.
-
امکانات اداره حسابداری تجاری: برخی امکانات که در آن قادر خواهید بود یک حسابداری تجاری مبتنی بر فرد/موسسه با پرداخت صورتحساب، مالیات و شرایط پرداخت را اداره کنید.
-
پشتیبانی از OFX: نرم‌افزار GnuCash نخستین نرم‌افزار آزادی است که از پروتکل Open Financial Exchange پشتیبانی می‌کند. بسیاری از بانک‌ها و سرویس‌های مالی در حال آغاز به استفاده از این پروتکل هستند.
-
پشتیبانی از HBCI: نرم‌افزار GnuCash نخستین نرم‌افزار آزادی است که از پروتکل آلمانی Home Banking Computer Information پشتیبانی می‌کند. به این ترتیب کاربران آلمانی قادر هستند تا به کمک آن امور بانکی خود را بصورت Online انجام دهند.
-
ورود اطلاعات از QIF: امکان وارد کردن اطلاعات از برنامه مالی Quicken به GnuCash امکان پذیر می‌باشد.
-
تشخیص واژه‌های تایپ شده: با تایپ قسمتی از متن، در صورتی که قبلا تایپ شده باشد، ادامه متن توسط برنامه کامل خواهد شد.
-
امکان اداره سهام و Portfolios: برنامه GnuCash امکان اداره اطلاعات مربوط به یک حساب سهام یا مجموعه‌ای از آنها (Portfolios) را فراهم می‌سازد.
-
زبان‌های قابل پشتیبانی: تعداد زیادی از زبان‌های مختلف در GnuCash پیاده سازی شده‌اند. البته هنوز امکان استفاده از زبان فارسی در آن وجود ندارد. البته به محض استفاده از GTK 2.0 به طور خودکار می‌توان از زبان فارسی در آن استفاده کرد.
-
گزارش گیری: امکانات گزارش گیری مفصلی در مورد موجودی‌ها، سود و زیان، هزینه‌ها، سهام و... بصورت متنی و نمودارهای گرافیکی با امکان ذخیره با فرمت‌های HTML، Postscript و... یا چاپ در چاپگر در GnuCash فراهم شده است.
-
جستجوی دریافت/پرداخت: با استفاده از این ابزار قادر خواهید بود بین دریافت‌ها یا پرداخت‌ها جستجو نمایید.
-
ورودی دوبل: هنگامی که فعال شود، هر دریافت/پرداخت باید یک حساب یا اعتبار را غیر از سایرین بستانکار نماید. (حسابدارها بهتر سر در می‌آورند!)
-
حساب‌های درآمد/هزینه: در GnuCash قادرید تا سطح نامحدودی از طبقه‌بندی‌های درآمد یا هزینه تعریف نمایید. البته تعداد زیادی طبقه‌بندی از قبل تعریف شده و آماده موجود می‌باشد.
-
امکان بروزرسانی Online قیمت سهام: با استفاده از GnuCash قادر خواهید بود تا از سایت‌های وب مختلف بصورت خودکار اطلاعات قیمت‌های سهام را دریافت و بروز نمایید.
-
چاپ چک: امکان چاپ چک‌های استاندارد و سفارشی در GnuCash وجود دارد.
-
چند ارزی: در GnuCash امکان تعریف حساب‌های گوناگون با ارز‌های گوناگون وجود دارد.
-
پشتیبانی از کاربران همزمان: با استفاده از سرویس‌دهنده بانک اطلاعاتی Postgres SQL امکان پیاده سازی GnuCash در محیط‌های چند کاربر وجود دارد.

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

اجرای GnuCash
بسته به نوع توزیعی که از آن استفاده می‌کنید، نحوه اجرا و محل قرارگیری GnuCash در منوهای محیط گرافیکی متفاوت خواهد بود. بطور کلی با اجرای برنامه Run در محیط‌های KDE یا Gnome و تابپ درستور gnucash برنامه اجرا خواهد شد.

تنظیم اولیه GnuCash
هنگامی که برای نخستین بار GnuCash را اجرا می‌کنید، یک Druid (یا به قولی ویزارد!) شما را مرحله به مرحله برای تنظیم برنامه راهنمایی می‌کند. این تنظیمات به ترتیب عبارتند از ارز مورد استفاده (ریال ایران قابل انتخاب است)، طبقه‌بندی‌های مورد نیاز که لیستی از انواع طبقه‌بندی‌های تعریف شده در برنامه نمایش داده شده و شما می‌توانید طبقه‌بندی‌های مورد نیاز خودتان را فعال نمایید. مانند انواع هزین‌ها، انواع درآمدها، بازنشستگی و ... می‌توانید با کلیک روی دگمه Select All، همه آنها را انتخاب نمایید. در مرحله سوم می‌توانید مانده ابتدایی طبقه‌بندی‌هایی را که تعیین کردید، وارد نمایید. البته این کار را بعدا هم می‌توانید انجام دهید. در مرحله پایانی با کلیک روی Finish تنظیم برنامه به پایان می‌رسد. تصویر زیر، مرحله دوم Druid تنظیم کننده را نمایش می‌دهد.


پس از کلیک روی Finish حسابها ایجاد شده و پنجره اصلی برنامه که به شکل زیر است، نمایش داده می‌شود.


اکنون برنامه برای ورود اطلاعات و سایر تنظیمات آماده می‌شود که به تدریج آنها را توضیح خواهم داد. همانطور که در تصویر مشاهده می‌کنید، لیست حسابها و طبقه‌بندی‌های موجود بصورت درختی نمایش داده می‌شود. در صورتی که قبلا با برنامه‌های مدیریت مالی شخصی مانند Quicken یا MS-Money کار کرده باشید، محیط برنامه برای شما غریب نخواهد بود. تفاوتی که در GnuCash با سایر برنامه‌های مدیریت مالی مشاهده می‌شود، اطلاق نام حساب یا Account به تمام طبقه‌بندی‌ها است که ممکن است در ابتدا سبب گیج شدن شما شود. یعنی حتی طبقه‌بندی‌هایی که شما در سیستم تعریف می‌کنید، بصورت یک حساب مدیریت و بکار برده می‌شوند. برای ایجاد حساب یا طبقه‌بندی جدید زیر هر یک از طبقه‌بندی‌ها، روی طبقه‌بندی مادر مربوطه کلیک راست کرده و گزینه New Account را انتخاب نمایید. در پنجره‌ای که باز می‌شود، قادر هستید تا اطلاعات حساب/طبقه‌بندی جدید مانند مانده، ارز، شرح و ... را وارد نمایید. پس از اینکه کلیه حساب‌ها و طبقه‌بندی‌های مورد نیاز خود را در سیستم تعریف کردید، اکنون قادر هستید تا اطلاعات تبادلات مالی خود را وارد نمایید.
همانطوری که می‌دانید در سیستم‌های مالی برخی از حساب‌ها حالت درآمدی داشته و برخی دیگر نیز حالت هزینه‌ای دارند. هنگامی که تبادلی را در بخش هزینه‌ها وارد می‌کنید، تعیین می‌کنید تا مبلغ آن از محل حساب‌های درآمدی برداشته شود. (ببخشید که پا در کفش حسابداران محترم کردیم!) به هر حال کمی اطلاعات برای شروع کار برای بار اول با یک برنامه حسابداری شخصی لازم است! برای وارد کردن یک تبادل، کافی است روی طبقه‌بندی مربوطه دوبار کلیک کرده، (مثلا هزینه‌های رفت و آمد) و اطلاعات لازم را وارد نمایید.




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




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

نتیجه گیری
به طور کلی برنامه GnuCash دارای قابلیت‌های بسیار فراوان و قدرمتندی است که در صورتی که مدتی تجربه کار با سایر نرم‌افزارهای مدیریت مالی شخصی یا حسابداری را داشته باشید به نحو احسن قادر خواهید بود تا امور مالی شخصی خود را به آن بسپارید. در پایان بد نیست بدانید که این برنامه آخرین برنامه‌ای بود که انتقال کامل من را از ویندوز به لینوکس، در حدود یکسال پیش تکمیل کرد. من تا پیش از آن GnuCash را می‌شناختم، ولی فقط امکان تبدیل داده‌های MS-Money به فرمت Quicken یا GnuCash لاینحل باقی مانده بود که خوشبختانه با Crash کردن MS-Money و از میان رفتن داده‌های اصلی و پشتیبان خودکار، (که بیش از ۳ سال اطلاعات بود) مشکل حل شد و من به GnuCash منتقل شدم و آخرین بهانه من برای بوت در ویندوز نیز از میان رفت. به همین دلیل از MS-Money ممنون هستم!

شناسایی سیستم از خط فرمان

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

-
شماره نسخه لینوکس

-
معماری پردازنده

در مثال زیر، با استفاده از دستور uname -a این اطلاعات استخراج شده است :

$ uname -a

Linux memphis 2.4.21 #1 Sun Aug 3 20:15:59 PDT 2003 i686 GNU/Linux

نام کامپیوتر در مثال بالا memphis است. از این نام برای شناسایی کامپیوتر در محیطهای اشتراکی مانند شبکه استفاده می‌شود. شماره 2.4.21 نشاندهنده شماره نسخه هسته لینوکس است.

با استفاده از دستور hostname می‌توانید نام کامپیوتر خود را تغییر دهید. به مثال زیر توجه کنید:

$ hostname travis

این دستور نام کامپیوتر را از memphis به travis تغییر می‌دهد. در صورتی که این دستور را به تنهایی تایپ نمایید، نام فعلی کامپیوترتان را به شما نشان خواهد داد:

$ hostname

memphis

هسته لینوکس

قلب سیستم عامل لینوکس هسته یا kernel نام دارد. هسته لایه بین شما و برنامه‌های کاربردی سیستم را با سخت افزار کامپیوتر تشکیل می‌دهد. با استفاده از فایل‌های موجود در مسیر proc می‌توانید اطلاعات فراوانی را از هسته سیستم خود بدست آورید.

برای هر پروسه‌ای که اکنون در کامپیوتر شما در حال اجراست، یک دایرکتوری در مسیر proc ایجاد می‌شود که نام آن شماره پروسه مربوطه است.

برای نمایش محتویات فایلهای موجود در دایرکتوری proc، می‌توانید از دستور cat استفاده نمایید. برای مثال دستور:


$ cat /proc/version

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

-cpuinfo : نوع پردازنده نصب شده در کامپیوترتان بعلاوه سرعت، خانواده و اطلاعات دیگر مربوط به آن را نشان می‌دهد.
-devices :
ابزارهای بلاکی و کاراکتری موجود در کامپیوترتان را بعلاوه شماره های آنها نمایش می‌دهد
.
-ioports :
آدرس‌های درگاههای
I/O روی کامپیوترتان را نمایش می‌دهد.
-meminfo :
حاوی اطلاعاتی در مورد مصرف حافظه و فضای
swap است. می‌توانید ببینید که کلا چه میزان حافظه وجود دارد و چه میزان از آن مصرف شده است.
-modules :
لیست ماژولهایی که در حال حاضر در هسته نصب شده‌اند را نشان می‌دهد
.
-mounts :
لیست فایل سیستم‌هایی که در حال حاضر متصل هستند را نشان می‌دهد
.
-partitions :
حاوی نام پارتیشن‌های دیسک سخت شما و تعداد بلاک‌های موجود روی هر پارتیشن است
. همچنین شماره ابزار major و minor آن نیز نمایش داده می‌شود.
-pci :
لیست ابزارهای
pci موجود در کامپیوترتان را نشان می‌دهد. همچنین می‌توانید اطلاعاتی مانند شماره bus، نام ابزارها، شماره‌های وقفه و ... را نیز بدست آورید.
-swaps:
اطلاعات پارتیشن‌های
swap متصل شده به سیستم فایل را نمایش می‌دهد. این اطلاعات شامل اندازه و مقدار فضای مصرف شده آنها نیز می‌باشد.
net/dev :
اطلاعات مربوط به رابطهای شبکه
(مانند کارتهای شبکه) فعال روی کامپیوتر را نشان می‌دهد.

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