Skip to Content

آرشیو دسته بندی ها:وبلاگ

آموزش بکاپ و ریستور کردن بانک اطلاعاتی در لینوکس

بک آپ گیری و بازگرداندن بانک اطلاعاتی در لینوکس : دستوراتی که در این آموزش قصد دارم به شما معرفی کنم به مدیران بانک های اطلاعاتی در لینوکس و  مای اسکیول کمک خواهد کرد تا از بانک های اطلاعاتی بک آپ گیری و یا بک آپ مدنظر را ریستور نمایند این آموزش در حول محور سه دستور اصلی mysql و mysqldump وmysqlimport خواهد بود البته در این اموزش ما فرض را بر این میزارم که از قبل مای اسکیول بر روی سیستم نصب و در حال استفاده میباشد

این مطلب هم میتواند برای شما مفید باشد   مک آدرس MAC Address : تشریح ساختار و معرفی

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

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

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

در صورتیکه که بخواهید بصورت یکجا از تمامی بانک های موجود بک آپ گیری نمایید

اگر بخواهید صرفا از Structure بانک اطلاعاتی مدنظر بک آپگیری نمایید

اگر بخواهید صرفا از داده های موجود در بانک بدون بک آپگیری نمایید

این مطلب هم میتواند برای شما مفید باشد   دانلود کتاب آموزش MySQL مای اسکیوال و phpmyadmin به زبان فارسی

نحوه بک آپگیری از یک table خاص  در بانک

نحوه بک آپگیری از table های متفرقه و متفاوت

نحوه بک آپگیری از بانکی بصورت ریموت

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

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

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

ادامه مطلب

معماری های لینوکس

معماری های لینوکس

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

از قدیم تقریبا تمام توزیع‌های مشهور لینوکس هم با نسخه ۳۲ بیت عرضه می‌شدند و هم به شکل نسخه ۶۴ بیتی و اینکه کاربر کدام را دانلود و نصب می‌کرد وابسته به فاکتورهای مختلفی بود. تا یکسال پیش تقریبا اکثر توزیع‌های بزرگ به شکل پیش‌فرض شما را به سمت نسخه‌های ۳۲ بیتی راهنمایی می‌کردند و حالا توزیع‌هایی مثل اوبونتو و فدورا در سایت‌هایشان نسخه‌های ۶۴ بیتی را گزینه پیش فرض قرار داده‌اند. اما اول بگذارید ببینیم مفهوم این عددها چیست.

جریان چیست؟

عددهایی مثل ۳۲ یا ۶۴ نشان دهنده اندازه (عرض) حافظه‌ای است که یک پردازشگر (سی پی یو) می‌تواند به آن دسترسی پیدا کند. اگر بخواهیم عبارت را دقیق‌تر بیان کنیم باید بگویم که گفتن عبارت «کامپیوتر ۶۴ بیتی» یعنی پردازشگر این کامپیوتر رجیسترهایی به اندازه ۶۴ بیت داشته و در هر عملیات واحد می‌تواند روی ۶۴ بیت پردازش انجام دهد.

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

فهرست پروسس‌های ۶۴ بیت

چون در دنیای ویندوز سیستم‌عامل‌های ۶۴ تازه برای کارهای دسکتاپ مشهور شده‌اند، عده‌ای هیجان دارند که درباره آن صحبت کنند اما واقعیت این است که مفهوم پروسسور ۶۴ بیتی مفهومی کاملا جا افتاده و حتی قدیمی است و اگر کامپیوتر شما از سال ۲۰۰۸ به بعد ساخته شده، به احتمال زیاد معماری ۶۴ بیتی دارد. فهرست زیر نشان دهنده پردازنده‌های ۶۴ بیت موجود است:

AMD

Athlon64, Athlon FX, Athlon X2, Phenom, Semprons that use AM2/AM2+/AM3 socket, Turion64 Intel

