راهنمای تازه‌کاران

از ArchWiki پارسی
پرش به: ناوبری، جستجو


این آموزش شما را در نصب لینوکس آرچ به کمک اسکریپت نصب آرچ راهنمایی میکند. قبل از نصب پیشنهاد میگردد که بخش پرسش و پاسخ را یک مرور سریع نمایید. ویکی آرچ وابسته به گروه کاربران باید به عنوان تنها منبع برای حل و فصل مشکلات مورد استفاده قرار گیرد. فروم نیز میتواند به عنوان منبع مناسبی برای سؤالات بی پاسخ مورد استفاده قرار گیرد. با توجه به رهواره آرچ شما باید راهنمای هر دستور رادر صورت عدم آشنایی با آن توسط ‎man command‎ مطالعه نمایید.

نکته: این آموزش از طریق مرورگر ELinks در محتوای نصبی، پس از مرحله #برقراری ارتباط اینترنتی در دسترس هست. میتوانید این کار را در یک کنسول مجازی, که با کمک کلید های (‎Alt+arrow‎) قابلیت جابجایی بین صفحه وب و محل اجرای دستورات میسر است، انجام دهید.همچنین ‎#archlinux‎ IRC نیز از طریق irssi در دسترس میباشد.


پیش آماده‌سازی

آرچ توانایی اجرا بر روی تقریبا تمامی سیستم‌های i686 (پردازنده‌های 32 بیتی) با حد اقل ۲۵۶ مگابایت حافظه دسترسی تصادفی (RAM) را دارا است. نصب پایه‌ای با تمامی بسته‌های مربوط به گروه پایه باید کمتر از ۸۰۰ مگابایت از فضای دیسک را اشغال کند. برای آشنایی و راهنمای دانلود محتوای نصبی و راه‌های بوت کردن محتوای نصبی در سیستم مدنظر به صفحه دریافت محتوای نصبی مراجعه نمایید.

بوت کردن سیستم با محتوای نصبی

بوت سیستم را بر روی درایو شامل محتوای نصبی لینوکس آرچ تنظیم کنید. این کار معمولاً با فشردن کلیدی در مرحله تست خودکار در هنگام روشن شدن(POST) در زمان نمایش تصویر اولیه بوت صورت میگیرد.برای اطلاعات بیشتر به راهنمای مادربرد سیستم خود مراجعه کنید. در هنگام نمایش منوی بوت آرچ با توجه به نوع سیستم خود گزینه مد‌نظر را انتخاب کرده و سپس با کمک کلید اینتر وارد محیط نصب شوید. برای آگاهی از لیست پارامترهای مورد استفاده در بوت به فایل ‎README.bootparams‎ مراجعه نمایید. به عنوان مثال جهت جلو گیری از قفل کردن کرنل در هنگام نصب بسته‌های حجیم، که در دیسک محتوای نصبی موجود نمی‌باشند، قبل از نصب، فضای ‎cow‎ را به کمک پارامتر ‎cow_spacesize‎ افزایش دهید. اگر دیسک زنده موفق به بوت شدن نمی‌شود به مشکلات بوت کردن مراجعه کنید تا راه حل‌های محتمل را بیابید. شما به عنوان کاربر ریشه به سیستم وارد حواهید شد و محیط شل Zsh برای کار محیا میگردد. این محیط امکان پیشرفته کامل سازی دستورها توسط کلید تب را برای شما محیا میکند. جهت اطلاعات بیشتر به grml config مراجعه کنید. برای تصحیح و ساخت فایل‌های تنظیمات ویرایشگر های نانو و ویم پیشنهاد میگردند.

حالت UEFI

اگر سیستم شما دارای مادربردی با تکنولوژی UEFI می‌باشد و با فعال بودن این حالت محتوای نصبی به صورت خودکار با به کار گیری ‎systemd-boot‎ فعال میگردد. برای آگاهی و تأیید بوت شدن سیستم با این تکنولوژی پوشه زیر را مورد بررسی قرار دهید.

# ls /sys/firmware/efi/efivars

برای اطلاعات بیشتر UEFI#UEFI Variables را مشاهده نمایید.

جانمایی صفحه‌کلید

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

#ls /usr/share/kbd/keymaps/**/*.map.gz
نکته: ‎localectl list-keymaps‎ کار نمی کند با توجه به باگ FS#46725.

