در قسمت قبلی دیدیم که میشه با لینوکس کارهای بسیار ساده Console رو انجام داد. در این قسمت می خواهیم کمی در مورد قدرت های لینوکس صحبت کنیم. قرار نیست ادامه Command Set لینوکس توضیح داده بشه. چون Command Set ها در بخش های مختلف این کلوب و سایت های فارسی دیگه و کتابهای زیادی عنوان شده. در اینجا فقط می خوام کمی در مورد کارکرد لینوکس باهاتون صحبت کنم.
هشدار - هشدار - امروز بحث کاربردی نیست و فقط تئوریک
------------------------------------
همونطور که دیدید از نظر لینوکس، همه چیز فایله. یعنی گفته شد که لینوکس در بر خورد با همه چیز مثل یک فایل عمل می کنه، از قسمتهای مختلف دیسک گرفته تا خروجی صدای کارت صدا.
لینوکس به طور کلی سیستم عاملی چند منظورس که در بخش های زیر می خوام کمی در مورد عملکردشت تو بخش های مدیریتی مختلف براتون توضیح بدم.
مدیریت منابع:
همانطور که میدونید سیستم عامل اومده که شما بتونید بیشترین استفاده رو از سیستم کامپیوترتون ببرید. سیستم های عامل مختلفی برای استفاده های مختلف وجود دارند که قیمت هاشون بسته به نوع عملکردشون و سیستم هدفشون تغییر می کنه. لینوکس به عنوان یک سیستم عامل رایگان بر خلاف این روند در حال حرکت. یعنی هم به شما اجازه می ده که سیستم هدفتون رو خودتون مشخص کنید و هم به شما اجازه میده که بهترین امکانات رو در اختیار داشته باشید.
مدیریت منابع در لینوکس شامل، مدیریت حافظه، مدیریت فایلها، مدیریت CPU، مدیریت Mediaهای ارتباطی و مدیریت کاربران میشه.
مدیریت حافظه: حافظه سیستم شما برای بالابردن سرعت عملیات به شما خیلی کمک می کنه. زمانی که این حافظه پر بشه از نظر منطقی هیچ برنامه دیگه ای نباید اجرا بشه ولی در سیستم های عامل این امکان به شما داده می شه که با تکنیک های مختلف برنامه های غیر لازم رو از حافظه خارج کنید و برنامه های جدید رو جایگزین اونها کنید و زمانی که به برنامه های قبلی دوباره نیاز بود اونها رو به جای اولیشون برگردونید و الی آخر. این کار از نظر تئوری توسط همه سیستم عامل نویسان دنیا پیاده شده ولی خود در بحث نرم افزار مسئله Performance و Optimization خیلی مهم. یعنی با تئوریهای ثابت ما پیاده سازی های مختلفی داریم. لینوکس یکی از سیستم های عامل قدرتمند که در بحث مدیریت حافظه بسیار دقیق و پویا عمل می کنه و شما بیشترین استفاده رو از حافظه اصلیتون می برید. به طور عامیانه تر شما در لینوکس حافظه مرده ندارید و یا بسیار کم دارید. حافظه مرده یعنی بخشی از حافظه که اختصاص داده شده ولی ازش به هیچ وجه استفاده ای نمیشه. چیزی که ویندوز به کرات شما باهاش برخورد دارید. بعد از چند ساعت کار سیستم کند میشه. شما با استفاده از Task Manager برخی از برنامه ها رو می بندید ولی هنوز سیستم کند و با Restart شدن سیستم دوباره به سرعت اولیه برمی گرده در حالی که هیچ کدام از Process های سیستم بعد از Restart از لیست خارج نشدن.
جوابی که در این زمینه داده می شه اینه که برنامه های تحت ویندوز حافظه هایی رو Allocate میکنن و در هنگام خروج اونها رو نمی بندن. این مطلب شامل نرم افزار های دارای Bug و نرم افزارهایی که با رخداد خطا بسته می شن میشه. در لینوکس به این صورت نیست. لینوکس به شما تضمین میده که در صورتیکه یک Process بخشی از حافظه رو اشغال کنه، حتی در صورت بسته شدن اجباری یا Force Kill حافظه تخصیص داده شده به سیستم عامل برمیگرده. اون درصدی از حافظه که گفتم در لینوکس به عنوان حافظه مرده و به صورت خیلی معدود پیش میاد داریم، بخش هایی از حافظه است که توسط Processهای کرنلی اختصاص داده شده و یا بخش هایی از حافظه که به صورت Global تعریف شده.
مدیریت فایلها:
قرار دادن دیسک در اختیار کابران به جز این موضوع که کاربران برای کار با دیسک های مختلف از جمله PATA و SATA و SCSI اطلاعات لازم رو ندارند و نیاز به یک واسط یا API واحد دارند باعث پایین اومدن سطح امنیت سیستم میشه. به همین منظور دیسک در لینوکس از نظر کاربران توسط یک سری رابط های برنامه نویسی عرضه میشه.
در سیستم های عامل Multiuser و MultiTasking بسیار اتفاق میافته که چند Process به طور همزمان به بخشی از اطلاعات دیسک نیاز داشته باشند پس مدیریت فایل در سیستم های عامل یکی از بخش های بسیار مهم قلمداد میشه.
در مورد مدیریت فایلها، به جز بحث های امنیتی و چند کاربره بودن مسئله بسیار مهم دیگه مسئله سرعت دسترسی به دیسک. یعنی در صورتی که چند نفر به طور همزمان بخش های مختلفی از دیسک رو درخواست کردند چگونه به این درخواست ها جواب داده بشه.
آسانسوری رو در نظر بگیرید در ساختمانی 20 طبقه. به طور معمول و الگوریم ساده به نظر میرسه که دکمه ای که زده میشه باید به اون طبقه بریم. پس این برنامه رو می نویسیسم و در آسانسور نصب می کنیم. روزی اتفاق میافته که در طبقه 18ام فردی دکمه آسانسور رو میزنه. بعد از حرکت آسانسور فردی در طبقه اول دکمه رو میزنه و همزمان با اون فردی در طبقه 16ام. طبق الگوریتم ما آسانسور به طبقه 18 ام میره و فرد رو سوار میکنه. بعد به طبقه اول میاد و بعد 16ام.
نوشتن الگوریتم های بهینه و مناسب برای دیسک در راندمان و بالا بردن سرعت سیستم نقش بسیار زیادی داره. سرعت CPU و RAM در مقابل Disk بسیار بالاست، پس برای اینکه استفاده از RAM و پردازشگر سیستم ما بهینه باشه باید از الگوریتم های مناسب دسترسی به دیسک استفاده کنیم. در لینوکس الگوریتم های دسترسی به دیسک طی سالهای مختلف در Unix و خانواده هاش و تا امروزه در لینوکس به کرات مورد تغییر قرار گرفته و خروجی که امروز در Kernel لینوکس قرار داده بهینه ترین روش در بین روشهای معمول دسترسی به دیسک.
مورد بعدی سیستم Cache در فایل سیستم لینوکس. Cache در 2 جا برای سیستم بسیار مفیده. اولا زمانی که شما می خواهید یک بایت از روی دیسکتون بخونید دیسک به شما یک سکتور و یا 512 بایت داده رو میده. در اصل واحد خوندن از دیسک Sectorها هستند و نه بایت ها. زمانی که شما برنامه ای می نویسید که یک فایل رو بایت به بایت بخونه در صورتی که Cache وجود نداشته باشه، به ازای هر بار خواندن یک بایت سیستم عامل ملزم که یک سکتور رو بخونه و بایت مورد نظر شما رو از روی اون استخراج کنه و تحویل شما بده. این عمل نه تنها سرعت رو بسیار پایین میاره بلکه باعث اصطحلاک دیسک شما میشه. Cache لینوکس آخرین دسترسیهای دیسک رو در حافظه نگه میداره و بخش های درخواستی شما قبل از ارسال به دیسک می بایستی از لایه Cache لینوکس رد شوند. در صورتی که اطلاعات درخواستی شما در Cache سیستم موجود نباشه اطلاعات در خواستی شما به Cache لینوکس منتقل میشه و سپس از Cache به شما اطلاعات داده میشه. Cache دیسک سیستم شما بر روی حافظه اصلی قرار داده.
بالابردن مقدار حافظه Cache تا حدی سرعت رو بالا میبره ولی زمانی که از نقطه کار Cache شما عبور کنید به دلیل افزایش حافظه Cahce جستجوی داده مورد نیاز خود در پایین اوردن سرعت نقش زیادی داره.
پس بازم با وجود این مطالب تئوری پیدا کردن حافظه مناسب برای Cache و مدیریت مناسب حافظه اون نیاز به الگوریتم های دقیق و سریع داره که در سیستم عامل لینوکس به طور صحیح پیاده سازی شده.
مدیریت Process:
همانطور که میدونید سیستم های کامپیوتری تک CPU در آن واحد تنها قابلیت اجرای یک دستور العمل رو دارند ولی با الگوریتم های پیاده شده در سیستم های عامل شما همزمان به گوش دادن موسیقی و کار با برنامه Editor خودتون مشغولید. تخصیص CPU به Processهای مختلف کاریه که در سیستم های عامل صورت میگیره. این تخصیص به قدری سریع صورت میگیره که در نظر شما، تمامی برنامه ها همزمان در حال فعالیتند.
در محیط Task Manager ویندوز شما ، تعداد زیادی Process وجود داره. تمامی این Processها در اصطلاح در حالت Suspend هستند. یعنی هیچ فعالیتی نمیکنند. مدیریت CPU به صورت ساده اینطور به نظر میاد که باید به تمامی پردازه ها بخشی از زمان CPU داده بشه. ولی آیا Process که منتظر دریافت یک کلید از صفحه کلید است نیازی به CPU داره؟
به پردازش هایی که منتظر یک رخداد یا Event سخت افزاری هستند، پردازه های Waiting گفته میشه و سیستم عامل ها این پردازه ها رو از لیست پردازه های فعال خارج می کنند. برای مثال پردازه ای که دستور خواندن اطلاعات از روی هارد رو داده از لیست پردازه های فعال خارج میشه و در لیست وقفه یا Interrupt مربوط به دیسک قرار داده میشه. زمانی که دیسک عملیات خوندن رو انجام بده، با یک Interruptبه CPU سیستم عامل شما رو متوجه این امر میکنه. سیستم عامل Process های موجود در لیست دیسک رو از حالت Suspend به حالت Ready میبره و در بازی تخصیص CPu اونها رو هم شرکت میده.
به این ترتیب تعداد زیاد Process های موجود در لیست Task Manager باعث کندی سیستم شما نمیشه بلکه تعداد Processهای فعال سیستم هستند که باعث کندی سیستم میشن.
آیا میدونید بیشترین برنامه ای که از سیستم رو کند می کنه چیه؟ Photoshop? Winamp? ماشین حساب؟ برنامه حسابداری ؟ نههههههههههههه
برنامه زیر به زمان C یا معادلش در VB بیشترین فشار رو به سیستم وارد می کنن:
While (true);
یعنی یک برنامه یک خطی!
اگر شما این برنامه رو Compile و اجرا کنید می بینید که در لیست Task Manager مقدار CPU در حدود 100% برای اون در نظر گرفته شده. دلیلشم اینه که این پردازه زمانی که CPU بهش تعلق داده میشه، اون رو ول نمی کنه. دراصل هیچ زمانی اتفاق نمیافته که این Process به حالت Suspend بره. تنها زمانی این اتفاق میافته که، زمان استفاده این Process از CPU تموم بشه که سیستم عامل به صورت اجباری CPU رو از این Process میگیره.
در سیستم عامل لینوکس زمانهای تخصیص داده شده به پردازش ها برحسب نیاز اونها، اولویتشون و تعدادی پارامتر دیگه در نظر گرفته میشه تا کاربران بیشترین احساس آرامش کارکردن با لینوکس و بیشترین استفاده بهینه از دستگاهشون رو داشته باشند.
مدیریت Mediaهای ارتباطی:
مدیریت Mediaهای ارتباطی در لینوکس، شامل ارتباطات متصل به سیستم از جمله ارتباطات شبکه ای میشه.
سیستم های عاملی که از شبکه پشتیبانی می کنند زحمت زیادی رو برای این امر کشیدن. Stackشبکه های موجود فعلی با تمامی سادگیشون دارای پیچیدگی های خیلی زیاد در پیاده سازین. ضعف مدیریت شبکه در سیستم های عامل باعث بالارفتن شدید هزینه ها میشه. شاید برای شما درکش مقداری سخت باشه ولی Optimize کردن بخشی از کد Stack شبکه های پر استفاده مثل TCP/IP در نرم افزار معادل هزینه های سر سام آور سخت افزاری.
سیستم عامل لینوکس سیستم عاملی که توانایی برخورد با Loadهای بسیار بالای شبکه ای رو بدون ایجاد هیچگونه خرابی و یا از بین رفتن اطلاعات برای کاربران فراهم میکنه.
شکی نیست که بخش اعظم مدیریت از بین نرفتن اطلاعات در شبکه های کامپیوتری مدیون پروتکل های قوی شبکه ای و سیستم های فیزیکی موجود در مسیر ولی از طرفی همگان قبول دارند که Unix و Linux بخش عمده ای از این استاندار ها رو تدوین و به جامعه جهانی عرضه کرده.
زمانی بود که لینوکس در پی پیاده سازی دستگاههای سخت افزاری شبکه ای موجود مثل Routerها و Firewallها بود. همیشه نرم افزار قابلیت های کمتری نسبت به نمونه های سخت افزاری داشت. اما امروزه خیلی از شرکت های بزرگ سخت افزاری شبکه مانند Cisco بعضی از قابلیت ها یا Featureهای کاربری موجود بر روی سخت افزار های خودشون رو از روی نمونه های نرم افزاری و شبیه سازی شده در سیستم های عامل معتبر مثل لینوکس کپی برداری می کنند.
Firewall بسیار قوی موجود در لینوکس که به صورت کامل و بدون عیب و نقص عمل می کنه نمونه ای از این نرم افزار هاست. نرم افزار Iptables نصب شده بر روی سیستم عامل لینوکس قابلیت کار با Loadهای بسیار بالا رو داره و بدون هیچ مشکلی امروزه به عنوان یک مکمل قوی و یا یک جانشین در بسیاری از سرور های جهان به جای نمونه های سخت افزاری خشک و بدون انعطاف نصب شده.
لینوکس در شبکه به عنوان یک Router نرم افزاری کلیه امکانات یک Router سخت افزاری رو برای شما فراهم می کنه و همه روزه با Optimize کردن کد اون گام جدیدی رو در زمینه شبکه بر می داره.
مدیریت شبکه، بر خلاف مدیریت فایلها که تمامی منابع داخلی می باشند، مسئله ای بسیار حیاتی و مهم برای سیستم های عامل. شما زمانی که در حال درست کردن کیک هستید و تلفن زنگ می زنه، سراغ تلفن میرید و تماس رو جواب میدید و بر می گردید. گاهی مواقع اتفاق میافته که از خودتون سوال کنید آیا فلان ماده رو اضافه کردم؟
حالا فرض کنید سیستم عامل لینوکس در آن واحد بخواد به بیش از چندین هزار ارتباط شبکه ای پاسخ بده. ارتباطاتی که بر خلاف ارتباطات Transaction Based شروع و پایان مستقلی ندارند و نگهداری وضعیت و کنترل وضعیت فعلی تماما بر عهده سیستم عامل است. در اینجا مبحثی پیش میاد به نام State Machine که موقعیت و وضعیت هر پایانه رو مشخص می کنه. در ارتباطات TCP/IP به طور معمول ارتباط انجام میشه، طرف ارسال کننده داده ها رو ارسال می کنه و بعد از ارسال هر Packet ، علامتی به عنوان دریافت اطلاعات از طرف مقابل دریافت می کنه.
حال فرض کنید که بیش از 1000 ارتباط شبکه ای در سیستم عامل شما وجود دارد و 700 بسته اطلاعاتی در آن واحد ارسال شده است. اگر از 50 پایانه موجود جوابی مبنی بر دریافت اطلاعات رسیده نشه، این اطلاعات باید دوباره ارسال بشه. در TCP/IP امکان این است که هرکدام از طرفین از طرف مقابل درخواست کنند که داده ها را با سرعت کمتری ارسال کند و یا طول بسته های اطلاعاتی را تغییر دهد. به جز پیاده سازی این مسائل مربوط به Stackهای شبکه، مسئله های مربوط به ارسال همزمان داده ها از طریق Processها، قطع شدن اتحمالی شبکه و مشکل سیستم عامل در اطلاع دادن به Processها و از طرفی پیگیری بسته های ارسال شده و نگهداری بسته های دریافتی از Processها در طول این مدت. بسته شدن یک Processدر زمان قطعی شبکه و اطلاع دادن به طرف مقابل مبنی بر اینکه بسته های دیگری ارسال نکن و فرستادن پیغام های مناسب برای مطلع کردن طرف دوم از نرسیدن بسته به طرف اول و در کنار همه اینها، رد کردن بسته های اضافی ارسال شده از طرف نفوذگران به سیستم و شناسایی و خنثی کردن بسته های آنها، مشکلات و موضلاتیست که بخش مدیریت شبکه در لینوکس با اونها باید مقابله کنه. پیاده سازی صحیح سیستم مدیریت شبکه، باعث بالارفتن راندمان کاری در سیستم های اداری و مالی میشه.
مدیریت کاربران:
تمامی مدیریت های بالا رو در نظر بگیرید. حالا فرض کنید لینوکس به جای یک نفر با چند نفر سروکار داشته باشد که هر کدام مشکلات خود را در مسائل مدیریتی بالا داشته باشند.
زمانی که شما به تنهایی بر روی سیستم Login هستند، سیستم عامل CPU را به درخواست های شما میدهد ولی زمانی که چند کاربر بر روی سیستم فعال هستند، مدیریت تمامی منابع از نظر سیستم عامل سخت تر خواهد شد. این سختی بخشی به دلیل مسائل امنیتی کار است یعنی عدم تاثیر گذاری فعالیت های یک کاربر بر روی کاربر دیگه، و بخش دیگه مشکلات مربوط به توضیع منابع به صورت عادلانه در بین کاربران می باشد.
----------------------------------------------------------------------------------------------
در بخش های بعدی در مورد چگونگی عملکرد Kernel لینوکس توضیح داده خواهد شد.
موفق باشی
این قسمت: بیاموز
---------------------------------------------------------------------------------------------------
آنچه گذشت:
در قسمت قبلی دیدیم که لینوکس با همه اسم بزرگش قابل حضم برای کلیه دوستانیه که علاقمندندبا این سیستم عامل آشنا بشن. استفاده مختلف لینوکس رو دیدیم و متوجه شدیم که امروزه کشور ما به لینوکس کار بیشتر از Windows کار نیاز داره و بازار کار خوبی هم برای اون آمادس که نیاز به یه کمی همت و پشتکار داره.
در این قسمت با لینوکس بیشتر آشنا میشیم و سعی میکنیم یک سری کارهای مقدماتی با اون انجام بدیم.
------------------------------------------------------------------------------------------------------
خوب، مواد لازم برای امروز،
1- یک دستگاه کامپیوتر متناسب با شخصیت لینوکس
2- یک دستگاه Keyboard با حداقل کلید
3- برق 220V شهری با فرکانس 50-60 هرتز جریان حداقل 1 آمپر
4- یک فقره میز کامپیوتر و صندلی
5- ماوس به اندازه کافی
6- نوشابه یا قهوه بسته به خودتون به میزان کافی
بند اول - قبل از هرچیزی از سایت شخصی من emadct.com یک PDF برای نصب لینوکس FC5 دانلود کنید. تو این PDF سعی کردم با گرامر کشاورزی نصب لینوکس رو توضیح بدم، امیدوارم شما الوات IT از پسش بر بیاید.
بند دوم- برای تحقیق دانشگاه، جلوی دوستان و بقیه موارد شبیه، اگه خواستید از PDF بدون درج اسم استفاده کنید(صفحه اول رو میشه با Adobe Professional ویرایش کرد)، ولی اگه یه جایی گذاشتید برای استفاده دیگران، یه صلوات هم نثار نویسنده کنید خدا رو خوش بیاد.
بند سوم- قبل از شروع نصب لینوکس اگه از خودتون مطمئن نیستید یا از Document که من نوشتم، بهتره یکی از محصولات VMWare یا Microsoft Virtual PC یا Bochs یا QEMu رو نصب کنید و به صورت مجازی یک سیستم کامپیوتری در Windows خود ایجاد کنید، اینطوری هم میتونید Linux بریزید و اون سیستم مجازی رو خراب کنید و هم Windows باشید PDF بخونید.
بند چهارم- سعی کنید از PDF نصب جلوتر باشید، یعنی یه مرحله نصب که نمایش داده شد، اول خودتون فکر کنید که چیکار باید کرد، بعدش قبل از اینکه ادامه بدید، PDF رو بخونید ببینید همچین چیزی که فکر کردید هست یا من اشتباه نوشتم!
بند پنجم- راهنمای نصب برای FC5، نصب SUSE و Ubuntu و بقیه نسخهها کمی متفاوت ولی در اصول یکی هستن. برای همین اگه نسخهدیگری رو میخواهید نصب کنید، یه بار رو سیستم مجازی Fedora نصب کنید که خیالتون از مراحل نصب باشید و فقط در نسخه دیگری کار Map کردن رو انجام بدید که این بخش رو مغزتون انجام میده.
بند ششم- برای نصب فضای کافی کنار بگذارید.
بند هفتم- مواظب دادههای اصلی روی سیستم خودتون باشید ( در حالتی که از سیستم مجازی استفاده نمیکنید)
بند هشتم- نصب لینوکس در محیط مجازی زمانبرتر از سیستم واقعی، به همین منظور در سیستم مجازی سعی کنید حد اقل بستهها رو نصب کنید، تا زمان کمتری طول بکشه.
بند نهم- در Virtual PC و VMWare، میشه تو هر مرحله از نصب از سیستم SnapShot گرفت، مثل Hibernate میمونه، از سیستم در حال Running پشتیبان میگیره و اگه مرحله بعدی رو خراب کردید میتونید برگردید (مثل فیلم Butterfly Effect)
بند دهم- مراحل نصب رو یادداشت کنید، برای زمانی که میخواهید از سیستم واقعی استفاده کنید.
------------------------------------------------------------------------------------------------------------
نصب ویندوز با نصب لینوکس چه فرقهایی داره؟
یکی از مهمترین تفاوتهای نصب لینوکس و ویندوز اینه که در هنگام نصب ویندوز، سوالها به صورت گاوی در مزرعه(اصطلاح علمی) در هنگام مراحل نصب از شما سوال میشه، در حالی که در لینوکس کلیه سوالات و تنظیمات نصب در ابتدا از شما سوال خواهد شد و شما با ترک 1 ساعته سیستم و برگشت به محل، شاهد یک سیستم لینوکس آماده دریافت Username هستید.
یکی دیگه از تفاوتها امکانات زیادی که در نصب لینوکس در اختیار شماست. شما با خیلی از تنظیماتی برمیخورید که در نصب Windows به صورت پیش فرض تنظیم میشوند. راه فرار هم ندارید، چون این تنظیمات باید صورت بگیرن و حالت پیش فرض ندارن به همین منظور کلیه مراحل نصب رو از روی PDF و راهنمای انگلیسی موجود در مراحل نصب دنبال کنید.
------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
بعد از نصب لینوکس
------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
خوب از نصب رد شیم (دیدید ماسمالیو D، وارد محیط لینوکس شیم.
محیط لینوکس شامل 2 بخش، محیط گرافیکی و محیط Console. محیط گرافیکی اونجاست که شما اشکال رنگی و صفحات گرافیکی میبینید و محیط Console مانند محیط Command Prompt در ویندوز دارای شکلی سیاه با متنهای سفید و به صورت Text می باشد.
به صورت پیش فرض بعد از نصب محیط گرافیکی برای شما نمایش داده میشه، در شرایطی که شما محیط گرافیکی را نصب نکرده باشید یا، محیط Text رو به صورت پیش فرض قرار داده باشید، محیط Console نمایش داده میشه.
محیط گرافیکی لینوکس بر خلاف ویندوز که محیط گرافیکی بخشی از سیستم عامل محصوب میشه، یک نرمافزار کاملا مستقل از سیستم و عملکرد اون کاملا مثل بقیه نرمافزارهای سیستم. این توضیح یه چیز خیلی مهم رو برای ما روشن میکنه، که لینوکس به طور کلی با Console اون شناخته میشه و در نتیجه کلیه قابلیتهای لینوکس از طریق Console اون قایل دسترس هستند. بر خلاف Windows که در محیط Console شما قابلیتهای نسبتا کمی رو در اختیار دارید.
کاربران سیستم لینوکس به 3 گروه تقسیم میشوند. گروه مدیرها، گروه کاربران و root. بازهم بر خلاف Windows که ما چندین Administrator با قابلیتهای یکسان داریم و گروهی کاربر با قابلیتهای متفاوت، در لینوکس ما تنها یک کاربر با قابلیت محض داریم به نام root. بقیه مدیران کاربران جزئی هستند که مقداری از قدرت root را به ارث برده اند. کاربران جزء کاربری در پایین ترین لایه قرار میگیرند و تنها کارهایی را میتوانند انجام دهند که کاربران لایههای بالایی به آنها اجازه داده باشند.
ما در لینوکس 3 اصطلاح root داریم که معمولا دوستان با آنها معجون درست میکنند:
1- کاربر root: این root قابل دیدن نیست، بلکه جزئی از Policy سیستم در تصمیم گیریهای عملکردی است(دیدی یکی یه چیزیو بلد نیست، چند تا کلمه قلمبه سلمبه میگه، که بگه تو نمیفهمی ((: )
2- root: به مسیر اولیه یا پایه لینوکس گفته میشه. بر خلاف ویندوز که مسیرهای پایه محدود به نام درایوها میشن مثل :C و و ... در لینوکس ما تنها یک مسیر واحد داریم، که به آن root گفته میشود و بقیه فایلهای سیستم در زیر شاخه این مسیر قرار دارند و از این شاخه بالاتر نداریم. به عبارت دیگه، تنها شاخه لینوکس که شاخه بالاتری ندارد شاخه root سیستم است و با علامت / نمایش داده میشود.
3- شاخه root واقع در root: در root سیستم، یک شاخه یا Directory داریم به نام، root که محل قرار گیری فایلهای کاربر مدیر سیستم (یا root) است( چی در اومد). به بیان دیگه، کاربر root سیستم (تعریف اول) باید یک شاخه برای قرار دادن فایلهاش داشته باشه که اسم این شاخه root (تعریف سوم) که طبق تعریف کل سیستم باید در مسیر اصلی لینوکس یا همان root (تعریف دوم) است. این شاخه با نماد root/ نمایش داده میشه.
ما در root لینوکس کلی شاخه داریم:
root: مسیر قرار گیری فایلهای مدیر سیستم
bin: مسیر قرار گیری فایلهای اجرایی قابل اجرا برای کلیه کاربران (غیر مدیریتی)
sbin: مسیر قرارگیری فایلهای اجرایی قابل اجرا برای کاربران مدیر( مدیریتی)
dev: مسیر قرار گیری فایلهای مربوط به وسایل سخت افزاری
etc: مسیر قرار گیری تنظیمات سیستم (مثل Registry)
usr: مسیر قرار گیری کلیه نرمافزارهای نصب شده بر روی لینوکس شما
var: مسیر قرار گیری فایلهای runtime برنامههای در حال اجرا (معمولا از یک پارتیشن پویا با سرعت بالا استفاده میشود)
tmp: مسیر قرار گیری فایلهای Temp تولید شده توسط نرمافزارها
opt: مسیر اختیاری برای نصب برنامهها
home: مسیر قرار گیری شاخههای مربوط به کاربران غیر root سیستم.
mnt: مسیر قرار گیری Mappingهای Storageهای شما(میگم یعنی چی)
media: مسیر قرار گیری Mappingهای اتوماتیک Storageهای شما(اینم میگم)
و تعدادی شاخه دیگه در لینوکسهای مختلف.
اینجا یک مسئلهای خیلی مهم. در لینوکس همه چیز فایل است.
فایلها در لینوکس بر خلاف ویندوز تنها محدود به قطعاتی نامگذاری شده در دیسکها نمیباشند. در لینوکس همه چیز فایل است و با آن مانند یک فایل بر خورد میشود. این فایلهای میتوانند بر روی دیسک باشند یک اینکه کارتصدا شما باشند یا یک ارتباط شبکهای با یک کامپیوتر دیگر. در اصل این جمله که همه چیز یک فایل است، نشانگر آن است که برخورد با کلیه قطعات سیستم شبیه فایلها صورت میگیرد و مدیریت آنها با هم یکسان است.
مگه غیر از اینهکه شما روی کارت صدای خودتون مینویسید و از میکروفون متصل بهش میخونید، خوب روی فایلهای واقعی هم مینویسند و میخونند. مدیریت یکسان، پیاده سازی متفاوت.
فراموش نکنید، در لینوکس همهچیز فایل است.
------------------------------------------------------------------------------------------------------------
چند دستور ساده،
بعد از شروع لینوکس، وارد محیط متنی اون بشید، اگه با محیط گرافیکی لینوکس شما شروع شد، با استفاده از کلیدهای Alt Ctrl F1 وارد محیط متنی 1 بشید. در لینوکس ما میتونیم 12 محیط واقعی و بینهایت محیط مجازی داشته باشیم. این محیط های واقعی با استفاده از ALT CTRL و کلید F مربوطه نمایش داده میشوند. به طور معمول، 6 تای اولی متنی و 4تای آخر گرافیکی هستند، ولی در هنگام نصب لینوکس شما فقط از محیط 7 گرافیک میگیرید که قابل گسترش.
وقتی وارد محیط متنی اول شدید با root و رمز مشخص شده در مراحل نصب وارد سیستم شوید و اولین کاری که انجام میدید ساختن یک کاربر معمولیه.
وقتی وارد محیط متنی شدید دستورات زیر رو اجرا کنید:
adduser user
passwd user
با اجرای دستور اول کاربری به نام user ساخته میشه و با اجرای دستور دوم، سیستم از شما کلمه عبوری برای این کاربر دریافت میکنه. سپس با استفاده از دستور exit از محیط root خارج بشید. زمانی که دستور exit رو اجرا میکنید، سیستم دوباره از شما نام کاربری و رمز عبور میخواد، اینبار برای نام کاربری کلمه user رو وارد کنید و برای کلمه عبور، که دیگه خودتون میدونید.
اینبار سیستم شما رو با استفاده از کاربر root وارد سیستم میکنه، خیالتون راحت باشه، بدترین کاری که در این حالت میتونید انجام بدید شکستن مانیتوره.
خوب بیاید قبل از اینکه با این غول آشنا بشیم ببینیم دستورات چین و چطوری عمل میکنن.
قبل از هرچیز باید موقعیت یابی کنیم:
ما لینوکس نصب کردیم،
لینوکس Boot شد،
ما وارد لینوکس شدیم با کاربر مدیر سیستم،
کاربر جدید ساختیم برای جلوگیری از خطرات احتمالی،
از کاربر root خارج شدیم،
وارد کاربر جدید شدیم و الان میخواهیم دستورات خودمون رو اجرا کنیم،
در محیطهای متنی دیگه، سیستم آماده دریافت نامکاربری و رمز عبور برای ورود به سیستم
خوب برای شروع دستور / cd رو اجرا کنید، این دستور باعث میشه، شما به root سیستم منتقل بشید. دستور ls رو اجرا کنید.
توضیح: دستور فلان رو اجرا کنید یعنی اینکه دستور رو تابپ کنید و enter رو فشار دهید
توضیح: دستور فلان رو اجرا کنید با پارامتر فلان، یعنی اینکه دستور رو تایپ کنید و پارامترها رو با فاصله از اون وارد کنید و کلید Enter رو فشار دهید.
دستور cd مخفف Change Directory یا تغییر شاخه است. دستور ls مخفف List و برای گرفتن لیست از فایلهای مسیر جاری استفاده میشه. مثل Dir در Dos. حالا سعی کنید یک فایل بسازید، دستور touch رو با پارامتر a اجرا کنید. این دستور از شما خطا میگیره، زیرا شما یک کاربر جزء هستید و میخواهید در root سیستم فایل ایجاد کنید و این امر توسط لینوکس جلوگیری میشه. دستور cd رو اجرا کنید. دستور cd خالی به معنی انتقال به مسیر مربوط به کاربر فعلی میشه. یعنی اگه کاربر root باشید دستور cd معادل دستور cd به همراه پارامتر root/ و در صورتی که کاربر user باشید، دستور cd به تنهایی به معنی cd با پارامتر home/user/ میباشد.
حال که دستور cd رو اجرا کردید، دستور pwd رو اجرا کنید، تا ببینید کجا هستید. حال دستور touch با پارامتر a رو اجرا کنید، اینبار از شما خطایی نگرفت و در صورتی که دستور ls رو اجرا کنید فایل a رو میبینید. حال با دستور rm به معنی remove و پارامتر a فایل ساخته شده به نام a رو پاک کنید.
خوب دستورات دیگه:
دوباره یک فایل بسازید
touch a
فایل ساخته شده a رو به نام دیگری کپی کنید:
cp a b
دستور cp به معنی کپی کردن و به صورت معمول با 2 پارامتر استفاده میشه، پارامتر اول فایل مبدا و پارامتر دوم فایل مقصد.
این باعث میشه از فایل شما به نام a یک کپی به نام b ساخته بشه. این عمل معادل دستور کپی و چسباندن در ویندوز عمل میکنه.
حالا فایل a رو با دستور rm پاک کنید. تنها فایلی که میمونه فایل b. میتونید مراحل رو با ls ببینید. این دو مرحله کار رو میشه با دستور mv انجام داد که مانند Cut و Paste در ویندوز عمل میکنه. یعنی یک کپی از فایل تهیه میشه و فایل اصلی پاک میشه به اصطلاحی عمل Move انجام میشه. پس تابپ کنید:
mv b a
یعنی فایل b رو به a تغییر نام بده.
خوب تا حالا با فایلها کار کردید، فایلها مثل کاغذند، که میشه اونها رو تو کیف یا پوشه قرار داد. برای ساخت پوشه از دستور mkdir استفاده کنید.
mkdir folder
این باعث ایجاد یک شاخه میشه به نام folder، این بار اگه شما دستور زیر رو تابپ کنید:
mv a folder
باعث تغییر نام a به folder نمیشه، بلکه به خاطر اینکه folder اسم یک شاخه میباشد، فایل a رو به داخل اون شاخه یا پوشه انتقال میده.
میتونید حالا برید داخل شاخه folder و فایل های توش رو ببینید:
cd folder
ls
زمانی که میخواهید از شاخه به شاخه قبلی یا والدش برگردید دستور cd با پارامتر .. رو اجرا کنید. در اصل بر خلاف windows که ..cd یک دستور حساب میشه، در لینوکس ما شاخههایی داریم به نام .. که توسط سیستم ایجاد میشن و همیشه به شاخه والدشون اشاره دارن. همچنین شاخهای داریم با نام . که به همین شاخه جاری اشاره میکنه.
ضمنا یکی از تفاوتهای اصلی ویندوز و لینوکس در جدا ساز شاخه هاس که در ویندوز از بک اسلش یا استفاده میشه و در لینوکس از اسلش یا /. مثل سایتهای اینترنت که از اسلش استفاده میکنن.
مورد دوم تفاوت، در اسامی فایلها در لینوکس و ویندوز. در لینوکس چیزی به نام پسوند وجود نداره، و فایلها بر اساس نوعشون شناخته میشن نه از پسوندشون، و وجود نقطه در اسم فایل، مانند بقیه کاراکترها عمل میکنه.
مورد بعدی تفاوت، حساس بودن لینوکس به نام کوچک و بزرگ فایلهاست برای مثال دستورات زیر خطاست:
touch a
cp A b
زیرا در دستور cp شما میخواهید فایلی با نام Aبزرگ رو کپی کنید، در حالی که اسم فایل ما a کوچک کیباشد.
جا افتادن این مسئله یه مقدار سخت، ولی کم کم عادت میکنید.
یکی از پارامترهایی که معمولا دستورات لینوکس از اون پشتیبانی میکنن، پارامتر help-- که باعث میشه یک راهنما از اون دستور نمایش داده بشه و مثل ?/ در ویندوز عمل میکنه. مانند:
cp --help
mv --help
touch --help
همچنین شما میتونید از دستور man با پارامتر اسم دستور استفاده کنید تا یک راهنمای جامع در اختیار شما قرار بگیره. مانند:
man cp
man mv
man touchژ
توجه کنید برای خروج از برنامه man شما باید در برنامه کلید Escape رو بزنید و تایپ کنید q: و کلید Enter رو فشار بدید.
( البته در بعضی از نسخهها با کلید q هم خارج میشه)
مورد دیگه خیلی خوب در لینوکس اینهکه شما میتونید با نوشتن چند حرف از دستور و فشار دادن کلید tab دستور رو کامل کنید. برای مثال دستور fdisk، که شما میتونید تایپ کنید fdi و کلید tab رو فشار بدید تا خود Shell لینوکس برای شما ادامه دستور رو کامل کنه. اگه تعداد دستورات زیاد باشه، چیزی نمایش داده نمیشه و باtab دوم که شما فشار بدید کل دستوراتی که با fdi شروع میشن نمایش داده میشه. اگه تعداد دستورات زیاد تر از صفحه باشه، یک صفحه از دستورات نمایش داده میشه و سیستم منتظر فشار کلید از سوی شما میشه. کلید enter یک خط صفحه رو به پایین میبره، کلید Space یک صفحه رو انتقال میده و کلید q از نمایش دستورات خارج میشه. اینکار رو شما با اسم فایلها هم میتونید انجام بدید.
ضمنا محیطی که شما الان داخلش قرار دارید Console لینوکس نام داره و اسمش Bash. این نرمافزار یکی از قدرتمند ترین Shellهای موجود در جهان، که خیلی هم پویا و پر استفاده است.
برای مثال ما دستوری داریم به نام echo که هر پارامتری که به اون داده بشه رو چاپ میکنه مثل
echo salaam
حال شما دستورا زیر رو تابپ کنید:
for i in `seq 10`; do
echo salaam
done
این دستورات باعث میشن که 10 خط سلام برای شما نمایش داده بشه. Bash از بقیه دستورات کنترلی مثل if، do ، While و switch پشتیبانی میکنه که خارج از بحث اینجاست.
حالا برای ادامه از محیط متنی خارج شید،
قبل از exit کردن، همه فایلهایی که ساختید رو پاک کنید با rm
برای پاک کردن شاخه از دستور rm با پارامتر r- استفاده کنید مثل
rm -r folder
r به معنی Recursive یا بازگشتی که برای پاک کردن شاخهها و زیرشاخههای موجود استفاده میشه و دستور rm به تنهایی قابلیت پاک کردن شاخهها رو نداره.
همچنین برای کپی کردن شاخهها میتونید از cp با پارامتر r- و سپس شاخه مبدا و مقصد استفاده کنید.
دستور exit رو تایپ کنید.
حالا با کلید Alt Ctrl F7 به محیط گرافیکی برید(توجه کنید زمانی که در محیط متنیهستید استفاده از کلید Alt F7 کافیه)
با استفاده از نام کاربری user و رمز مشخص شده در مراحل قبلی وارد محیط گرافیکی بشید و کمی با محیط اون آشنا بشید تا هم خستگیتون در بره، هم از کسالت در بیایید و یه کم با محیط آشتی کنید. خیلی شبیه Windows با این تفاوت که تعداد برنامهها بیشتره و نامهای مختلفی هم داره و در طبقهبندی های مختلفی قرار دارن.
اگه پسورد نام کاربری userرو فراموش کردید، در محیط متنی با نام کاربری root وارد شید و دستور passwd رو با پارامتر user اجرا کنید، این کار باعث میشه بتونید رمز عبور کاربران جزء رو تغییر بدید.
بعد از اینکه تو محیط گرافیکی دور زدید، از منوی اصلی محیط گرافیکی گزینه Logoff رو انتخاب کنید،
اگه از محیط مجازی استفاده میکنید گزینه Shutdown و اگه از محیط واقعی استفاده میکنید گزینه Reboot رو انتخاب کنید.
این کار باعث میشه، لینوکس همه نرمافزار های باز رو ببنده و از محیطش خارج میشید.
هر زمانی که دوباره حوصلشو داشتید وارد محیط گرافیکی شید، چند روز با این محیط کار کنید تا یه کم به لینوکس آشنا بشید تا محیط متنی رو کم کم ادامه بدیم.
------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
برای امروز بسه
بی ساکزز
سلام دوستان،
مقدمه
-----------------------------------------------------------------------------------------
این اولین سوالیه که برای همه لینوکس دوستان پیش میاد. که این چیه، چه طوری شروع کنم و از کجا شروع کنم.
حالا چرا امروز و اینجا من دارم اینهارو میگم، دلیلش اینهکه اولا چند تن از دوستان از من خواستن که یه چیزایی بنویسم، دوما اینکه چند وقته کلوب رفته به سمت بازار رضا (بازاری در تهران که قدیم .... و .... میفروختن، الان همه شدن مهندس IT)
گفتم، بیام یه چیزایی بنویسم، که یه کم جو عوض شه.
ابتدا به امر بگم، من فرشته نیستم، اینجام قرار نیست چیزایی رو بگم که ذوق کنید، فقط میخوام تجربیاتم رو به شما بگم و خیلی از دوستان اینجا اینارو میدونن. پس اگه تا ته این مقاله چیزی پیدا نکردی ناراحت نشوووووووووووووووووووو ;)
مورد بعدی اینکه، این مقاله ادامه داره، من زیاد تو کلوب نمیام، اون موقعها هم که میام، میرم چند تا از پروفایل هارو میبینم از اون قشنگاش D: - که روحیم عوض شه برم کار کنم، ولی هر چند از گاهی میام یه چیزی مینویسم.
مورد بعدی اینکه، آموزشی که اینجا داریم پله پلهس، متاسفانه مشکلی که دوستان ما تو ایران دارن، اینه که دنبال مهره مار میگردن. دنبال چیزین که سری پیاده سازی کنند و نتیجشو سریع ببینن. ولی نه تنها لینوکس، بلکه تمام علمها و هنرها نیاز به روشی آهسته و پیوسته داره. برای مثال نقاشی، خیلی ها دوست دارن سریع یاد بگیرن که یه طرحی رو بکشن، خیلی سریع دوست دارن یاد بگیرن، که اون طرح رو پیاده کنن.
میدونید تو کلاس نقاشی چیگن، 1 ماه اول میگن سعی کن دایره و مربع بکش که گرد گرد و چهار گوش چهار گوش باشن.
-----------------------------------------------------------------------------------------
شروع-
لینوکس چیست ؟
لینوکس یک سیستم عامل بازمتن، به منظور استفادههای شخصی و عمومی طراحی شده است. لینوکس به طور کلی یک Kernel یا هسته متمرکز است که وظیفه کنترل سخت افزار و ایجاد ارتباط بین کاربر و سخت افزار را بر عهده دارد.
کرنل لینوکس از ساختارهای اجرایی متعدد مثل ELF و COFF پشتیبانی میکند و از این رو میتوان برای آن برنامههای اجرایی کاربری طراحی کرد.
کرنل لینوکس از ساختارهای Load-On-Demand مانند SOها و KO ها برای محیطهای کاربری و سطح kernel استفاده میکند و از این رو میتواند از تکنولوژی Dynamic Load استفاده کند.
کرنل لینوکس از سرویسهای بین پروسهای (Interprocess Communication) سود میبرد.
کرنل لینوکس مدیریت سامانهها، منابع و وسایل سخت افزاری سیستم را بر عهده دارد.
کرنل لینوکس مدیریت اعطا کردن منابع زمانی (زمان CPU) را بر عهده دارد و از این رو یک سیستم Multi Programming محسوب میشود.
-----------------------------------------------------------------------------------------
What's your approch?
هدف شما چیست؟
شما قبل از هر چیزی میبایستی هدف خودتون رو درباره کار با لینوکس مشخص کنید.
هدف ها در لینوکس در ایران به طور کلی منحصر میشه به موارد زیر:
80% من با کلاسم
بسیاری از افراد برای اینکه به بقیه بفهمونن که سیستم عامل نصب بر روی سیستمشون Windows نیست و یک سیستم عامل دیگهس، از لینوکس استفاده میکنن. این استفاده معمولا محدود به نصب و درنهایت استفاده از Desktop میشه.
8% من مدیر شبکه خوبی هستم
بسیاری دیگر از افراد برای اینکه خود را در شبکه فردی موفق معرفی کنند لینوکس رو نصب میکنند و تعدادی از Commandهای Console اون رو یاد میگیرند و سعی میکنند کارایی رو که تو Windows انجام میدهند در لینوکس شبیه سازی کنند.
6% من برنامه نویس یا Hacker خوبی هستم
یکی از تفکرات به اصطلاح مالیخولیایی جا افتاده در بین افراد اینه که Hack یعنی Linux و Hacker باید بر روی سیستمش Linux نصب باشه. اگه یه روزی وقت شده مینویسم چرا Hackerها لینوکس میریزن. مورد دیگه برنامه نویسی در Linuxe که به خاطر صفحه سیاه و سفید Consolesh احساس خوبی به برنامه نویسا میده. احساس اینکه یه دوربین پشت سرشون قرار داره، و چند میلیون نفر دارن همراه با تخمه سیاه اونا رو نگاه میکنن.
6% من به لینوکس برای انجام کارم نیاز دارم
این افراد از لینوکس برای انجام کارهاشون استفاده میکنن. معمولا افراد لایق شبکه هستند (مثل محسن) که مضرات استفاده از Windows در شبکه رو میدونن و به طور کامل Switch کردن به لینوکس. عدهدیگری از این افراد کسانی هستند که برنامه نویس حرفهای سیستمهای //Embed//ded هستند و نیازی به دوربین و تخمه ندارند، اینها افرادی هستند که از ابزارهای برنامه نویسی رایگان موجود در لینوکس استفاده میکنن. ابزارهایی که به شما قدرت طراحی، آنالیز و پیاده سازی سریع نرمافزارهای هوشمند رو میده. بخش دیگری از این افراد، کاربرانی هستند که از لینوکس به منظور استفادههای Desktop بهره میبرند و پذیرفتهاند که از Windows با امکانات قدرتمندش در گرافیک و برنامههای کاربردی فراوان دور باشند. این افراد عادت کرده اند که با کمبودها بسازند ولی یک زندگی سالم IT داشته باشند. مثل خوردن نون و ماست در مقابل پیتزا. نون و ماست به شما لذت نمیده ولی شمارو کمک میکنه تا باشید و سالم باشید.
-----------------------------------------------------------------------------------------
What's My Requirements
من به چه چیزهایی نیاز دارم؟
مهمترین چیز در یادگیری لینوکس و نقاشی و دلالی و بنایی و درس خوندن اینه که اول شما با خودتون رو راست باشید. سوالهای زیر رو از خودتون بپرسید، و به خودتون دروغ نگید.
آیا من با زبان انگلیسی در حد استفاده از Computer، خوندن مقالات کامپیوتری و فهمیدن اونها آشنا هستم؟ آیا من میتوانم در صورتی که زبان خوبی ندارم، متنهای انگلیسی رو با کمک Dictionary ترجمه و برای خودم تفهیم کنم؟
آیا من وقت کافی برای یادگیری یک موضوع Complicated جدید دارم؟ آیا حوصله من در این زمینه کافیه؟ آیا من لینوکس را برای خود لینوکس یاد میگیرم یا هدف من تنها برای یادگیری سطحی اون و نمایش دادن به دیگرانه ؟
آیا من توانایی خسته شدن، و ادامه دادن در یک زمینه علمی را دارم؟
-----------------------------------------------------------------------------------------
What's My Requirements, in case of Hardware
من به چه چیزهایی نیاز دارم؟ از نظر امکانات
برای لینوکس، شما حداقل نیاز به 128MB فضا و حد اکثر نیاز به 30GB فضا دارید.
سیستمعامل لینوکس با بقیه سخت افزارهای شما مشکلی نخواهد داشت، چه سیستم شما PC باشد، چه Apple باشد و یا سیستمهای //Embed//ded باشد.
آیا من برای استفاده از لینوکس به کارت صدا و یا کارت گرافیک قوی نیاز دارم ؟
خیر، برای استفاده از لینوکس شما به هیچ وجه نیاز به کارت صدا و کارت گرافیک قوی نخواهید داشت. کارت گرافیک مورد استفاده لینوکس در محیط Graphic میتواند Minimum کارت گرافیک یا یک کارت گرافیک VESA VGA باشد.
در ضمن برای استفادههای Special شما نیاز به قطعات مورد نیاز دارید، مانند کارت شبکه برای کاربران شبکه.
-----------------------------------------------------------------------------------------
آیا لینوکس سیستم مرا خراب خواهد کرد ؟
خیر، هیچگاه لینوکس سیستم شما را خراب نمیکند. دلیل اینکه در روز این حرف رو شما از خیلیها میشنوید اینه که، خرابیهای موجود در اینجا، دلیلش عدم آشنایی به مراحل نصب و تایید کلیه پنجرههای نمایش داده شده در مراحل نصب است. خرابی از نظر خیلیها به معنی از بین رفتن اطلاعات هارد است.
آیا برای نصب کردن لینوکس من میبایستی اطلاعاتی داشته باشم؟
خیر. شما برای نصب لینوکس بر روی سیستم خود، نیاز به هیچ اطلاعاتی ندارید. فقط مواظب باشید، هیچ پنجرهای را در زمان نصب برنامه به صورت پیش فرض تایید نکنید و تا زمانی که از Message نمایش داده شده به طور کامل مطلع نشدهاید عمل تایید کردن را انجام ندهید.
در تمامی مراحل نصب سوالاتی بسیار ساده از شما پرسیده میشود و در کنار آن برای شما یک راهنمای کامل نصب در بخشی در مراحل نصب نمایش داده میشود. بهتر است در هر مرحله از نصب راهنمای مربوط به اون بخش خونده بشه.
آیا کار کردن با لینوکس سخت است ؟
خیر، کار کردن با لینوکس بسیار ساده میباشد. دلیل اینکه افراد کار کردن با لینوکس رو سخت عنوان میکنن اینه که لینوکس برای شما خیلی از مراحل عملیات را اعم از نصب و خود سیستمعامل در اختیار شما قرار داده است. برای مثال یکی از دلایلی که افراد برای سختی لینوکس عنوان میکنند Shell بسیار سنگین اونه که اگه Shell محدود میشد به دستوراتی مثل Copy، List، Delete و غیره این سیستم عامل یکی سیستم عامل ساده محسوب میشد.
برای مثال یک کارت گرافیک را فرض کنید که بر روی SLOT AGP شما نصب میشود و برای شما خروجی ایجاد میکند و در مقابل آن کارت گرافیک AGP دیگری که دارای 24 Jumper تنظیمات میباشد و در صورت تغییر ندادن این Jumperها کارت گرافیک مانند کارت اول عمل میکند. ولی کاربران کارت دوم، به علت داشتن Jumperهای زیاد، کارت گرافیک دوم را بسیار پیچیده عنوان میکنند، در صورتی که کارت گرافیک اول این تنظیمات را از دیده کاربران پنهان کرده است.
-----------------------------------------------------------------------------------------
در صورت یادگیری لینوکس چه کارهایی را میتوانم انجام دهم؟
متاسفانه IT هنوز در ایران سود آور نیست. شما در طول روز استفاده از Windows رو در اطراف خودتون میبینید، برنامه حسابداری، کارهای گرافیکی، تایپ نامه، برنامههای آموزشی. این کارها توسط لینوکس به سادگی Windows قابل اجرا نیستند. برای درآمد داشتن از طریق لینوکس شما حتما میبایستی در یک محیط Enterprise که از طرف یک شرکت بزرگ Supportمیشود فعالیت کنید. این شرکتهای بزرگ محدود میباشند و پرسنلی را استخدام میکنند که آشنایی خوبی با لینوکس داشته باشند، در صورتی که شما با نشستن 10 روز در کنار Windows میتونید یک مغازه را اداره کنید، مانند Write CD ، طراحی کارت ویزیت و ...
-----------------------------------------------------------------------------------------
چرا لینوکس را یاد بگیرم؟
آیا شما به زمانی فکر کردهاید که ایران به سازمان جهانی و Copyright بپیوند؟ در اون صورت شما میبایستی به طور کامل هزینه نرمافزار های مصرفی خود را بپردازید، در آن صورت بلد بودن یک سیستم عامل بازمتن باعث ادامه فعالیتهای شما میشود و در ضمن میتوانید از این قضیه سود مالی ببرید.
-----------------------------------------------------------------------------------------
چرا نرمافزارهای کاربردی Linux کم؟
آیا شما برای نصب Photoshop مبلغ 700$ پرداخت کرده اید؟
آیا شما برای نصب Office مبلغ 400$ پرداخت کرده اید؟
آیا شما برای نصب Maya مبلغ 2500$ پرداخت کردهاید؟
اگر مایلید مبلغ 2500$ پرداخت کنید تا نرمافزاری نمونه Maya در لینوکس را تحویل بگیرید. نرمافزارهای شخصی شرکتهای بزرگ مانند Walt Disney، Pixar و ...
کاربر: در ایران ما برای استفاده از نرمافزارهای بالا هزینهای پرداخت نمیکنیم، چرا باید به سمت لینوکس بریم؟
نرویــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــد
-----------------------------------------------------------------------------------------
چه زمانی طول میکشد تا لینوکس را یاد بگیرم؟
یادگیری لینوکس بی معناست، لینوکس یک بستر است برای تمامی کارهای شما، شما قبل از هر چیز میبایستی Field مورد نظر خود را مشخص کنید. در صورتی که Field خود را مشخص کردید زمان مشخصی برای یادگیری مطالب هست.
این زمان مشخص، با در نظر گرفتن اطلاعات پایه شما و آشنایی شما با زبان انگلیسی، و با زمان مشخص در روز محاسبه میشود.
اطلاعات پایه در اینجا بسیار پایین است.
آشنایی با زبان انگلیسی به صورت کامل وجود ندارد.
زمان مشخص در روز، به دلیل بی حوصلگی افراد وجود ندارد.
پس شروع کنید، سعی کنید تا یاد بگیرید و زمان پایان کار را جستجو نکنید.
کاربر: یادگیری Windows ساده تر است.
خیر، ویندوز یک سیستم بسته است، امکاناتی را که در اختیار شما قرار میدهد بسیار ساده است. شما در سراسر روز با این سیستم عامل کار میکنید و جزیی از شما شده است، پس یادگیری آن برای شما بسته به علاقه شماست.
لینوکس سیستمعاملی کامل و باز است. امکاناتی که به شما میدهد از امکانات ساده مانند تغییر پس زمینه Desktop تا تغییر در بطن (Kernel) سیستم میباشد. شما باید هدف خود را از یادگیری مشخص کنید.
-----------------------------------------------------------------------------------------
از کجا شروع کنم؟
برای شروع لینوکس شما ابتدا میبایستی بخشی از زمان خود را در روز خالی کنید. یادگیری لینوکس میبایستی آهسته و پیوسته باشد. عجله کردن و سریع حرکت کردن باعث عدم یادگیری مسائل پایه میشود و در ادامه به دلیل اینکه بسیاری از موضوعات برای شما ساختاری عجیب دارند، باعث ایجاد خستگی در ذهن شما میشوند و باعث ترک گفتن شما از این سیستمعامل میشوند.
در ادامه شما میبایستی یکی از نسخههای مختلف لینوکس را نصب کنید.
در این موضوع شما میبایستی چند نکته خیلی مهم رو به یاد داشته باشید:
هرگز سعی نکنید خاص باشید،
خیلی از افراد برای اینکه نمایش بدن که تو لینوکس از بقیه خاص ترند، بعضی نسخههای لینوکس رو که دارای اسامی عجیب هستند نصب میکنند در حالی که نمیدونن این نسخهها برای مصارف خاص ساخته شده اند.
نسخههای عمومی عبارتند از: Ubuntu، Fedora، Suse، Knoppix، Debian، Mandrake. قبل از نصب یک نسخه اسناد مربوط به اون نسخه رو به طور کامل مطالعه کنید.
به روز باشید،
لینوکس در حال پیشرفت در زمینه User Interface میباشد در نتیجه لینوکسهای جدید محیطهای کاربری بهتر و ساده تری دارند. سعی کنید آخرین شماره از نسخه مورد نظر خود را نصب کنید.
بستههای نرمافزاری را بشناسید،
لینوکسهای مختلف در هسته با هم تفاوتی ندارند، تفاوت آنها در بستههای نرمافزاری نصب شده بر روی اونهاست. لینوکسی را انتخاب کنید که بیشترین Support در زمینه برنامههای کاربردی رو داشته باشه. این امر به شما کمک میکنه تا در مقابله با دهنتون که نیاز به Windows داره کمی مقاوم تر باشید تا بتونید مسائل لینوکسی رو بهتر یاد بگیرید.
( بعضی از نسخههای لینوکس دارای بازیهای خیلی جالب، که من دقیقا نمیدونم کدوم نسخهها - اگه دوستان میدونن در ادامه این مطلب بنویسن)
چگونه شروع کنم؟
بعد از نصب لینوکس، چندین روز با محیط گرافیکی آن کار کنید. در این چند روز سعی کنید کمی از وابستگی خودتون به Windows کم کنید.
هرگز نترسید، در محیط گرافیکی معمولا شما امکانات کمتری برای خرابکاری در سیستم دارید، ولی در عین حال از هیچ چیز نترسید. در منو شبه Start لینوکس گردش کنید تمام نرمافزارها را اجرا کنید و نرمافزارهایی که در نظر شما استفادههای مدیریتی دارند را سریعا ببندید.
در این چند روز سعی کنید در سایتهای مختلف دستورات ساده Command Prompt یا همان Shell لینوکس رو فرا بگیرید. برای مثال سعی کنید شاخه بسازید. فایل بسازید و آن را کپی کنید. فایلها را پاک کنید و از آنها لیست بگیرید. فایلها را در کنار هم قرار دهید و عملیات ساده Console را فرا بگیرید. این فرامین بسیار ساده هستند و در تمامی Tutorialهای لینوکس پیدا میشوند. قبل از اجرای هر دستوری در Console لینوکس از عملکرد آن دستور مطلع شوید و بعد اجرا کنید.
Brain Storming
تنهایی کار کردن با لینوکس کمی خسته کننده است مخصوصا در روزهای اول، در روزهای اول بهتر است با یکی از دوستان خود شروع کنید و سعی کنید یک کار را که در Windows انجام میدهید در لینوکس به صورت مسابقهای با هم انجام دهید. برای مثال:
رضا و علی مسابقهای صورت میدهند، به این شکل که هرکس سریعتر تونست Screen Saver رو در لینوکس تغییر بده و کاری کنه که سیستم بعد از 10 دقیقه به صورت اتوماتیک مانیتور را خاموش کند.
کار کردن به همراه یک دوست، خیلی لذت بخش و مفید است و به صورت خیلی زیاد باعث افزایش سرعت در یادگیری میشود(تنها مشکل این مورد، نیاز به وجود 2 تا کامپیوتر که باید حل شه)
مستند کنید
هر مطلب جدیدی که یاد میگیرید در یک جا بنویسید، شاید برای شما کاری رو که انجام دادید، دوباره انجام دادنش ساده باشه ولی به دلیل اینکه هنوز از منطق لینوکس برای انجام اون کار مطلع نیستند نتونید دوباره اون کار رو انجام بدید.
به بقیه یاد بدید
رمز طلایی یادگیری هر مطلبی آموزش اون مطلب، چون در حین آموزش شخص مورد آموزش سوالاتی از شما میکنه که تمامی خلاهای فکری شما رو در اون مورد پر میکنه (بهتر این شخص مامان بزرگ یا داداش کوچیکه نباشه ;) )
تکرار کنید
هر کاری رو چند بار تکرار کنید، حتی اگه خسته کننده باشه. از اول بدون اینکه هیچ مرحله ای رو رد کنید.
گسترش بدید
زمانی که به یه مطلب مسلط شدید، اون کار رو ادامه بدید، این دفعه با انجام بخشهای اضافی در اون کار. مثل درخت که هر روز یه شاخه جدید بهش اضافه میشه. این تغییرات سعی کنید به صورتی باشه که منطقش برای شما قابل درک باشه.
برای مثال گسترش دستور Copy، کپی کردن یک شاخه با زیر شاخههای اون و از تاریخ مشخصی تا تاریخ مشخصیه. نه اینکه برای گسترش دستور کپی، برنامهای بخواهید بنویسید که Inode فایلهای کپی شده رو به صورت Sort شده نمایش بده.
لینوکس را ترک کنید!!
این هم از اون نکتههای طلاییه،
زمانی که بیشترین حس خوب رو به لینوکس پیدا کردید، لینوکس رو ترک کنید و به Windows برید، یا برید یه کتاب بخونید، یا برید غذا بخورید. چون اگه زمانی جدا شید از لینوکس که خسته شدید، برگشتتون بهش سخته (میشید علی دایی، اون موقع که Head میزد دروازه حریف میلرزید، از فوتبال جدا میشد، الان تو خیابون همه پیرهن شماره 10 تنشون بود - علی دایی 10 بود دیگه سوتی ندادم که )
-----------------------------------------------------------------------------------------
ویتامین بخورید
در زمان یادگیری لینوکس و یا هر یاد گیری دیگه ویتامین بخورید، اکسیژن بکشید بالا و کامل بخوابید.
اینو ادامه نمیدم، چون به طور کلی مربوط میشه به همه یادگیری ها
-----------------------------------------------------------------------------------------
روزی چقدر باید با لینوکس کار کنم؟
هر چقدر حال کردی عزیزم
-----------------------------------------------------------------------------------------
بعد از یادگیری لینوکس به من چی میده ؟
تو بهش چی دادی ؟
-----------------------------------------------------------------------------------------
من خیلی جو گیر شدم میخوام کامل Switch کنم به لینوکس.
در ابتدا این کار رو نکنید. چون زده میشید و کامل Switch میکنید به Windows.
-----------------------------------------------------------------------------------------
با لینوکس چه کارهایی را میشه کرد ؟
هر کاری که شما فکرشو کنی. شبکه، بازی، تفریحات، برنامه نویسی، صنعت، طراحی، آنالیز سیستمها، کارهای علمی و تحقیقاتی، مهندسی پزشکی، پردازش سیگنال، یادگیری الکترونیک و کامپیوتر از Base.
-----------------------------------------------------------------------------------------
من کجا هستم؟
اگر لینوکس رو تازه میخواهید شروع کنید، زیاد نگران نباشید، هنوز زیاد فاصله نگرفته اید، لینوکس در حال حاضر در حال اصلاح میباشد و اگه از الان شروع کنید زمانی که به سیستم عامل اول دنیا تبدیل شد شما برای خودتون موقعیت بسیار خوبی خواهید داشت.
-----------------------------------------------------------------------------------------
کسی هست در مسیر کمکم کنه؟
بسیاری از سایتهای فارسی و انگلیسی زبان برای لینوکس وجود داره. در کنار اینها در خود لینوکس تمامی فعالیتها مستند شده است و به طور کامل قابل دسترسی هستند. و در آخر هم بسیاری از گروههای فعال در زمینه لینوکس وجود دارد مانند همین کلوب که میتونید سوالاتتون رو مطرح کنید، اینجا افراد بسیار خوبی داریم، که میتونن کمکتون کنن، منم در سطح ساده مانند کارهای ساده با Desktop میتونم کمکتون کنم، فقط زیاد سخت نباشه.
فراموش نکنید که، هیچوقت دنبال ماهی نباشید، دنبال قلاب ماهیگیری باشید.
-----------------------------------------------------------------------------------------
خوب برای امروز بسه،
از منبر بیام پایین،
یه کم خودمونیش کن،
بیا وسط.
یادگیری لینوکس کار سادهای نیست، مخصوصا در اینجا با عدم وجود Copyright. لینوکس درسته هنوز اینجا جا نیافتاده ولی نگران آینده شغلی نباشید، همیشه سازمانها برای لینوکس کار در کمبود بودن و الان مخصوصا خیلی از مراکز اطلاعاتی در حال تغییر محیط خودشون به لینوکس هستند. من این حرف رو از سر گول زنکی نمیگم، خیالتون از آینده لینوکس مطمئن باشه. فقط باید سعی کنید محدود باشید، و از این شاخه به اون شاخه نپرید، سعی کنید مسیر مستقیم رو در یک جهت انتخاب کنید و ادامه بدید.
الان نیازهای کشور در رابطه با لینوکس به صورت زیر:
مدیر شبکه
کمکیار شبکه
طراح سیستمهای اطلاعاتی
برنامه نویس
طراح سیستمهای //Embed//ded
طراح Solutionهای امنیتی
طراحی Solutionهای نفوذ اخلاقی
تولید محتوا بر اساس سیستمهای لینوکسی
تغییر زیر ساختها به سمت لینوکس
طراحی سرورهای مرکزی
طراحی سیستمهای مدیریتی
وب سایتهای جدید
و ... و ...
نیاز به برنامه نویس لینوکس تا چند سال دیگه در کل کشور مشخص میشه.
جدیدا در رشته کامپیوتر در سطح دبیرستانها لینوکس گنجانده شده، که اساتید اون در حال حاضر در حال یادگیری لینوکس هستند و خدا میدونه اون سری از افرادی که امسال این کتاب رو داشتند چی یاد گرفتند. ولی به طور کلی، سیستم آموزشی کشور ما به دلیل منحصر بودن، در صورتی که به دانش آموزان لینوکس یاد بده مطمئن باشید سیستم مدیریتی آینده ماهم تحت تاثیر قرار میگیره.
یکی از شغلهای در آمد زا برای لینوکس، آموزش لینوکسه. که البته نیاز به تسلط کامل داره.
-----------------------------------------------------------------------------------------
سعی میکنم این مطالب رو ادامه بدم، اگه شد، دوستان هم کمک کنند. من تهشو سریع هم بیارم که انقد این DIDO پخش شد حالم به هم خورد. بعدم مگه Notepad جای نوشتنه. (این همه گفتم لینوکس، آخرش Notepad در اومد. البته بگما لینوکس Editorهاش خیلی بهتر از Windows ولی مشکل من با DIDO که تو لینوکس نمیدونم چرا صداش داریوش میشه. البته تقصیر لینوکس نیست تقصیر درایور کارت صدا Toshiba من در لینوکسه !!! KIDDING !!!)
-----------------------------------------------------------------------------------------
راستی یه چیزی هم بگم، (الکی که زیاد شه، بگن چقدر تایپ کرده، خدا خیرش بده)
دوتا دوست بودن علی و قلی، داشتن تو جنگل میرفتن، بعد یهو یه شیر از اون دور شروع میکنه به دویدن، علی وا میسه نگا میکنه شیرو، ولی قلی سریع کفشای ورزشی رو در می آره شروع میکنه به پوشیدن. علی یهو میزنه زیر خنده، میگه آخه فلان فلان شده، فکر میکنی با اون کفشات میتونی از دست این شیره فرار کنی؟ قلی هم با خنده نگاش میکنه، میگه من نیازی نیست از شیره جلو بزنم، باید از تو جلو بزنم.
اینو گفتم بدونید، اگه میخواهید شروع کنید، زود شروع کنید، تا عقب نمونید.
با این ترانه خیلی حال کردم
من دیگه خسته شدم بس که چشمام بارونیه
پس دلم تا کی فضای غصه رو مهمونیه
من دیگه بسه برام تحمل این همه غم
بسه جنگ بی ثمر برای هر زیاد و کم
وقتی فایده ای نداره . غصه خوردن واسه چی
واسه عشقای تو خالی ساده مردن واسه چی
نمیخوام چوب حراجی رو به قلبم بزنم
نمیخوام گناه بی عشقی بیفته گردنم
نمیخوام دربه در پیچ و خم این جاده شم
واسه آتیش همه یه هیزم آماده شم
یا یه موجود کم و خالی پرافاده شم
وایسا دنیا ، وایسا دنیا من میخوام پیاده شم
همه حرف خوب میزنند اما کی خوبه این وسط
بد و خوبش به شما ما که رسیدیم ته خط
قربونت برم خدااا چقدر غریبی رو زمین
آره دنیا ما نخواستیم دل با خودت ندیییم
نمیخوام دربه در پیچ و خم این جاده شم
واسه آتیش همه یه هیزم آماده شم
یا یه موجود کم و خالی پرافاده شم
وایسا دنیا ، وایسا دنیا من میخوام پیاده شم
این همه چرخیدی و چرخوندی آخرش چی شد
اون بلیت شانس داره بگو قسمت کی شد
همه درویش همه عارف جای عاشق پس کجاست
این همه طلسم و ورد جای خوش دعا کجاست
نمیخوام دربه در پیچ و خم این جاده شم
واسه آتیش همه یه هیزم آماده شم
یا یه موجود کم و خالی پرافاده شم
وایسا دنیا،وایسا دنیا من میخوام پیاده شم
نمیخوام دربه در
دربه در
دربه در
دربه در
دربه در
دربه در
دربه در
نمیخوام دربه در
دربه در
دربه در
دربه در
دربه در
دربه در
دربه در
اگه میخای گوش کنی اینجا کلیک کن
وزارت ارشاد شعر ((اتل،متل،توتوله))را به دلایل زیر ممنوع کرد:
1.وجود کلمات توتوله،پستان و تحریک کودکان
2.استفاده از کشور هندوستان
3.زن کردی
4.ترویج بی حجابی...............
شعر اصلاح شده:
....اتل متل زباله،گاو حسن باحاله،هم شیر داره هم آستین،شیرشو بردن فلسطین،بگیر یک زن
راستین،اسمشوبذار حکیمه،که چادرش ضخیمه
پنجم فروردین
اینجا عید است انگار
. ایرانی ها هم بابانوئل دارند منتها یک مقدار ریش اش را بد اصلاح کرده و کلا جوادتر از بابانوئل است. ایرانی ها در عیدنوروز به دیدن هم می روند و هی تخمه می خورند و هی همدیگر را می بوسند البته مردها مردها را و زنها زنها را
.اینجا به ما یک آپارتمان دادهاند که چهارده نفره تویش زندگی کنیم، یک آپارتمان را هم تکی داده اند به فی
. هرچه هم که ما می گوییم خب این چه کاریه که ما توی اینآپارتمان پای یکی مان توی دهن آن یکی باشد و مثل ساردین بخوابیم و فی تنهایی توی آن آپارتمان باشد به خرجشان نمی رود و می گویند
اختلاط زن و مرد نباید باشد
. فیلیکس به آنها گفت بابا ما توی ناوچه که بودیم همه یک جا می خوابیدیم هیچ مساله ای هم نبود. ولی اینها باوجود اینکه خیلی مهربان هستند به خرجشان نمی رود
.جان گفت:ولی این کار شما مصداق انفرادیست.ولی آقا ریشوئه گفت:تقصیر ما نیست اگرشما دو تا زن در پرسنل تان داشتید الان آن خواهر در انفرادی نمی افتاد
.یک روسری هم سر فی کرده اند که شده عینهو کلفت های داستانهای دیکنز
.ششم فروردین
امروز تورلیدرمان آمد و ما را برد دیدن کاخ های شاه
. توی راه گفت که شاه و درباریان چقدر پول ملت را حیف و میل می کرده اند و کاخهایشان را پر از اجناس آنتیک کرده بوده اند
. ما که هرچه اتاق های کاخ را دیدیم خالی بود. یک جا فقط یک میزناهارخوری بود که می گفتندخیلی گران است و شاه پشت آن بیت المال را میل می کرده
. یک جا هم یک میز تحریر بود که من از تور لیدر پرسیدم این چرا باقی مانده؟ کهتور لیدر تکانش داد و دیدیم لق می زند و قابل استفاده نبوده
.در کل اصلا از آن زرق و برق کاخ های مشرق زمین خبری نبود و من فهمیدمرسانه های ما چقدر به ما دروغ می گفته اند
. بعد ما را بردند موزه جواهرات سلطنتی که خیلی زیبا بود و ما پرسیدیم اگر شاه اینقدر بد بوده برایچی اینها را بار نکرده ببرد؟ گفتند چون ملعون فکر می کرد بر می گردد مثل بیست و هشت مرداد
.آقاهه این را با یک اخمی گفت که ما مجابشدیم
.سوم فروردین
ما امروز به خاک ایران تجاوز کردیم همه اش هم تقصیر فیلیکس بود چون هرچه من به او گفتم که ما وارد آبهای نیلگون خلیج فارس شدیم اون
گفت نه نشدیم جی پی اس نشون میده که نشدیم
. راست هم می گفت ولی باز هم تقصیر اون بود چون من صد دفعه گفتم از این جی پی اسهای ارزان ژاپنی نخریم بریم جی پی اس صاایران بخریم که الان صنعت الکترونیک دنیا رو قبضه کرده و یک اینچ هم خطا نداره ولی به گوشش
نرفت که نرفت
.چهارم فروردین
این ایرانی ها واقعا مهمان نوازند
. دیروز وقتی ما خواستیم از قایق تندرو پیاده شیم هرچی من خواستم کرایه ی قایق را بدم آن آقا ریشوئه کهپشت تیربار بود گفت نه، حساب شده
. وقتی هم که ما پیاده شدیم فرش قرمز انداخته بودند و دو تا دختر سیاه سوخته آمدند دسته گل به مادادند و گروه سرود هم آهنگ ورزشکاران پیروز بادا رخشان چون گل هر روز بادا را اجرا کردند و خلاصه کلی تحویلمون گرفتند
.