آنچه در این صفحه می خوانید :
- معرفی لینوکس
- ویژگی های لینوکس
- کاربرد های لینوکس
- نرم افزار ها در لینوکس
- پایگاه های داده در لینوکس
- گواهینامه های لینوکس
معرفی لینوکس
لینوکس یک خانواده از سیستم عامل های مشابه یونیکس و اوپن سورس است که بر پایه هسته سیستم عامل لینوکس منتشر شده است. لینوکس به طور معمول در توزیع های لینوکس بسته بندی می شود. توزیع ها شامل هسته لینوکس و پشتیبانی از نرم افزار سیستم و کتابخانه ها، که بسیاری از آنها توسط پروژه GNU ارائه شده است. بسیاری از توزیع های لینوکس از نام «لینوکس» استفاده می کنند. توزیع های محبوب شامل Debian، Fedora و Ubuntu هستند. توزیع های تجاری عبارتند از Red Hat Enterprise Linux و SUSE Linux Enterprise Server. توزیع های لینوکس دسکتاپ شامل یک سیستم پنجره مانند X11 یا Wayland و یک محیط دسکتاپ مانند GNOME یا KDE Plasma 5 می باشند. توزیع های مورد نظر برای سرورها ممکن است تمام گرافها را حذف کنند یا شامل یک پشته راه حل مانند LAMP باشند. از آنجا که لینوکس آزادانه قابل توزیع است، هر کسی ممکن است یک توزیع برای هر هدف ایجاد کند.
لینوکس در اصل برای رایانه های شخصی مبتنی بر معماریx86 ساخته شده است، اما از آن زمان به سیستم عامل های بیشتری نسبت به بقیه سیستم عامل ها منتقل شده است. لینوکس سیستم عامل پیشرو در سرورها و دیگر سیستم های بزرگ mainframe و تنها سیستم عامل مورد استفاده در سوپر کامپیوترهای TOP500 است و از نوامبر 2017، به تدریج تمام رقبا را حذف کرد. لینوکس در حدود 2.3 درصد از رایانه های رومیزی مورد استفاده قرار می گیرد. Chromebook سیستم عامل Chrome OS را بر پایه هسته لینوکس اداره می کند و بر بازار آموزش K-12 ایالات متحده غلبه دارد و تقریبا 20 درصد از فروش نوت بوک های زیر 300 دلار در ایالات متحده را نشان می دهد. لینوکس نیز بر روی سیستم های جاسازی شده، یعنی دستگاه هایی که سیستم عامل آن به طور معمول در firmware ساخته شده است، اجرا می شود و به بسیار در خور سیستم است. این شامل روترها، کنترل های اتوماسیون، تلویزیون ها، ضبط کننده های ویدئویی دیجیتال، کنسول های بازی های ویدئویی و smartwatches است. بسیاری از گوشی های هوشمند و تبلت ها، اندروید و سایر مشتقات لینوکس را اجرا می کنند. به دلیل تسلط اندورید در گوشی های هوشمند، لینوکس بزرگترین پایگاه نصب شده در تمام سیستم عامل های عمومی است. لینوکس یکی از مهمترین نمونه های همکاری نرم افزار رایگان و اوپن سورس است. کد منبع ممکن است توسط هر کسی تحت شرایط مجوزهای مربوطه مانند GNU General Public License مورد استفاده، اصلاح و توزیع تجاری یا غیر تجاری قرار گیرد.
تاریخچه لینوکس
لینوکس در سال 1991 با شروع یک پروژه شخصی توسط دانشجوی فنلاندی، Linus Torvalds برای ایجاد یک سیستم عامل جدید آغاز شد. از آن زمان به بعد، هسته لینوکس نشان دهنده رشد ثابت آن در طول تاریخ است. بدین صورت که از تعداد کمی از فایل های C تحت مجوز منع توزیع تجاری به نسخه 4.15 در سال 2018 با بیش از 23.3 میلیون خط کد منبع، بدون شمردن کامنت ها تحت مجوز عمومی GNU v2 رشد کرده است. Torvalds شروع به توسعه هسته لینوکس در MINIX کرد و برنامه های کاربردی برای MINIX نوشته شده بود که در لینوکس نیز استفاده می شد. بعدها، لینوکس بالغ شد و توسعه لینوکس بیشتر در سیستم های لینوکس صورت گرفت. توسعه دهندگان برای ادغام اجزای گنو با هسته لینوکس، ساخت یک سیستم عامل کاملا کاربردی و رایگان کار کردند.
اجزای سیستم عامل لینوکس
سیستم مبتنی بر لینوکس یک سیستم عامل شبیه به یونیکس است که بخش عمده ای از طراحی اصلی خود را از اصولی است که در دهه 1970 و 1980 در یونیکس ایجاد شده است. چنین سیستمی از یک هسته یکپارچه، هسته لینوکس استفاده می کند، که کنترل فرآیند، شبکه سازی، دسترسی به لوازم جانبی و سیستم های پرونده را کنترل می کند. درایورهای دستگاه یا مستقیماً با هسته یکپارچه هستند یا به عنوان ماژول هایی که در هنگام کار سیستم بارگیری می شوند اضافه می شوند.
سرزمین کاربری گنو بخشی اساسی در اکثر سیستم های مبتنی بر هسته لینوکس است و اندیشه از این قاعده مستثنی است. این پروژه همچنین Bash، یک پوسته محبوب CLI را توسعه می دهد. رابط کاربری گرافیکی (یا GUI) که توسط اکثر سیستم های لینوکس مورد استفاده قرار می گیرد، بیشتر از اجرای سیستم Window X ساخته شده است.
اجزای نصب شده از سیستم لینوکس شامل موارد زیر است:
- به عنوان مثال، یک بوت لودر، GNU GRUB، LILO، SYSLINUX یا Gummiboot. این برنامه ای است که هسته را در حافظه اصلی کامپیوتر بارگذاری می کند، با اجرای کامپیوتر توسط آن هنگام روشن شدن و بعد از انجام اولیه سازی سیستم عامل.
- برنامه ابتکاری مانند sysvinit سنتی و سیستمهای جدیدتر، OpenRC و Upstart. این اولین فرایندی است که توسط هسته لینوکس راه اندازی شده است و در ریشه درخت فرآیند قرار دارد: به عبارت دیگر، کلیه فرایندها از طریق اولیه راه اندازی می شوند. این کار فرآیندی مانند سرویس های سیستم و پرس و جوهای ورود به سیستم (اعم از گرافیکی یا در حالت پایانه) را شروع می کند.
- كتابخانه های نرم افزار، شامل كدی هستند كه می توانند با اجرای فرایندها مورد استفاده قرار گیرند. در سیستم های لینوکس با استفاده از فایل های اجرایی با فرمت ELF، پیوند دهنده پویا که مدیریت کتابخانه های پویا را مدیریت می کند، به عنوان ld-Linux.so شناخته شده است. در صورت تنظیم سیستم برای کاربر که بتواند خود نرم افزار را کامپایل کند، پرونده های هدر نیز برای توصیف واسط کتابخانه های نصب شده درج می شوند. علاوه بر رایج ترین کتابخانه نرم افزاری در سیستم های لینوکس، کتابخانه GNU C (glibc)، تعداد زیادی کتابخانه دیگر، مانند SDL و Mesa وجود دارد.
- کتابخانه استاندارد C همان کتابخانه ای است که برای اجرای برنامه های C بر روی یک سیستم رایانه ای مورد نیاز است، با این که کتابخانه GNU C استاندارد است. برای سیستم های تعبیه شده، گزینه های دیگری از قبیل musl، EGLIBC (یک شاخه glibc که یک بار توسط Debian استفاده می شد)، و uClibc (که برای uClinux طراحی شده بود) توسعه داده شده اند، اگرچه دو مورد دیگر حفظ نشده اند. Android از کتابخانه C خود، Bionic استفاده می کند.
- دستورات پایه یونیکس، با اجرای استاندارد GNU Coreutils. گزینه های جایگزین برای سیستم های تعبیه شده، مانند copyleft BusyBox، و Toybox دارای مجوز BSD وجود دارد.
- مجموعه ابزارهای ویجت كتابخانه هایی هستند كه برای ساخت رابطهای كاربردی گرافیکی (GUI) برای كاربردهای نرم افزاری مورد استفاده قرار می گیرند. ابزارهای ابزارک بی شماری در دسترس هستند، از جمله GTK و Clutter که توسط پروژه GNOME ساخته شده است، Qt توسط پروژه Qt و به رهبری Digia ساخته می شود، و کتابخانه های بنیاد روشنگری (EFL) که توسط تیم روشنگری توسعه یافته اند.
- یک سیستم مدیریت بسته مانند dpkg و RPM. از طرف دیگر، بسته ها را می توان از تاربال های باینری یا منبع تهیه کرد.
- برنامه های رابط کاربر مانند پوسته های فرمان یا محیط های بادگیر.
رابط کاربری
رابط کاربری، که به پوسته نیز معروف است، یا یک رابط خط فرمان (CLI)، یک رابط کاربری گرافیکی (GUI) یا کنترل های متصل به سخت افزار مرتبط است که این برای سیستم های تعبیه شده معمول است. برای سیستمهای دسکتاپ، رابط کاربری پیش فرض معمولاً گرافیکی است، اگرچه CLI معمولاً از طریق ویندوز شبیه ساز ترمینال یا روی یک کنسول مجازی مجزا در دسترس است.
پوسته های CLI رابط کاربر مبتنی بر متن هستند که از متن و ورودی و خروجی استفاده می کنند. پوسته غالب مورد استفاده در لینوکس Bourne-Again Shell (bash) است که در ابتدا برای پروژه گنو ساخته شده است. بیشتر اجزای سطح پایین لینوکس، از جمله بخش های مختلف سرزمین کاربری، منحصراً از CLI استفاده می کنند. CLI به خصوص برای اتوماسیون کارهای تکراری یا تأخیری مناسب است و ارتباطات فرآیندی بسیار ساده ای را ارائه می دهد.
در سیستم های دسکتاپ، محبوب ترین واسط های کاربر پوسته های GUI هستند که به صورت بسته بندی شده با محیط های دسک تاپ گسترده مانند KDE Plasma، GNOME، MATE، Cinnamon، LXDE، Pantheon و Xfce بسته بندی شده اند، گرچه انواع واسط های اضافی کاربر نیز وجود دارد. اکثر رابط های کاربری مبتنی بر سیستم X Window، که اغلب به سادگی "X" خوانده می شوند. این شفافیت شبکه را فراهم می کند و به یک برنامه گرافیکی در حال اجرا بر روی یک سیستم اجازه می دهد تا در سیستم دیگری نمایش داده شود که در آن کاربر می تواند با برنامه تعامل داشته باشد. با این حال، برخی از پسوندهای سیستم X Window قادر به کار در شبکه نیستند. چندین سرور نمایشگر X وجود دارد که اجرای مرجع آن، سرور X.Org محبوب ترین آنهاست.
توزیع سرور ممکن است یک رابط خط فرمان را برای توسعه دهندگان و سرپرستان فراهم کند، اما رابط کاربری دلخواه را برای کاربران نهایی فراهم می کند، که برای مورد استفاده سیستم طراحی شده است. این رابط سفارشی از طریق مشتری که در سیستم دیگری ساکن است، لزوماً مبتنی بر لینوکس قابل دسترسی نیست.
چندین نوع مدیر پنجره برای X11 وجود دارد، از جمله کاشی کاری، پویا، انباشت و ترکیب. مدیران پنجره ابزاری برای کنترل قرارگیری و ظهور ویندوزهای برنامه های شخصی و تعامل با سیستم X Window فراهم می کنند. مدیران ساده پنجره X مانند dwm، ratpoison، i3wm یا herbstluftwm عملکردی حداقلی را ارائه می دهند، در حالی که مدیران پنجرهای دقیق تر مانند FVWM، روشنگری یا Window Maker ویژگی های بیشتری مانند نوار وظیفه داخلی و مضامین ارائه می دهند اما هنوز هم سبک هستند در مقایسه با محیط دسک تاپ. محیط های دسک تاپ شامل مدیران پنجره ها به عنوان بخشی از نصب های استاندارد آنها، مانند Mutter (GNOME)، KWin (KDE) یا Xfwm (xfce) است، اگرچه کاربران ممکن است در صورت تمایل تصمیم بگیرند از یک مدیر پنجره متفاوت استفاده کنند.
Wayland یک پروتکل سرور نمایشگر است که به عنوان جایگزینی برای پروتکل X11 در نظر گرفته شده است. از سال 2014، تصویب گسترده تری دریافت نکرده است. برخلاف X11، ویندلند نیازی به مدیر ویندوز بیرونی و مدیر آهنگسازی ندارد. بنابراین، یک آهنگساز Wayland نقش سرور نمایشگر، مدیر پنجره و مدیر آهنگساز را به عهده می گیرد. وستون اجرای مرجع ویندلند است، در حالی که GNOME Mutter و KWE از KWE به عنوان سرورهای نمایشگر مستقل به Wayland منتقل می شوند. روشنگری قبلاً با موفقیت از نسخه 19 منتقل شده است.
چرا از لینوکس استفاده کنیم؟
لینوکس تقریبا در هر سرور مورد استفاده قرار می گیرد.
لینوکس برای سرورها استاندارد است. لینوکس مدت ها پیش محبوب ترین نرم افزار HTTP سرور بوده و به طور جدی بر روی هسته لینوکس ساخته شده است. کاربران سازمانی ممکن است نسبت به ویندوز برای سازگاری با شرایط کاری به ویندوز متکی باشند، اما مدیران سرور عموما در لینوکس کار می کنند. اگر می خواهید با کارشناسان کار کنید، باید لینوکس را درک کنید.
لینوکس برای محیط های توسعه، استاندارد است.
توسعه دهندگان نیز به لینوکس علاقه دارند، نه فقط به دلیل آن که با سرور HTTP محبوب است. بخشی از این علاقه به سنت مربوط می شود. برنامه نویسان کامپیوتر اولیه از سیستم های مبتنی بر یونیکس استفاده می کردند. البته، این یکی از معدود سیستم عامل های موجود در آن زمان بود و در دانشگاه بسیار محبوب بوده است. امروزه، توسعه دهندگان مدرن نیز همین کار را می کنند. این برای برنامه نویسی نیز بسیار مؤثر است، به لطف بخشی از پوسته قدرتمند و فلسفه سیستم های مبتنی بر یونیکس، "همه چیز یک فایل" است.
ترمینال نیتیو قدرتمند و شل
شبیه خیلی از سیستم عامل های مبتنی بر یونیکس مانند macOS، تمام توزیع های لینوکس دارای یک پوسته قدرتمند هستند که اغلب Terminal نامیده می شود. این رابط فقط متنی برای نزدیک تر شدن به جسم و به روح کامپیوتر شما است و به طریقی قدرتمند ترین ابزار در بیشتر توزیع های لینوکس می باشد.
توانایی کاربران برای حل مشکلات
در لینوکس، کاربر می تواند مشکلات خود را حل کند. این نیز می تواند یک موضوع نزولی باشد زیرا اغلب به این معنی است که کاربر باید مشکلات خود را حل کند. با این حال، به عنوان یک ابزار آموزشی، هیچ چیز بهتر از حل یک مشکل واقعی برای خودتان نیست. این به این معنی است که اکثرا به ما تولید برنامه را آموخته اند و این باعث می شود که توانایی مدیریت بهتر سیستم را نیز یاد بگیرید.
دسترسی کاربران به سیستم های بحرانی را محدود نمی کند.
همانطور که رایانه ها گسترده تر شده اند، دسترسی کاربران به سیستم های بحرانی محدود تر شده است. هر ساله، سیستم عامل های اصلی، کاربر را به نام امنیت محدود می کنند. متاسفانه اغلب آنها درست هستند، زیرا فقط درصد کمی از کاربران به اندازه کافی می دانند که سیستم خود را مسئولانه مدیریت کنند، بنابراین محال است که کاربران متوسط را برای جلوگیری از آسیب های احتمالی یا خطاهای قابل پیشگیری استفاده کند. اما اگر شما یکی از معدود افرادی هستید که در راه تکنیک های هوشمندانه هستید، لینوکس به شما آزادی بیشتری می دهد. شما می توانید چیزی را که می خواهید بریزید و آن را نیز حل کنید تا زمانی که به اندازه کافی هوشمند باشید.
ثبات بالاتر از سایر سیستم ها
هنگامی که شما نیاز به اجرای یک سیستم مهم جهت ماموریت حیاتی دارید، مانند یک رایانه کنترل ترافیک هوایی، آن را ساده و مدولار ساختید یک مشکل در یک سیستم نباید بر دیگر بخش ها تاثیر بگذارد. لینوکس دقیقا بر اساس این فلسفه ساخته شده است، با هسته قوی با انعطاف پذیری یونیکس و همچنین بسته های گسترده آزمایش شده برای آن پشتیبانی می شود.
لینوکس اوپن سورس و رایگان است.
هزینه سیستم عامل شما چیزی نیست که شما به آن فکر کرده اید. ممکن است ویندوز حدود 100 دلار برای مجوز شخصی هزینه کند، اما با توجه به اینکه به ندرت شما سیستم عامل را خریداری می کنید،به سختی قابل تحمل است. اما اوپن سورس به معنی امن تر و وسیع تر است به طور گسترده ای استفاده می شود.
امنیت بیشتر
امنیت بخش مهمی از محیط کاری لینوکس است. از آنجا که این سیستم توسط یک جامعه اوپن سورس ساخته شده است، تعداد زیادی چشم به طور مداوم سیستم امنیتی را بررسی می کنند. با تسلط لینوکس در فضای سرور، نیز برای امنیت وب بسیار مهم است. به همین ترتیب، توسعه ایمن لینوکس برای دنیای مدرن فناوری بسیار مهم است، زیرا بیشتر فناوری های وب بر روی شانه سرورهای قابل اعتماد و امن قرار دارد. البته هیچ چیز کاملا امن نیست، اما عموما امن تر از جایگزین است.
انعطاف پذیری بیشتر
در لینوکس تقریبا می توان هر چیزی را که می خواهید بسازید. در خارج از هسته اصلی شما می توانید اساسا یک سیستم عامل با اضافه کردن بسته ها توزیع خود را بسازید. اگر بخواهید وقت خود را برای ساختن آن آماده کنید، می توانید هر چیزی که می خواهید، از یک سرور ضد گلوله گرفته تا زیبایی که تا به حال دیده اید را ایجاد کنید.
تفاوت بین لینوکس و سیستم عامل های دیگر
در بسیاری موارد، لینوکس مشابه سایر سیستم عامل هایی است که شما قبلا از آن ها استفاده کرده اید، مانند ویندوز، OS X یا iOS. لینوکس مانند سایر سیستم عامل ها دارای یک رابط گرافیکی و انواع نرم افزار است که شما بر اساس عادت در سایر سیستم عامل ها از آنها استفاده می کردید مانند اپلیکیشن های پردازش متن که دارای معادلات لینوکس هستند. اما لینوکس در موارد متعددی نیز از سیستم های عامل های دیگر متفاوت است. اول و شاید مهمتر از همه، لینوکس نرم افزار اوپن سورس است. کد مورد استفاده برای ایجاد لینوکس رایگان است و برای عموم مردم برای مشاهده، ویرایش و برای کاربران در دسترس است. اگرچه قطعات اصلی سیستم عامل لینوکس عموما رایج هستند، توزیع های زیادی از لینوکس وجود دارد که شامل آپشن های مختلف نرم افزاری هستند. این بدان معنی است که لینوکس فوق العاده قابل تنظیم و سفارش سازی است، زیرا اپلیکیشن هایی مانند پردازنده های کلمه و مرورگرهای وب را نمی توان تغییر داد.
کاربران لینوکس نیز می توانند کامپوننت های اصلی را انتخاب کنند، مانند این که کدام سیستم گرافیک و سایر کامپوننت های رابط کاربری را نمایش می دهد. یونیکس یک سیستم عامل ساخته شده در دهه 1970 در آزمایشگاه Bell توسط Ken Thompson،Dennis Ritchie و دیگران است. یونیکس و لینوکس به طرق مختلفی مشابه هم هستند و در واقع لینوکس برای شبیه بودن به یونیکس ایجاد شده است. هر دو ابزار مشابهی برای ارتباط با سیستم ها، ابزار برنامه نویسی، طرح بندی های فایل سیستم و سایر کامپونت های کلیدی دارند. با این حال، یونیکس رایگان نیست. در طول سال ها، تعدادی از سیستم عامل های مختلف ایجاد شده اند و تلاش کرده اند تا "یونیکس مانند" یا "سازگار با یونیکس" باشند، اما لینوکس موفق تر از آنها بوده و از محبوبیت بیشتری هم برخوردار است.
توزیع های لینوکس
توزیع های لینوکس توسط افراد، گروه های نه چندان متشکل و سازمان های حرفه ای گوناگون ایجاد می شوند. این توزیع ها شامل تعدادی نرم افزار سیستم و برنامه های کاربردی به همراه روالی مشخص برای نصب آنها بر روی رایانه هستند. توزیع ها به طور معمول برای منظورهای مختلفی از جمله محلی سازی، پشتیبانی از یک معماری خاص، برنامه های بلادرنگ (real-time applications) و سامانه های جاسازی شده (embedded systems) بوجود می آیند و برخی از آن ها آگاهانه تنها از نرم افزارهای آزاد استفاده می کنند. یک توزیع همه منظوره معمولی شامل هسته لینوکس، کتابخانه ها و ابزارهای گنو، خط فرمان و انبوه بی شماری از نرم افزارهای کاربردی از مجموعه های اداری و سیستم پنجره ای گرفته تا مفسرها، ویرایشگرهای متن و ابزارهای علمی است.
لینوکس تعداد متنوعی دارد که متناسب با هر نوع کاربر است. به این نسخه ها توزیع (یا به شکل کوتاه "distos") گفته می شود. تقریباً هر توزیع لینوکس را می توان به صورت رایگان دانلود و نصب کرد.
Debian:یک توزیع غیر تجاری که توسط جامعهای از توسعه دهندههای داوطلب نگهداری میشود که تعهد قوی ای به قواعد نرمافزارهای آزاد دارند.
Ubuntu:توزیع دسکتاپ و سرور توسط دبیان که توسط شرکت انگلیسی Canonical Ltd پشتیبانی می شود.
Kali:یک توزیع از لینوکس بر پایه دبیان و توسط .Offensive Security Ltd ساخته شده است که توسط متخصان امنیتی برای انجام عملیات تست نفوذ و جرم یابی قانونی دیجیتال یا توسط هکرها برای انجام عملیات نفوذ، هک و کرک به کار برده میشود.
CentOS:توزیع حاصل از منابع مشابهی که توسط Red Hat استفاده می شود و توسط یک انجمن داوطلب اختصاصی توسعه دهندگان با نسخه های سازگار با نسخه های100٪ Red Hat پشتیبانی می شود و نسخه ارتقا یافته است که همیشه 100٪ سازگار نیست.
RedHat:یک مشتق تجاری از فدورا توسط Red Hat نگهداری و پشتیبانی می شود. این نسخه برای ارائه آزمایش، امنیت و پایداری لینوکس سرور و ایستگاه کاری برای کسب و کار است.
Arch linux:یک توزیع که بر پایهٔ قوانین KISS بنا شده همراه با سیستم انتشار rolling می باشد.
Slackware:اولین توزیع هنوز زنده لینوکس که شاخه بزرگی از توزیع ها از آن اشتقاق یافتهاند یا مانند آرچ بعضی دیگر آن را در مواردی مانند اصل KISS الگو قرار دادند. اسلکور با کمترین تغییر در بستههای همراه خودش، پایدارترین لینوکس به حساب میآید.
Fedora: یک توزیع بر پایه جامعه است که توسط ردهت سرپرستی میشود.
Gentoo:یک توزیع هدفمند برای کاربران شناخته شده برای سیستم FreeBSD Ports مانند سیستم خودکار برای کامپایل برنامه ها از کد منبع ایجاد شده است.
Knoppix:اولین توزیع که کاملا از یک رسانه قابل حمل در دیسک سخت بدون نصب اجرا میشود و از دبیان مشتق شدهاست.
Linux Mint Debian Edition:توزیع مبتنی و سازگار با اوبونتو و پشتیبانی از چندین محیط دسکتاپ را شامل می شود.
Mandriva Linux:یک توزیع مشتق شده از ردهت که در فرانسه و برزیل محبوب است، امروزه با همان نام و بهوسیله یک شرکت فرانسوی اداره میشود.
openSUSE:توزیع عمومی که عمدتا توسط شرکت SUSE آلمان پشتیبانی می شود.
ویژگی های لینوکس
بعنوان یک سیستم عامل، برخی از ویژگی های لینوکس عبارتند از:
- قابلیت Multiuser: چند کاربر می توانند به همان منابع سیستم مانند حافظه، هارد دیسک و غیره دسترسی پیدا کنند اما برای کار باید مجبور به استفاده از پایانه های مختلف باشند.
- چند وظیفه ای: با تقسیم هوشمندانه CPU می توان بیش از یک عملکرد را انجام داد.
- قابلیت حمل: قابلیت حمل به معنای کوچکتر بودن اندازه نیست یا می توان آن را در درایوهای قلم یا کارت حافظه حمل کرد. این بدان معنی است که آنها از سخت افزارهای مختلف پشتیبانی می کنند.
- امنیت: امنیت را از سه طریق تأیید هویت (با اختصاص رمز ورود و شناسه ورود به سیستم)، مجوز (با اختصاص اجازه خواندن، نوشتن و اجرای) و رمزگذاری (تبدیل پرونده به قالب غیرقابل خواندن) فراهم می کند.
- CD CD / USB Live: تقریباً همه توزیع های لینوکس CD / USB زنده را ارائه می دهند تا کاربران بتوانند بدون نصب آن، آن را اجرا یا امتحان کنند.
- رابط کاربری گرافیکی (X Window System): لینوکس یک سیستم عامل مبتنی بر خط فرمان است اما با نصب بسته ها می توان آن را به GUI تبدیل کرد.
- صفحه کلید سفارشی پشتیبانی: همانطور که در سراسر جهان استفاده می شود، از این رو از صفحه کلیدهای مختلف زبان پشتیبانی می کند.
- پشتیبانی برنامه: این مخزن نرم افزار مخصوص به خود را دارد که در آن کاربران می توانند بسیاری از برنامه ها را دانلود و نصب کنند.
- File System: یک سیستم فایل سلسله مراتبی را فراهم می کند که در آن پرونده ها و فهرست ها قرار دارند.
- اوپن سورس: کد لینوکس بطور رایگان در دسترس همگان است و یک پروژه توسعه مبتنی بر جامعه است.
کاربرد های لینوکس
احتمالاً از لینوکس استفاده می کنید، چه آن را می دانید یا نه. بسته به نوع کاربر، بین یک و دو سوم صفحات وب در اینترنت توسط سرورهای دارای لینوکس تولید می شوند. شرکت ها و افراد، لینوکس را برای سرورهای خود انتخاب می کنند زیرا امنیت آن است و شما می توانید علاوه بر شرکت هایی مانند Canonical، SUSE و رد هت (Red Hat) که پشتیبانی تجاری را ارائه می دهند، از جامعه بزرگی از کاربران نیز پشتیبانی عالی دریافت کنید.
بسیاری از دستگاه های شما احتمالاً مانند تلفن های Android، دستگاه های ذخیره سازی دیجیتال، ضبط کننده فیلم های شخصی، دوربین ها، پوشیدنی ها و موارد دیگر، لینوکس را اجرا می کنند. حتی ماشین شما دارای لینوکس است که زیر کاپوت کار می کند.
از دیگر استفاده های لینوکس می توان به موارد زیر اشاره نمود:
- سرویس وب
تعداد زیادی از کل وب سایت های اینترنتی با استفاده از یک برنامه اوپن سورس با نام "Apache" اداره می شوند. بیشتر اوقات، این برنامه در لینوکس اجرا می شود. اگر تا به حال در وب گشت و گذار کرده اید، از لینوکس (غیر مستقیم) استفاده کرده اید!
لینوکس مبتنی بر یونیکس است، یک سیستم عامل که در دهه 1970 توسعه یافت و امروزه به ویژه برای اجرای اینترنت هنوز به شدت مورد استفاده قرار می گیرد. لینوکس هم برای اجرای قسمت هایی از اینترنت و هم برای اجرای شبکه های کوچک و بزرگ در شرکت ها، دفاتر و خانه ها استفاده می شود.
- پایگاه داده
از آنجا که لینوکس پایدار، ایمن و قوی است، برای ذخیره سازی پایگاه داده های عظیم اطلاعات مناسب است.
- سیستم عامل دسکتاپ
افرادی مانند ما به دلیل پایداری و انعطاف پذیری آن از لینوکس در رایانه های منزل و محل کار خود استفاده می کنند.
- محاسبات علمی
ده ها نفر (یا حتی صدها یا هزاران نفر) سیستم لینوکس را می توان در کنار هم قرار داد تا روی یک کار واحد کار کنند (مانند پیش بینی هوا، شبیه سازی فیزیک، ارائه گرافیک رایانه و غیره) مجموعه بزرگی از رایانه های شخصی ارزان قیمت که لینوکس را اجرا می کنند می توانند به همان اندازه یک کامپیوتر اصلی اما با یک دهم هزینه قدرتمند باشند.
- محاسبات خانگی
و مطمئناً، افرادی مثل ما و افرادی مانند شما می توانند از لینوکس به صورت روزانه در خانه و دفتر استفاده کنند!
نرم افزار ها در لینوکس
درست همانطور که سیستم عامل به راحتی نصب می شود، برنامه های کاربردی نیز وجود دارند. اکثر توزیع های مدرن لینوکس شامل مواردی هستند که بیشتر فروشگاه برنامه را در نظر می گیرند. این یک مکان متمرکز است که می توان نرم افزار را جستجو و نصب کرد. Ubuntu Linux (و بسیاری از توزیع های دیگر) به نرم افزار GNOME تکیه می کنند، سیستم عامل ابتدایی دارای AppCenter است، Deepin دارای مرکز نرم افزار Deepin است، openSUSE دارای AppStore خود است و برخی از توزیع ها به Synaptic متکی هستند.
صرف نظر از نام، هر کدام از این ابزارها همین کار را انجام می دهند؟ یک مکان اصلی برای جستجو و نصب نرم افزار لینوکس. البته این قطعات نرم افزار بستگی به وجود یک رابط کاربری گرافیکی (GUI) دارد. برای سرورهای کمتر GUI، برای نصب باید به رابط خط فرمان وابسته باشید.
بیایید به دو ابزار مختلف نگاه کنیم تا نشان دهیم که حتی نصب خط فرمان چقدر ساده است. نمونه های ما برای توزیع های مبتنی بر دبیان و توزیع های مبتنی بر فدورا است. دایرکتوری های مستقر در Debian از ابزار apt-get برای نصب نرم افزار استفاده می کنند و دیواری های مبتنی بر فدورا به استفاده از ابزار yum نیاز دارند. هر دو کار بسیار مشابه دارند.
برای نصب با استفاده از apt-get:
?sudo apt-get install wget
دستور sudo اضافه شده است زیرا برای نصب نرم افزار به امتیازات فوق العاده کاربر نیاز دارید. به همین ترتیب، برای نصب همان نرم افزار در یک توزیع مبتنی بر فدورا، ابتدا Su را به کاربر فوق العاده (به معنای واقعی کلمه دستور Su را صادر کرده و رمز عبور اصلی را وارد می کنید)، صادر کنید و سپس این دستور را صادر کنید:
yum install wget
نصب نرم افزار بر روی دستگاه لینوکس، آن طور که فکر می کنید چالش برانگیز نیست. با یک فرمان واحد:
sudo taskel
می توانید یک سرور کامل LAMP (Linux Apache Apache MySQL PHP) بر روی سرور یا توزیع دسکتاپ نصب کنید.
آشنایی با رابط خط فرمان لینوکس
رابط خط فرمان (CLI)، دستورات را به یک برنامه رایانه ای در قالب خطوط متن پردازش می کند. برنامه ای که رابط کاربری دارد پردازنده خط فرمان نامیده می شود. سیستم های عامل برای دسترسی تعاملی به توابع یا خدمات سیستم عامل، یک رابط خط فرمان را در یک پوسته پیاده سازی می کنند. این دسترسی در ابتدا توسط ترمینال های رایانه ای که از اواسط دهه 1960 شروع می شد در اختیار کاربران قرار گرفت و همچنان در طول دهه 1970 و 1980 در VAX / VMS، سیستم های یونیکس و سیستم های رایانه شخصی از جمله DOS، CP / M و Apple DOS مورد استفاده قرار می گرفت.
امروزه، کاربران به واسط های گرافیکی کاربر و تعامل منو محور متکی هستند. با این حال، برخی از کارهای برنامه نویسی و نگهداری ممکن است دارای رابط کاربری گرافیکی نباشند و ممکن است هنوز هم از یک خط فرمان استفاده کنند. خط فرمان لینوکس رابط متنی به رایانه شما است. اغلب به عنوان پوسته، ترمینال، کنسول، سریع یا نام های مختلف دیگر مورد استفاده قرار می گیرد، می تواند ظاهر پیچیده و گیج کننده ای برای استفاده ایجاد کند. با این وجود، توانایی کپی و چسباندن دستورات از یک وب سایت، همراه با قدرت و انعطاف پذیری خط فرمان، به معنای استفاده از آن ممکن است هنگام تلاش برای پیروی از دستورالعمل های آنلاین - از جمله بسیاری در وب سایت باشد!
پایگاه های داده در لینوکس
بانک اطلاعاتی لینوکس به هر پایگاه داده ای که مخصوص سیستم عامل لینوکس ساخته شده است اشاره دارد. این پایگاه داده ها برای استفاده از ویژگی های لینوکس طراحی شده اند و معمولاً بر روی سرورها (اعم از مجازی و فیزیکی) که بهینه سازی شده اند برای عملکرد در سیستم عامل اپن سورس اجرا می شوند. این مهم است، زیرا لینوکس در مقایسه با سیستم عامل های سنتی مانند Windows یا Mac OS اپل مزایای مختلفی را ارائه می دهد، اما عملکرد آن تا حدی متفاوت است.
لینوکس مبتنی بر زبان Unix است و برخلاف ویندوز یا حتی سیستم عامل Mac، اکثر انواع کاملاً مبتنی بر خط فرمان هستند. برای پایگاه داده ها، این به معنای درجه بالاتری از قابلیت شخصی سازی و دقت بیشتر است، اما عدم عملکرد در سرورهای استاندارد است. مهمتر از همه، سرورهای لینوکس که پایگاه داده های لینوکس روی آنها میزبانی می شوند، به دلیل پایداری و زمان های اطمینان قابل اعتماد شناخته شده اند، بنابراین سازمان ها می توانند با آگاهی بیشتر از اطلاعات امن و در دسترس خود راحت تر عمل کنند.
سرانجام، بانک های اطلاعاتی لینوکس به دلیل انعطاف پذیری داخلی لینوکس مفید هستند. هسته و منبع آزاد یونیکس آن بدان معنی است که می توانید ابزارهای خاص موردنیاز خود را ایجاد و اضافه کنید و به شما امکان دسترسی کامل به ریشه را می دهد.
از چه پایگاه های داده می توان در لینوکس استفاده کرد؟
تقریباً مانند پایگاه داده های استاندارد، می توانید از پایگاه داده های لینوکس برای طیف گسترده ای از توابع و نیازهای داده استفاده کنید. با استفاده از بانک اطلاعاتی لینوکس، می توانید یک انبار داده با ثبات تر ایجاد کنید که مجوزهای خاصی را به اعضای تیم های مختلف ارائه می دهد و به تیم IT شما کنترل کامل را برای حل هر مسئله ای که ممکن است ایجاد شود، می دهد.
این با ارزش است، زیرا ایجاد بانکهای اطلاعاتی با دسترسی کامل در عمل بسیار عالی است، اما ممکن است منجر به خراب شدن، حذف شدن یا به سادگی ذخیره سازی اطلاعات نادرست شود که می تواند بر بهره وری تأثیر بگذارد.
در اینجا لیستی از بهترین پایگاه های داده در لینوکس آورده شده است:
پایگاه داده اوراکل یک سلوشن چند مدلی است که توسط شرکت اوراکل به بازار عرضه می شود و به دلیل قابلیت های توانمند سازی آن در سراسر جهان بسیار مورد استفاده قرار می گیرد.
MariaDB یکی از بهترین سیستم های مدیریت پایگاه داده لینوکس است که در اخیرا ایجاد شده است. این لیست عظیمی از ویژگی های قدرتمند و در عین حال انعطاف پذیر را فراهم می کند که آن را به گزینه ای مناسب برای توسعه برنامه های کاربردی وب می دهد.
MySQL بدون شک یکی از محبوب ترین و پرکاربردترین سیستم های مدیریت پایگاه داده برای کاربران لینوکس است. این شرکت از بدو تأسیس در 1995 با موفقیت گسترده ای روبرو بوده است و به نظر می رسد سیستم مدیریت پایگاه داده اپن سورس de-facto است.
MongoDB یکی از معروف ترین و پرکاربردترین سیستم های مدیریت پایگاه داده اسناد گرا برای کاربران لینوکس است. این امر در رده سیستم های پایگاه داده NoSQL قرار می گیرد. برخلاف پایگاه داده های رابطه ای، پایگاه های داده NoSQL از داده های جدولی مبتنی بر رابطه استفاده نمی کنند.
PostgreSQL یکی از قدرتمندترین سیستمهای مدیریت پایگاه داده برای لینوکس است که کاربردهای گسترده ای در چندین پروژه دارد. این یک سیستم مدیریت پایگاه داده اپن سورس است که از مدل بانک اطلاعاتی رابطه ای بهره می برد و تأکید زیادی روی توسعه پذیری، عملکرد برتر و سهولت استفاده دارد.
SQLite احتمالاً یکی از خلاقانه ترین و قدرتمندترین سیستم های مدیریت پایگاه داده برای لینوکس است. این مبتنی بر SQL است و از رویکرد مدیریت داده های رابطه ای استفاده می کند. آنچه SQLite را متفاوت از سیستم های مدیریت پایگاه داده لینوکس متمایز می کند این است که موتور پایگاه داده سنتی کلاینت-سرور را دنبال نمی کند.
Redis یک سیستم مدیریت پایگاه داده قوی، در حافظه و اپن سورس برای ذخیره جفت های با ارزش اصلی است. معمولاً در حافظه پنهان استفاده می شود و به دلیل سرعت زیاد صاعقه از محبوبیت زیادی برخوردار است. Redis برخلاف سیستم های سنتی مدیریت داده های لینوکس، داده ها را در HDD ذخیره نمی کند. این جفت شدن مقدار کلیدی را در RAM ذخیره می کند. از آنجا که دسترسی به RAM بسیار سریعتر از دسترسی به HDD یا حتی SSD است، Redis جزء سریعترین سیستمهای مدیریت پایگاه داده برای ذخیره سازی است.
سیستم فایل توزیع شده هدوپ (HDFS) یکی از پرکاربردترین سیستم های مدیریت پایگاه داده برای کاربران لینوکس است که منحصراً در زمینه یادگیری ماشینی سروکار دارند. این امکان را به متخصصان علوم داده می دهد تا انبوهی از داده ها را بصورت توزیع شده در گره ها در یک شبکه خاص ذخیره کنند.
اس کیوال سرور و لینوکس
اس کیوال سرور (SQL Server) یک سیستم مدیریت پایگاه داده رابطه ای است که توسط مایکروسافت ساخته شده است. به عنوان سرور پایگاه داده، این محصول نرم افزاری است که دارای عملکرد اصلی ذخیره و بازیابی داده ها طبق درخواست سایر برنامه های نرم افزاری است، که ممکن است در یک رایانه یا بر روی یک رایانه دیگر در سراسر شبکه (از جمله اینترنت) اجرا شود. مایکروسافت حداقل ده ها نسخه مختلف Microsoft SQL Server را با هدف مخاطبان مختلف و برای بارهای کاری اعم از برنامه های کوچک یک دستگاه گرفته تا برنامه های بزرگ اینترنتی با بسیاری از کاربران همزمان به بازار عرضه می کند.
مایکروسافت SQL Server از طیف گسترده ای از پردازش تراکنش، اپلیکیشن های هوشمند و تجزیه و تحلیل کسب و کار در محیط های فناوری اطلاعات پشتیبانی می کند. این یکی از سه تکنولوژی پایگاه داده پیشرو در کنار پایگاه داده اوراکل و DB2 IBM است. اساسا کد SQL Server در دهه 1980 توسط شرکت Sybase سابق توسعه یافت که اکنون متعلق به SAP است. Sybase در ابتدا نرم افزار را برای اجرای سیستم عامل های یونیکس و سیستم عامل های مینی کامپیوتر ساخت. بعد از آن، Microsoft و Ashton-Tate Corp و سپس فروشنده پیشرو پایگاه های داده های کامپیوتری تیمی تشکیل دادند و اولین نسخه از آنچه که امروزه Microsoft SQL Server می نامیم را ایجاد کردند که برای سیستم عامل OS / 2 طراحی شده بود و در سال 1989 منتشر شد.
SQL Server در لینوکس در حال حاضر از Red Hat Enterprise Linux (RHEL)، SUSE Linux Enterprise Server و Ubuntu پشتیبانی می کند. همچنین می توانید SQL Server را در یک ظرف داکر اجرا کنید. این بدان معنی است که می توان SQL Server را روی سیستم عامل های Linux، Mac یا Windows اجرا کرد.
وقتی مایکروسافت برای اولین بار در مورد آوردن SQL Server به لینوکس بحث کرد، این شرکت اعلام کرد که عملکرد حداقل برابر با SQL Server در ویندوز خواهد بود. هدف این است که تجربه مشتری در SQL Server بدون توجه به آنچه در سیستم عامل استفاده می شود باید یکسان باشد. برای این منظور، مایکروسافت دستورالعمل هایی را برای پیکربندی SQL Server در لینوکس منتشر کرده است.
گواهینامه های لینوکس
آزمون بین المللی RED HAT
- (Red Hat Certified System Administrator (RHCSA
- (Red Hat Certified Engineer (RHCE
- (Red Hat Certified Virtualization Administrator (RHCVA
- (Red Hat Certified Datacenter Specialist (RHCDS
- (Red Hat Certified Security Specialist (RHCSS
- (Red Hat Certified Architect (RHCA
آزمون بین المللی LPIC
- Linux Essentials
- (Junior Level Linux Certification (LPIC-1
- (Advanced Level Linux Certification (LPIC-2
- (Senior Level Linux Certification (LPIC-3
آزمون بین المللی Novell
- Novell Certified Linux Engineer
- Certified Linux Administrator
- Certified Linux Desktop Administrator
- Novell Certified Linux Professional
آزمون بین المللی ORACLE
- (Oracle Solaris System Administrator (OCA
- (Oracle Solaris System Administrator (OCP
- (Oracle Solaris Network Administrator (OCE
- (Oracle Solaris Security Administrator (OCE
- (Oracle Solaris Cluster System Administrator (OCP
- (Oracle Linux Administrator (OCA
- Oracle Linux Certified Implementation Specialist
- Managing Oracle on Linux Certified Expert
آزمون بین المللی IBM
- IBM Certified Systems Expert – Enterprise Technical Support for AIX and Linux
- IBM CSE – Virtualization Technical Support for AIX and Linux
- IBM CSE – High Availability for AIX Technical Support and Administration
- IBM Certified Operator – AIX Basic Operations
- IBM Certified System Administrator – AIX
آزمون بین المللی HP
- CSA – HP-UX
- CSE – Specialty in High Availability – HP-UX
- CSE – Specialty in Networking and Security – HP-UX
- CSE – Specialty in Virtualization – HP-UX
آزمون بین المللی BSD
- (BSD Associate (BSDA
- (BSD Professional (BSDP
آزمون بین المللی GIAC
- (GIAC Certified UNIX Security Administrator (GCUX