F and 5×1 series Pentium 4 using the “Prescott” core Pentium D Core 2 (Solo, Duo & Quad) Core i3 (all) Core i5 (all) Core i7 (all) VIA

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

grep –color=always -iw lm /proc/cpuinfo در صورتی که خروجی این دستور حاوی lmهای رنگی باشد، می‌گوید که سی‌پی‌یو(ها)ی شما از حالت long mode یا همان آدرس دهی ۶۴ بیتی پشتیبانی می‌کنند.

مقایسه

سرعت

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

حافظه

از نظر ریاضی یک سیستم ۳۲ بیتی می‌تواند تا ۴ گیگابایت حافظه و یک سیستم ۶۴ بیت تا ۱۶.۸ میلیون ترابایت (۱۶ اگزابایت) حافظه را آدرس دهی کند. پس اگر شما ۸ گیگابایت رم داشته باشید، در حالت عادی یک سیستم ۳۲ بیتی فقط خواهد توانست از ۴ گیگ آن استفاده کند در حالی که یک سیستم ۶۴ می‌تواند میلیون‌ها برابر بزرگتر از آن‌ را هم کنترل کند. اما این اصلا به این معنی نیست که اگر بیشتر از ۴ گیگ رم دارید، ملزم به نصب ۶۴ بیت هستید. از مدت‌ها پیش، یک افزونه در کرنل به نام Physical Address Extention که به شکل مخفف PAE خوانده می‌شود، محدودیت آدرس دهی کرنل‌های ۳۲ بیتی را به ۶۴ گیگ افزایش داده.

اگر بیشتر از ۴ گیگابایت رم دارید و می‌خواهید از یک سیستم عامل (و در نتیجه کرنل ۳۲ بیتی) استفاده کنید باید مطمئن شوید که کرنل pae را نصب کرده‌اید. معمولا می‌توانید این کرنل را در مخازن با جستجو به دنبال pae پیدا کرده و نصب کنید. با توجه به طبیعی‌تر شدن داشتن رم‌های بالای ۴ گیگ، بعضی توزیع‌های مشهور (از جمله اوبونتو) در نسخه‌های اخیر خود به شکل پیش فرض از کرنل PAE استفاده می‌کنند.

سازگاری

تقریبا تا دو سال قبل، استفاده از یک لینوکس ۶۴ بیت با دردسرهایی مثل سخت تر بودن نصب بعضی برنامه‌ها (بخصوص فلش و جاوا) همراه بود. این مشکل حالا تا حد زیادی مرتفع شده. البته کماکان نصب یک سیستم ۶۴ بیتی ممکن است در لحظاتی باعث دردسرهایی در نصب برنامه های جدید بشود. مثلا برنامه اسکایپ یا یک بازی جدید که توسط یک کمپانی به شکل باینری برای لینوکس عرضه شده ممکن است روی سیستم‌های ۳۲ بیت فقط با دانلود و دبل کلیک کردن اجرا شود اما برای نصب روی یک سیستم ۶۴ بیت نیازمند درک / کار بیشتری باشد (نصب کتابخانه‌های ۳۲ بیتی سازگار کننده). اما این واقعا به ترسناکی قدیم نیست و حداقل انتظار می‌رود که تمام برنامه‌های معمول روی هر دو نسخه عرضه شوند.

باحال بودن. ۶۴ بیت برای خیلی‌ها یک مفهوم جدید است و هیجان انگیز. آدم‌ها دوست دارند کارهای جدید بکنند و «متفاوت» باشند و در نتیجه نصب و استفاده از یک سیستم ۶۴ بیت با اینکه در عمل هیچ تفاوتی با نصب و استفاده از یک سیستم ۳۲ بیت ندارد، برای عده‌ای کشش خاص خودش را دارد.

و حرف نهایی

