محمد مهدی خلعت بری بدون دیدگاه

KVM Linux – قسمت اول

معرفی:

KVM یا Kernel-based Virtual Machine از محصولات شرکت Red Hat Enterprise است. یک ابزار کامل برای امور مجازی سازی روی لینوکس با سخت افزار x86 معماری سخت افزار AMD64 و Intel64 می باشد که برای اجرا باید Extension های مجازی سازی AMD-V و Intel VT را دارا باشند و برای کرنل Red Hat Enterprise Linux 6 ساخته شده بود. KVM شامل ماژول کرنل kvm.ko است، که زیرساخت مجازی سازی کرنلی و ماژول پردازنده kvm-intel.ko و kvm-amd.ko را دربر دارد. می تواند چندین سیستم عامل مهمان یا ماشین مجازی ویندوزی و لینوکسی را راه اندازی نماید که هرکدام برای خود کارت شبکه، دیسک، آداپتور گرافیک و .. را می توانند داشته باشند.

kvm به عنوان یک ماژول کرنل قابل بارگذاری است که وقتی اجرا شود کرنل لینوکس را به عنوان یک hypervisor bare metal تبدیل می کند. دو اصل مهم در طراحی kvm اتفاق افتاد تا این hypervisor به سرعت به عنوان پایدار ترین hypervisor متن باز قرار گرفت.اول این که kvm بعد از ظهور hardware assisted به وجود آمد واین امر kvm را مجبور پشتیبانی از ویژگی های hardware assisted کرد تا hypervisor kvm دستور هایی که پردازنده های intel VT-Xi و AMD-V پشتیبانی می کند را پیاده سازی کند.دوم اینکه تیم kvm در ادامه از ضرب مثل “don’t  reinvent the wheel”  استفاده کردند به این معنی که به دنبال اختراع روش جدید نبودند و بهترین روش های موجود برای حل مسئله استفاده کردند. در یک hypervisor اجزای بسیاری وجود دارد که علاوه بر مجازی سازی CPU و Memory اجزای دیگری هم وجود دارد برای مثال: memory manager, process scheduler, I/O stack, device drivers, securit manager ، network stack و غیره. در حقیقت یک hypervisor واقعا یک سیستم عامل خاصی است که هدف آن به جای بالا اوردن یک برنامه بالا آوردن یک ماشین مجازی است.

 

معماری kvm :

در معماری kvm ماشین مجازی به عنوان یک پروسس منظم است که توسط زمانبند استاندارد لینوکس اجرا می شود.در حقیقت هر CPU مجازی به عنوان یک پروسس منظم به نظر می رسد.این کار به kvm اجازه می دهد که از تمام ویژگی های کرنل لینوکس بهره مند شود.

 

مدیریت حافظه :

KVM ویژگی هایی از مدیریت حافظه قدرتمند لینوکس را به ارث برده است.حافظه ای از یک ماشین مجازی به عنوان حافظه ذخیره می شود و این حافظه برای هر فرایند دیگری در لینوکس می تواند جابه جا شود . پشتیبانی از صفحه های بزرگ large pages عملکردی بهتر و امکان پشتبانی یا اشتراک گذاری فایل دیسک‌ها را فراهم می‌کند. NUMA SUPPORT به یک ماشین مجازی اجازه دسترسی موثر به مقدار بزرگی از حافظه را می دهد. صفحات مشترک حافظه از طریق یکی از ویژگی های کرنل به نام Kernel Same-page Merging(KSM) پشتیبانی می شود.ksm حافظه هر ماشین مجازی را اسکن می کند و صفحات حافظه یکسان این ماشین های مجازی را باهم ادغام می کند و این یک صفحه باقیمانده را بین ماشین ها به اشتراک می گذارد.و اگر یک مهمان بخواهد صفحه مشترک بین ماشین های را تغییر بدهد به اویک کپی محافظت شده از صفحه مشترک رامی دهیم.در بسیاری از مواقع امکان یکپارچه سازی بین ماشین های مجازی بروی یک هاست وجود دارد برای مثال در یک ماشین مجازی ویندوز از حافظه در DLL رایج ، کتابخانه ها، کرنل های یا دیگر اجزای مشترک بین ماشین مجازی استفاده نمی شود .با KSM بیشتر ماشین های مجازی می توانند بر روی یک هاست مستقر شوند و این امر باعث کاهش سخت افزار، هزینه هاو بهبود مصرف سرور می شود.

ذخیره سازی :