جهت تغییر جا نمایی صفحه‌کلید از دستور زیر استفاده کنید.به عنوان مثال تغییر به ‎de-latin1‎:

# loadkeys de-latin1

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

# setfont lat9w-16
نکته: پیشنهاد میگردد این قسمت را بر روی همان مقادیر پیش فرض و از تغییر ان مگر در شرایط خاص و مورد نیاز خود داری کنید

برقراری ارتباط اینترنتی

سرویس dhcpcd به صورت پیش‌فرض در زمان بوت فعال بوده و امکان بر قراری ارتباط با کابل را به شما می‌دهد. مرورگر ELinks جهت دسترسی به اینترنت در محتوای نصبی در دسترس میباشد. برای اطمینان از برقراری اینترنت به عنوان مثال از دستور ‎ping archusers.ir‎ استفاده کنید. اگر ارتباطی در دسترس نبود صفحه تنظیمات شبکه را مشاهده نمایید یا مثال netctl زیر را دنبال کنید. در غیر این صورت ادامه داده و به مرحله #به روز آوری ساعت سیستم بروید.

اماده سازی netctl

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

# systemctl stop dhcpcd@enp0s25.service

اینترفیس های سیستم را میتوانید با دستورهای ‎ip link‎, یا ‎iw dev‎ برای شبکه های بی‌سیم به دست آورید. با پیش نشانه های ‎en‎ (ethernet) یا ارتباط سیمی, ‎wl‎ (WLAN) ارتباط بی‌سیم,یا ‎ww‎ (WWAN) ارتباط ون، نشانه گذاری شده اند.

شبکه بی‌سیم

از دستور ‎wifi-menu‎ و ‎netctl‎ کمک بگیرید تا شبکه‌های بیسیم در دسترس را برای شما لیست کند:

# wifi-menu

اگر سیستم شما دارای بیش از یک کارت شبکه بیسیم میباشد به کمک دستور ‎iw dev‎ آن‌ها را فهرست کنید. حال نام مورد نظر را به دستور ‎wifi-menu‎ بدهید تا شبکه‌های در دسترس را برایتان فهرست کند.

# wifi-menu -o wlp2s0

برای شبکه‌های نیازمند به نام کاربری و رمز عبور صفحه WPA2 Enterprise#netctl. را مشاهده نمایید. جهت اطلاعات بیشتر Wireless را مشاهده نمایید.

اتصال با سیم (با ای پی استاتیک)

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

……………

به روز آوری ساعت سیستم

از ‎systemd-timesyncd‎ برای اطمینان از دقیق بودن ساعت سیستم کمک بگیرید.

# timedatectl set-ntp true

برای بررسی شرایط سرویس مذکور از ‎timedatectl status‎ کمک بگیرید.

آماده‌سازی فضای ذخیره داده

در این مرحله فضای ذخیره برای استفاده سیستم آماده خواهد شد. صفحه پارتیشن بندی را برای اطلاعات بیشتر و داشتن شمایی کلی مطالعه کنید. کاربرانی که علاقه‌مند هستند از  LVM, disk encryption یاRAID استفاده کنند باید دستورات مورد نیاز را پیش از آماده سازی در نظر بگیرند. اگر شما مایل به نصب آرچ بر روی یک فلش یو اس بی هستید صفحه نصب آرچ بر روی یک فلش یو اس بی را مطالعه کنید.

شناسایی دستگاه مورد نظر

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

# lsblk

این دستور تمامی دستگا های متصل به رایانه را به همرای شمای پارتیشن بندی آنان به شما نشان خواهد داد.(دقت کنید که خود محتوای نصبی نیز در این دستور نشان داده خواهد شد به عنوان مثال یک فلش یو اس بی).همه دستگا های نشان داده شده مناسب و قابل استفاده برای نصب سیستم عامل نیستند. نتایج مربوط به ‎rom‎, ‎loop‎ یا ‎airoot‎ را میتوان نادیده گرفت. دستگاها به عنوان مثال هارد دیسک‌ها با نام عمومی ‎sdx‎ نام گذاری میگردند که در این نام گذاری به جای ‎x‎ از حرف ‎a‎ برای اولین دستگاه (‎sda‎) و ‎b‎ برای دومین دستگاه استفاده شده و ادامه پیدا می‌کند. پارتیشن‌های موجود در دستگاه‌ها نیز به صورت ‎sdaxY‎ نام گذاری میگردند که در آن ‎Y‎ شماره پارتیشن بوده و از ۱ برای اولین پارتیشن و ۲ برای دومین پارتیشن استفاده شده و ادامه می‌یابد. در مثال زیر فقط یک دستگاه و یک پارتیشن در دسترس است.

NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0    80G  0 disk
└─sda1            8:1    0    80G  0 part
هشدار: تغییرات پارتیشن‌ها را با دقت انجام دهید و کور کورانه فقط دستورها را کپی پست نکنید.

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

پارتیشن بندی دستگاه

پارتیشن بندی یک هارد، ان را به بخش‌هایی تقسیم میکند که امکان دسترسی مجزا به هر یک از انها را به شما میدهد. اطلاعات مورد نیاز در پارتیشن تیبل به کمک ساختار های همچون MBR یا GPT ذخیره میگردد. پارتیشن تیبل جاری سیستم را میتوان با‎parted /dev/sdx print‎ یا ‎fdisk -l /dev/sdx بدست اورد.

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

برای پارتیشن بندی هر دستگاه با توجه به نوع جدول پارتیشن باید ابزار مناسب مورد استفاده قرار گیرد. چند ابزار در دسترس عبارتند از:

نام MBR GPT گونه های دیگر
fdisk بله بله sfdisk, cfdisk
gdisk خیر بله cgdisk, sgdisk
parted بله بله GParted

مثال زیر شمای پایه ای برای هر دو نوع پارتیشن تیبل را به نمایش میگذارد. این موارد با پیش فرض اعمال ساختار جدید به یک تک دیسک ‎/dev/sdx فراهم گردیده اند. تغییرات اجباری و مورد نیاز در مورد اسامی دستگاه ها و پارتیشن ها باید در نظر گرفته شوند.

مثال هایی از UEFI/GPT
نقطه ماونت پارتیشن نوع پارتیشن (GUID) فلگ بوتیبل سایز پیشنهادی
‎/boot‎ ‎/dev/sdx1‎ EFI System Partition بله 260–512 MiB
[SWAP] ‎/dev/sdx2‎ Linux swap خیر بیش از 512 MiB
‎/‎ ‎/dev/sdx3‎ Linux خیر مابقی فضای دستگاه
مثال هایی از MBR/BIOS
نقطه ماونت پارتیشن نوع پارتیشن فلگ بوتیبل سایز پیشنهادی
[SWAP] ‎/dev/sdx1‎ Linux swap خیر بیش از 512 MiB
‎/‎ ‎/dev/sdx2‎ Linux بله مابقی فضای سیستم

فرمت کردن پارتیشن ها

هشدار:
  • به صورت عمومی پارتیشن بندی و فرمت کردن منجر به از دست رفتن اطلاعات و باز نویسی آن‌ها میگردد. به همین خاطر تمامی اطلاعات ارزشمند نیازمند ایجاد نسخه پشتیبان هستند.
  • اگر قصد نصب به صورت بوت دوگانه در کنار نسخه نصب شده‌ای از ویندوز بر روی سیستم UEFI/GPT دارید از فرمت کردن پارتیشن UEFI خود داری کنید زیرا شامل فایل efi. مربوط به بوت ویندوز میباشد(ممکن است به عدم بوت شدن ویندوز بینجامد). گذشته از این آرچ باید همان ساختار فریمور همانند ویندوز را برای بوت دنبال کند. برای اطلاعات بیشتر به صفحه Windows and Arch dual boot#Important information مراجعه نمایید.

وقتی پارتیشن ها را ایجاد کردید، باید هر کدام را با فایل سیستم مناسب فرمت کنید. دقت کنید که پارتیشن ‎swap‎ از این حالت مستثنا است. با دستور زیر میتوانید تمامی پارتیشن های موجود بر روی هارد خود را مشاهده کنید:

# lsblk /dev/sdx

با توجه به توضیحات بالا پیشنهاد میشود که از فرمت فایل ‎ext4‎ استفاده کنید. اگر پارتیشن سیستمی برای UEFI ساخته‌اید به اجبار باید ان را از نوع ‎fat32‎ بسازید.

# mkfs.fat -F32 /dev/sdxy

