20
مرجع کاملLinux مولفChristopher Negus ترجمان ملناز قاسمی ا انور پوراحمد

Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

  • Upload
    others

  • View
    24

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

مرجع کامل

Linux مولف

Christopher Negus

مترجمانالناز قاسمی انور پوراحمد

Page 2: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان
Page 3: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

»سپس، به کاتبان و نویسندگانت بنگر و بهترین آن ها را بر کارهای خود بگمار...کاتبان و نویس�ندگانی برگزین که قدر خود را بشناس�ند، چون کس�ی که به قدر خود ش�ناخت

»برگرفته از نامه ی 53 نهج البالغه به مالک اشتر«ندارد، دیگران را هم نمی شناسد.«

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

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

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

نام و رسم و ثروت تهی کنند.

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

در س��ایه ی لطف و عنایت خود از آن چه به عهده ی ما نهاده ش��ده، س��ربلند و پیروز برآییم.

انتشارات دانشگاهی کیان

سخنی با خوانندگان

Page 4: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان
Page 5: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

فهرست مطالب

فصل اول: شروع کار با لینوکس

14 ............................................................................ لینوکس چیست؟

آشنایی با تفاوت های لینوکس با سایر سیستم عامل ها ............. 17

بررسی تاریخچه لینوکس............................................................. 18

19 ........................ جریان آهسته و پیوسته فرهنگ یونیکس در ...

21 ................................................................... تجاری سازی یونیکس

21 ..............................................Berkeley ورود توزیع نرم افزاری

آزمایشگاه های یونیکس و تجاری سازی..................................... 22

23 ........................... GNU یونیکس را به سوی آزادی هدایت کرد

25 ......................................................... BSD یک قطعه گم شده دارد

لینوس قطعه گم شده را ساخت..................................................... 26

27 ...................................................... تعریف OSI از مفهوم متن باز

بررسی چگونگی پیدایش توزیع لینوکس..................................... 28

29 ...............................................redhat انتخاب یکی از توزیع های

29 .................................redhat استفاده از نسخه سازمانی توزیع

30 ............................................................................ استفاده از فدورا

انتخاب Ubuntu یا سایر توزیع های دبیان................................ 31

یافتن فرصت های حرفه ای برای کار با لینوکس......................... 31

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

34 ...................................... redhat دریافت گواهی نامه های مهارت

34 ................RHCSA موضوعات و مباحث پوشش داده شده در

35 ......................................................RHCE موضوعات و عناوین