KVM قادر به استفاده از هر گونه ذخیره سازی پشتیبانی شده توسط لینوکس برای ذخیره Image های ماشین مجازی است، که شامل دیسک های محلی با IDE, SCSI و SATA ،شبکه های متصل ذخیره سازی NAS  که شامل NFS و SAMBA/CIFS یا SAN با پشتیبانی برای iSCSI و Fiber Channel می باشد. ممکن است از چندمسیر I / O به منظور بهبود توان ذخیره سازی و تولید افزونگی مورد استفاده قرار گیرد. KVM، ایمیج ماشین های مجازی مشترک در فایل سیستم ها را پشتیبانی می کند برای مثال (Global File System (GFS2 به ایمیج ماشین مجازی اجازه می دهد بین چندین هاست به طور مشترک یا چندین logical volumes مشترک استفاده شود. فرمت محلی (native) ایمج KVM به نام QCOW2 است که شامل پشتیبانی از snapshots ،اجازه دادن snapshots از سطوح مختلف ، فشرده سازی و رمزنگاری می باشد.

مهاجرت زنده live migration :

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

هایپرویژن Hypervisor چیست و چه کاربردی دارد ؟

 

یک هایپرویژن Hypervisor   یکی از دو روش برای مجازی سازی یک محیط محاسباتی است ، منظور ما از virtualize ، تقسیم منابع مانند RAM , CPU از یک محیط محاسبات فیزیکی ( شناخته شده به عنوان سرور اصلی میزبان ) به چند ماشین مجازی کوچکتر ( شناخته شده به عنوان مهمان ) . هر مهمان می تواند سیستم عامل مورد نیاز خود را نصب کند و هر ماشین مجازی منابع خود  RAM  و CPU  خود را دارد ، در واقع سرور مجازی درست مانند یک سرور فیزیکی رفتار می کند ، این امکان نیازمند پشتیبانی قابلیتی به نام VT-x در سی پی یو های اینتل و AMD-V در سی پی یو های AMD است.

یکی از وظایف کلیدی که Hypervisor فراهم می کند جداسازی است ، این به این معنی است یک مهمان امکان دسترسی به سرور میزبان و همچنین دسترسی به سایر مهمان ( ماشین های مجازی ) ایجاد شده در سرور ندارد و رفتار های سرور مهمان روی آنها تاثیری نداشته باشد ، حتی اگر ماشین مهمان با مشکلاتی مانند کرش شدن مواجه شود. بنابراین هایپرویژن باید به دقت مانند یک سخت افزار ماشین فیزیکی تقلید کند و از دسترسی مهمان به سخت افزار واقعی جلوگیری کند ، از آنجایی که این عمل به شدت سرعت را کاهش می دهد از یک روش paravirtualized یا PV drivers استفاده می شود. این امکان تمام سخت افزار ها را به صورت مجازی در اختیار ماشین مجازی قرار می دهد و  درایور های آن توسط Hypervisor دریافت می شود ، با استفاده از این روش سرعت بالا می رود و همچنین امکان دسترسی مستقیم به سخت افزار های اصلی سرور و کنترل آنها توسط مهمان دیگر وجود ندارد.

 

Hypervisors دو نوع است Type 1 و Type 2

Type 1  : در این نوع از Hypervisors که به اصطلاح به آن “برهنه فلزی” گفته می شود ، Hypervisors به طور مستقیم برای کنترل سخت افزار و سیستم عامل های مهمان اجرا می شود. بنابراین مجازی ساز های VMware ESXi و Xen از نوع Type 1 می باشد. تصویر زیر مثالی type 1 است :

 

Type 2  : در این نوع از Hypervisors که به اصطلاح به آن “میزبانی شده” گفته می شود ، Hypervisors در داخل یک سیستم عامل اجرا می شود و پس از آن سیستم عامل عامل های مهمان ایحاد می شود. سیستم های مجازی ساز دسکتاپ اغلب از این روش استفاده می کنند. بنابراین مجازی ساز های  OpenVZ و KVM از نوع Type 2 هستند.تصویر زیر مثالی type 2 است :

با تصاویر بالا نتیجه می گیریم Hypervisors تایپ 1 بهتر از تایپ 2 است زیرا در تایپ 1 Hypervisors هنگام دسترسی به منابع فیزیکی از سیستم عامل میزبان استفاده نمی شود. پیدا کردن نوع Hypervisors کاری بسیار ساده است ، برای مثال مجازی ساز KVM که به عنوان یک پردازش در سیستم عامل میزبان لینوکس نصب می شود از نوع TYPE-2 است. در واقع فرایند راه اندازی صرفا دسترسی به تعداد محدودی منابع از طریق سیستم عامل میزبان و بسیاری از وظایف حساس توسط ماژول کرنل انجام می شود که دسترسی مستقیم به سخت افزار را دارد.

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

محمد مهدی خلعتبری

Salar Nosrati Ershad بدون دیدگاه

معماری Monolithic kernel, Hybrid kernel ,MicroKernel

پیشگفتار:

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

هسته یا kernel چیست؟

هسته سیستم های عامل در واقع اجرا کننده فرمان ها و فراخوان های سیستمی بر روی سخت افزار است. فرمان های مانند خوانندن٬ نوشتن٬ انجام عملیات های محاسباتی و …

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

ریز هسته یا میکروکرنل چیست؟

میکروکرنل در اصطلاح کامپیوتری به هسته هایی میگویند که بسیار کم حجم و ساده هستند و از توابع سیستمی چندانی بهره نمیبرند. در عوض این گونه از هسته پیچیدگی هسته را بسیار کم میکند اما در عوض باعث ایجاد پیچیدگی بسیار در شبکه ارتباطی این اجزای کوچک میشود.

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

از سیستم عامل هایی که از معماری میکروکرنل در هسته خود بهره میبرند میتوان به مینیکس٬ ٬gnu mach ٬gnu hurd اشاره کرد که سرانه مصرف پایینی دارند

برای امتحان میکروکرنل میتوانید از debian gnu hurd استفاده کنید ( کرنل gnu hurd تنها از معماری پردازنده i386 پشتیبانی میکند)

هسته یکپارچه یا مونولیتیک چیست؟

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

اشکال زدایی در این نوع هسته زحمت بیشتر دارد اما سیستم عامل هایی که از هسته یکپارچه استفاده میکنند دارای جامعه ی کاربری بیشتری نسبت به دیگران دارند و این باعث سریع تر شدن اجرا پروژه ها میشود.

از سیستم عامل هایی که از هسته یکپارچه بهره میبرند میتوان به گروه سیستم های عامل داس٬ لینوکس٬ گروه سیستم های عامل BSD و سولاریس اشاره کرد.

برای امتحان این سیستم های عامل میتوانید از FreeBSD , Free-Dos و Debian Gnu/linux استفاده کنید.

لازم به ذکر است که دبیان با کرنل فری بی اس دی (kFreeBSD ) نیز توسعه می یافت که از دبیان ۶ به بعد این عمر متوقف شد.

 

هسته ترکیبی یا هایبرید چیست؟

این دسته از هسته ها به شکل ترکیبی از هر دو معماری میکروکرنل و مونولیتیک استفاده میکنند. این هسته ها معمولا از بی هوا نوشتن هسته بدون برنامه قبلی به وجود می آیند و باعث ناپایداری در سیستم٬ اشکال زدایی بسیار پیچیده و کند شدن سیستم می شوند.

جامعه کاربری سیستم عامل هایی که از این دسته از هسته ها استفاده میکنند بسیار پایین بوده و سیستم عامل های چندانی هم در این لیست موجود نیست.

از دسته سیستم عامل هایی که با هسته های ترکیبی کار میکنند میتوان Microsoft Windows NT را نام برد که بسیار قدیمی است و دیگر پشتیبانی نمی شود.

امتحان کردن این دسته به کابران توصیه نمی شود و با مرور زمان این سیستم عامل ها خود به خود از بین می روند.

کدام یک بهتر است؟

از لحاظ معماری سیستم عامل قطعا میکروکرنل ها برنده هستند اما به دلیل عدم وجود یک میکروکرنل کامل و استیبل برای نیاز های کاربران٬ ناچار به استفاده از کرنل های مونولیتیک هستیم

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

چرا لینوکس؟

  1. اوپن سورس بودن: هر کسی میتواند در کرنل لینوکس دستکاری کند و یا آن را برای خود تغیر دهد٬ همگان میتوانند کد های آن را مشاهده کنند و از لحاظ امنیت باعث میشود کاربر اتمینان کند که هیچ ابزار جاسوسی در آن وجود ندارد.
  2. توزیع های فراوان: توزیع های زیادی از هسته لینوکس بهره میگیرند که باعث میشود شما حق انتخواب زیادی برای مصارف گوناگوم داشته باشید و یا حتی خودتان یکی از این توزیع ها را  بسازید( برای راهنمای این کار میتوانید به کتاب linux from scratch مراجعه کنید).
  3. جامعه ی کاربری بالا: طبق آمار حدود ۱۵۰۰۰ برنامه نویس تا به حال روی کد کرنل کار کرده اند و همین امسال هر روز ۱۰هزار خط کد به کرنل اضافه شده، ۲۰۰۰ خط تغییر کرده و ۲۵۰۰ خط ازش حذف شده.
  4. آزاد بودن: لینوکس نیازی به کرک کردن یا خریدن برای استفاده از آن ندارد البته بدیهی است که برخی از توزیع ها برای مصارف تجاری مورد استفاده قرار گیرند.
  5. آزادی در استفاده: ویندوز در مقابل لینوکس مانند یک ماشین لباس شویی است که با زدن برخی دکمه حرکات خاصی را انجام میدهد اما شما در لینوکس آزادی زیادی برای استفاده از خلاقیت دارید.

 

سخن پایانی:

گرچه امروزه کرنل لینوکس بهترین انتخاب ماست اما می توان با اطمینان گفت که کرنلی خواهد بود که با معماری میکروکرنل بهتر از لینوکس ظاهر شود. همین طور باید بدانید  که هر ۵۰۰ تای برترین سوپر کامپیوتر های جهان از لینوکس استفاده میکنند. 🙂

afshinnova بدون دیدگاه

امنیت در لینوکس(قسمت اول)

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

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

1- حفاظت فیزیکی سیستم


علاوه بر تأمین حافظت فیزیکی سرورهای تحت سیستم عامل ،Linuxغیرفعال کردن امکان بالا آمدن سیستم از روی USB Flash ،CD/DVD و Floppy Diskدر تنظیمات BIOS این دستگاهها نیز توصیه میشود. اختصاص گذرواژه BIOS 2و قرار دادن گذرواژه بر روی راه انداز GRUB برای جلوگیری از دسترسی فیزیکی به اطلاعات سیستم نیز از دیگر نکاتی است که میبایست مدنظر قرار داده شود.

 

2- نصب حداقل بسته ها

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

 

3- رمزنگاری ارتباطات شبکه


استفاده از پروتکل امن SSL برای رمزگذاری ارتباطات سرویس های داخل شبکه و دسترسی های از راه دور سرویس ها و پروتکل هایی همچون Apache یا Open VPN توصیه میشود.

 

4- عدم استفاده از پروتکل های  Telnet ،FTPو Rlogin


پروتکل های Telnet ،FTPو Rlogin اطلاعات را به صورت متن ساده ارسال و دریافت میکنند؛ به همین دلیل دستورات و فایل ها میتوانند توسط افراد غیرمجاز شنود و دریافت شوند. از SFTP و OpenSSH میتوان به عنوان جایگزینی برای سرویس های مذکور استفاده کرد.

 

5- استفاده از SSH


یکی از ساده ترین روش های دسترسی از راه دور به سیستم عامل Linux پروتکل شبکه ایSSH است. در این پروتکل، ارتباط میان ایستگاه کاری و سرور به صورت رمزنگاری و امن شده برقرار میشود. برای جلوگیری از ایجاد دسترسی افراد غیرمجاز به سرور از طریق پودمان SSH انجام مراحل زیر توصیه میشود.
الف) با اجرای فرمان زیر تنظیمات پروتکلSSHاز طریق فرمان زیر باز شود:

ب) سپس با درج عبارت زیر ورود کاربر Rootغیرفعال شود:

 