اگر میخواهید پارتیشن ‎swap‎ را نیز ایجاد کنید، میتوانید از طریق 2 دستور زیر ان را ساخته و فعال کنید.

 # mkswap /dev/sdxY
 # swapon /dev/sdxY

ماونت کردن پارتیشن ها

پارتیشن root را در پوشه ‎/mnt‎ به وسیله دستور زیر سوار کنید.

# mount /dev/sdxy /mnt

بقیه پارتیشن ها به جز ‎swap‎ را میتوانید به هر ترتیبی که علاقه من هستید سوار کنید، منتها ابتدا باید نقطه سوار مناسب آن را بسازید. جهت آشنایی بیشتر به مثال زیر در مورد پارتیشن ‎/boot‎ توجه کنید:

# mkdir -p /mnt/boot
# mount /dev/sdxZ /mnt/boot

پارتیشن ‎/mnt/boot‎ برای سوار کردن سیستم پارتیشن ‎EFI‎ بر روی سیستم های UEFI/GPT نیازمند میباشد. جهت اطلاعات بیشتر EFI و موضوع های مربوطه را برای موارد مشابه مورد بررسی قرار دهید.

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

# mkdir -p /mnt/home
# mount /dev/sdxZ /mnt/home

نصب

انتخاب سرور

پکیج های مورد نیاز برای نصب باید از سرورهایی دانلود گردند که در فایل ‎/etc/pacman.d/mirrorlist‎ تعیین گردیده اند. بر روی نسخه زنده تمامی سرور ها فعال میباشند و با توجه به میزان به روز بودن و سرعت اتها در روز ساخت ایمیج دیسک زنده ترتیب بندی شده اند.

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

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

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

نصب پکیج های پایه

از اسکریپت pacstrap برای نصب گروه بسته base استفاده کنید.

# pacstrap -i /mnt base
نکته:
  • سوییچ ‎-i‎ در دستور بالا مطمئن میشود که برای نصب از کاربر اجازه گرفته شود.
  • پارامتر ‎/mnt‎ آدرس محل بارگذاری دیسک شما برای نصب آرچ می‌باشد.
  • پارامتر ‎base‎ نام گروه بسته مورد نظر برای نصب است.

گروه base نشانگر حداقل بسته های مورد نیاز برای نصب آرچ بر روی سیستم شما می‌باشد. برای ساخت بسته‌ها از AUR و یا به وسیله ABS گروه base-devel نیز نیاز می‌باشد.

برای نصب بسته و یا گروه‌های دیگر مانند base-devel نام آنها را به انتهای ‎pacstrap‎ اضافه نمایید (با کاراکتر فاصله آنها را از هم جدا کنید).

# pacstrap -i /mnt base base-devel

پس از مرحله #تغییر ریشه در صورت نیاز میتوانید این بسته‌ها را به کمک pacman(8) نصب کنید.

پیکر بندی

fstab

جهت ساخت فایل fstab از دستور زیر استفاده میشود. سوییچ ‎-U‎ به جهت استفاده از UUIDها است: جهت اطلاعات بیشتر Persistent block device naming را مطالعه نمایید. سوییچ ‎-L‎ نیز جهت استفاده از لیبل ها مورد کاربرد میباشد.

# genfstab -U /mnt >> /mnt/etc/fstab

فایل ساخته شده در مسیر ‎/mnt/etc/fstab‎ را جهت رفع خطاهای احتمالی و بررسی نتیجه دستور مورد بررسی قرار دهید.

تغییر ریشه

تمامی فایل های تنظیمات را در مسیر ‎/mnt‎ سیستم جدید کپی کرده و سپس به کمک دستور زیر به ریشه سیستم جدید تغییر مکان دهید.

# arch-chroot /mnt /bin/bash

زبان محلی

در این قسمت زبان محلی سیستم و واحد پول و ست کاراکتر ها و غیره را تعیین میکنید. مقدارهای ممکنه در فایل ‎/etc/locale.gen‎ مورد دسترس هستند. زبان های مد نظر را از حالت کامنت خارج کرده و سپس دوباره فایل تنظیمات زبان محلی را بسازید. برای کاربران فارسی زبان بهتر است گزینه های زیر را از حالت کامنت خارج کنید:

/etc/locale.gen
en_US.UTF-8 UTF-8
fa_IR UTF-8

و سپس با دستور زیر فایل تنظیمات زبان محلی را بسازید.