فصل دوم: ایجاد محیط کار رومیزی کامل لینوکس )دسکتاپ(

شناخت فناوری دسکتاپ لینوکس................................................ 40

آغاز کار با نسخه زنده محیط رومیزی Gnome در فدورا .... 42

43 ..................................................... استفاده از محیط رومیزی ...

43 ........................... آنچه پس از راه اندازی رایانه باید انجام دهید

44 ........................................ حرکت در صفحه با استفاده از ماوس

48 ............................... حرکت در صفحه با استفاده از صفحه کلید

51 ...............................................Gnome3 توسعه محیط رومیزی

51 .........................................Gnome3 استفاده از افزونه های شل

52 ........................... Gnome3 متعلق به Tweak استفاده از ابزار

شروع کار با برنامه های رومیزی................................................ 53

53 ......................................Nautilus مدیریت فایل ها و پوشه ها با

نصب و مدیریت سایر نرم افزارها................................................ 55

56 ........................ Rhythmbox پخش موسیقی از طریق برنامه

56 ............................................................ Gnome3 توقف دسکتاپ

56 .......................................................Gnome2 استفاده از میزکار

58 ...................................Metacity استفاده از برنامه مدیر پنجره

59 ............................................. Gnome تغییر ویژگی های ظاهری

59 .................................................... Gnome2 استفاده از پانل های

60 ......................... استفاده از applicationها و منوهای سیستم

61 ............................................................................. افزودن یک اپلت

61 .................................................................... افزودن یک پانل دیگر

61 ............................................................................ افزودن یک کشو

62 ......... AIGLX افزودن جلوه های ویژه سه بعدی با استفاده از

تمرین ها........................................................................................... 63

Shell فصل سوم: استفاده از

مباحثی در خصوص پنجره های شل و ترمینال......................... 66

67 ...........................................Shell Prompt چگونگی استفاده از

67 .......................................................Terminal استفاده از پنجره

استفاده از کنسول های مجازی..................................................... 68

شل خود را انتخاب کنید................................................................ 68

69 ............................................................................ اجرای دستورات

شناخت ساختار نحوی فرامین..................................................... 70

مکان یابی دستورات....................................................................... 73

Page 6: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

Linux مرجع کامل 6

75........................History فراخوانی فرامین با استفاده از دستور

ویرایش خط فرمان.........................................................................76

78............................................................................ تکمیل خط فرمان

فراخوان خط فرمان........................................................................78

80.............................................................. فرامین اتصال و گسترش

80............................................................... پایپ کردن بین دستورات

فرامین متوالی..................................................................................80

81............................................................................. فرامین پس زمینه

فرامین گسترش...............................................................................81

82.................................................................. توسعه عبارات ریاضی

گسترش متغیرها.............................................................................82

82.............................................................. استفاده از متغیرهای شل

83..................................................... ایجاد و استفاده از aliasها ...

84............................................................................... Shell خروج از

84...........................................................Shell چگونگی ایجاد محیط

84................................................................... Shell پیکربندی محیط

85........................................................................ تنظیمات خط فرمان

86................................................................ افزودن متغیرهای محلی

86............................................. کسب اطالعات در خصوص فرامین

تمرین ها............................................................................................89

فصل چهارم: جابه جایی در میان فایل سیستم

استفاده از فرامین پایه ای فایل سیستم.........................................93

95.............................................. استفاده از ابرکاراکترها و عملگرها

استفاده از ابرکاراکترهای مربوط به تطابق فایل........................95

96................................ استفاده از ابرکاراکترهای تغییر مسیر فایل

استفاده از کاراکترهای توسعه دهنده............................................97

98.......................................... فهرست کردن فایل ها و دایرکتوری ها

شناخت مجوزهای فایل و مفهوم مالکیت.................................. 101

102 ................................................ تنظیم مجوز فایل پیش فرض ...

103 ........................................................................ تغییر مالکیت فایل

انتقال، کپی کردن و حذف فایل ها............................................... 103

تمرین ها......................................................................................... 104

فصل پنجم: کار با فایل های متنی

107 ...........vim و vi ویرایش فایل ها با استفاده از ویراستارهای

108 .......................................................... vi شروع کار با ویراستار

چگونگی افزودن متن................................................................... 108

109 .............................................................................. حرکت در متن

حذف، کپی کردن و تغییر متن.................................................... 109

110 ...................................................................................vi خروج از

111 ............................................................................. حرکت در فایل

جست وجوی متون....................................................................... 111

یافتن فایل ها.................................................................................. 111

112 ....................................... جست وجوی فایل ها با استفاده از نام

جست وجوی فایل ها براساس اندازه.......................................... 113

جست وجوی فایل ها براساس کاربر.......................................... 113

113 ...................................... جست وجوی فایل ها براساس مجوزها

جست وجو براساس تاریخ و زمان............................................ 113

114 .......................................... ... or و not استفاده از عملگرهای

114 ................. ... grep جست وجوی فایل ها با استفاده از فرمان

تمرین ها......................................................................................... 115

فصل ششم: مدیریت فرایندهای در حال اجرا

شناخت فرایندها........................................................................... 117

فهرست کردن فرایندها................................................................ 118

118 ................ ... Ps فهرست کردن فرایندها با استفاده از فرمان

نمایش فهرست فرایندها و ... .................................................... 119

120 ............................................................ Renice کردن یک فرایند

120 ........... نمایش فهرست فرایندها با استفاده از مانیتور سیستم

مدیریت فرایندهای پیش زمینه و پس زمینه................................ 122

چگونگی شروع اجرای فرایندهای پس زمینه............................. 122

تمرین ها......................................................................................... 124

Page 7: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

7 فهرست مطالب

فصل هفتم: چگونه یک اسکریپت ساده شل بنویسید

شناخت اسکریپت های شل.......................................................... 127

128 ....................... نحوه ی اجرا و اشکال زدایی اسکریپت های شل

شناخت متغیرهای شل................................................................ 128

129 .................................................... کاراکترهای رزرو شده با ...

پارامترهای مکانی خاص شل..................................................... 130

خواندن پارامترها......................................................................... 130

پسوند پارامترها........................................................................... 131

استفاده از ساختارهای برنامه نویسی در ... ........................... 133

133 ............................................ if … then استفاده از عبارت های

135 ................................................................................ Case عبارت

136 ...................................................................... ”for…do“ حلقه ی

136 .................................”until…do“ و ”while…do“ حلقه های

137 ............................................ آشنایی با برخی از برنامه های ...

137 ............................................... تجزیه کننده )پارسر( متداول ...

137 ....................................)cut حذف بخش هایی از متون )دستور

137 ..................................... استفاده از اسکریپت های ساده در شل

138 ................................................................... فهرست دفترچه تلفن

اسکریپت پشتیبان گیری............................................................... 139

تمرین ها......................................................................................... 139

فصل هشتم: شناخت مفهوم مدیریت سیستم

شناخت مفهوم مدیریت سیستم.................................................. 141