6- اعمال سیاست استفاده از گذرواژه های پیچیده


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

الف) برای باز کردن فایل تنظیمات PAMفرمان زیر اجرا شود:

ب) عبارت زیر به فایل افزوده شود:

 

با افزوده شدن عبارت فوق تنها گذرواژه های با حداقل طول 8نویسه که شامل حروف بزرگ و کوچک و عدد نیز باشد قابل قبول خواهد بود.

7- بروزرسانی هسته و نرم افزارهای نصب شده


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

در توزیع های DEBIAN

در توزیع های RED HAT

از بروز رسانی به نسخه های : Beta , alpha خودداری کنید چون این دسته نرم افزار ها کامل نیستند و سیستم شما با مشکل مواجه میشود.

8- فعال کردن SELinux

  Security-Enhanced Linux و یکی از پراستفاده ترین ماژول های امنیتی سیستم عامل Linux است که روش های کنترل دسترسی را ارائه میکند. به صورت ساده تر SELinux میتواند سطح دسترسی کاربران به نرم افزار ها یا دیوایس ها را توسط یک خط مشی تعیین و اجرا میگردد.

9- استفاده از Firewall

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

 

10- جداسازی پارتیشن های هارد دیسک
توصیه میشود مسیرهای سیستمی زیر هر کدام در یک پارتیشن مجزا قرار گیرند:

  • usr/
  • home/
  • var/ and var/tmp
  • tmp/