برای یک کاربر خانگی رومیزی، تفاوت بزرگی بین سیستم‌های ۳۲ بیت و ۶۴ بیت وجود ندارد. اگر سیستم ۳۲ بیت نصب می‌کنید و بیشتر از چهار گیگابایت رم دارید باید مطمئن شوید که از کرنل pae استفاده می‌کنید تا تمام حافظه‌تان استفاده شود و اگر سیستم ۶۴ بیت نصب می‌کنید باید آماده باشید که یک روز یک برنامه بسته برایتان کمی دردسر درست کند و مجبور بشوید سراغ نصب چند لایبری ۳۲ بیت از مخازنتان بروید.

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

نکات

  • صفحه ویکی جامعه اوبونتو در مورد انتخاب بین ۳۲ و ۶۴ بیت
  • در دنیای لینوکس کرنل‌های ۶۴ بیتی معمولا با پسوند 64_ و سیستم‌عامل‌های ۳۲ بیتی با پسوندهایی مانند i686 یا i386 شناخته می‌شوند
  • بر اساس خروجی این دستور می‌بینید که من (جادی) از یک کرنل ۳۲ بیتی (i686) با قابلیت دسترسی به حافظه بیشتر از ۴ گیگابایت (PAE) و علیرضا (cyletech) از یک کرنل ۶۴ بیتی (_64) استفاده می‌کنیم. $ uname -a Linux jedora 3.6.9-2.fc17.i686.PAE #1 SMP Tue Dec 4 14:15:28 UTC 2012 i686 i686 i386 GNU/Linux

Linux cyletech 3.5.0-34-generic #55-Ubuntu SMP Thu Jun 6 20:18:19 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

ادامه مطلب

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

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

سرور

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

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

کاربرد دیگر لینوکس در دنیای حرفه‌ای، مین‌فریم‌ها و سوپرکامپیوترها هستند. غول دنیای مین‌فریم یعنی آی‌بی‌ام اخیرا اعلام کرده که از سال ۲۰۰۹ به بعد، مین فریم‌هایش را با لینوکس عرضه خواهد کرد. همچنین طبق آخرین آمار سریعترین کامیپوترهای دنیا، از ۵۰۰ سوپرکامپیوتر برتر دنیا، ۸۸.۶٪ آن‌ها از لینوکس به عنوان سیستم‌عامل خود استفاده می‌کنند.

سیستم‌های درون‌ساخت

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

در سیستم‌های درون‌ساخت هم لینوکس گزینه مناسبی است. اولا به خاطر قابلیت تغییر ساده، ماژولار، و بعد هم به خاطر هزینه‌های پایین. در حال حاضر لینوکس در تلفن‌های موبایل، انواعی از روترها و فایروال‌های شبکه (به‌ویژه در لینک‌سیس‌های سیسکو سیستمز) و ابزار دیگر استفاده می‌شود. با پیدایش سیستم‌عامل اندروید گوگل، استفاده از لینوکس درون‌ساخت در وسایل ارتباطی شتاب خیلی بیشتری گرفت.

Android Phoneنمونه‌ای از یک گوشی اچ‌تی‌سی مجهز به لینوکس اندروید

دسکتاپ

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

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

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

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

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

کمک به جامعه‌ی بشری و ساختن یک دنیای بهتر

پروژه‌ی “یک لپ‌تاپ برای هر کودک” One Laptop per Child (OLPC) پروژه‌ای است با هدف بالابردن سطح آموزش در فقیرترین کشورهای جهان که توسط چند سازمان غیرانتفاعی دنبال می‌شود. این لپ‌تاپ‌های ارزان‌قیمت و کم‌قدرت (این موسسه اخیراً نوعی تبلت نیز در همین راستا ارائه کرده است) که XO نامیده میشوند مخصوص کودکان ساخته شده‌اند. سیستم عاملی که در این لپ‌تاپ‌ها استفاده می‌شود نوعی لینوکس مبتنی بر توزیع Fedora هست که از رابط کاربری Sugar استفاده میکند.

OLPC
OLPC & Kids

