PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش کامل لینوکس مقدماتی (lpic1)



Cyb3r_Inj3ct0r
February 25th, 2014, 21:53
سلام
در این تاپیک قصد دارم شما عزیزان و به صورت کامل با مباحث دوره Lpic۱ آشنا کنم .
تمامی مطالب نوشته شده توسط اینجانب از قبل تدوین شده و قصد به اشتراک گذاری آن را دارم.

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



Topic 101: System Architecture

101.1 Determine and configure hardware settings

101.2 Boot the system

101.3 Change runlevels and shutdown or reboot system

Topic 102: Linux Installation and Package Management

102.1 Design hard disk layout

102.2 Install a boot manager

102.3 Manage shared libraries


102.4 Use Debian package management

102.5 Use RPM and YUM package management

Topic 103: GNU and Unix Commands

103.1 Work on the command line

103.2 Process text streams using filters

103.3 Perform basic file management

103.4 Use streams, pipes and redirects

103.5 Create, monitor and kill processes

103.6 Modify process execution priorities

103.7 Search text files using regular expressions

103.8 Perform basic file editing operations using vi

Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard

104.1 Create partitions and filesystems

104.2 Maintain the integrity of filesystems

104.3 Control mounting and unmounting of filesystems

104.4 Manage disk quotas

104.5 Manage file permissions and ownership

104.6 Create and change hard and symbolic links

104.7 Find system files and place files in the correct location