کیا حامدی بدون دیدگاه

چرا اوبونتو؟

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

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

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

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

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

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

نمونش خود من الان دو ماه شده هنوز به پروژه دانشگاه دست نزدم و کاملش نکردم چون هرباری که پشت سیستم میشینم با یک قسمت آرچ درگیر میشم و دیگه زمانی برای انجام پروژه برام باقی نمیمونه

این مسئله باعث شد تا دوباره به فکر امتحان توزیع های دیگه بیوفتم و باز برگردم به اوبونتو

 

دلایل من برای بازگشت به اوبونتو خیلی ساده هستند:

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

دوم من به توزیعی نیاز داشتم که مثل آرچ باشه یعنی هر شش ماه یکبار نیاز نباشه نسخه جدید رو نصب کنیم واسه همین رفتم سراغ نسخه 16.04 اوبونتو که نسخه LTS یعنی ساپورت بلند مدت داره گه البته چون این نسخه انگاری خداحافظی با میزکار یونیتیه پس مدت پشتیبانیش طولانی تره و تا آپریل 2021 پشتیبانی میشه پس اگه سیستم عامل واقعا خراب نشه نیازی به عوض کردن و نصب نسخه جدید نیست

خب دلیل سوم من برای انتخاب اوبونتو پایدار بودن، چون اوبونتو بر اساس توزیع پایدار دبیان درست شده پس اوبونتو هم خودش پایداره البته شاید کرش های کوچیکی تو بعضی نرم افزار ها پیش باید که اونم قابل چشم پوشیه

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

 

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

و در انتها دلیل آخر میزکار یونیتی

  میزکار بسیار دوست داشتنی اوبونتو با اسم یونیتی که در 9 ژوئن سال 2010 معرفی و هم اکنون که این مقاله رو نگارش میکنم در سال 2017 بعد از 7 سال خبر رفتنش اومد و دیگه اوبونتو از این میزکار پشتیبانی نمی کنه

پس کسانی که این میزکار رو دوست دارند تا سال 2021 وقت دارند تا این میزکار رو تجربه کنند قبل از اینکه آخرین توزیع اوبونتو که این میزکار رو داره به تاریخ بپیونده

 

موفق و پیروز باشید

 

کیا حامدی بدون دیدگاه

زندگی در ترمینال

حتما تاحالا دیدید که تو فیلم های هکری هالیوود طرف همش سرش تو کامپیوتره و تو یک صفحه سیاه مدام مینویسه

به نظرتون برای کاربران لینوکس چه لذتی داره که به جای استفاده این همه میزکارها و رابط های گرافیکی بیشتر کارهای خودشون رو با ترمینال انجام بدن؟
درسته قدرت بیشتر اما به نظرتون این همه ماجراست؟
یقینا نه! خب پس چرا؟؟؟
جواب خیلی سادست شاید در ظاهر خط فرمان محیطی خسته کننده و کسل آور باشه اما لذتی که برای انجام کارها به آدم میده رو مطمئنا محیط های گرافیکی نمیدن

پس با ما در این مقاله همراه باشید تا با چند ابزار جالب و کاربردی آشنا بشیم که خیلی از وقت ها مخصوصا زمان هایی که برای سیستم عامل شما مشکلی پیش میاد و فقط به tty ها دسترسی دارید به کمک شما میان

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

خب ابزار اول که میتونید در ترمینال باهاش وب گردی کنید Lynx نام داره برای نصبش کافیه از دستور زیر استفاده کنید

برای استفاده از Lynx کافیه اول اسمش و سپس آدرس سایت مورد نظر رو قرار بدید به این صورت

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

 