استفاده از ابزارهای مدیریتی گرافیکی...................................... 142

تبدیل شدن به کاربر root از طریق شل................................... 144

145 .............................................. اعطای مجوزهای مدیریتی از ...

145 ................................................ کسب مجوزهای مدیریتی از ...

بررسی فرامین مدیریتی ... ....................................................... 146

فرامین مدیریتی............................................................................ 146

فایل های پیکربندی مدیریتی........................................................ 147

148 ................................................................. فایل های log مدیریتی

149 ................................................. بررسی و پیکربندی سخت افزار

149 ...................................................................... بررسی سخت افزار

مدیریت سخت افزارهای قابل جدا شدن..................................... 151

کار با ماژول های قابل بارگذاری............................................... 152

فهرست کردن ماژول های بارگذاری شده................................. 152

153 ...................................................................... بازگذاری ماژول ها

153 ............................................................................. حذف ماژول ها

تمرین ها......................................................................................... 154

فصل نهم: نصب لینوکس

155 ........................................................... انتخاب رایانه جهت نصب

156 ................................................ Live CD نصب فدورا از طریق

نصب نسخه Enterprise توزیع ... ......................................... 159

160 .......................................................Grub استفاده از بوت لودر

تمرین ها......................................................................................... 161

فصل دهم: دریافت و مدیریت نرم افزارها

163 .......................................... مدیریت بسته های نرم افزاری با ...

164 .............................................. فعال کردن مخزن نرم افزاری ...

164 ................................................................... جست وجوی بسته ها

165 ......................................... RPM شناخت بسته های نرم افزاری

166 ................................................. مدیریت بسته های RPM با ...

تمرین ها......................................................................................... 169

فصل یازدهم: مدیریت حساب های کاربری

171 ........................................................... ایجاد حساب های کاربری

173 ..................... user add افزودن کاربران با استفاده از فرمان

تنظیمات پیش فرض کاربر........................................................... 175

حذف حساب های کاربری با ... ................................................ 177

شناخت گروه ها............................................................................ 178

178 ....................................................................... استفاده از گروه ها

179 ...................................Enterprise مدیریت کاربران در محیط

Page 8: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

Linux مرجع کامل 8

180 ............................................ACL تنظیم مجوزها با استفاده از

181 ........................................................................ ACLs فعال کردن

تمرین ها......................................................................................... 182

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

شبکه رایانه های دسکتاپ، سرورها و ...................................... 186

پیکربندی شبکه برای سیستم های دسکتاپ.............................. 186

188 ................................................................ تغییر واسط های شبکه

تغییر در شبکه از طریق خط فرمان........................................... 189

مشاهده واسط های شبکه............................................................ 190

بررسی اتصال به سیستم های راه دور...................................... 191

پیکربندی شبکه برای سرورها................................................... 194

195 ..............................system-config-network استفاده از

انتخاب پیکربندی دستگاه............................................................ 196

196 .............................................................. DNS انتخاب پیکربندی

197 .............................................. شناخت فایل های پیکربندی شبکه

فایل های مربوط به واسط های شبکه......................................... 197

تمرین ها......................................................................................... 200

فصل سیزدهم: مدیریت سرور

203 ...................................................... شروع کار با مدیریت سرور

استفاده از فایل های پیکربندی.................................................... 204

بررسی پیکربندی های پیش فرض............................................... 205

207 ................................................................... حفاظت از کلمه عبور

208 .................................................................................... دیوار آتش

208 ....................................... تنظیمات امنیت در فایل های پیکربندی

اجرای گزارشات فعالیت های سیستم......................................... 209

210 ........................... چک کردن فایل سیستم برای نشانه های هک

212 .................................................... ssh استفاده از ابزار مشتری

213 ............................................. استفاده از ssh برای ورود به ...

218 ..............................................SFTP کپی تعاملی با استفاده از

220 .............................................................. پیکربندی سیستم ورود

221 .............................................. rsyslog.conf آشنایی با فایل

223 .................................................... log آشنایی با پیام های فایل

226 ........................... SAR چک کردن منابع سیستم با استفاده از

بررسی فضای سیستم................................................................ 226

226 ........................................................df نمایش فضای سیستم با

تمرین ها......................................................................................... 231

فصل چهاردهم: آغاز و خاتمه سرویس ها

daemonهای init در لینوکس.................................................. 233

242 .............................................. Upstart اصول و مبانی دائمون

245 ............................................ SysVinit با upstart سازگاری

248 ......................................................................Systemd یادگیری

253 ........................................... SysVinit با Systemd سازگاری

255 ............................................................... رسیدگی به سرویس ها

257 ........................................................ system init رسیدگی به

259 ............................................................ آغاز و خاتمه سرویس ها