شاید خوشبین‌ترین افراد نیز تصور اینکه پروژه‌ی گنو/لینوکس و تلاش‌های استالمن، توروالدز و هزاران انسان دیگر روزی بدین شکل برای کمک به جامعه‌ی بشری و گسترش آموزش و پرورش در اینچنین ابعاد جهانی به خدمت گرفته شود، را نداشتند اما امروز این خواسته محقق گشته است. موسسه‌ی OLPC در وب‌سایت خود ماموریت این نهاد را اینگونه شرح می‌دهد: “آموزش شالوده‌ای است برای انسان کامل، توسعه‌ی اجتماعی، اقتصادی و دموکراتیک. با دسترسی به این نوع ابزار، کودکان در آموزش خود درگیر میشوند، یاد میگیرند، به اشتراک میگذارند و باهم خلق میکنند. آنها به یکدیگر، به جهان و به یک آینده‌ی روشن‌تر ملحق میشوند.”

XO Laptop XO Tablet

پیوند به بیرون: وب‌سایت اختصاصی نهاد OLPC

ادامه مطلب

تاریخچه گنو/لینوکس

تاریخچه گنو/لینوکس

##گنو

گنو (GNU) یک سیستم‌عامل آزاد شبه‌یونیکس است که توسط پروژه‌ی گنو توسعه پیدا میکند. گنو مخفف “گنو یونیکس نیست” (GNU’s Not Unix) است و این نام بخاطر این انتخاب‌شده که اولاً طراحی گنو، شبه‌یونیکس است و ثانیاً گنو جزء نرم‌افزارهای آزاد بوده و از کدهای یونیکس استفاده نمیکند. ریچارد استالمن موسس بنیاد نرم‌افزار آزاد، کار خود در دانشگاه MIT را در سال 1971 آغاز کرد. در آن زمان نرم‌افزارهای آزاد، همکاری برنامه‌نویسان و کاربران، به اشتراک‌گذاری کد و … رونق داشت. اما در دهه‌ی 80 انحصار و مالکیت بر نرم‌افزارها، عدم قبول همکاری کاربران در گسترش نرم‌افزارها و بطور خلاصه تجاری‌شدن نرم‌افزارها شدت گرفت. پروژه‌ی گنو جنبشی بر علیه محدودیت‌ها و موانع اعمال‌شده توسط صاحبان نرم‌افزارهای انحصاری و با هدف طراحی نرم‌افزار آزاد بود. قدم اول در این راه ایجاد یک سیستم‌عامل آزاد بود. طراحی سیستم‌عامل گنو توسط ریچارد استالمن در سال 1983 آغاز شد. استالمن همچنین در سال 1985 بنیاد نرم‌افزار آزاد را بیشتر با هدف جذب سرمایه برای توسعه‌ی گنو تاسیس کرد. در ابتدا اجزاء مورد نیاز هسته‌ گنو مثل: ویرایشگرها، پوسته‌ها، کامپایلرها و سایر ابزارها طراحی و پیاده‌سازی شدند اما هسته‌ی سیستم‌عامل هنوز مهیا نبود. هسته‌ی گنو، هرد (Hurd) نام دارد و از سال 1990 تاکنون در دست توسعه است. با این وجود هسته‌های غیر گنو که معروف‌ترین آنها لینوکس است (لینوس توروالدز هسته‌ی لینوکس را در سال 1991 نوشت و آنرا تحت مجوز GPL منتشر کرد.) میتوانند با نرم‌افزارهای آزاد گنو کار کنند. سیستم‌عامل گنو/لینوکس محصول ترکیب هسته‌ی لینوکس و نرم‌افزارهای آزاد گنو است. در وب‌سایت اختصاصی پروژه‌ی گنو هدف نهایی این پروژه بدین شکل بیان شده است:

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

یونیکس

به منظور درک محبوبیت لینوکس باید سفری به زمان گذشته داشته باشیم، در حدود 30 سال پیش …

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

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