خب این یکی از ابزار ها دوتا ابزار دیگه هم برای وب گردی معرفی کنیم بد نیست، Links و ELinks که برای نصبشون میتونید از دستورات زیر استفاده کنید

و طریقه استفادشون هم درست مثل نرم افزار قبیله که میتونید نمای هر کدوم رو در زیر ببینید

links

 


elinks

خب باید بگیم خیلی عالی شد واقعا خیلی خوب شد امکان جستجو در اینترنت با ترمینال حال بیاید با چند ابزار دیگه آشنا بشیم ببینیم میشه کارهای روزمره رو در ترمینال انجام داد یا نه؟

وبگردی رو یادگرفتیم حال بریم سراغ نمایش عکس
برای باز کردن عکس در ترمینال میتونیم از ابزار Display استفاده کنیم فقط کافیه به محل مورد نظر بریم و اسم عکس رو با دستور بزنیم به این صورت تا عکس برای ما باز بشه

این برای وقت هایی خوبه که مثلا داریم ویدیوکست ضبط میکنیم و میخوایم یک عکس به کاربر نشون بدیم اما کاربرای تمام عکس های داخل پوشه رو نبینند پس ما از ترمینال وارد میشیم و عکس رو به این روش باز میکنیم

جالب شد حالا بریم یکم کار جالب تر بکنیم یعنی فیلم پخش کنیم، برای پخش فیلم باید از پلیرهایی که امکان پخش از طریق ترمینال رو میدند استفاده کنیم یعنی پلیرهایی مانند vlc و mplayer که روش کار کردن باهاشون همانند دستور قبلیه یعنی کافیه وارد مسیر مورد نظر بشید و با دستورات زیر فیلم خودتون رو پخش کنید

برای نصب نرم افزارهای vlc و mplayer در آرچ هم میتونید از دستورات زیر استفاده کنید

خب الان کارهای جالبی رو یادگرفتیم با ترمینال انجام بدیم اما خب کارهای روزمره بدون گوش کردن به آهنگ مگه میشه؟

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

بعد از اینکه نصب شد کافیه با دستور mocp اجراش کنید تا با محیط زیر رو به رو بشید یک موزیک پلیر ترمینالی

 

خب تا اینجای کار تونستیم خیلی از کارهای روزمره رو در ترمینال انجام بدیم،اما کارهای روزمره بدون چک کردن ایمیل ها مگه میشه؟

خب برای این کار هم یک ابزار عالی داریم به اسم mutt

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

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

 

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

کیا حامدی بدون دیدگاه

آرچ را یکبار تجربه کنیم

آرچ لینوکس توزیع دوست داشتنی و جذاب در عین حال خشن و بی اعصاب

میخواهیم در این مقاله بگوییم چرا باید یکبار آرچ را امتحان کنیم

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

اما واقعا چرا بعضی ها عاشق آرچ لینوکس هستند ولی بعضی ها اصلا ازش خوششون نمیاد؟

بهتره قبل از اینکه به این سوال جواب بدیم یکم بیشتر با آرچ آشنا بشیم

آرچ لینوکس اسم یک توزیع گنو/لینوکسیه که هدف اصلیش سادگی و سبک بودنه

اما اینا یک سری کلمات کلیشه ای شده سادگی و سبک بودن ، باید بفهمیم چطوری؟ چطور توزیع آرچ تونسته سادگی و سبک بودن رو ملاک اصلیش قرار بده؟

خب جوابش سادست با نداشتن هیچی!

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

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

شاید این بخش برای شما کمی گنگ باشه بزارید براتون باز ترش کنم

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

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

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

سادگی و سبکی به اندازه نداشتن یک رابط گرافیکی تا اندازه ای که مدیر بسته آرچ (Pacman) هم بدون رابط گرافیکی هست البته این یکی از خوبی های آرچه که کاربرا با سلیقه خودشون رابط های گرافیکی رو نصب میکنند

خب تا اینجا فهمیدیم که آرچ سیستم عاملیه که در ابتدا هیچ چیزی نداره و در انتها بسته های روی اون بسته های مورد نیازه کاربره

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

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

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

 

بیاید در مورد یک امکان خوب آرچ صحبت کنیم، قابلیت رولینگ ریلیز بودن آرچ

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

برای جواب این سوال شما سیستم عامل ویندوز رو در نظر بگیرید که هر چند سال یک سیستم عامل با اسم جدید و امکانات و آپدیت های جدید به بیرون عرضه میشه برای مثال بعد از ویندوز xp ویندوز 7 و بعد از اون 8 و 10 اومدند و باید منتظر نسخه های بعدی با اسم های مختلف و ظاهر های متفاوت هم باشیم، تا اینجای کار رو همه بلد هستیم که هر نسخه از ویندوز بیاد ما از اطلاعاتمون یک پشتیبان تهیه میکنیم و یا اطلاعات رو به پارتیشن های دیگه انتقال میدیم و سیستم عامل قدیم رو پاک و نسخه جدید ویندوز رو نصب میکنیم و دوباره شروع به نصب درایور ها و برنامه های خودمون روی اون میکنیم
این روش در سیستم عامل های ویندوز و بسیار از توزیع های گنو/لینوکسی یافت میشه که بعد از رسیدن به یک بهینگی نسخه جدید رو منتشر میکنند اما در آرچ شما نسخه ای از اون رو ندارید شما کافیه یک بار آرچ رو نصب کنید تا از نصب مجدد سیستم عامل و نسخه های جدید خلاص بشید این قدرت رولینگ ریلیز بودنه که شما یک بار نصب میکنید و برای همیشه استفاده میکنید ،هربار کافیه فقط بسته های نصب شده روی سیستم عامل رو به آخرین نسخه های موجود آپدیت کنید شما لازم نیست منتظر انتشار نسخه جدید آرچ باشید تا قابلیت های جدید یا آپدیت های مختلف رو داشته باشید یک بار آرچ را نصب کنید همه قابلیت هارو خواهید داشت درواقع انتشار آرچ لینوکس یک تصویر لحظه ای از از بروزرسانی بسته های موجود با بسته های کنونی است تا شما نسخه نهایی آرچ را داشته باشید.