260 ...........................Upstart init آغاز و خاتمه سرویس ها در

262 ..........................................................system آغاز سرویس در

263 ...................................system بارگذاری مجدد سرویس ها در

263 ...................................................... تنظیمات سرویس های دائمی

265 .......................................systemd فعال سازی یک سرویس با

268 ................................................. تنظیم واحد هدف پیش فرض ...

افزودن سرویس های جدید یا سفارشی.................................... 269

تمرین ها......................................................................................... 275

فصل پانزدهم: پیکربندی سرور چاپ

278 ....................................)CUPS( سیستم چاپ عمومی یونیکس

279 .............................................................................. تنظیم چاپگرها

283 ......................Printer Configuration استفاده از پنجره

ویرایش و آماده سازی یک چاپگر محلی................................... 285

Page 9: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

9

تنظیم و پیکربندی چاپگرهای کنترل از راه دور....................... 287

288 ........................... CUPS افزودن یک چاپگر کنترل از راه دور

290 ......................................................................CUPS کار با چاپ

292 ..................................... تنظیم و پیکربندی اختیارات چاپگر ...

استفاده از دستورات چاپ.......................................................... 294

تنظیم و پیکربندی سرورهای چاپ............................................ 296

یادگیری smb.conf برای چاپ............................................... 298

تمرین ها......................................................................................... 301

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

سرور وب آپاچی......................................................................... 304

تهیه و نصب سرور وب.............................................................. 304

307 ................................................................................. نصب آپاچی

استفاده از دستورالعمل ها........................................................... 311

یادگیری تنظیمات پیش فرض...................................................... 314

افزودن یک هاست مجازی.......................................................... 316

318 ............................... اجازه انتشار محتوای وب توسط کاربران

319 ...................................SSL/TLS تأمین امنیت ترافیک وب با

321 .............................................................. SSL چگونگی پیکربندی

تولید کلید SSL و گواهی ورودی............................................... 323

324 ......................................... ایجاد یک درخواست گواهی ورودی

325 .................................................................... عیب یابی سرور وب

327 .......................... ممنوعیت دسترسی و خطاهای داخلی سرور

تمرین ها......................................................................................... 329

FTP فصل هفدهم: پیکربندی سرور

331 ............................................................................FTP آشنایی با

333 ......................................................vsftpd FTP نصب سرور

335 ...................................................vsftpd شروع کار با سرویس

337 ..............................................................FTP ایمن سازی سرور

اجازه دسترسی FTP در ... ..................................................... 339

339 .................................... FTP برای سرور SELinux پیکربندی

341 ........................................... vsftpd مجوزهای فایل لینوکس به

342 .................................................................FTP پیکربندی سرور

تنظیم دسترسی کاربر................................................................. 342

342 ...................................... استفاده از کالینت های FTP برای ...

343 ................................................ دسترسی به سرور FTP از ...

343 ................................................ دسترسی به سرور FTP از ...

345 ............................................... gFTP استفاده از برنامه کالینت

تمرین ها......................................................................................... 346

)Samba( فصل هجدهم: پیکربندی سرور اشتراک فایل ویندوز

349 .............................................................................Samba مفهوم

350 ..............................................................................Samba نصب

352 ..............................................................Samba شروع و توقف

352 ............................................. Samba(smb) شروع سرویس

354 ....................(nmbd) NetBIOS شروع به کار سرور نام

355 ................... ... Samba(smb) متوقف کردن سرویس های

356 ................................................Samba پیکربندی فایروال برای

357 ...........................................Samba برای SELinux پیکربندی

358 ....................................... ... SELinux تنظیم کردن بولین های

359 ........................................ ... SELinux تنظیم کردن متن فایل

360 ...................... ... Samba پیکربندی مجوزهای میزبان/کاربر

360 ........................................................................Samba پیکربندی

365 ...................................smb.conf در فایل Samba پیکربندی

366 ............................................................]global[ پیکربندی بخش

367 ...........................................................]homes[ پیکربندی بخش

دسترسی به مشترکات Samba در لینوکس............................ 371

استفاده از Samba به صورت تجاری...................................... 374

تمرین ها......................................................................................... 375

فهرست مطالب

Page 10: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

Linux مرجع کامل 10

NFS فصل نوزدهم: پیکربندی سرور فایل

379 ..........................................................................nfs نصب سرور

382 .............................................../etc/exports نام میزبان ها در

انتقال فایل سیستم های مشترک................................................. 384

385 ..............................................................NFS ایمن سازی سرور

386 .....................................................NFS باز کردن فایروال برای

387 ................................TCP در محافظ NFSاجازه دسترسی به

387 ....................................NFS برای سرور SELinux پیکربندی

راه اندازی یک فایل سیستم در زمان بوت.................................. 390

391 .................................................noauto راه اندازی فایل سیستم

393 ...................................... استفاده کردن از گزینه های راه اندازی

393 ............................................./net راه اندازی خودکار در مسیر

راه اندازی خودکار دایرکتوری های خانگی................................ 395

396 ................................... خارج کردن فایل سیستم های nfs از ...

تمرین ها......................................................................................... 398

فصل بیستم: عیب یابی لینوکس

عیب یابی در حین راه اندازی........................................................ 400

400 ....................................................................BIOS شروع کار از

401 .......................................... BIOS عیب یابی در حین راه اندازی

عیب یابی در ترتیب بوت شدن.................................................... 402

403 .......................................................GRUB عیب یابی بوت لودر

عیب یابی فرایند مراحل اجرا........................................................ 408

412 ................................................... عیب یابی بسته های نرم افزاری

415 ....................... استفاده از corn برای بروزرسانی نرم افزارها

تعمیر پایگاه های داده ای RPM و کش...................................... 416

عیب یابی اتصاالت خروجی......................................................... 417

عیب یابی اتصاالت ورودی.......................................................... 421

فایروال را بر روی سرور کنترل کنید....................................... 422

کشف مشکالت حافظه ................................................................ 424

کنترل مشکالت حافظه................................................................. 425

تمرین ها......................................................................................... 429

فصل بیست ویکم: مفاهیم پایه ای امنیت در لینوکس

432 ................................................. مقدمه ای بر چرخه فرایند امنیت

امتحان و تست فاز برنامه ریزی................................................. 433

کنترل دسترسی اجباری............................................................. 434

کنترل دسترسی مبتنی بر نقش.................................................. 435

چک لیست امنیتی صنعتی........................................................... 436

ایمن کردن حساب های کاربری.................................................. 439

با حساب مدیر )ریشه( وارد نشوید........................................... 439

441 .............................. تنظیم تاریخ انقضا برای حساب های موقت

انتخاب پسوردهای مناسب......................................................... 444

ایمن نمودن فایل سیستم............................................................. 449

قفل کردن فایل سیستم................................................................ 452

مدیریت نرم افزارها و سرویس ها............................................... 453

نظارت بر فایل های گزارش......................................................... 454

458 ................................................... نظارت بر حساب های کاربران

اسکن فایل سیستم....................................................................... 462

تشخیص نفوذ............................................................................... 465

تمرین ها......................................................................................... 470

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

471 ............................ پیاده سازی امنیت لینوکس با استفاده از ...

472 ............................................................................. آشنایی با هش

آشنایی با رمزگذاری / رمز زدایی.............................................. 473

آشنایی با رمزهای رمزنگاری.................................................... 474

480 ..................................................... آشنایی با امضاهای دیجیتال

رمزگذاری فایل سیستم لینوکس................................................ 482

485 ...................................................................... رمزنگاری یک فایل

486 ........................................................................ دیگر رمزنگاری ها

488 ............................................................................PAM متن های

498 ........................................................PAM قفل کردن حساب با

Page 11: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

11

SELinux فصل بیست وسوم: افزایش امنیت لینوکس توسط

501 ........................................................................SELinux مزایای

503 ....................................................................SELinux نحوه کار

504 ........................................................................................ نوع اجرا

506 ................................................................ استفاده از حالت مجاز

507 ................................... Enforcing استفاده از حالت اجرایی یا

511 ..................................................SELinux تنظیم حالت عملیاتی

512 ....................................................SELinux تنظیم نوع سیاست

513 .................................................. SELinux مدیریت مفاد امنیتی

514 .......................................................... مدیریت مفاد امنیتی کاربر

مدیریت فایل مفاد امنیتی............................................................. 515

520 ........................ audit در گزارش SELinux بازبینی پیام های

522 ........................................ SELinux مشکل یابی ثبت گزارشات

522 ........................................SELinux مشکل یابی مسائل متداول

یکجا قرار دادن همه چیز............................................................. 524

525 ...................................SELinux کسب اطالعات بیشتر درباره

تمرین ها......................................................................................... 526

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

بررسی سرویس های شبکه........................................................ 530

532 ................................. ارزیابی دسترسی به سرویس های شبکه

استفاده از ابزار nmap برای ... .............................................. 532

536 ......................................... استفاده از nmap برای بررسی ...

کار کردن با دیواره آتش............................................................ 541

آشنایی با دیواره آتش................................................................ 542

پیاده سازی فایروال ها.................................................................. 543

552 ...............................................iptables ذخیره سازی پیکربندی

تمرین ها......................................................................................... 554

Media : ضمیمه

دریافت فدورا................................................................................ 556

558 .............................. RedHat Enterprise دانلود و دریافت

دانلود و دریافت ابونتو................................................................ 559

560 ......................................... ایجاد CDها و DVDهای لینوکسی

رایت CDها / DVDها در ویندوز............................................ 561

رایت CDها/DVDها در لینوکس............................................. 562

563 ................................ رایت CDها از طریق خط فرمان لینوکس

564 ...................................USB بارگذاری لینوکس از طریق درایو

فهرست مطالب

Page 12: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان
Page 13: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

شروع کار با لینوکس

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

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

که به صورت هایی توانند در بسیاری از موارد از پروژه های مشارکتی می دهد پروژه نشان میآن مدلی است که

. شوند، پیشی بگیرند انفرادی و مستقل انجام می

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

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

عامل کنید، مرورگری خواهید داشت که توسط سیستم را دانلود و اجرا می که مرورگر اینترنتی گوگل کروم

. شود لینوکس حمایت و پشتیبانی می

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

و زبان MYSQL، بانک اطالعاتی Apache وب ، سرورLinuxی است برای عبارات فسرنام یا مخف LAMP. دهد می

وک خود از در حقیقت فیسب. گیرند جای می باز های متن که همگی در دسته پروژه phpنویسی تحت وب اسکریپت

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

1. Googles Chorme 2. Facebook

3. Open Source 4. Source Code 5. Applications

6. Tools

فصل

1

:خوانید آنچه در این فصل می

لینوکس چیست؟

لینوکس از کجا آمده است؟

؛انتخاب توزیع مناسبی از لینوکس

؛ای برای کار با لینوکسهای حرفهیافتن فرصت

در لینوکس( تأییدیه)نامه دریافت گواهی.

Page 14: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

Linuxمرجع کامل 41

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

. ن این سایت رشد نمایی داشته استسراسر جهان به سرعت رفع شده و به تبع آ

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

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

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

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

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

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

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

لینوکس چیست؟افزار است که رایانه شما را مدیریت کرده عامل شامل تعدادی نرم یک سیستم. عامل است لینوکس نوعی سیستم

ها را عامل هایی که لینوکس و سایر سیستم ویژگی. کنند را میهای کاربردی موردنظرتان را روی آن اج و برنامه

: دهد عبارتند از تشکیل می

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

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

. کند افزاری را بارگذاری می های سخت افزارهای موردنیاز جهت دسترسی به این دستگاه پرداخته و سپس نرم

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

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

چنین سیستمی باید توانایی آن را داشته باشد که راهکارهایی جهت شروع، توقف و تغییر در ضمن. باشند

. ها پیشنهاد دهدفرایند وضعیت

مدیریت حافظههای کاربردی که نیاز ، باید به برنامه(Extendedیافته یا حافظه توسعه) Swapو فضای حافظه RAMی حافظه

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

. مختلف جهت دسترسی به حافظه را مدیریت نماید

1. Boot Up 2. CPU 3. Hard Disk 4. Processes

Page 15: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

41

شروع کار با لینوکس :فصل اول

یک رابط کاربری ارایههای این مهم، در سیستم. هایی را جهت دسترسی به سیستم فراهم آورد عامل باید بتواند روش یک سیستم

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

. ها قرار دارد های گرافیکی رومیزی نیز جهت رفاه حال کاربران در دسترس آن ، رابطShellبر

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

. فایل را برعهده دارد های موجود در ساختار سیستم ها و دایرکتوری کنترل مالکیت و نحوه دسترسی به فایل

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

های اصلی ها و مرزهای دسترسی برای کاربران از جمله ویژگی و تعیین محدودیت بردیرهای کا ایجاد حساب

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

. های مختص خود را کنترل و مدیریت نمایندفرایندها و آورد که بتوانند فایل می

ات مدیریتیامکان ارایهپنجره گرافیکی جهت اجرای امور مدیریتی نظیر افزودن دستور و( بلکه هزاران)عامل لینوکس صدها در سیستم

کل امور مرتبط به امنیت و مدیریت طور افزار و به ها، رصد و نظارت بر شبکه، نصب نرم کاربران، مدیریت دیسک

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

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

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

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

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

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

گرها، داده، چاپ میل، پایگاه-وب، ای کند عبارتند از ارایهتواند های مهمی که لینوکس به عنوان یک سرور می ویژگی

. DHCPو نیز سرورهای DNSها، فایل

1. User Interface 2. Command Line 3. Authentication 4. User accounts 5. Background 6. Domain Name System متصل به اینترنتها و دیگر منابع گذاری رایانه مراتبی برای نام نظام سلسله: سیستم نام دامنه

Page 16: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

Linuxمرجع کامل 41

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

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

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

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

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

. شود ی میقحیاتی تل

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

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

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

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

. توانند به شکل یک سیستم واحد در دنیای بیرون ظاهر شوند بندی، چندین سیستم می خوشه

ا شوند، این درحالی است ج های خوشه جابه ای پیکربندی نمود که بین گره توان به گونه ها را می سرویس

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

سازی مجازیسازی اجرا توان به عنوان یک جریان مجازی تر منابع، لینوکس را میموثربه منظور مدیریت هرچه کاراتر و

BSDهای دیگری را نظیر لینوکس و مایکروسافت ویندوز، عامل ریان سیستمد روی این جیتوان شما می. نمود

های مجازی به شکل یک رایانه در دنیای واقعی، هر یک این میهمان. های مجازی اجرا کنید همانیبه عنوان م... و

های مجازی عنوان دو فناوری در لینوکس است که برای ایجاد میزبان XENو KVM. شوند مجزا ظاهر می

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

. رود سازی به کار می های ذخیره های مجازی و همچنین مدیریت رسانه ها و میهمان برای مدیریت میزبان

محاسبات در زمان واقعی

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

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

1. Clustering

2. Virtualization

3. Real Time

Page 17: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

41

شروع کار با لینوکس :فصل اول

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

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

ISCSI ،Fiber Channel وInffribard .

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

ها و پیکربندی سرورهایی که اساس کار با ها، شروع و توقف سرویس ، کار با دیسکShellچگونگی استفاده از

. روند در این کتاب مورد بحث و بررسی قرار خواهند گرفت های پیشرفته به شمار می این ویژگی

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

Mac OSXاگرچه . کرده باشیداستفاده Apple Macهای دیگری چون مایکروسافت ویندوز یا عامل از سیستم

در این . شود گفته می Berkelyافزاری که به آن توزیع نرم)دارد باز افزاری آزاد و متن ای در جنبش نرم ریشه