فناوری جهان نسبتاً پیشرفته نبود بنابراین آنها مجبور بودند با این وضع برای یک دهه‌ی دیگر کنار بیایند. در سال 1969 یک تیم از توسعه‌دهندگان در آزمایشگاه‌های بل روی راه‌حلی برای معضل نرم‌افزار جهت درست‌کردن اینگونه مشکلات سازگاری شروع به کار کردند. آنها سیستم عامل جدیدی را توسعه دادند که:

1- ساده و دلپسند بود. 2- به جای کد اسمبلی با زبان برنامه‌نویسی سی نوشته شده بود. 3- قادر به بازیافت کد بود.

توسعه‌دهندگان آزمایشگاه‌های بل نام پروژه‌شان را یونیکس (Unix) گذاشتند.

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

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

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

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

اما کامپیوترهای کوچکتر توسعه پیدا کردند و در اواخر دهه‌ی ۸۰ بسیاری از مردم کامپیوتر خانگی داشتند. در آن زمان چندین نسخه از یونیکس برای معماری پی‌سی موجود بود اما هیچ‌کدام از آنها واقعا آزاد و مهمتر از آن سریع نبودند، همه‌ی آنها بطور وحشتناکی کند بودند، بنابراین خیلی از مردم با MS DOS یا Windows 3.1 روی کامپیوترهای خانگی‌شان کار میکردند.

لینوس و لینوکس

با آغاز دهه‌ی ۹۰ کامپیوترهای خانگی سرانجام به اندازه‌ای قدرتمند شدند که بتوانند یک یونیکس تمام‌عیار را اجرا کنند. لینوس توروالدز، جوانی که در دانشگاه هلسینکی علوم کامپیوتر میخواند، فکر کرد ایده‌ی خوبی است که یک جور نسخه‌ی دانشگاهی آزادانه در دسترس یونیکس را داشته باشد و بی‌درنگ شروع به کدنویسی کرد. او شروع به سوال‌پرسیدن، یافتن جواب‌ها و راه‌حل‌هایی که میتوانست به او در داشتن یونیکس روی پی‌سی‌اش کمک کند، کرد. در زیر یکی از اولین پست‌های او در comp.os.minix مربوط به سال 1991 را مشاهده میکنید:

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: Gcc-1.40 and a posix-question Message-ID: 1991Jul3.100050.9886@klaava.Helsinki.FI Date: 3 Jul 91 10:00:50 GMT

سلام شبکه‌ای‌ها، به خاطر پروژه‌ای که مشغول آن هستم (در مینیکس)، علاقمندم تعاریف استاندارد پوسیکس را داشته باشم. ممکن است یک نفر من را به یک نسخه (ترجیحا) قابل خواندن توسط ماشین از جدیدترین نسخه راهنمایی کند؟ سایت‌های اف.تی.پی. خیلی خوب خواهند بود.

از همان آغاز هدف لینوس داشتن یک سیستم آزاد که با یونیکس اصلی سازگار باشد بود. به همین علت او در مورد استانداردهای POSIX پرسید، POSIX هنوز هم استاندارد یونیکس است. آن روزها نصب و اجرا (plug-and-play) هنوز اختراع نشده بود اما خیلی از مردم علاقه‌مند به داشتن یک سیستم یونیکس برای خودشان بودند که این فقط یک مشکل کوچک بود. درایورهای جدید با شتاب تندی برای همه نوع سخت‌افزار جدید در دسترس قرار گرفتند. تقریباً به محض اینکه قطعه‌ی سخت‌افزاری جدیدی در دسترس قرار میگرفت شخصی آنرا میخرید و جهت تست لینوکس ارائه میکرد. با فراخوانی تدریجی سیستم، کد آزاد بیشتری برای پهنه‌ی وسیعی از سخت‌افزارها منتشر میشد. این کدنویسان روی کامپیوترهای خودشان متوقف نشدند، هر قطعه‌ی سخت‌افزاری که میتوانستند پیدا کنند برای لینوکس مفید بود.

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