خب با دانستن این اطلاعات از آرچ حالا باید به این سوال جواب بدیم که آرچ لینوکس برای چه افرادی مناسبه؟

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

این افراد باید یک بار آرچ را امتحان کنند .

 

 

 

الهام عابدی بدون دیدگاه

زورآزمایی دو رقیب وب ساز(php و ASP.net)

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

@LINARX ۱ دیدگاه

فضای Swap در لینوکس چیست و چه کاربردی دارد؟

سیستم عامل برای اینکه بتواند برنامه ای را اجرا کند، باید آن برنامه را به داخل حافظه اصلی (RAM) منتقل کند. درسیستم عامل های مدرن امروزی در هر لحظه تعداد زیادی برنامه در حال اجرا هستند همچنین تعداد زیادی سرویس نیز در پس زمینه در حال اجرا می باشند. با توجه به این که مقدار حافظه اصلی کامپیوتر محدود است، وقتی تعداد برنامه هایی که قرار است همزمان اجرا شوند زیاد شود، مقدار حافظه لازم جهت اجرای همزمان برنامه ها از کل حافظه اصلی کامپیوتر بیشتر می شود. در این حالت سیستم دچار کمبود حافظه اصلی شده و در نهایت crash می کند.برای حل این مشکل بخشی از فضای دیسک را بصورت مجازی برای استفاده به عنوان حافظه اصلی معرفی کنیم. به این فضا در سیستم عامل های خانواده لینوکس و یونیکس فضای swap گفته می شود. فضای swap را می توان به دو صورت پارتیشن و فایل تعریف کرد.

فضای swap هنگامی که فضای حافظه اصلی (RAM) پر می شود و دیگر جایی برای فرایند های جدید وجود نداشته باشد، مورد استفاده قرار می گیرد. فضای Swap قسمتی از هارد سیستم است که می تواند بصورت پارتیشن یا فایل به کرنل لینوکس معرفی شود. کرنل لینوکس در مواقعی که احتیاج به حافظه RAM بیشتری داشته باشد با استفاده از قابلیت Swapping قسمت های کم استفاده تر درون حافظه RAM را درون فضای Swap کپی می کند و برای خود درون حافظه RAM فضای خالی درست می کند و در صورتی که قسمت حافظه RAM کپی شده درون فضای Swap مورد نیاز باشد عکس عمل قبل اتفاق می افتد، به عبارت دیگر کرنل لینوکس از فضای Swap بعنوان مکمل حافظه RAM استفاده می کند. استفاده از فضای Swap در لینوکس باعث می شود سیستم هایی که حافظه RAM کمی دارند بتوانند برنامه های بیشتر و سنگین تری را اجرا کنند، اما باید به این نکته هم دقت داشت که کپی کردن از حافظه RAM به فضای Swap و بلعکس ممکن است باعث کندی سیستم شود. نسخه‌های قدیمی سیستم‌عامل ‌های لینوکس (مثل Sun OS و Ultrix) به فضای swap ای حدود 2 تا 3 برابر رم نیاز داشتند.اما امروزه با عوض شدن تکنیک‌های مبادله و ارزان شدن رم به این مقدار نیاز نیست اما فضای زیاد مشکلی نیز ندارد. حالت های تقریبی در زیر نوشته شده اند:
مقدار فضای RAM , مقدار فضای SWAP
۵۱۲ مگابایت ۱ گیگابایت
۱ گیگابایت ۳ گیگابایت
۲ گیگابایت ۲ گیگابایت
۴ گیگابایت ۴ گیگابایت
۸ گیگابایت ۴ گیگابایت
۱۶ گیگابایت ۸ گیگابایت

برای سرور هر قدر فضای swap کم‌تر باشد بهتر است، معمولا نصف فضای رم کافی است. با این حال با توجه به قابلیت تغییر اندازه حافظه Swap همیشه فضای swap را مانیتور کنید تا در صورت لزوم افزایشش بدهید.
سیستم عامل از طرح Paging برای استفاده از Swap و ارتباط با RAM استفاده می کند. Paging یک طرح مدیریت حافظه است که کامپیوتر داده هایی را از Hard disk برای استفاده در حافظه RAM دریافت یا قرار می دهد. در این طرح کامپیوتر داده ها را از حافظه disk از Page های بلوکی هم اندازه، میگیرد. Paging یک بخش مهم از پیاده سازی های حافظه مجازی در سیستم عامل های مدرن است.