، اما شرایط، ضوابط و ارکان مربوط به هر دو (خواهد شد ارایهتوضیحات بیشتری در ادامه خصوص

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

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

عامل ترین سطوح سیستم توانید تغییری در اساسی به دلیل عدم امکان تغییر در ساختار کد، نمی

توانید از کد این نمی در ضمن. سازی کنید ایجاد کرده و آن را متناسب با نیازهای خود، اختصاصی

. عامل دیگر استفاده نمایید عامل برای ایجاد یک سیستم سیستم

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

. آن بررسی کنید

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

. افزارهای موردنظر خود نباشید شما قادر به اجرای نرم

! چه اهمیتی دارد؟»: افزار با خود بگویید ممکن است شما در نگاه نخست به شرایط مالکیت خصوصی نرم

ورد م عامل افزار نیستم که مایل به بررسی و احتماالً تغییر ساختار کد سازنده سیستم دهنده نرم من توسعه

. «ام باشم استفاده

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

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

و ضمناً شرکت فعال در حوزه فناوری ( Tivoمثل )ای اتی و رایانهب، ابزارهای خاص محاس(اندروید برای مثال)

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

. اند سزایی در رشد فناوری داشته هب تاثیرو به تبع آن

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

هایی که ها و سایر شرکت ، اما این شرکت(اند های دیگر چنین کرده گوگل، فیسبوک و شرکت که البته)نباشید

Page 18: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

Linuxمرجع کامل 41

نیاز خواهند داشت که ای خود به لینوکس وابسته هستند، به افرادی های رایانه اندازی زیرساخت اکنون جهت راه

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

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

هام باید بدانید که به منظور رفع این اب .پذیری به صورت رایگان و آزاد مورد استفاده قرار گیرد قدرت و انعطاف

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

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

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

Comp.OS.minix شوند انتشار یافته است آغاز می 99 آگوست در تاریخ : (http://groups.google.com/group/comp.os.minix/msg/b813d52cbc5ao44b?pli=1)

لینوس بِنِدیکت توروالدز

. کنید استفاده می minixسالم بر شما که از

هستم و البته این کار را صرفاً یک 38G(486) AT Clonesعامل آزاد برای حال تولید یک سیستممن در

این پروژه از ابتدای آوریل آغاز شده و در حال آماده شدن . دانم می GNUمثل ای سرگرمی و نه یک کار حرفه

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

مثالً به دالیل تجربی دریافتم که بهتر است ساختار و . شباهت دارد minixحال توسعه آن هستم تا حدی به

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

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

([email protected])لینوس

طراحی و تولید شده، اما فارغ از کدهای minix عامل لینوکس بر مبنای اصول توسعه اگرچه سیستم :پانوشت

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

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

. کند پشتیبانی می ATهای سخت از دیسک

minix به با عاملی مشا سیستمunix های شخصی مورد استفاده روی رایانه 991 است که در اوایل دهه

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

ز ا( Mac OSXشامل لینوکس و )ای نوین های رایانه ویندوز، سایر سیستم ها مثل مایکروسافت عامل سیستم

. اند تولید شده AT&Tهای مبتنی بر یونیکس مشتق شده و توسط عامل سیستم

تواند از سیستم بازچگونه می عامل آزاد و متن به منظور درک هرچه بهتر این موضوع که یک سیستم

در آن ایجاد شده است unixسازی شود، شناخت فرهنگی که مدل AT&Tاختصاصی و تجاری در آزمایشگاه

1. Linus Torvalds

Page 19: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

41

شروع کار با لینوکس :فصل اول

را به صورت آزاد و unixتوان ی حوادث و رویدادهایی که این احساس را ایجاد کرد که می یرهو نیز زنج

. شود کرد امری ضروری و اثر بخش محسوب می تولید باز متن

داستان یک انقالب »جهت کسب اطالعات بیشتر در خصوص چگونگی ایجاد و تولید لینوکس، کتاب : توجه

. را مطالعه نمایید 2001سال Harper Collinsنوشته لینوس توروالدز، انتشارات « تصادفی

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

نویسی و تولید نیازهای بازار تولید نشده، بلکه هدف اصلی از توسعه آن غلبه بر موانع موجود در زمینه برنامه

عامل را اساساً به شکل یک این سیستم، unix، مالک اصلی عنوان تجاری AT&Tشرکت . ها بوده است برنامه

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

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

را به خاطر ندارید، احتماالً زمانی را نیز که این شرکت یک AT&Tای جوان هستید که جدایی اگر به اندازه

نگران رقابت در بازار نبود چرا AT&T، شرکت 991 تا اوایل دهه . شرکت تلفنی بود به خاطر نخواهید آورد

در آن زمان AT&T. کرد که اگر کسی در ایاالت متحده به تلفن نیاز داشت حتماً باید به این شرکت مراجعه می

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

. رفت در نیوجرسی به شمار می تپه موری

و های کن تامپسون ، آزمایشگاه بل دو نفر به نام9 9 در سال ای به نام مولتیس پس از شکست پروژه

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

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

های پانچ نوشته شده و ها روی کارت ترتیب بود که باید برنامه ها بدین تا آن زمان روند نوشتن برنامه

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

« های اشتراک زمانی یونیکس سیر تکاملی سیستم»با عنوان 991 دنیس ریچی در یک سخنرانی در سال

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

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

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

ایم که ماهیت محاسبات اشتراکی و مهمی که توسط ساز و کارهای اشتراک زمانی و دسترسی از تجربه دریافته

های پانچ به یک محیط ها و تبدیل آن از کارت تغییر محیط نوشتن برنامهصرفاً ،شود سازی می راه دور پیاده

. «ترمینال نبوده، بلکه یکی از اهداف اصلی آن تشویق به ایجاد ارتباطات نزدیک میان کاربران بوده است

1. Murray

2. Multics

3. Ken Tompson 4. Dennis Ritchie 5. Batch

6. Main Frame

Page 20: Linux - نشر دانشگاهی کیان...رامگب دوخ یاهراک رب ار اهنآ نیرتهب و رگنب تناگدنسیون و نابتاک هب ،سپس« تخان

Linuxمرجع کامل 02

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

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

: نهاده شده است

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

،توان از آن می( ای دیگر است درون پوشه امروزی مشابه ایجاد پوشههای رومیزی این ویژگی در رایانه)

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

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

، خروجی یک (<)ط فرمان و با استفاده از کلید جهت نمای سمت راست ختوانند از طریق کاربران یونیکس می

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

به عنوان . ستور را به عنوان ورودی به دستور دیگری هدایت کنندتوانستند خروجی یک دکمک آن کاربران می

نموده با یکدیگر الحاق catرا با استفاده از دستور file 2و file 1مثال دستور مطرح شده در خط فرمان زیر،

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

را خروجی lprبندی کرده و در نهایت با استفاده از دستور متن حاصل را برای چاپ صفحه prاستفاده از دستور

: کند فرض سیستم هدایت می به چاپگر پیش$ cat file1 file2 | sort | pr | lpr

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

یونیکس با در اختیار داشتن . های مختلفی اجرا نمود توان آن را روی رایانه که می طوری کرده است؛ به

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

ها دیگر نیازی به دانستن کند که با وجود آن برنامه های کاربردی فراهم می ی برنامهرابطی را برا( شوند می

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

افزار مستلزم تدهندگان تغییر یابند، بدین معنی که تغییر در سخ تنها کافی است که درایورها توسط توسعه

. های کاربردی نخواهد بود تغییر در برنامه

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

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

1. Folder 2. Concatenate

3. Portability 4. Brain Kernighan