برای مشاهده کامل مباحث اینجا کلیک کنید (http://www.lpi.org/)


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

Cyb3r_Inj3ct0r
February 25th, 2014, 21:55
سیستم عامل لینوکس در واقع از دو بخش کرنل و گنو/ لینوکس تشکیل شده است ؛ لینوکس به خودی خود یک هسته هست که توسط شخصی به نام لینوس توروالدز در سال ۱۹۹۱ میلادی نوشته شد .
این هسته بر اساس هسته سیستم عامل بسیار قدرتمند یونیکس نوشته شد و در اینترنت قرار گرفت .

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

به همین دلیل گنو نام گرفت – ( مخفف گنو یونیکس نیست ) GNU = Gnu Not Linux میباشد . این جنبش شروع به نوشتن اکثر برنامه های سبستم عامل یونیکس کرد . نوشتن نرم افزار هایی مانند ویرایشگر های متن پوسته و... . این نرم افزار ها تحت مجوز جی پی ال عرضه شد

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

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

سیستم عامل یونیکس برای اولین بار درسال ۱۹۶۹ بوجود آمد . با توجه به قابلیت ها و انعطاف پذیری های فوق العاده و کم نذیر این سیستم عامل قدرتمند افرادی در صدد آن بر آمدند تا معماری این سیستم عامل را تغییر داده و آن را گسترش دهند . اولین بار توسط موسسه ای به نام BSD این اتفاق انجام شد . وبسیاری از گروه ها و موسسات دیگر این کار را کردند . این عمل باعث بوجود آمدن تعداد زیادی از توزیعهای سیستم عامل لینوکس شد .
برای مشاهده TimeLine توزیع ها بر روی این لینک کلیک کنید .
http://thomazrb.com.br/wp-content/up...6/gldt1005.png (http://thomazrb.com.br/wp-content/uploads/2010/06/gldt1005.png)
در پست بعدی به برسی برخی انعطاف پذیری های لینوکس میپردازیم ....

Cyb3r_Inj3ct0r
February 25th, 2014, 22:02
با سلام مجدد | ادامه :

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

از مهم ترین قابلیت های این سیستم عامل Multi User بودن آن است .

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

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

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

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

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

همانطور که میدانیم بسیاری از ارگان های نظامی و دولتی ایران همچنان از ویندوز استفاده میکنند .

( و خیلی کشور های دیگر ) فکر نمیکنم دلیلی داشته باشه که در پشت ویندوز چنین سیستم ای تغذیه

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

دانلود (https://www.kernel.org/)
و آنالیز کنید ! و حتی آن را متناست با استفاده ی خود طراحی کنید
کم نیست سیستم عامل های این چنینی.

Cyb3r_Inj3ct0r
February 25th, 2014, 22:05
یکی از تجربه های شخصی من این بود که خب درحال آنالیز سرور های مایکروسافت بودم متوجه این موضوع شدم که از سیستم عامل لینوکس استفاده میکنند ! (کار سختی هم نیست به راحتی میتونید ببینید )

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

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

لینوکس سیستمی Multi platform هست . هسته ی لینوکس به شکلی هست که میتواند در پلتفورم ها و جایگاه های مختلف شکل بگیرد . مانند بسیاری از دستگاه های الکترونیکی .

تلویزیون های هوشمند بسیاری از روبات ها حتی یخچال ها و به زودی هر آنچه که فکرش را بکنید !

مثالی که خیلی از شما ها روزانه به آن خیلی برمی خورید : اندروید !

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

لینوکس سیستم عاملی با امنیت فوق العاده هست . ( درباره این خصلت توضیحی نمیدهم به دلیل آنکه در ادامه آشنا میشویم )

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

موفق باشید

Cyb3r_Inj3ct0r
February 25th, 2014, 22:10
ادامه مباحث :

تعاریفی پیرامون Terminal , Shell , Kernel


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

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

کرنل هسته اصلی سیستم عامل هست که وظیفه ی اصلی آن بر قراری این تعامل است .

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

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

ضمنا در لینوکس هسته ای که از آن حرف زده میشود تنها یک فایل هست .

فایلی به نام vmlinuz .

درادامه به فرایند ورود کاربر به محیط لینوکس میپردازیم .

ارتباط کاربر با سیستم عامل لینوکس میتواند به صورت گرافیکی Graphical User Interface و یا خط فرمان Command line User باشد .

نکته : در سیستم عامل لینوکس به محیط کامندی شل ( Shell ) یا همان پوسته میگویند .

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

پس در نتیجه شل درخواست را به کرنل ( هسته ) میفرستد و در پایان هسته پاسخ درخواست را از سخت افزار میخواهد . مثلا برای بازکردن درایو سخت افزاری مربوط به DVD Rom ( در ادامه آشنا خواهیم شد با این فرایند )

Cyb3r_Inj3ct0r
February 25th, 2014, 22:11
زمانی که از به ترمینال لینوکس متصل میشویم به ما اصطلاحا Prompt داده میشود . این Prompt به این شکل هست :

نکته : تمامی اطلاعات موجود در این پرامپت قابل تغییر هست ...

کد PHP:

[Ali@Root /]$


قستمت اول (Ali) مربوط به نام کاربری میباشد

قسمت دوم (Root) مربوط به نام سیستم میباشد

و سپس نام دایرکتوری قرار میگیرد . برای مثال اگر ما در دایرکتوری دسکتاپ بریم پرامت به این شکل خواهد شد :

کد PHP:

[Ali@Root Desktop]$


در پایان نیز علامت $ مشاهده میشود که نشان دهنده ی سطح دسترسی ما هست .

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

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

در صورتی که # نشان داده شود بیان گر این موضوع هست که با کاربر روت ( Root or Super User ) وارد شده ایم و دسترسی ما کامل است .

با این مباحث در آینده بیشتر آشنا خواهیم شد .

لازم به ذکر است که تمامی فرمان ها و دستورات در لینوکس حساس به حروف کوچک و بزرگ هست .

در پست بعد وارد مباحث مربوط به برخی کامند ها میشویم .

موفق باشید

Cyb3r_Inj3ct0r
February 25th, 2014, 22:17
سلام

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

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

البته کامندی مثل echo دارای استثناء هایی هست ( echo هم داخلی و هم خارجی میباشید ) . خب این داخلی و خارجی به زبان ساده به چه معناست ؟

ببینید شما زمانی که از پوسته درخواست دارید برای شما دستور cd را اجرا کند و با استفاده از آن کار مورد نظر را انجام دهد .

همه ی ما میدانیم کپی کردن نیازی به ارتباط با دنیای بیرون ندارد ! فایلی از یک دایرکتوری به دایرکتوری دیگر انتقال داده میشود .

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

با استفاده از کامند type میتوانیم از داخلی یا خارجی بودن کامند مورد نظر مطلع شویم . این شکل :

کد PHP:

[Ali@Root ~]$ type yum
yum is /usr/bin/yum


و همچنین :

کد PHP:

[Ali@Root ~]$ type cd
cd is a shell builtin


builtin : معادل آن به زبان فارسی داخلی میباشد .

همچنین ! :

کد PHP:

[Ali@Root ~]$ type type
type is a shell builtin

nginxweb
February 25th, 2014, 22:19
درود
برادر موارد درج شده همان تاپیک زیر میباشد درسته؟
http://ashiyane.org/forums/showthread.php?100558-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%A7%D9%85%D9%84-lpic1

Cyb3r_Inj3ct0r
February 25th, 2014, 22:19
کامند بعدی man هست . این فرمان مخفف manual میباشد . زمانی که سیستم عامل لینوکس را بر روی سیستم خود نصب میکنید یه سری فایل مربوط به [ به زبان ساده ] :

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

کد PHP:

[Ali@Root ~]$ man date


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

کد PHP:

[Ali@Root ~]$ man cd | less


توضیح : اصطلاحا به | (پایپ یا لوله ) گفته میشود که به این معنی هست که نتیجه ی کامند man cd رو در کامند بعدی که less هست بریز .

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

موفق باشید