دو سال پس از پست لینوس، ۱۲۰۰۰ کاربر لینوکس وجود داشت.پروژه‌ای محبوب با همراهی علاقه‌مندان و رشد مداوم است، در حالی که در قلمرو استاندارد POSIX می‌ماند. همه‌ی ویژگی‌های یونیکس در چند سال آینده اضافه گشت و نتیجه آن سیستم عامل بالغ لینوکس امروزی است. لینوکس یک clone کامل از یونیکس است، مناسب برای استفاده در ایستگاه‌های کاری و همچنین در سرورهای متوسط و سطح بالا میباشد.

 

ادامه مطلب

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

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

لینوکس چیست؟
لینوکس به خودی خود، یک هسته (Kernelاستهسته، بخش اصلی سیستم‌عامل را تشکیل می‌دهد که کار آن کنترل داده‌ها، مدیریت حافظه، سخت‌افزار، ورود و خروج داده‌ها و تمامی موارد اصلی سیستم‌عامل می‌باشدهمانطور که گفتم، لینوکس به خودی خود سیستم‌عامل به شمار نمی‌رود، بلکه با استفاده از ابزارهایی که پروژه بازمتن (OpenSource)گنو (GNUبرای آن تولید کرده است، تبدیل به یک سیستم‌عامل کامل می‌شود (به همین دلیل است که لینوکس را معمولا گنو/لینوکس یا GNU/Linux می‌نامندو با اضافه کردن سایر نرم‌افزارهای بازمتن به آن، می‌توان از آن در موارد متعددی مانند سرویس‌دهنده‌ها، ایستگاه‌های کاری، کامپیوترهای روی‌میزی، ابر رایانه‌ها، ابزارهای صنعتی و پزشکی که دارای سیستم‌های درونه‌ای (Embeddedمی‌باشند و… استفاده کرد.
از نظر فنی، لینوکس را می‌توان نمونه بازمتن سیستم‌عامل یونیکس نامیدزیرا بر اساس استاندارد POSIX پیاده سازی شده و کاملا با آن سازگار استبنابراین لینوکس را می‌توان نواده سیستم‌عامل پرسابقه و مستحکم یونیکس دانست که البته خواص خوب آنرا نیز به ارث برده استاکنون تفاوت‌های اصلی لینوکس و ویندوز را با هم می‌شماریم:

لینوکس سیستم‌عامل آزاد
لینوکس یک سیستم عامل آزاد و بازمتن استکد منبع آن در اختیار همگان قرار دارد و همه می‌توانند در کدهای آن تغییر ایجاد کرده و بنا به نیازشان استفاده کنندآزاد و در دسترس بودن کدهای منبع سبب می‌شود تا بتوانید از طرز کارکرد دقیق سیستم‌عامل مطلع شویدشما لینوکس را می‌توانید به هر تعداد کپی کرده و بین دوستانتان پخش کنیددر سمت مقابل، ویندوز یک سیستم‌عامل اختصاصی است که کد منبع آن سری نگهداشته شده است و برای همگان در دسترس نیستشما نمی‌توانید بفهمید که واقعا در زیر سیستم‌عامل ویندوزتان چه می‌گذرد؟ آیا یک برنامه جاسوسی در آن پنهان نشده است؟ بعید نیستسیستم عامل ویندوز رایگان نبوده و تحت حمایت قانون کپی‌رایت قرار داردشما نمی‌توانید آنرا کپی کرده و پخش کنیددر صورت این کار شما خلاف‌کار هستید و جریمه و مجازات خواهید شد. (فعلا نه در ایران ولی در ۴۶ سال آینده بله)
لینوکس را به هواپیمایی تشبیه کرده‌اند که هر قسمت از انرا در جایی ساخته‌اندلینوکس واقعا محصول کشور خاصی نیستتعداد زیادی از مردم در سرتاسر جهان در حال کار بر روی آن و توسعه آن هستندتعداد برنامه نویسانی که روی بخش‌های مختلف سیستم‌عامل لینوکس کار می‌کنند، به حدود ۴۰۰ هزار نفر می‌رسد، در حالی که تعداد کل برنامه‌نویسان مایکروسافت کمتر از ۱۰۰۰۰ نفر استهمین، تفاوت کیفیت کار را مشخص می‌کند.
شما با سیستم‌عامل لینوکس آزاد هستیدلازم ندارید تا از نرم‌افزارهای اختصاصی استفاده کنید و تحت انقیاد آنها در آیید.

لینوکس سرعت، قدرت، پایداری
همانطور که گفتم، لینوکس نواده سیستم‌عامل یونیکس استبنابراین ساختار کلی این سیستم‌عامل کاملا با ویندوز متفاوت استاین به این معنی است که مثلا شما نخواهید توانست برنامه‌هایی که در ویندوز دارید، روی لینوکس اجرا نمایید (البته راه‌هایی وجود دارد – شبیه سازها – ولی در حالت عادی خیر). یکی از خواص اصلی سیستم‌عامل‌های خانواده یونیکس، پایداری و استقامت بسیار بالای آنهاستاین سیستم‌عامل‌ها به این راحتی‌ها خراب نشده و به ندرت نیاز به بوت مجدد پیدا می‌کنندلینوکس‌هایی وجود دارند که شما می‌توانید سالها بدون نیاز به بوت، از آنها استفاده نماییددر سمت مقابل، حتی جدیدترین و پایدارترین سیستم‌های ویندوز به اندازه یک موی لینوکس پایدار نیستندبرای بکارگیری سیستم‌های ویندوز به عنوان سرویس دهنده به حافظه و پردازنده‌های قویتری نیاز دارید و مطمئن باشید اگر هر هفته آنرا بوت نکنید، از کار خواهد افتاد!
من حدود ۲ سال است با این سیستم‌عامل کار می‌کنمتنها یکبار مجبور شده‌ام بدلیل اشکال در کارت صوتی آنرا بوت کنم. (فقط کارت صوتی از کار افتاده بود!) در صورتی که در ویندوز، شما اگر خیلی شانس داشته باشید، حتما هفته‌ای ۲۳ مشکل را که منجر به بوت خواهند شد، خواهید داشتمعمولا سیستم‌عامل لینوکس به راحتی خراب نمی‌شود و برعکس ویندوز مجبور نیستید تا آنرا هر چندماه یکبار مجددا نصب کنیدحتی برخی از انواع لینوکس به نصب «یکبار برای تمامی عمر» مشهور هستنداین گونه سیستم‌ها را می‌توانید حین کار و حتی بدون بوت، به نسخه‌های جدیدتر ارتقا دهید.

لینوکس امنیت، امنیت، امنیت
امروزه در دنیایی متکی بر فناوری اطلاعات زندگی می‌کنیم که هر لحظه به خطر افتادن جریان اطلاعات منجر به بروز خسارت‌های تجاری جبران ناپذیری خواهد شدامروزه همه به دنبال یک سکوی (Platformامن‌تر برای اجرای برنامه‌های کاربردی و سروی‌دهنده‌ها هستندلینوکس حرف‌های زیادی برای گفتن در سمت امنیت داردبسیاری از قابلیت‌های امنیتی که در ویندوز وجود ندارند و یا فقط با اضافه کردن نرم‌افزارهای اضافی قابل دسترسی می‌باشند، بطور درونی و پیش‌گزیده در لینوکس پیاده سازی شده‌اندلینوکس از ابتدا برای محیط‌های شبکه‌ای و چند کاربره طراحی شده است و همین باعث رعایت مسائل امنیتی از ابتدا در ان شده است، درحالی که ویندوز اینگونه نبوده و درحال حاضر نیز از نظر امنیتی دارای نقاط ضعف فراوانی است.مثلا یک برنامه مخرب با استفاده از همین ضعف‌های امنیتی می‌تواند کل سیستم‌عامل را نابود کند، ولی در صورتی که مورد مشابهی در لینوکس وجود داشته باشد، حداکثر به دایرکتوری خانگی کاربر اجرا کننده آسیب خواهد رسید، نه کل سیستم‌عامل.
اینطور نیست که لینوکس فاقد هر گونه اشکال امنیتی باشد، خیر، ولی باز بودن کد منبع آن باعث می‌شود تا بسیاری از اشکالات امنیتی پیش از ایجاد خسارت و در مراحل توسعه و برنامه نویسی برنامه بر ملا شده و رفع شونددر صورتی که اشکالی نیز در برنامه‌های منتشر شده یافت شود، بدلیل موجود بودن کد منبع سریعا برطرف می‌گردددر صورتی که در سیستم عامل ویندوز شما باید منتظر مایکروسافت بمانید و بمانید و بمانیدسیستم‌عامل ویندوز دارای اشکالات امنیتی بسیاری است که به راحتی هم کشف نمی‌شوند و هنگامی کشف می‌شوند که خسارات جبران ناپذیری در اثر حمله از طریق آن ضعف‌های امنیتی رخ دهد که امثال آنرا شاهد هستیم.
می‌توان ادعا کرد که تقریبا هیچ ویروسی برای لینوکس وجود ندارد و این درحالی است که سالیانه بیش از ۱۰۰۰ ویروس و کرم مختلف برای سیستم‌عامل ویندوز ایجاد می‌شوداین بخاطر عدم گسترده بودن لینوکس نیست (حدود ۷۰ درصد از سایت‌های وب در جهان بر روی سیستم‌عامل لینوکس و سرویس‌دهنده وب آپاچی درحال اجرا هستندبلکه بدلیل وجود حفره‌های امنیتی متعدد ویندوز و سیاست انحصار گرایی مایکروسافت استیعنی چه؟ مایکروسافت طوری رفتار و سیاست گذاری کرده است که مشتریان خود را تنها به محصولات خودش عادت دهدبسیاری از کاربران ویندوز از اینترنت اکسپلورر و آتلوک برای مرور وب و پست الکترونیک استفاده می‌کنندمن به عنوان یک ویروس نویس، می‌دانم که اگر ویروسی را برای کاربران ویندوز بنویسم، بر روی کامپیوترهای ۹۰ درصد آنها اثر خواهد کردچون اکثرا از IE وOutlook استفاده می‌کنندولی در لینوکس چطور؟ در لینوکس شما طیف وسیعی از انتخاب و عدم اجبار داریدمن از مرورگر موزیلا استفاده میکنمدوستی دارم که Konqueror را ترجیح می‌دهددیگری از Opera استفاده می‌کندمن از Kmail استفاده می‌کنمدوستم از Evolution، دیگری از Pine و بعدی از Mutt و برادرم هم از Mozilla Mailمن فقط می‌توانم برای یکی از اینها ویروس بنویسم چون روی بقیه کار نخواهد کرد و عملا میزان اثر آن انداک خواهد بودضمنا هیچیک از ویروس‌هایی که برای ویندوز نوشته شده‌اند، بر روی لینوکس کار نمی‌کنند.

لینوکس تعدد سکوهای اجرایی
لینوکس برخلاف ویندوز بر روی تعداد زیادی از سکوهای مختلف سخت‌افزاری اجرا می‌شود و شما حتی قادرید آنرا برای کار بر روی سکوی مورد نظرتان تغییر دهیداین قابلیت، لینوکس را برای بکارگیری در سخت‌افزارهای درونه‌ای (Embeddedبسیار مناسب می‌سازدهسته 2.6لینوکس که بتازگی ارائه شده است، این امکان را فراهم می‌سازد تا لینوکس را بر روی دستگاه‌های بسیار کوچک و یا ابر رایانه‌های بسیار بزرگ اجرا نماییداصلا ویندوز می‌تواند؟

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

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

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

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

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

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

ادامه مطلب