# locale-gen

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

# echo LANG=en_US.UTF-8 > /etc/locale.conf

زمان

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

# tzselect

جهت ثبت منطقه زمانی باید فایل ‎/etc/localtime‎ را به منطقه زمانی مورد نظر در آدرس ‎/usr/share/zoneinfo‎ لینک نمایید. به عنوان مثال برای ایران به صورت زیر عمل نمایید:

# ln -fs /usr/share/zoneinfo/Asia/Tehran /etc/localtime

همچنین پیشنهاد میگردد که زمان استاندارد UTC را برای سیستم برگزینید.

# hwclock --systohc --utc

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

فایل سیستم اولیه رم

به دلیل انکه mkinitcpio در هنگام نصب بسته linux توسط pacstrap اجرا شده و فایل سیستم اولیه ساخته می‌شود نیازی به دوباره سازی آن نبوده و می‌توان این بخش را رد کرد.

برای برخی تنظیمات خاص و تنظیم هوک ها (اسکریپت های خاص) در ‎/etc/mkinitcpio.conf‎ و بازسازی ایمیج‌های سیستم از دستور زیر بهره بگیرید:

# mkinitcpio -p linux

راه انداز

به صفحه راه اندازها برای انتخاب ها و تنظیمات مراجعه کنید. انتخاب ها شامل گراب برای (BIOS/UEFI) و systemd-boot برای UEFI و syslinux برای بایوس می‌باشند.

در اینجا به مثالی ساده برای نصب گراب بسنده میکنیم. از دستور زیر برای نصب گراب و os-prober برای شناخت سیستم عامل های دیگر استفاده کنید.

# pacman -S grub os-prober

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

# grub-install --recheck /dev/sda

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

# grub-mkconfig -o /boot/grub/grub.cfg
توجه: اگر پردازنده‌ای از خانواده پردازنده‌های اینتل دارید بسته intel-ucode را نصب کنید و microcode updates را در آن فعال نمایید.

تنظیمات شبکه

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

نام میزبان

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

/etc/hostname
myhostname

پیشنهاد میشود که همان اسم میزبان را به ورودی های ‎localhost‎ در ‎/etc/hosts‎ نیز اعمال گردد. به عنوان مثال:

/etc/hosts
127.0.0.1     localhost.localdomain        localhost
::1           localhost.localdomain        localhost
127.0.1.1    myhostname.localdomain    myhostname

اتصال با سیم

اگر قصد اتصال سیستم به هردلیلی توسط کابل لن را دارید کافیست با دستور زیر سرویس dhcpcd را فعال کنید.

# systemctl enable dhcpcd@interface.service

به جای interface اسم دستگاه مربوطه را جایگذاری نمایید.

جهت اشنایی با دیگر متود های موجود به تنظیمات شبکه#تنظیم ادرس IP مراجعه نمایید.

اتصال بدون سیم

پکیج های iw, wpa_supplicant و dialog (برای ‎Wifi-menue‎) را نصب نمایید:

# pacman -S iw wpa_supplicant dialog

ممکن است فریمور های دیگری نیز نیاز باشد. اگر قبلا از wifi-menu استفاده کرده‌اید باید دوباره کل این دستور العمل را پس از نصب و ریبوت کردن سیستم تکرار نمایید.

برای اطلاعات بیشتر به Netctl و Wireless#Wireless management مراجعه کنید.

رمز کاربر ریشه

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

# passwd

ساخت کاربر غیر ریشه

برای ساخت کاربر جدید به غیر از کاربر ریشه از دستور زیر کمک بگیرید.(‎USER NAME‎ در این دستور منظور نام کاربری مورد علاقه شما میباشد.

# useradd -m -g users -G wheel -s /bin/bash USERNAME

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

# passwd USERNAME

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

از محیط تغییر ریشه با کمک دستور ‎exit‎ یا با فشردن ‎Ctrl+D‎ خارج شوید.

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

# umount -R /mnt

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

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

#reboot

دیسک نصب را از سیستم خارج یا جدا کنید. با استفاده از نام کاربری ‎root‎ و رمز تعیین شده در مرحله قبل و یا با نام کاربر غیر ریشه و رمز تعیین کشده برای ان وارد سیستم شوید. تبریک اکنون شما با موفقیت نصب آرچ را به انتها رسانده اید.

مراحل پس از نصب

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

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