هسته لینوکس قادر به پشتیبانی از حافظه های مجازی (Swap) زیاد (تا بی نهایت) هستند، زمانی که هسته نیاز به Swap کردن دارد از پراولویت ترین حافظه مجازی دارای فضای خالی استفاده می کند. اگر چند حافظه مجازی با اولویت یکسانی تایین شده باشند هسته با مُد گردش نوبتی از آنها استفاده می کند که باعث افزایش عملکرد تا زمانی که دستگاهایی که حافظه مجازی بروی آن ها قرار دارد کامل در اختیار کامپیوتر است، می گردد.
فایل های سواپ و پارتیشن ها
حافظه های سواپ می توانند فایل باشند یا پارتیشن، این دو نوع سرعت یکسانی دارند اما فایل های سواپ محدودیتی که دارند این است که بایدبه طور مرتب توسط سیستم عامل در فایل سیستم مشخص شوند، برای افزایش عملکرد فایل سواپ، کرنل (Kernel) یک نقشه از مکان آن ها را نگه می دارد و به طور مستقیم به سراغ ان ها می رود، بنابراین حافظه کش را دور میزند و از خطای فایل سیستم جلوگیری می کند. در مواقع تایین پارتیشن سواپ در Hard disk که در آن یک دیسک گردان میچرخد بهترین مکان در نزدیکی دایره مرکزی دیسک یعنی سکتور های اولیه است که باعث بهبود و سرعت عملکرد پارتیشن میشود. با این حال انعطاف پذیری فایل های سواپ برخی از ویژگی های مشخصی از پارتیشن سواپ را بی ارزش می کند، به عنوان مثال یک فایل سواپ می تواند در هر جای فایل سیستم ماونت شده قرار گیرد، هر اندازه ای می تواند بگیرد و همیشه قابل تغییر است، اما پارتیشن سواپ انعطاف پذیری مانند فایل را ندارد. این نوع نمی تواند بدون ابزار های پارتیشن بندی یا مدیریت ولوم تغییر یابد که این ها باعث اتلاف وقت و متوقف شدن موقتی سیستم می شوند.

سواپ مرگ
زمانی که حافظه اصلی برای عمل فعلی در حال انجامش بیش از حد اشغال می شود مقدار زیادی از فعالیت ها به سواپ منتقل می شوند و ممکن است سیستم عامل فلج شود حتی اگر CPU بیکار باشد. زمانی که هر پروسه ای در صف سواپ منتظر باشد یعنی سیستم در حالت سواپ مرده است. سواپ مرگ می تواند بخاطر کانفیگ نادرست مدیریت حافظه باشد. توضیح اصلی سواپ مرگ به سرور X بر میگردد که می گوید اگر حافظه برای خود X در سواپ است هر کلیدی که زده می شود باید لینوکس از سواپ بخواند قبل ازینکه پردازش شود بنابراین سیستم عملا پاسخگو نیست حتی اگر وظیفه های دیگرش را به طور نرمال انجام می دهد.
Swappiness
قابلیت swappiness در واقع یک پارامتر کرنل لینوکس است که فرآیند swap کردن برنامه ها بین سیستم و حافظه RAM را مدیریت می کند ، در واقع ارسال و دریافت فایل ها از و به حافظه Cache سیستم نیز بر عهده این قابلیت است.
قابلیت Swappiness می تواند دارای مقدار عددی بین 0 تا 100 باشد . هر چقدر این عدد برای Pageی پایین تر باشد احتمال اینکه swap نشود بیشتر است و هر چقدر این عدد بیشتر باشد احتمال swap شدن آن بالاتر می رود. مقدار پیشفرض برای Page های سیستم عامل عدد 60 است و برای بسیاری از سیستم عامل های دسکتاپ در صورتیکه این عدد به 100 تغییر پیدا کند به شدت کارایی سیستم را تحت تاثیر قرار می دهد.
یکی از مهمترین کاربردهایی که حافظه SWAP دارد امکان انتقال فایل های ما از داخل حافظه RAM به داخل هارد دیسک است ، این قابلیت که ما آن را به عنوان Hibernate چه در سیستم عامل لینوکس و چه در سیستم عامل ویندوز می شناسیم این امکان را می دهد که بعد از اینکه اطلاعات از داخل حافظه RAM به داخل SWAP Partition منتقل شدند بلافاصله همه اطلاعات بعد از روشن شدن مجدد سیستم عامل به داخل RAM بازگردانی و سیستم عامل به حالت قبلی خود برگردد. بدون وجود SWAP Partition در لینوکس امکان Hibernate کردن این سیستم عامل وجود ندارد.

تهیه شده توسط ArchLinuX @LINARX از قبیله گیک ها

aap1024 بدون دیدگاه

آموزش Mikrotik in practice – قسمت دوازدهم

با سلام خدمت بینندگان و دنبال کنندگان محترم قبیله گیک ها

در قسمت یازدهم ویدیو های میکروتیک قصد داریم به بررسی مفهوم Webproxy و نرم افزار Dude در میکروتیک  بپردازیم.

1-بررسی مفهوم Webproxy در میکروتیک و زیر منوهای آن

2-دسترسی و یا عدم دسترسی و یا ریدایرکت کردن به یک URL خاص به وسیله ی زیر منوی Access

3-بررسی زیر منوی Store  و یا Disk در میکروتیک

4-بررسی Logging و همین طور اضافه کردن Prefix در لاگ ها برای بررسی راحت تر

5-بررسی نرم افزار Dude تغییرات و همین طور بررسی ورژن ها موجود

6-بررسی چندین سوال برای آمادگی برای آزمون

Youtube / Telegram / Torrent / Aparat / Exams

badrinex بدون دیدگاه

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

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

در یکی از شماره های قبل مجله مطلبی را تحت عنوان سیسکو کلود خدمت خوانندگان محترم ارائه دادم. در این شماره قصد دارم در رابطه سرویس کلود در سیستم عامل لینوکس به بحث و بررسی بپردازیم. زیرا سرویس های کلود در سیستم عامل لینوکس به صورت open source می باشند و دست کاربر را برای انعطاف پذیری باز می گذارد.
حتما شما به این علاقه دارید تا برای خود یک سرویس کلود شخصی داشته باشید اما به دلیل هزینه های که این سرویس به همراه دارد از این کار منصرف شده اید.

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

‏Seafile:
در سال ٢٠٠٩ میلادی Daniel Pan و دیگر دانشجویان دانشگاه Tsinghua University در پکن شروع به انجام پروژه ای کردن که به صورت Peer to Peer فایل های خود را به اشتراک می گذاشتند. این نرم افزار بر روی یک سیستم به عنوان سرور اکتفا نمی کند و از تمام سیستم های متصل بهره می گیرد. نام این نرم افزار SeaFile است.
‏SeaFile چیست و کاربرد آن به چه صورت می باشد؟
یک نرم افزار میزبانی فایل می باشد که به عنوان یک سرور مرکزی عمل می کند و فایل ها در آن نگهداری می شوند و می تواند با تمام دستگاه های از قبیل کامپیوتر شخصی و موبایل که قادر هستند از این برنامه استفاده کنند فایل ها را همگام سازی کند. این نرم افزار قابلیت اتصال به سرور از طریق مرورگر وب برای کاربر فراهم می نماید. استفاده از این برنامه بسیار ساده می باشد و مانند ابزار های پر طرفدار مانند google drive و dropbox عمل می کند.

OwnCloud:
یک ابزار اپن سورس برای ایجاد یک سرور کلود ساده و شخصی می باشد که مي توان برای ساخت یک سرور میزبانی فایل از این ابزار استفاده کرد. این ابزار در سال ٢٠١٠ توسط Frank Karlitschek که یکی از برنامه نویسان تیم KDE می باشد ساخته شد. OwnCloud شباهت بسیاری به Dropbox دارد ، تفاوت عمده این ابزار به خاطر اوپن سورس بودن برنامه است که نسبت به نرم افزار های دیگر آن را متمایز کرده است و در کنار این قابلیت همه افراد توانایی استفاده از این ابزار را دارند و قادر خواهند بود که خود آنها برنامه را نصب و مدیریت کنند. این ابزار به کاربر اجازه استفاده و ویرایش تمامی فایل هایی نظیر متن های نوشتاری ، شماره تماس ، تقویم و فایل های دیگر را می دهد و امکان همگام سازی آن را برای افراد فراهم میسازد. فضایی که به این برنامه اختصاص داده می شود به همان اندازه هارد درایو سیستم است و این مورد در بعضی از مواقع کاربر را با محدودیت فضا روبرو میسازد که راه آن اضافه کردن هارد درایو با حجم بالا به سرور می باشد.


‏OpenStack:
یک نرم افزار ابری رایگان و متن باز است که یک شبکه بزرگ کامپیوتر ها، سخت افزار های ذخیره سازی و منابع مورد نیاز که درون یک دیتا سنتر هستن را کنترل می کند. از این رو به وسیله این برنامه شرکت های ارائه دهنده سرور مجازی قادر خواهند بود تا در کنار سرویس های دیگر ، سرویس کلود را هم به مشتریات خود پیشنهاد می کنند. در سال ٢٠١٠ شرکت Rackspace Hosting و ناسا این پروژه را به وسیله زبان برنامه نویسی پایتون به صورت متن باز طراحی کردن که با نام تجاری OpenStack شناخته شده است. بر روی تمام پلتفرم ها قابل اجرا می باشد. در سال ٢٠١١ توسعه دهندگاه اوبونتو که به عنوان یکی از توزیع های معروف لینوکس شناخته مي شود اين ابزار را ارائه دادند و همچنين به عنوان پلتفرم كلاود وارد مخازن كردن تا افراد ديگر بتوانند از اين سرويس بهرمند شوند.

نقاط قوت و ضعف سرویس ابری:

همه چیزهایی که ساخته یا طراحی می شوند دارای نقاط قوت و ضعفی هستند که باعث دقت زیاد در انتخاب می گردد. سرویس ابری هم به همین منوال می باشد. نقطه قوت این سرویس در دسترس قرار دادن تمام اطلاعات ذخیره شده در هر زمان و مکان را به کاربر می باشد تا بتواند در سریع ترین زمان به اطلاعات مورد نیاز خود دست یابد. کارایی بالا و هزینه کم هم به عنوان نقاط قوت این سرویس تلقی می شوند .

مهمترین ضعف همه برنامه ها که به اینترنت متصل هستند و درون یک شبکه فعالیت می کنند ، امنیت آن است . سرویس ابری به دلیل قرار دادن اطلاعات درون یک سرور که به اینترنت متصل است باعث شده است تا انگیزه هکرها برای نفوذ به این سیستم بیشتر شود . از این رو امنیت سرویس ابری را باید افزایش داد تا مورد سوء استفاده افراد سودجو قرار نگیرد.

درآمد سالانه این سرویس مبلغی معادل ٨٠ الی ١٠٠ هزار دلار می باشد. با داشتن تخصص کافی و انگیزه بالا یک شخص می تواند به درآمدی مشابه رقم های گفته شده دست یابد.

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