راهنمای تازهکارها
| خلاصه مقاله |
|---|
| یک راهنمای پرجزییات و تشریحی برای نصب، پیکربندی و استفاده از سیستم پر قابلیت آرچلینوکس. |
| موضوعات مرتبط |
| راهنمای نصب و راه اندازی |
| راهنمای نصب از SSH |
| توصیههای عمومی |
| اشکال یابی عمومی |
مقدمه
معرفی
لينوکس به سادگي آرچ
خوش آمدید. این سند شما را برای نصب سیستم آرچلینوکس راهنمایی میکند. آرچلینوکس یک توزیع گنو/لینوکس ساده و سبک است که مناسب کاربران ماهر گنو/لینوکس میباشد. این راهنما برای کاربران جدید آرچ تهیه شده اما حاوی اطلاعات پایهای بسیار زیادی برای تمام کاربران است. قبل از نصب بهتر است قسمت سوالات و پاسخهای متداول را از اینجا مشاهده نمائید.
نکات بارز توزيع آرچ لينوکس
سادگی در طراحی و فلسفه
اصول طراحي آرچ، طراحي ساده است ساده گي به منظور خالي بودن آرچ از ملحقات اضافي ، مدل ها يا پيچيدگي ها و نهايت سبکي براي رسيدن به هدف اصلي آن میباشد بعضی از تفکراتی که همراه با سادگی در ذهن تداعی میشوند عبارتند از: سادگی مفهموم تکنیکی دارد نه یک مفهموم عمومی؛ سادگی عبارتست از طرح زیبا و مفهموم تکنیکی در کنار یادگیری بالا و در خلاف جهت راحتی استفاده قرار میگیرد. Aaron Griffin
وجود خودکفایی که با ناملزومات مختلط نشده باشد Occam's razor
بستههای نرمافزاری
تمام بسته ها برای معماری های 32 و 64 بيتي آماده و در مخازن مربوطه قرار میگیرند، شما میتوانید لیست بستههای موجود در مخازن مختلف را از اینجا مشاهده نمائید.
اسکریپتهای راهانداز به سبک BSD
آرچلینوکس از اسکریپتهای راه انداز به سبک BSD به جای سبک SysV استفاده میکند.
تفاوت آنها در چیست؟
BSD:
- اسکریپتهایی که با شروع کار سیستم شروع به کار میکنند (startup) عموما در etc/rc.d/ نگهداری میشوند.
- شمار کمی از فایلها etc/rc.sysinit , /etc/rc.local/ , … کنترل پروسههای startup را به عهده دارند.
SysV:
- اسکریپتهای startup عموما در /etc/init.d/ نگهداری میشوند.
- شماری از مسیر ها به سبک /etc/rcX.d/ (برای هر مرحله اجرا (run level) یکی) وجود دارد.
- محتویات هرکدام از مسیرهای فوق شامل لینکهایی به اسکریپتهای واقع در مسیر /etc/init.d/ میباشد.
- لینک هایی که در /etc/rcX.d/ وجود دارند در startup به ترتیب حروف الفبا اجرا خواهند شد.
- همانگونه که مشاهده میکنید در اینجا یک بار دیگر شاهد سادگی در آرچ هستیم، نه بهتر شده نه بدتر، بلکه به خوبی کار میکند با این تفاوت که سادهتر شده است.
mkinitcpio یک سازنده ساده و پویای initramfs
initial ramdisk یک سیستم فایل موقت مربوط به هسته لینوکس برای استفاده در فرآیند راه اندازی سیستم میباشد. initrd و initramfs تفاوتهای کوچکی در بارگزاری سیستم بر روی حافظه ( رم ) با یکدیگر دارند . هر دو عموما برای آماده سازی مقدمات جهت اتصال سیستم فایل ریشه مورد استفاده قرار میگیرند.
Pacman مديريت بسته قدرتمند و بسيار سبک
پک من یکی از مزیتهای بزرگ آرچ لینوکس به حساب میآید.
هدف پک من مدیریت آسان و بی دردسر بسته های افزاری میباشد چه این بسته ها در مخازن رسمی آرچ لینوکس باشد و چه در مخازنی که کاربران برای این سیستم خودشان آماده کردهاند. پک من سیستم را با قابلیت همسان سازی ( سینکرونایز ) لیست بسته ها با سرور اصلی همواره به روز نگاه میدارد. این مدل سرور/کلاینت همچنین به شما اجازه میدهد که بسته ها را با دستورات ساده دانلود/نصب نمائید، تمام پیش نیاز ها توسط این مدیریت بسته به صورت خودکار شناخته و نصب میگردد. پک من با با زبان برنامه نویسی C نوشته شده و از فرمت بسته های .pkg.tar.xz استفاده مینماید.
makepkg برای کامپایل و ساخت بسته های مناسب جهت نصب توسط پک من مورد استفاده قرار میگیرد. makepkg اسکریپتی است که وظایف ساخت یک بسته را به صورت خودکار انجام میدهدکه میتواند بسته را دانلود و تائید نماید ، پیش نیاز ها را بررسی کند، تنظیمات زمان ساخت ( build-time ) را پیکر بندی نماید ، کد های منبع را کامپایل کرده و در به صورت موقت نصب نماید ، شخصی سازی ها را اعمال کرده ، اطلاعات اولیه را ساخته و آماده کند و همه را با هم در قالب یک بسته نرم افزاری قرار دهد . makepkg توسط بسته پک من تأمین میشود.
ABS سیستم ساخت خودکار بسته
ABS یک سیستم ساخت بستهی ports-like میباشد که با استفاده از یک چارچوب ساده بستههای قابل نصب آرچ را از کدهای منبع (source code) میسازد.
ports-like چیست؟ پورت سیستمی است که به شما اجازه دانلود منبع بستهها، باز نمودن آنها (extract)، وصله کردنشان (patch)، کامپایل کردن و نصبشان را میدهد و در سیستمهای BSD مورد استفاده قرار میگیرد.
پکمن، ابزار اختصاصی آرچ برای مدیریت بستههای باینری (شامل بسته های ساخته شده توسط ABS) میباشد. ABS مجموعهای از ابزارهایی است که کدهای منبع را برای نصب به بستههای pkg.tar.gz/pkg.tar.xz قابل نصب توسط پکمن تبدیل میکند. سیستم ABS نهایت لذت و راحتی رو برای کاربر در حین کامپایل بسته ها به همراه دارد.
مخزن AUR
مخزن کاربران آرچ از ABS جداست. PKGBUILDهای AUR از ابزار makepkg برای کامپایل و بستهبندیِ بستهها استفاده میکند با این تفاوت که درخت ABS بر روی سیستم خود شما (ماشین محلی) ساخته شده ولی AUR بر روی شبکه جهانی اینترنت. AUR شامل هزاران PKGBUILD اهدایی از طرف کاربران برای نرمافزارهایی است که در مخازن رسمی در دسترس نیستند. اسکریپتهای PKGBUILD، بستهها را از منبع با توجه به پیشنیازها نصب کرده و با توجه به معماری سیستم شما پیکربندی میکنند؛ اسکریپتها از طریق AUR قابل دریافت میباشند، بهر حال به دلیل این که اسکریپتها به صورت خودکار برنامه را جستجو کرده، دانلود و اجرا میکنند و دارای ریسک امنیتی هستند و همچنین ممکن است دارای حق کپیرایت نیز باشند در مخازن معمول آرچ جایگاهی نخواهند داشت. با این حال اگر بستهای (PKGBUILDی) در AUR تعداد زیادی رأی بیاورد به مخزن community انتقال مییابد. مخازن رسمی آرچ لینوکس بستههای آمادهی کمتری نسبت به توزیعهایی نظیر دبیان دارد اما با وجود AUR ماجرا خیلی فرق میکند. به طور حتم یکی از غنیترین، بزرگترین و صد البته به روزترین مخازن نرم افزاری کل دنیای گنو/لینوکس همین AUR است (باید امتحان کنید تا باور کنید).
گواهي ( License )
آرچ لينوکس (Arch Linux), پک من (pacman) , اسناد (documentation) و اسکريپت ها (scripts) تحت کپي رايت 2002 تا 2007 توسط Judd Vinet و از 2007 تا 2010 توسط Aaron Griffin هستند و همچنين تحت ليسانس GPL نسخه دوم GNU General Public License Version 2 میباشد.
راه آرچ
سادگی
سادگی نهایت کمال است
اصلیترین هدف در پشت پرده توسعه آرچ سادگیست. بسیاری از توزیعهای گنو/لینوکس با ادعای سادگی خود را معرفی نموده اند در حالیکه سادگی تعاریف بسیاری دارد ؛ تعریف سادگی آرچ لینوکس عبارتست از عدم وجود ملحقات و یا افزونه ها ،تغییرات و یا پیچیدگی های غیر ضروری و توسعه یک سیستم بسیار سبک بر پایه و ساختار یونیکس که به شخص کاربر اجازه میدهد شکل سیستم را مطابق آنچه که تمایل و نیاز دارد بسازد . ساختارپایه ای سبک ، ساخته شده توسط بالاترین استاندارد های برنامه نویسی نتیجهای جز استفاده حداقل از منابع سیستم و سرعت اجرا را نخواهد داشت . پایه سیستم عاری از به هم ریخته گی ها که ممکن است باعث گمنام شدن و عدم دسترسی مناسب قسمتهای مهم از سیستم و یا دسترسی در هم و مشکل شود ، میباشد . آرچ شامل یک سری فایلهای پیکر بندی که اطلاعات مختصر و مفیدی برای دسترسی سریع و ویرایش ساده آنها درونشان گنجانیده شده می باشد ، بدون هیچگونه ابزار گرافیکی که باعث مخفی شدن امکانات از کاربران شود . بنابر این آخرین جزئیات یک سیستم آرچ لینوکس به راحتی قابل پیکر بندی میباشد.
پیچیدگی بدون سردر گمی
آرچ لینوکس پیچیدگی های ذاتی سیستمهای گنو / لینوکس را در حالی حفظ می نماید که به خوبی این پیچدگی ها سازمان یافته و شفاف سازی شده است . توسعه دهندگان و کاربران آرچ لینوکس بر این عقیده هستند که پنهان نمودن پیچیدگی های سیستم در حقیقت پیامدی جز پیچیدگی و نامفهموم بودن بیشتر سیستم را نخواهد داشت و همیشه از مقوله پنهان کردن این پیچیدگی ها دوری نموده اند .
صحت و درستی- کد ورای راحتی
آرچ لینوکس، اولویت را برای ظرافت طراحی و تمیزی آن گذاشته، کد ساده، به جای دستکاریهای نا لازم، اتوماتیک و یا چشم نوازیهای تازه کار پسند. دستکاری نرم افزارها تا حد ممکن در کمترین مقدار نگه داشته شده، برای آرچ حالت مطلوب عدم دستکاری های غیر ضروری است . حاکم اول و مطلق آرچ سادگی اجرا ، ظرافت و مینیمالیسم _سادگی وکوتاهی_در کدها میباشد . مفاهیم ، طراحی و امکانات آرچ با سبک و سیاق و اصول راه آرچ تولید و اجرا شدهاند و هیچگونه دخالت بیگانهای در آن وجود ندارد ، این راه منحصر به فرد آرچ است. تیم توسعه مصمم و متعهدبه فلسفه آرچ میباشد . اگر شما هم با ما هم عقیده اید ، پس به آرچ خوش آمدید …
کاربر محور
در حالیکه در تمامی توزیعهای گنو لینوکس برای کاربر پسند بودن توزیع مربوطه تلاشهای فراوانی شده ، آرچ همیشه اینگونه بوده و همیشه کاربر محور خواهد ماند . اهداف آرچ لینوکس ، کاربر را شایسته مدیریت کامل سیستم با در دست داشتن بیشترین اختیارات میداند . کاربران آرچ لینوکس مدیر کامل سیستم خود هستند و سیستم به خود دخالتهای کوچکی در رابطه با سیستم را ارئه میدهد و به جز یک مجموعه ابزار نگه داری ساده که به منظور تقویت سیستم طراحی شده بقیه فرامین زیر نظر کاربر میباشد ؛ این طراحی کاربر محور لزوماً مرکزیت- خودت انجام بده - را برای استفاده از توزیع آرچ ، به جای درخواست کمک یا افزودن امکانات جدید که توسط توسعهدهنده ارائه و اجرا شود مد نظر قرار داده است . کاربران آرچ لینوکس گرایش به حل مسائل توسط خودشان و سپس به اشتراک گذاری نتایج آنها با بقیه و توسعهدهنده گان بر اساس قلسفه - اول خودت انجام بده سپس بپرس - را دارند ؛ این خصوصیت در بسته های کمکی کاربران در مخازن کاربران آرچ به خوبی قابل مشاهده میباشد .
باز بودن
باز بودن با سادگی یک مسیر را طی میکنند و همچنین یکی از اصول اصلی توسعه دهندگان آرچ میباشد ؛ آرچ لینوکس از ابزارهای ساده که با باز بودن منابع و مشخص بودن خروجی همراه میباشند انتخاب یا ساخته میشوند ؛ باز بودن به معنی حذف تمامی مرز ها بین سیتسم و کاربر و بهبود در زمینه کنترل بیشتر سیستم میباشد . باز بودن همچنین باعث یادگیری سریع میشود .
اصل KISS
KISS مخفف عبارت Keep It Simple, Stupid به معنای (برداشت آزاد ) “تا حد ممکن ساده نگهش دار” میباشد؛ به نظر نگارنده این مقاله منظور از Stupid در این عبارت تأکید بر سادگیست؛ اما سادگی مترادف ضعف نیست! اصلا به فکر شما نباید خطور کند که به دلیل اینکه آرچ ساده است نباید قدرتمند باشد. آرچ در قالب یک میزکار قدرتمند و منعطف، یک LAMP، دیوار آتش، router، سرور ذخیره اطلاعات و یا هر چیزی که شما ممکن است از یک سیستم عامل بخواهید میتواند انجام وظیفه کند و در امتداد این همه انعطاف و قدرت همچنان ساده باقی بماند؛ همین سادگی شروعی برای یادگیری و آشنائی با نحوه کار یک سیستم عامل بر پایهی یونیکس میباشد، به گونهای که بعد از نصب و پیکر بندی این سیستم عامل، اطلاعات یک کاربر غیر حرفهای لینوکس از طرز عملکرد سیستم به یک کاربر نیمه حرفهای و یا حتی حرفهای ارتقا مییابد.
اصل آرچ و سر منشاء آن به سمت سادگی نشانه رفته شده است.
سادگی به معنای بدون هر افزونهی لازم، تغییر یا پیچیدگی بیمورد است. به عبارت دیگر یک زیبای مینیمال شده.
منظور از سادگی در آرچلینوکس عبارت است از:
- " 'ساده' از نظر تکنیکی نه ساده به معنای عمومی آن. بهتر است از نظر تکنیکی زیبا و از نظر آموزشی بسیار آموزنده باشد تا اینکه از نظر تکنیکی فقط ساده برای استفاده باشد." Aaron Griffin
- ماهیتها نباید بدون نیاز آمیخته شوند Occam's razor. قانون razor به این اصل که "بایستی برای رسیدن به سادهترین تفسیر، روش و یا تئوری، پیچیدگیهای غیر لازم را دور ریخت" رجوع میکند.
- "قسمت برجسته دروغها عدم سادگیی آنهاست. فضل و کمال همیشه با سادگییست." - Bruce Lee
درباره این راهنما
ویکی کاربران آرچلینوکس ایران یک منبع بسیار عالی و بینهایت جامع برای نصب و رفع مشکلات اولیه در آرچ محسوب میشود. کانال (irc://irc.freenode.net/#archlinux-ir) و انجمنها همچنین برای پاسخ به سولات و مشکلات حل نشده شما وجود دارد. همچنین قبل از طرح سوال مطمئن شوید که صفحهی man مربوط به هر دستور را برای راهنمایی بیشتر مطالعه نمودهاید. اگر شما با صفحهی man ناآشنا هستید میتوانید توسط صادر کردن دستور man command با آن بیشتر آشنا شوید.
این راهنما به 5 قسمت اصلی تقسیم می شود:
آماده سازی
گرفتن آخرین رسانهی(media) نصب
شما میتوانید رسانهی نصب رسمی آرچ را از اینجا دریافت کنید. آخرین نسخه موجود در این زمان2011.08.19 میباشد.
- هر دو ایمیج Core و Netinstall تنها شامل بستههای لازم جهت ساختن پایهی سیستم آرچلینوکس هستند. توجه داشته باشید که پایه (بِیس) سیستم شامل رابط گرافیکی (GUI) نمیشود بلکه تنها شامل ابزار زنجیره ای گنو (GNU toolchain) شامل (compiler, assembler, linker, libraries, shell و utilities)، هستهی لینوکس، پکمن (مدیر بستهی آرچلینوکس) و تعداد کمی از ماژولها و کتابخانههای اضافی میباشد.
- ایمیج Core هر دو حالت نصب از CD و نصب از طریق شبکه را پوشش میدهد.
- ایمیج Netinstall کوچکتر است و به خودی خود شامل هیچ بستهای نمیشود. کل فایلهای مورد نیاز جهت نصب سیستم از طریق اینترنت دریافت میشود.
- پرسشهای متداول آرچ۶۴ به شما در انتخاب نسخه مناسب ۳۲ و یا ۶۴ بیت کمک خواهد کرد. لوح فشرده معماری دوگانه (Dual Architecture CD) بستههای مورد نیاز برای نصب هر دو این سیستمها را در خود دارد و شما میتوانید از یک لوح فشرده جهت نصب هر دو معماری بهره ببرید.
به خاطر بسپارید که فایل متنی checksum را در کنار ایمیج مورد نظر دریافت کنید.
نسخههای قبلی منتشر شدهی ایمیج نیز از اینجا قابل دانلود میباشند. این انتشارها رسمی نیستند و طبیعتا به صورت رسمی پشتیبانی نمیشوند و تنها زمانی مورد استفاده قرار میگیرند که ایمیج رسمیِ نصب با سختافزار سیستم شما به مشکل بر میخورد و شما ترجیح میدهید از ایمیجهای دیگر که حاوی راهاندازهای مناسبتر است استفاده کنید.
بررسی صحت فایل دانلود شده
با فرمان cd به مسیری که فایل دانلود شده را ذخیره کردهاید بروید و sha1sum را با روش زیر دریافت کنید.
$ sha1sum --check name_of_checksum_file.txt
بایستی شما "OK" را به معنی سالم بودن فایل دریافتی مشاهده کنید. (بقیه خطوط را نادیده بگیرید.) اگر پاسخ منفی بود بایستی فایل دانلود شده را دوباره دریافت کنید. md5sum هم عمل مشابه را جهت بررسی سلامت فایل انجام میدهد.
نصاب CD
ایمیج .iso را بر روی CD یا DVD را با سختافزار(رایتر) و نرمافزاری(برنامهی رایت ایمیج مانند K3B) که ترجیح میدهید رایت کنید و به قسمت راهاندازی نصاب آرچ بروید.
دیوایس حافظه فلش یا USB stick
برای راهنمایی بیشتر نصب از درایو USB را مطالعه نمائید. این روش با تمام نمونههای فلش که بایوس شما اجازه راهاندازی توسط آن را میدهد کار میکند، چه یک کارتخوان باشد و چه پورت USB. توجه داشته باشید که کلیه اطلاعات موجود بر روی مدیای شما به طور قطع از بین خواهد رفت.
روش nix
یک فلش خام یا حاوی اطلاعات بیارزش را به سیستم خود متصل کنید، مسیر آن را بیابید و در نهایت .iso دریافت شده را با استفاده از برنامهی dd بر روی آن بنویسید.
# dd if=archlinux-2011.08.19-{core|netinstall}-{i686|x86_64|dual}.iso of=/dev/sdx
مسیر if= برابر است با جایی که فایل .iso قرار دارد و of= برابر است با مسیر فلش شما. مطمئن شوید که از /dev/sdx به جای /dev/sdx1 یا مسیرهای اشتباه دیگر استفاده میکنید. شما به حافظهی کافی برای جا گرفتن ایمیج بر روی فلش خود نیاز خواهید داشت.
برای بررسی صحت ایمیج نوشته شده بر روی فلش به عدد ثبت شده (records (blocks) ) ورودی (in) و خروجی (out) دقت کنید. سپس بوسیلهی دستور زیر بررسی را انجام دهید.
# dd if=/dev/sdx count=number_of_records status=noxfer | md5sum
md5sum برگشتی بایستی با md5sum فایل دانلود شده کاملا مطابقت داشته باشد. یک اجرای معمولی به این صورت است.
$ [sudo] dd if=archlinux-2011.08.19-core-i686.iso of=/dev/sdc 744973+0 records in 744973+0 records out 381426176 bytes (381 MB) copied, 106.611 s, 3.6 MB/s
برای بازبینی و اطمینان از صحت عمل انجام شده توسط انطباق md5sum با فایل اصلی به صورت زیر md5sum فایل نوشته شده بر روی فلش را به دست میآوریم:
$ [sudo] dd if=/dev/sdc count=744973 status=noxfer | md5sum 4850d533ddd343b80507543536258229 - 744973+0 records in 744973+0 records out
به قسمت راهاندازی نصاب آرچ بروید.
روش مایکروسافت ویندوز
ایمیج نویس را از اینجا دانلود سپس اجرا و ایمیج را انتخاب کنید.(این برنامه تنها فایلهای با پسوند img را میپذیرد بنابراین برای معرفی ایمیج آرچ بایستی عبارت *iso را در جعبهی Open وارد کنید). سپس نام درایو (drive letter) مربوط به فلش را انتخاب کرده و بر روی "Write" کلیک کنید.
همچنین راهحلهای دیگری برای نوشتن ایمیج بر روی USB sticks با قابلیت بوت وجود دارد که میتوانید از اینجا مشاهده نمائید. اگر شما با USB stick مشکلی دارید بهتر است آن را از سیستم خارج کرده و از پورت یا کابل USB متفاوتی اقدام به انجام مجدد مراحل بالا نمائید.
به قسمت راهاندازی نصاب آرچ بروید.
نصب از طریق شبکه
به جای رایت کردن مدیا بر روی لوح یا درایو USB شما میتوانید از روش دیگری برای راهاندازی سیستم خود استفاده کنید. در این روش ایمیج .iso را از طریق شبکه راهاندازی میکنید. این مقاله را برای اطلاعات بیشتر مورد مطالعه قرار دهید. به قسمت راهاندازی نصاب آرچ بروید.
نصب بر روی ماشین مجازی
نصب آرچ بر روی یک ماشین مجازی گزینهی بسیار مناسبی برای آشنا شدن با آرچلینوکس و نحوهی نصب بدون خروج از سیستمعامل جاری و پارتیشنبندی هارد است. با این کار میتوانید در حین نصب این راهنما را در کنار خود داشته باشید و هر مرحله را با دقت به پایان برسانید. یک سیستم نصب شده آرچلینوکس بر روی ماشین مجازی برای کاربران آرچ میتواند مفید باشد چرا که آنها را قادر به اجرای آزمایشها مختلف بر روی یک سیستم مستقل مینماید.
نمونههایی از برنامههای شبیهساز عبارتند از
Varch,
Xen,
QEMU,
VMware,
VirtualBox
و
Parallels
.
شیوهی آمادهسازی هر ماشین مجازی به نرمافزار آن بستگی دارد اما به صورت کلی شامل مراحل زیر میشوند:
- ساخت دیسک مجازی که میزبانِ سیستمعاملِ میهمان میشود.
- پیکربندی مناسب پارامترهای ماشین مجازی.
- سوار کردن ایمیج .iso بر روی درایو CD ماشین مجازی.
- به قسمت راهاندازی نصاب آرچ بروید.
خواندن مقالات زیر برای شما در جهت استفادهی بهینه از ماشینهای مجازی میتواند مفید باشد:
Installing Arch Linux from VirtualBox
VirtualBox Arch Linux Guest On Physical Drive
Installing Arch Linux in VMware
راه اندازی نصاب آرچ
راهاندازی از طریق مدیا
CD یا فلشی که آماده کردهاید را در دستگاه قرار داده و سیستم را توسط آن راهاندازی کنید. احتمالاً بدین منظور شما نیاز به تغییر مقادیر مربوط به راهانداز سیستم در بایوس کامپیوتر خود دارید. برای این کار کلید ورود به ستآپ (معمولاً یکی از کلیدهای DEL, F1, F2, F11 یاF12 ) را در BIOS POST (تست سیستم در زمان روشن شدن کامپیوتر) فشار دهید.
منوی اصلی: در این هنگام شما بایستی منوی اصلی را مشاهده نمائید. با فشار کلیدهای بالا و پایین گزینهی مورد نظر را انتخاب کنید و با Enter وارد آنها شوید (مرحلهی تعیین الویت راهانداز سیستم (boot) در سیستمهای مختلف، متفاوت است).
شروع به کار سیستمعامل
بعد از راهاندازی سیستم از طریق مدیای آرچ گزینهی "Boot Arch Linux" را از منوی اصلی انتخاب و دکمه Enter را بزنید. تا به مرحلهی نصب وارد شوید. سیستم بارگزاری شده و پوسته (شل) ظاهر میشود. شما به صورت خودکار به کاربر ریشه وارد خواهید شد.
اگر شما از تراشهی ویدیویی اینتل استفاده میکنید ممکن است در زمان راهاندازی آرچ با صفحهی سیاه خالی مواجه شوید. به احتمال زیاد این مشکل به علت تنظیمات مد هسته بوجود آمده است. یک راه حال برای این مسأله راهاندازی مجدد سیستم (reboot) و فشار دکمه Tab در هنگام مشاهده منوی اصلی و اضافه کردن عبارت زیر به آخر خط گراب است. بدین منظور ابتدا اسپیس را برای ایجاد یک فضای خالی در انتهای خط فشار داده و عبارت زیر را اضافه کنید:
i915.modeset=0
یا این عبارت را:
video=SVIDEO-1:d
سپس Enter را برای راهاندازی سیستم فشار دهید. اینکار (اگر جواب بدهد) اجازه غیرفعال شدن تنظیمات مد هسته را نمیدهد.
برای اطلاعات بیشتر این صفحهی مربوط به چیپستهای اینتل را مطالعه نمائید.
تعویض keymap
اگر شما صفحهکلید با طرح غیر از US دارید، میتوانید با دستور زیر طرح/فونت keymap/console را انتخاب کنید:
# km
یا از دستور loadkeys استفاده کنید:
# loadkeys layout
به جای layout در دستور فوق بایستی طرح صفحهکلید خود را بنویسید مانند fr یا be-latin1 یا …
اسناد
راهنمای نصب رسمی به راحتی در سیستم زنده در دسترس شماست. برای استفاده از آن به tty2 یا کنسول مجازی شمارهی دو با استفاده از ALT+F2 بروید، به عنوان کاربر ریشه (root) وارد سیستم شوید و /usr/bin/less را با استفاده از دستور زیر به کار گیرید.
# less /usr/share/aif/docs/official_installation_guide_en
less به شما اجازه میدهد که در طول صفحات راهنما جابجا شوید.
برای برگشتن به کنسول مجازی اول یا tty1 و ادامه نصب از کلیدهای ترکیبی ALT+F1 استفاده کنید. (با کلیدهای ترکیبی ALT+F2 به راحتی به tty2 بازگردید و راهنمای رسمی را در هر زمان که احتیاج به آن پیدا کردید به صورت موازی با عمل نصب (در طول عملیات نصب) مشاهده کنید).
نصب
به عنوان کاربر ریشه اسکریپت نصاب را از tty1 اجرا کنید:
# /arch/setup
در ادامه باید شما فریمورک نصاب آرچ را مشاهده نمائید.
انتخاب منبع نصب
بعد از صفحهی خوشآمد گویی شما بایستی منبع نصب را مشخص کنید. قسمت Select Source از شما میخواهد مخازن مورد نظر خود را فعال کنید.
- اگر شما از ایمیج Netinstall استفاده میکنید تنها قادر به انتخاب مخازن remote میباشید.
- اگر شما نصاب Core را انتخاب نمودهاید و قصد استفاده از بستههای موجود بر روی CD را دارید core-local را انتخاب کنید.
اگر شما نمیدانید کدام را انتخاب کنید بهتر است extra و community به علاوهی core را برگزینید. چنانچه شما در حال نصب آرچلینوکس ۶۴ هستید شاید بخواهید multilib را هم اضافه کنید. به هر حال این تنظیمات بر روی سیستم هدف در مرحلهی نصب تأثیر خواهد گذاشت.
تنظیم شبکه
شما بایستی لیستی از آیینههای FTP یا HTTP را دریافت کنید.
اگر شما مخازن remote و همچنین core-local را انتخاب کردهاید در مرحلهی بعد با دو انتخاب روبرو میشوید. انتخاب اول استفاده از بستههای موجود در remote در صورتی که بسته به صورت محلی در دسترس نباشد. انتخاب دوم برعکس انتخاب اول است.
در صفحهی بعدی گزینهی Yes را برای تنظیم شدن شبکه بزنید. در این مرحله به شما اجازهی تنظیم دستی ethernet چنانچه مایل باشید داده خواهد شد. البته UDev بسیار تأثیر گذار و خوب ماژولهای لازم را بارگزاری میکند، پس شما اینکار را انجام شده در نظر بگیرید. برای بررسی با فشار دادن کلیدهای ترکیبی <Alt>+F3 به کنسول مجازی ۳ بروید و با استفاده از ip addr از صحت عمل انجام شده اطمینان حاصل کنید. در ادامه با زدن <Alt>+F1 به tty1 بازگردید.
رابطهای موجود نشان داده خواهند شد. اگر یک رابط و HWaddr (HardWare address) لیست شد در نتیجه ماژولهای شما به خوبی بارگزاری شده است. اگر رابطی لیست نشد شما باید مورد را از طریق نصاب و یا به صورت دستی بررسی کنید که بدین منظور بایستی از طریق یک کنسول مجازی دیگر رابط مورد نظر برای ادامه را مشخص کنید.
در پلهی بعد، نصاب از شما در مورد استفاده از DHCP سؤال خواهد کرد. در صورت انتخاب بله، dhcpcd شروع به یافتن gateway های موجود کرده و یک آدرس IP درخواست میکند. در غیر این صورت و انتخاب گزینهی نه شما باید مقادیر زیر را تعیین کنید:
static IP address, netmask, broadcast (اختیاری), gateway, DNS server, HTTP proxy (اختیاری), FTP proxy (اختیاری).
بعد از انجام مراحل فوق به منوی اصلی باز گردانده میشوید.
تنظیم ADSL bridging در محیط زنده (اختیاری)
اگر شما یک مودم یا روتر در حالت پل (bridge) برای اتصال به سرویس دهندهی خود دارید به کنسول مجازی دوم با استفاده از کلیدهای ترکیبی <Alt> + F2 رفته و با کاربر ریشه وارد سیستم شوید. سپس دستور زیر را اجرا کنید:
# pppoe-setup
اگر همه چیز را به خوبی پیکربندی کنید با دستور زیر میتوانید به سرویس دهندهی خود متصل شوید:
# pppoe-start
با کلیدهای ترکیبی (Alt+F1) به کنسول مجازی اول و نصاب بازگردید.
به قسمت انتخاب ویرایشگر بروید.
تنظیم وایرلس در محیط زنده (اختیاری)
اگر شما در طول نصب نیاز به اتصال وایرلس یا بیسیم دارید بایستی راهاندازها و ابزار مربوط به آن که در محیط زندهی رسانهی نصب موجود است را نصب کنید. داشتن اطلاعات کافی از سختافزار وایرلس کلید مهمی برای پیکربندی آن به حساب میآید. توجه داشته باشید در اینجا سختافزار وایرلس شما برای استفاده در این محیط زنده نصب میشود. این مراحل بایستی بعد از نصب سیستم و ورود به سیستم نصب شدهی آرچ مجدداً تکرار شود. همچنین توجه داشته باشید این مراحل اختیاری هستند و چنانچه اتصال وایرلس در این مرحله برای شما حیاتی نیست بعداً میتوانید اتصال را برقرار کنید.
طرز کار بیسیک یا پایهای اینگونه است
- به یک کنسول مجازی آزاد بروید (به عنوان مثال <ALT>+F3).
- به عنوان کاربر ریشه وارد شوید.
- (اختیاری) رابط وایرلس خود را شناسایی کنید:
# lspci
- مطمئن شوید udev راهانداز را بارگزاری نموده است و راهانداز، یک رابطِ هستهی وایرلسِ قابل استفاده را با /usr/sbin/iwconfig ایجاد کرده است:
# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 unassociated ESSID:""
Mode:Managed Channel=0 Access Point: Not-Associated
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0
Retry limit:7 RTS thr:off Fragment thr:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
در مثال فوق باتوجه به خروجی iwconfig، رابط وایرلس wlan0 میباشد.
- رابط را بالا بیاورید:
# ip link set wlan0 up
داشتن سفتافزار (firmware) در کنار راهانداز تنها برای درصد بسیار کمی از تراشههای وایرلسها حیاتی است. اگر تراشهی وایرلس به سفتافزار احتیاج داشته باشد شما با خطایی مشابه خطای زیر در هنگام بالا آوردن رابط مواجه خواهید شد:
# ip link set wlan0 up SIOCSIFFLAGS: No such file or directory
اگر مطمئن نیستید میتوایند از /usr/bin/dmes برای بدست آوردن سفتافزاری که تراشهی وایرلس به آن نیاز دارد استفاده کنید. به عنوان مثال خروجی یک تراشهی اینتل که سفتافزار را از هسته در زمان راهاندازی درخواست میکند اینگونه است:
$ dmesg | grep firmware firmware: requesting iwlwifi-5000-1.ucode
اگر دستور فوق خروجی نداشت احتمالاً بدین معنیست که تراشهی وایرلسِ سیستمِ شما نیازی به سفتافزار ندارد.
- اگر ESSID را فراموش کردید یا از آن اطلاعی ندارید از /sbin/iwlist <interface> scan برای بدست آوردن آن استفاده کنید. به عنوان مثال برای رابط wlan0:
# iwlist wlan0 scan
Cell 01 - Address: 04:25:10:6B:7F:9D
Channel:2
Frequency:2.417 GHz (Channel 2)
Quality=31/70 Signal level=-79 dBm
Encryption key:off
ESSID:"dlink"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
- اگر از رمزنگاری WPA استفاده میکنید:
رمزشدن کلید و نگهداشتن آن در یک فایل همراه با ESSID برای استفاده جهت اتصال از طریق wpa_supplicant برای استفاده از رمزنگاری WPA لازم و ضروری است. بنابراین این چند گام اضافی در این مرحله لازم است: برای راحتی کار و همچنین داشتن یک پشتیبان فایل پیشفرض wpa_supplicant.conf را تغییر نام میدهیم:
# mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.original
استفاده از wpa_passphrase به شما نام شبکهی وایرلس و کلید WPA برای رمز نگاری و نوشته شدن در /etc/wpa_supplicant.conf را میدهد.
مثال پیش رو کلید "my_secret_passkey" از شبکهی وایرلس "linksys" را رمز، یک فایل پیکبرندی جدید (/etc/wpa_supplicant.conf) ایجاد و متعاقباً به کلید رمز شده آن را ارجاع میدهد:
# wpa_passphrase linksys "my_secret_passkey" > /etc/wpa_supplicant.conf
این راهنما را برای اطلاعات بیشتر در مورد WPA Supplicant ببینید.
- دیوایس وایرلس خود را با اکسس پوینت (access point) مورد نظر متصل کنید. بسته به نوع رمزنگاری (بدون رمزنگاری، WEP یا WPA) عملیات متفاوت است. برای ادامه شما بایستی نام شبکهی وایرلس انتخاب شده را بدانید (ESSID).
| رمز نگاری | دستور |
|---|---|
| No Encryption | iwconfig wlan0 essid "linksys" |
| WEP w/ Hex Key | iwconfig wlan0 essid "linksys" key "0241baf34c" |
| WEP w/ ASCII passphrase | iwconfig wlan0 essid "linksys" key "s:pass1" |
| WPA | wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf |
- بعد از به کار بردن روش مورد نظر که در بالا گفته شد قبل از ادامهی کار و بعد از چند لحظه تأخیر اتصال موفقیت آمیز به اکسس پوینت به شما اطلاع داده خواهد شد. به عنوان مثال:
# iwconfig wlan0
خروجی بایستی مشخص کند که شبکهی وایرلس با رابط ارتباط برقرار کرده است.
- درخواست یک IP address با استفاده از /sbin/dhcpcd <interface>. به عنوان مثال:
# dhcpcd wlan0
در آخر با استفاده از /bin/ping از اتصال خود مطمئن شوید:
# ping -c 3 www.google.com PING www.l.google.com (74.125.224.146) 56(84) bytes of data. 64 bytes from 74.125.224.146: icmp_req=1 ttl=49 time=87.7 ms 64 bytes from 74.125.224.146: icmp_req=2 ttl=49 time=87.0 ms 64 bytes from 74.125.224.146: icmp_req=3 ttl=49 time=94.6 ms
--- www.l.google.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 87.052/89.812/94.634/3.430 ms
شما باید در این لحظه یک شبکهی متصل را داشته باشید. برای راهنمایی بیشتر این صفحه را مطالعه نمائید. با استفاده از <ALT>+F1 به tty1 بازگردید. به قسمت تعیین ویرایشگر بروید.
تعیین ویرایشگر
بعد از انجام اعمال فوق شما به منوی اصلی و گزینهی دوم یعنی تعیین ویرایشگر باز گردانده میشوید. از شما در مورد انتخاب ویرایشگر سؤال میشود؛ از بین nano و vi یکی را انتخاب کنید. nano از بین این دو ویرایشگر سادهتر و عمومیتر است. لطفاً صفحهی ویکی لینک شده به نام هر ویرایشگر را برای آموزش بیشتر کار با آن مرور کنید.
تنظیم ساعت
بعد از انتخاب ویرایشگر شما به منوی اصلی بازگردانده میشوید، اینبار نوبت تنظیم ساعت است.
تنظیم منطقهی زمانی
با دکمههای بالا و پایین منطقهی زمانی خود را تعیین کنید، با فشار هر حرف از روی کیبورد به اولین منطقهی زمانی که با آن حرف شروع میشود انتقال داده میشوید. مثلاً برای انتخاب تهران دکمه T را فشار دهید تا به اولین منطقهی زمانی که با این حرف آغاز شده پرش نمائید.( یک شهر مهم معمولا پایتخت رو انتخاب کنید) همچنین بعد از نصب می تونید لیست منطقه های زمانی رو در /usr/share/zoneinfo/ پیدا کنید.
تنظیم ساعت و تاریخ
ساعت سخت افزار مقادیر سال ،ماه ،روز ،ساعت ،دقیقه و ثانیه را در خود نگه می داره و کاری به ارزش زمانی نداره، همچنین چک می کنه که آیا Daylight Saving Time)DST) (همون استفاده بهینه از نور خورشید) استفاده شده یا نه، ساعت سخت افزار می تونه بدون مقدار یا با یکی از مقادیر زیر باشد:
- UTC) Universal Time Coordinated) - (ساعت جهانی) که به (Greenwich Mean Time(GMT نیز موسوم است ولی با کارکردی متفاوت.
- Localtime (وقت محلی)
در حال حاضر اکثر سیستم عامل ها از هر 2 مقدار پشتیبانی می کنند ولی تنظیم آن بایستی توسط کاربر انجام شود.
می توان گفت بیشتر سیستم عامل های معروف به طور پیش فرض از UTC یا (Localtime) استفاده می کنن.سیستم عامل های شبه یونیکس (مثل Mac OS ,Linux)عموما ساعت سخت افزار رو،بر روی UTC تنظیم می کنن،در حالی که سیستم عامل های مثل ویندوز از ساعت محلی استفاده می کنه.
در سیستم عامل های شبه یونیکس،ساعت سخت افزار توسط کاربر تعیین و با نرم افزاری مثل hwclock تنظیم و ذخیره میشه.
البته ناگفته نماند لینوکس از یه ساعت نرم افزاری (ساعت سیستم)هم استفاده می کنه که مستقل از ساعت سخت افزاریه.ساعت سیستم مقادیری نظیر منطقه زمانی و ارزش زمانی رو با استفاده از DST نگه می داره.
در آرچ لینوکس hwclock ساعت سیستم رو از روی ساعت سخت افزارتنظیم می کنه (موقع بوت شدن، ساعت سیستم از روی ساعت سخت افزار تنظیم و موقع خاموش شدن ساعت سخت افزار از روی ساعت سیستم تنظیم میشه.)
برای انجام خودکار این کار باید hwclock رو در ادامه (قسمت پیکربندی سیستم) به لیست آرایه های DAEMONS در/etc/rc.conf اضافه کرد.
در کل استفاده کردن از UTC باعث اشتباه در ساعت سخت افزار میشود، بدون اینکه حتی نزدیک به منطقه زمانی شما و DST باشه (ساعت لندن (GMT) بدون DST ) در این حالت کاربر باید ساعت سیستم رو با استفاده از منطقه زمانی خودش تنظیم کنه.
در حالت بعدی یعنی استفاده از ساعت محلی(Localtime) برای ساعت سخت افزار ،ساعت سخت افزار به طور خودکار تغییر نمی کنه و کاربر بایستی DST رو تنظیم کنه.
تنظیم زمان(پس از نصب)
ساعت سخت افزار می تونه به طور مستقیم یا از طریق ساعت سیستم تنظیم بشه.برای چک کردن ساعت سخت افزار و ساعت سیستم به ترتیب از دستور های زیر استفاده کنید:# hwclock –show # date
برای تنظیم ساعت سخت افزار به طور مستقیم به روش زیر عمل کنید (مقدار ساعت سخت افزار باید به وقت محلی باشه،حتی اگه شما ساعت سخت افزار رو به صورت UTC ذخیره کرده باشید.)
# hwclock --set --date="YYYY-MM-DD hh:mm:ss"
برای تنظیم ساعت سیستم:
# date MMDDhhmmYYYY
برای تنظیم ساعت سخت افزار توسط ساعت سیستم یا برعکس:
# hwclock –systohc # hwclock –hctosys
انحراف زمان
هیچ ساعتی درست نیست!!!هر ساعتی یه مقدار با زمان واقعی فرق داره (بهترین ساعت،ساعت اتمی بین المللی است).
ساعت الکتریکی کوارتز زمان رو ناقص نمی کنه،ولی اشتباهات مشخصی هم داره.این مشکلات اساسی به عنوان انحراف زمان شناحته می شه.هر بار که ساعت سخت افزار با hwclock تنظیم میشه (به عنوان مثال موقع خاموش شدن)،hwclock برای محاسبه انحراف زمان در هر روز از مقدار جدیدی استفاده می کنه "مقدار قبلی انحراف زمان با آخرین مقدار زمانی ساعت سخت افزار".
اگه ساعت سخت افزار توی 24 ساعت گذشته تنظیم نشده باشه،hwclock از انحراف قبلی ثبت شده به عنوان انحراف جدید استفاده می کنه (انحراف ها در فایل /var/lib/hwclock/adjtime/ ثبت می شن.)
وظیفه اسکریپت آرچ لینوکس این است که ساعت سخت افزار رو هر ساعت یکبار با توجه به انحرافهای تنظیم شده اندازه گیری و در صورت لزوم ذخیره کنه ،اگه دیدین ساعت سخت افزار انحراف زیادی داره احتمالا انحراف خاصی تو /var/lib/hwclock/adjtime ثبت شده اگه ساعت سخت افزاراشتباه تنظیم شده باشه معمولا این اتفاق می افته یا اگه استاندارد زمانیتون با ویندوز یا مک او اس همسان سازی نشده باشه در هر صورت برای حل این مشکل باید فایل /etc/lib/hwclock/adjtime رو حذف و بعد ساعت سخت افزار و نرم افزار رو به درستی تنظیم کنید و بعد چک کنید که آیا تنظیمات زمان درست هستند یا نه.همچنین میتونید با نصب برنامه adjtimex از AUR به تنظیم انحرافها راحتتر رسیدگی کنید.
ساعت سیستم به کمک کرنل لینوکس ثانیه ها رو از اول ژانویه 1970 به UTC حساب می کنه.موقع روشن شدن سیستم اولین خروجی ساعت سیستم توسط ساعت سخت افزار بعد از محاسبه مقدار انحراف و تبدیل، به UTC محاسبه میشه،بعد از اولین محاسبه ساعت سیستم کلا از ساعت سخت افزار جدا میشه و به طور مستقل کار می کنه.لینوکس ساعت سیستم رو با شمردن وقفه های کوتاه توسط تایمر داخلی تنظیم می کنه.
ساعت سیستم خیلی دقیقه ،اما باز مثل بقیه ساعت ها خیلی دقیق نیست و انحراف زمان داره.ساعت سیستم به ندرت دچار مشکل میشه اون هم فقط زمان هایی است که لینوکس از وقفه ها رد بشه.
ساعت سیستم می تونه با استفاده از NTP خیلی دقیقتر بشه.NTP وقفه ها و مقدار تیک ها تو هر ثانیه رو بارها تنظیم می کنه تا از انحراف های ساعت سیستم کم کنه.برای تنظیم با NTP به این لینک مراجعه کنید.
برای حل این مشکل به فایل etc/rc.d/hwclock/ برید و در case stop کد زیر را تایپ کنید:
hwclock --systohc
راهاندازی دوگانه Dual boot
اگر شما بر روی سیستم خود ویندوز به صورت Dual boot دارید دو گزینه در پیش روی خود دارید:
- آرچ را به صورت localtime تنظیم کنید و در ادامه (قسمت پیکربندی سیستم) hwclock را از آرایههای DAEMONS در /etc/rc.conf حذف کنید (ویندوز وظیفهی تصحیح ساعتِ سختافزار را به عهده خواهد گرفت). این روش پیشنهاد نمیشود.
- آرچ لینوکس را به صورت UTC تنظیم کنید و ویندوز را مجبور به استفاده از UTC کنید ( به UTC در ویندوز مراجعه کنید). همچنین مطمئن شوید که ویندوز نمیتواند زمان شما را از طریق اینترنت یکسانسازی(synchronizing) کند زیرا با این کار ساعتِ سختافزار را مجبور به استفاده مجدد از localtime میکند. این روش پیشنهاد میشود.
UTC در ویندوز
ویندوز xp، vista و server 2008 از تغییر ساعت سخت افزار به UTC پشتیبانی نمی کنن،ولی تو آپدیتهاشون پشتیبانی از UTC اضافه شده با این اوصاف این قابلیت در vista sp2 ،window 7 ،server 2008 sp2 ،xp sp3 با روش زیر قابل انجام است:
- وارد ریجیستری شده (تایپ regedit در run یا کادر search)
- به مسیر زیر بروید:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
- و یه کلید از نوع DWORD به نام RealTimeIsUniversal با مقدار 1 و بر مبنای 16 یا همون hexadecimal بسازید.
آمادهسازی هارد دیسک
اطلاعات مربوط به هارد دیسک خود را با استفاده از /sbin/fdisk با سوئیچ -l استخراج کنید.
یک کنسول مجازی دیگر (<ALT>+F3) باز کنید و دستور زیر را صادر کنید:
# fdisk -l
به پارتیشنها و دیسکها، برای آماده کردنشان جهت نصب آرچلینوکس دقت کنید.
با کلیدهای ترکیبی <ALT>+F1 به اسکریپت نصاب بازگردید .
از منوی اصلی (تصویر شماره ۴) گزینهی "Prepare Hard Drive" را انتخاب کنید.
ابتدا مروری مختصر بر گزینهها میکنیم:
Option 1: Auto-Prepare (Erases an ENTIRE hard drive and sets up partitions)
این گزینه کل هارد دیسک شما را پاک میکند و تمام آن را به آرچلینوکس اختصاص میدهد.
Option 2: Manually Partition Hard Drives (with cfdisk) - Recommended.
این گزینه انتخابهای فراوانی برای ایجاد، تغییر و کارهای مختلف بر روی پارتیشنها را برای شما فراهم میکند. با استفاده از آن میتوانید پارتیشنهای لازم جهت نصب آرچلینوکس رابسازید بدون آنکه به اطلاعات خود صدمهای وارد کنید.
Option 3: Manually configure block devices, filesystems and mountpoints
اگر این گزینه را انتخاب کنید سیستم لیست فایلسیستمها و نقاط اتصال پیدا شده را برای شما لیست میکند. اگر شما قصد استفاده از آنها را داشته باشید با انتخاب گزینهی "Yes" به مرحلهی انتخاب روش شناسایی وارد میشوید. شناسایی توسط dev، label و یا uuid.
Option 4: Rollback last filesystem changes (this will revert your last changes)
این مرحله تغییراتی را که ایجاد کردهاید به حالت قبل باز میگرداند. چنانچه در مرحلهی پارتیشنبندی و یا اتصال با مشکلی مواجه شدید و قصد انجام کارها را از نو دارید میتوانید از این گزینه استفاده کنید.
گزینهی ۱: آماده سازی خودکار Option 1: Auto-Prepare
آمادهسازی خودکار، دیسک شما را به صورت زیر پیکربندی و پارتیشنهای زیر را میسازد:
- یک پارتیشن ext2 با نقطهی اتصال /boot با اندازهی ۱۰۰ مگابابیت به صورت پیشفرض (این اندازه میتواند بنا به نیاز شما تغییر کند).
- پارتیشن swap با اندازهی ۲۵۶ مگابایت (این اندازه میتواند بنا به نیاز شما تغییر کند).
- پارتیشنهای جدا برای ریشه و خانه با اندازههای دلخواه. فایلسیستمهای در دسترس عبارتند از:
ext2, ext3, ext4, reiserfs, xfs, jfs, vfat, nilfs2 (آزمایشی), btrfs (آزمایشی)
ابتدا نصاب از شما در مورد اندازهی پارتیشن ریشه سؤال میکند. سپس به شما اطلاع میدهد بقیه فضای باقیمانده را به پارتیشن مربوط به خانه اختصاص میدهد. در ادامه از شما در مورد فایلسیستم جهت استفاده برای این دو پارتیشن سؤال خواهد کرد. مستحضر باشید که انتخاب این گزینه هارد دیسک مورد نظر را به صورت کلی پاک خواهد کرد. اخطار داده شده توسط نصاب را با دقت بررسی نمائید سپس گزینهی مورد نظر را انتخاب کنید.
پارتیشنبندی هارد دیسک (اطلاعات عمومی)
انواع پارتیشنها
پارتیشنبندی هارد دیسک، قسمتهای بهخصوصی (پارتیشنها) را در داخل دیسک شما ایجاد میکند که بسته به فایلسیستمشان به صورت یک دیسک بهخصوص دیده میشوند و رفتاری مشابه دارند. سه نوع پارتیشن وجود دارد:
- Primary
- Extended
- Logical
پارتیشن Primary
میتواند قابلیت راهاندازی داشته باشد، به عبارت دیگر میتواند bootable باشد. این دسته از پارتیشنها به ۴ عدد بر روی هر دیسک یا حجم raid محدود شدهاند. اگر نیاز به بیش از ۴ پارتیشن بر روی یک دیسک دارید نوع extended که در بر گیرندهی پارتیشنهای logical میشود میتواند به شما کمک کند.
پارتیشن Extended به خودی خود قابل استفاده نیست و فقط در بر گیرندهی پارتیشنهای logical میشود. یک هار دیسک تنها یک پارتیشن از نوع گسترده یا Extended میتواند داشته باشد. توجه داشته باشید این پارتیشن به عنوان یک پارتیشن Primary شناخته میشود. به عبارت دیگر اگر شما قصد ساخت بیش از ۴ پارتیشن را داشته باشید میتوانید حداکثر ۳ پارتیشن از نوع Primary و یک پارتیشن از نوع Extended حاوی هر تعداد پارتیشن logical که میخواهید، داشته باشید. زمانی که در حال پارتیشنبندی هارد دیسک خود هستید، پارتیشنهای Primary از sda1 تا sda3 ساخته میشود. پارتیشن Extended یا گسترده هم sda4 را برای خود انتخاب میکند و بقیه پارتیشنهای ساخته شده در پارتیشن گسترده که از نوع logical هستند sda5 و sda6 و ... را به خود اختصاص میدهند.
Swap
لینوکس حافظهی منطفیاش رو به بلوکهایی از حافظه با اندازه یکسان به اسم صفحه (page)و حافظه فیزیکی اش رو به بلوک هایی با اندازه ثابت به اسم قاب (Frame) تقسیم بندی میکنه.عملیات swap فرآیندی است که طی اون یه قاب از حافظه به فضای از پیش تنظیم شدهی هاردیسک انتقال پیدا می کند تا اون قاب طی عملیات بازگشتی با صفحه جدیدی در حافظه جایگزین میشود.مقدار فضای مجازی قابل استفاده، ترکیبی از اندازهی حافظه فیزیکی (RAM) و فضای swap است.
در زیر به مهمترین دلایل swapping میپردازیم:
- زمانی که سیستم به حافظه احتیاج داره و همه قابها اشغالاند، کرنل میتونه پچهای کمتر استفاده شده رو به فضای swap انتقال بده تا سیستم برنامه هایی که اولویت بالاتری دارند رو به حافظه بیاره بدین ترتیب هر برنامه حافظه فیزیکی کمتری اشغال میکنه و برنامههای بیشتری میتونن همزمان اجراء شوند ، بدین ترتیب توان عملیاتی و بهرهوری CPU افزایش می یابد.
- تعداد پچهایی که توسط یه برنامه در مرحلهی بالا اومدن اون استفاده میشه خیلی زیاده و در اکثریت مواقع هم این پچها فقط برای اول کارن و هیچ استفاده دوبارهای ازشون نمیشه.کرنل می تونه این پچها رو بعد از اجراء به فضای swap ببره تا کش و رم برای ورودی های جدید استفاده شوند.
- عملیات I/O کمتری جهت بارگذاری و یا مبادله هر برنامه استفاده میشه و بدین ترتیب برنامهها سریعتر اجراء می شوند.
به هر حال swapping یه بدی هم داره.در مقام مقایسه با حافظهها، دیسکها خیلی کند هستن.سرعت حافظه رو با نانو ثانیه اندازه می گیرن، ولی سرعت دیسک رو با میلیثانیه.برای همین دسترسی به دیسک می تونه دهها هزار بار کندتر از دسترسی به حافظه ی فیزیکی باشه.
بعضی وقتها هم swapping زیاد باعث به وجود آمدن یک خطای صفحه (Page Fault) در سیستم میشه تو همچین شرایطی برنامه که از swap به سمت رم می ره تا در قابها مستقر بشه بعد از مستقر شدن از حافظه فیزیکی خارج می شه و به سمت حافظه منطقی برای تقسیم بندی میره ولی به محض رسیدن با پر بودن صفحات مواجه میشه پس برمی گرده به حافظه فیزیکی ولی به محض رسیدن به رم با پربودن قاب ها با برنامه های جدید مواجه میشه پس دوباره به swap بر میگرده و همینطور این عمل تو برخی موارد تکرار میشه(تو loop میوفته) تو همچین شرایطی سیستم تقلا می کنه که یه فضای خالی برای برنامه های اجرا نشده تو swap پیدا کنه و همزمان ورودی ها و برنامه های اکتیو رو در حال اجراء نگهداره.
برای رفع همچین مشکلی و پایین آوردن PF فقط اضافه کردن رم به سیستم میتونه کمک کنه.
طرح پارتیشن
طرح پارتیشن یک دیسک دارای ترجیحات زیادیست. انتخاب هر کاربر بسته به احتیاجات و عاداتش میتواند متفاوت باشد. اگر شما قصد نصب آرچلینوکس در کنار ویندوز به صورت راهاندازی دوگانه را داریداین راهنمارا مطالعه بفرمائید.
کاندیدهای فایلسیستم برای داشتن پارتیشنهای جدا به ترتیب به شرح ذیل میباشند:
/ (ریشه): فایلسیستم ریشه نسبت به بقیهی فایلسیستمها از الویت بالاتری برخوردار است و لازمهی یک توزیع گنو/لینوکس وجود این فایلسیستم است. تمام فایلها و مسیرها حتی اگر در دیوایسهای فیزیکی دیگر هم باشند در زیر مسیر ریشه (/) نمایان میشوند. با این اوصاف وجود هیچ یک از مسیرهای زیرین ریشه به خودی خود نسبت به خود ریشه، دارای ارجحیت برای داشتن پارتیشن جدا نخواهند بود.
/boot: این مسیر شامل ایمیجهای هسته، ramdisk ، فایل پیکربندی راهانداز یا بوتلودر و bootloader stages میشود. /boot همچنین اطلاعاتی که قبل از اجرای هسته باید اجرا شود را در خود نگه میدارد. همچنین شامل master boot sectors و sector map files نیز میشود. /boot کاملاً برای راهاندازی سیستم لازم است اما میتواند پارتیشن جدایی برای خود نداشته باشد و به صورت زیر مجموعهای از ریشه وجود داشته باشد.
/home: در بردارنده زیر دایرکتوریهای مربوط به هر کاربرِ سیستم، برای نگهداری اطلاعاتِ گوناگونِ شخصی مانند فایلهای پیکربندی مربوط به کاربران برای برنامهها و ابزارهای مختلف است.
/tmp: وجود این مسیر برای برنامههایی که فایلهای موقت مانند .lck دارند الزامیست. این کار از ایجاد نمونههای متعدد از فایل مربوط به برنامهها تا زمانی که کار برنامه تکمیل شود جلوگیری میکند و در زمان تکمیل کار برنامه آن را حذف مینماید. برنامهها هم نباید انتظار داشته باشند فایلهایی که در این مسیر قرار میگیرند برای استفادههای بعد نگه داری شوند چرا که به صورت معمول بعد از هر راهاندازی مجدد سیستم، کلیهی فایلهای موجود در این دایرکتوری و همچنین زیر دایرکتوریهای آن حذف خواهند شد.
/var: این مسیر شامل اطلاعات متغییری است؛ جایی برای دایرکتوری و فایلهای مدیریتی، اطلاعات مربوط به گزارشات، کَشِ پکمن، درخت ABS و ...میباشد. /var به وجود آمده برای اینکه /usr بتواند به صورت فقط خواندنی سوار شود. هر چیزی که در حال انجام عملیات سیستمی (بر خلاف نصب و نگهداری نرمافزاری) به /usr وارد میشود بایستی در مسیر /var ساکن باشد.
چندین مزیت برای استفاده از فایلسیستمهای جداگانه نسبت به مخلوط کردن آنها با هم وجود دارد که به قرار زیر است:
- امنیت در دسترسی: هر فایلسیستم میتواند در /etc/fstab به صورتهای nosuid , nodev noexec , readonly و غیره پیکربندی شود.
- پایداری: یک کاربر و یا برنامهی مشکلدار در صورت داشتن مجوزهای لازم میتواند کل فایلسیستم را با مشکل مواجه کند. برنامهها و فایلهای حیاتی که در فایلسیستمهای جداگانه نگهداری میشوند میتواند از این خطر مصون باشند.
- سرعت: یک فایلسیستم که درگیر تمام کارهای سیستم است و به صورت متناوب توسط قسمتهای مختلف بر روی آن نوشته میشود میتواند محل مناسبی برای فایلهای تکهتکه و از هم جدا باشد که در نهایت باعث کند شدن سرعت عملکرد سیستم میشود. یکی از راههای جلوگیری از بوجود آمدن فایلهای تکهتکه وجود فضای لازم در فایل سیستم است به صورتی که مطمئن شویم پارتیشن مورد نظر به مرحلهی خطر برای کمبود فضا نمیرسد است. فایلسیستمهای جدا باز هم از این خطر در امان هستند و هر کدام به خوبی میتوانند یکپارچهسازی شوند.
- امنیت فایلسیستم: اگر یک فایلسیستم خراب شود بقیهی فایلسیستمهای جدا در امنیت کامل به سر خواهند برد.
- تطبیق پذیری: اشتراک فایلهای بین سیستمهای مختلف زمانیکه از فایلسیستمهای مجزا استفاده شود مناسبتر خواهد بود. نوع هر فایلسیستم میتواند با توجه به فایلهایی که در آن نگهداری میشود و مورد استفاده از آن متفاوت باشد.
در این مثال ما قصد ساخت پارتیشنهای مجزا برای ریشه، /var، خانه و swap را داریم:
هر پارتیشن چقدر بزرگ باشد؟
بهترین پاسخ به این سؤال به احتیاجات فردی هر کس مرتبط است. شاید شما بخواهید به صورت بسیار ساده یک پارتیشن برای ریشه به علاوهی یک پارتشن برای swap داشته باشید و یا حتی فقط یک پارتیشن برای ریشه بدون swap داشته باشید و یا به مانند مثال ما چندین پارتیشن مجزا برای نقطههای اتصال جدا داشته باشید.
- فایلسیستم ریشه در مثال ما حاوی دایرکتوری /usr که بسته به نرمافزارهایی که بر روی سیستم نصب شده حجیم میشود است. با این تفاسیر فضای۱۵ تا ۲۰ گیگابایت برای بیشتر کاربران به عنوان فضای ریشه کفایت میکند.
- فایل سیستم /var شامل دیگر اطلاعات، درخت ABS، و کَشِ پکمن میشود. نگهداری بستههای گرفته شده میتواند مفید باشد؛ و برای ما امکان دانگرید راحت بستهها را در صورت لزوم فراهم میکند. فضای اشغال شده در /var به مرور افزایش پیدا میکند، بستههای داخل مخزن پکمن باگذشت زمان زیاد و زیادتر میشوند و میتوانیم آنهارا زمانی که به بستههای اضافی نیازی نداریم پاک کنیم.اگر شما از یک SSD استفاده میکنید شاید بهتر باشد که /var را بر روی HDD خود قرار دهید و ریشه (/) و خانه(/home) را بر روی SSD سوار کنید تا از خواندن/نوشتنهای بیمورد بر روی SSD پیشگیری کرده باشید. برای سیستمهای دسکتاپ اندازهی ۸ تا ۱۲ گیگابایت بایستی کافی باشد. همچنین بسته به نرمافزارهایی که میخواهید نصب کنید میتواند بزرگتر باشد. برای سرور بایستی این سیستمفایل نسبتاً بزرگتر انتخاب شود.
- فایل سیستم خانه جایی است که اطلاعات، فایلهای دانلود شده و چند رسانهایهای کاربر در آن قرار میگیرد. برای یک سیستم دسکتاپ این فایلسیستم به طور معمول بزرگترین فایلسیستم است. به یاد داشته باشید که چنانچه بخواهید مجدداً آرچ نصب کنید تمامی اطلاعات داخل این پارتیشن در صورت فرمت نشدن دست نخورده باقی خواهد ماند، البته این امر مستلزم استفاده از خانه بر روی یک پارتیشن مجزاست.
- ۲۵درصد فضای اضافهتر به فایلسیستمها برای مواجه نشدن با کمبود فضا و رخدادهای پیشبینی نشده و همچنین جلوگیری از تکهتکه شدن فایلها اختصاص دهید.
با توجه به راهنمای فوق بهتر است که پارتیشن ریشه ۱۵ گیگابایت، پارتیشن /var ده گیگابایت، swap یک گیگابایت و پارتیشن خانه بقیهی فضای دیسک را به خود اختصاص دهد.
فضای swap من چقدر باید بزرگ باشد؟
سوال کلیدی اینه چقدر؟ نسخههای قدیمی سیستمعامل های لینوکس (مثل Sun OS و Ultrix) به فضای swap ای حدود 2 تا 3 برابر رم نیاز داشتند.اما امروزه با عوض شدن تکنیکهای مبادله و ارزان شدن رم آنقدر نیاز نیست ولی فضای زیاد مشکلی رو هم به وجود نمیاره.یه حالت تقریبی می تونه به صورت جدول زیر باشه:
| مقدار فضای RAM | مقدار فضای SWAP |
|---|---|
| ۵۱۲ مگابایت | ۱ گیگابایت |
| ۱ گیگابایت | ۳ گیگابایت |
| ۲ گیگابایت | ۲ گیگابایت |
| ۴ گیگابایت | ۴ گیگابایت |
| ۸ گیگابایت | ۴ گیگابایت |
| ۱۶ گیگابایت | ۸ گیگابایت |
برای سرور هم هرچی فضای swap کمتر باشه (یا از SSD استفاده بشه) بهتره، معمولا هم نصف فضای رم کفایت می کنه.با این حال همیشه فضای swap را مانیتور کنید تا در صورت لزوم افزایشش بدید.
ایجاد فضای swap
به ۳ صورت میشه فضای swap رو در دیسک ایجاد کرد:
- پارتیشن Swap
- فایل Swap
- Swap در USB
پارتیشن Swap
بهتره ساخت پارتیشن تو همین مرحله انحام بشه ولی اگه فعلا نمی خواین این کارو بکنید(به هر دلیلی) حتما بعدا این پارتیشن رو به روش زیر در سیستم بسازید:
# mkswap /dev/hxz # swapon /dev/sdXX
برای فعال کردن پارتیشن موقع بوت طبق راهنمای fstab عمل کنید.
فایل Swap
اگه هارد دیسکتون پر شده و جا برای ساخت پارتیشنswap ندارید یا یه هارد SSDبا حجم کم دارید میتونید از این روش به عنوان جایگزین استفاده کنید، فایل swap میتونه بعد از ایجاد به راحتی حذف یا تغییر حجم داده بشه.
# dd if=/dev/zero of=/swapfile bs=1M count=512
دستور if محل فایل ورودی رو مشخص می کنه و دستور of محل فایل خروجی پس اگه می خواین فایل swap جای دیگه باشه مسیر را به صورت آدرس فایلسیستمی عوض کنید(به عنوان مثال برای ذخیره در Home به صورت زیر عمل کنید:
# dd if=/dev/zero of=~/swapfile bs=1M count=512
بعد از ساخت فایل باید حق دسترسی را با دستور chmodعوض کنید:
# chmod 600 /swapfile
بعد از ساخت فایل باید فایل رو برای استفاده قالبندی کنیم برای این کار از دستور mkswap استفاده می کنیم:
# mkswap مسیر فایل
اگه می خواین موقع بوت فایل به طور خودکار در سیستم اکتیو بشه خطوط زیر رو به فایل /etc/fstab اضافه کنید:
مسیر فایل swap swap defaults 0 0
برای فهمیدن درست فعال شدن swap و اندازه آن می توانید از دستور free استفاده کنید:
$ free –m
حذف پارتیشن swap
دستور زیر را اجراء کنید تا پارتیشن swap غیرفعال شود:
# swapoff /dev/...
ورودی آنرا از fstab حذف کنید.
توسط نرمافزارهای پارتیشن بندی (مثل fdisk,parted,gparted,…)پارتیشن مربوطه را حذف کنید.
حذف فایل swap
دستور زیر را برای غیرفعال کردن پارتیشن swap تایپ کنید:
# swapoff –a
بعد می تونید با خیال راحت فایل رو حذف کنید:
# rm -rf /swapfile
Swap در USB
ما می تونیم چندینتا پارتیشن swap تو وسیلههای مختلف درست کنیم .برای این کار یه مثال با یه فلش دیسک میزنیم:
اول فلش رو با لیبل swap توسط fdisk به صورت swap پارتیشن بندی می کنم (شما می تونید از هر ابزار پارتیشن بندی دیگهای نظیر gparted ,parted,… استفاده کنید).
دوم فایل fstab رو باز می کنم و مشخصات پارتیشن swap حدید رو زیر مشخصات پارتیشن swap قبلی به صورت زیر می نویسم: (از روشهای ساخت و اکتیو swap که قبلا پیرامونش صحبت شد هم می تونید استفاده کنید)
UUID=... swap swap defaults,pri=10 0 0
با استفاده از دستور زیرUUID دستگاه رو میفهمیم:
# blkid
استفاده از UUID یا (عدد یکتای پارتیشن) به امکان بهرهوری از یک آدرس منحصر به فرد اون پارتیشن رو میده.توجه داشته باشید با تغییر اندازه یا تغییر فرمت این عدد تغییر می کنه.(بیشترین کاربرد اون در raid است).
در اینجا واسه این ازUUID استفاده می کنیم که یه وقت پارتیشن swap اصلی مشکل دار نشه.
در آخر برای این که بفهمم تنظیمات رو درست انجام دادم یا نه دستور زیر رو می زنم:
# swapon –s
مزایا
- حافظه swap پر شده باشه و حافظه خالیای در دیسک سخت نداشته باشیم.
- زمان دسترسیاش به فایل ها از هارددیسک کمتره.
- درایوهای USB ارزونتر از هارد دیسکها هستند (از لحاظ قیمت هارد دیسک ارزونتره ولی چون دیگه صرف نمیکنه هارد دیسک با حجم پایین بزنن پس فقط در مواقعی که نیاز به خرید هارد دیسک ندارید این مطلب(استفاده از فِلُش) صدق می کنه)
معایب
- فلش دیسک ها چرخه رایت محدودی دارن و وجود swap بر عمر آنها تأثیر خواهد گذاشت.
- سرعت درگاههای خارجی کمتر از درگاههای داخلیه.
بالا بردن کارایی Swap
از کرنل2.6 به بعد پارامتر جدیدی به اسم swappiness اضافه شده، که به ادمین اجازه میده طریقهی swap کردن لینوکس رو بهبود ببخشه.به طور خلاصه یه عددی بین 0 تا 100 در فایل sysctl باعث بهبود swap کردن میشه.
عدد بالا منجر به swap شدن صفحههای بیشتری میشه و مقدار کم باعث نگهداری بیشتر برنامهها در حافظه میشه.
(انتخاب با شماست ولی معمولا برای دسکتاپها عدد بالا پیشنهاد میشه تا از حافظه برای کارهای حیاتیتر استفاده بشه)
مقدار پیشفرض swappiness رو 60 است. شما میتونید اونو به طور موقت با دستور زیر تنظیم کنید:
# echo عدد > /proc/sysctl/swappiness
برای خلاص شدن از تنظیم خطوط زیر رو با مقدار دلخواه تو فایل /etc/sysctl.conf قرار دهید:
خط یک برای فعال یا غیر فعال کردن عملیات swap است (0 غیر فعال-1فعال).
خط دو مقدار swappiness رو مشخص میکنه.
vm.swappiness=1 vm.vfs_cache_pressure=50
با تنظیم درست و بهینه swap می تونید به حداکثر بهرهوری پردازنده برسید.
گزینهی ۲: پارتیشنبندی دستی
ما برای این قسمت دو مثال متفاوت را ذکر خواهیم کرد. در مثال اول با یک هارد دیسک خام مواجه هستیم که تمامی فضای آن را به آرچلینوکس اختصاص خواهیم داد و در مثال دوم آرچلینوکس را بر روی سیستمی که دارای سه پارتیشن NTFS شامل سیستم عامل ویندوز در پارتیشن اول خود میشود نصب خواهیم کرد و یکی از پارتیشنهای NTFS را پس از حذف به آرچ لینوکس اختصاص خواهیم داد.
مثال اول: نصب آرچ بر روی دیسک خام
با انتخاب دیسک مقصد (دیسکی که قرار است آرچلینوکس بر روی آن نصب شود)cfdisk برای پارتیشنبندی دستی باز میشود.
با کلیدهای چپ و راست بین گزینههای پایین (Help, New, Print , …) و با کلیدهای بالا و پایین بین پارتیشنهای مختلف جابجا شوید.
فضای دیسک کاملاً خالیست در نتیجه برای ساخت اولین پارتیشن New را انتخاب و Enter را بزنید. در این مرحله با ۳ گزینه روبرو میشوید که در بارهی آنها در بخش انواع پارتیشنها گفته شد. در این مثال ما قصد ساخت چهار پارتیشن از نوع Primary و اختصاص تمام فضای دیسک به آرچ لینوکس را داریم. بعد از انتخاب گزینهی Primary برنامه در مورد اندازهی این پارتیشن از ما سؤال خواهد کرد. ما این پارتیشن را برای ریشه در نظر گرفتهایم پس پانزدههزار مگابایت را برای آن انتخاب کردیم. توجه داشته باشید که اندازهی وارد کرده را به مگابایت بنویسید. در قدم بعدی برنامه از ما در مورد مکان این پارتیشن سؤال خواهد پرسید که با انتخاب Beginning آن را از اول دیسک سخت خود ایجاد میکنیم. با کلیدهای چپ و راست گزینهی Type را انتخاب و نوع فایلسیستم ساخته شده به فایلسیستم لینوکس (عدد ۸۳) تغییر میدهیم. با توجه به اینکه پارتیشن ساخته شده در بردارندهی مسیر /boot نیز میشود پرچم Bootable را با انتخاب آن و زدن کلید Enter بر روی آن میزنیم.
اکنون نوبت به ساخت پارتیشن برای /var رسیده است. ابتدا با زدن کلید پایین از روی پارتیشن مربوط به ریشه، به فضای خالی دیسک منتقل میشویم سپس مراحل ساخت را مانند پارتیشن مربوط به ریشه دنبال میکنیم و نوع آن را نیز ۸۳ انتخاب میکنیم اما پرچم Bootable را برای این پارتیشن انتخاب نمیکنیم. اندازهی این پارتیشن در مثال ما ده هزار مگابایت است.
در قدم بعدی پارتیشن مربوط به swap را با اندازهی هزار مگابایت میسازیم. نوع این پارتیشن با نوع دو پارتیشن قبلی فرق دارد و بایستی ۸۲ (Linux swap / Solaris) را برای آن انتخاب کنیم.
در انتها نوبت ساخت پارتیشن خانه با اندازهی باقیماندهی دیسک سخت است. نوع این پارتیشن هم مانند ریشه و /var از نوع ۸۳ میباشد.
اکنون ۴ پارتیشن Primary ساختهایم و طبیعتاً جایی برای پارتیشن پنجم بر روی این دیسک وجود ندارد و برای مثال ما هم نیازی به وجود پارتیشن پنجم نخواهد بود.
Sda1 را برای ریشه، sda2 را برای /var، همچنین sda3 را برای swap و sda4 را برای خانه ایجاد کردهایم.
نام پارتیشنهای ایجاد شده و مقصد آنها را برای اتصال در مرحلهی بعدی در گوشهای یاد داشت میکنیم.
با زدن کلیدهای چپ و راست گزینهی Write را انتخاب میکنیم و برای تأیید yes را تایپ میکنیم و Enter را میزنیم. متوجه باشید که انجام این عمل اطلاعات موجود بر روی دیسک شما را با اطلاعات جدید بازنویسی میکند. گزینهی Quit را برای خروج از برنامه انتخاب کنید. در ادامه Done را برای تأیید انتخاب میکنیم. به مرحلهی پیکربندی دستی فایلسیستمها و نقاط اتصال آنها بروید.
مثال دوم: نصب آرچ در کنار درایوهای ویندوزی
با انتخاب دیسک مقصد (دیسکی که قرار است آرچلینوکس بر روی آن نصب شود) cfdisk برای پارتیشنبندی دستی باز میشود.
با کلیدهای چپ و راست بین گزینههای پایین (Help, New, Print , …) و با کلیدهای بالا و پایین بین پارتیشنهای مختلف جابجا شوید.
اینبار هارد دیسک خیلی نامرتبی داریم. بر روی sda1 و sda2 ویندوز هفت سوار شده و sda5 و sda6 مربوط به فایلهایی است که بر روی سیستم ذخیره کردهایم. در این مرحله ما sda7 را برای نصب آرچ خالی کردهایم، پس با حذف آن و تبدیل آن به پارتیشنهای لینوکسی کار خود را آغاز میکنیم. ابتدا با کلید پایین آن را انتخاب میکنیم و سپس با Delete ظاهر شده آن را از روی هارد خود پاک میکنیم تا به Free Space یا همان فضایی خالی تبدیل شود.
اکنون فضای خالی بوجود آمده را انتخاب میکنیم و از New>Logical>Beginning برای ساخت پارتیشن مربوط به ریشه اقدام میکنیم. اندازهی این پارتیشن را پانزدههزار مگابایت انتخاب میکنیم. با انتخاب Type نوع این پارتیشن را ۸۳ (لینوکس) قرار میدهیم و پرچم راهاندازی را با انتخاب گزینهی Bootable بر روی آن قرار میدهیم چرا که /boot در زیر مجموعهی این پارتیشن قرار خواهد گرفت.
به سراغ ساخت /var میرویم. مانند پارتیشن مربوط به ریشه از New>Logical>Beginning یک پارتیشن با حجم ده هزار مگابایت از نوع ۸۳ (لینوکس) ایجاد میکنیم.
در قدم بعدی swap را با انتخاب فضای خالی و از طریق New>Logical>Beginning به اندازهی هزار مگابایت از نوع ۸۲ (Linux swap / Solaris) میسازیم.
و در نهایت پارتیشن مربوط به خانه را از New>Logical>Beginning به اندازهی فضای باقیمانده و از نوع ۸۳ (لینوکس) ایجاد میکنیم.
Sda7 را برای ریشه، sda8 را برای /var، همچنین sda9 را برای swap و sda10 را برای خانه ایجاد کردهایم.
نام پارتیشنهای ایجاد شده و مقصد آنها را برای اتصال در مرحلهی بعدی در گوشهای یاد داشت میکنیم.
با زدن کلیدهای چپ و راست گزینهی Write را انتخاب میکنیم و برای تأیید yes را تایپ میکنیم و Enter را میزنیم. متوجه باشید که انجام این عمل اطلاعات موجود بر روی دیسک شما را با اطلاعات جدید بازنویسی میکند. گزینهی Quit را برای خروج از برنامه انتخاب کنید. در ادامه Done را برای تأیید انتخاب میکنیم. به مرحلهی پیکربندی دستی فایلسیستمها و نقاط اتصال آنها بروید.
ساخت فایلسیستمها(اطلاعات عمومی)
انواع فایلسیستمها
نوع یک فایلسیستم به ترجیحات و استفادههای شخصی هر فرد بستگی دارد و متغییر است. هر کدام مزیتها، معایب و ویژگیهایی مختص به خود را دارند. در اینجا یک نگاه مختصر بر فایلسیستمهای پشتیبانی شده میاندازیم:
- ext2 Second Extended Filesystem: فایلیسیستم قدیمی گنو/لینوکس. بسیار پایدار است اما از journaling و barriers پشتیبانی نمیکند. مشکل عدم پشتیبانی از journaling زمانی نمود پیدا میکند که سیستم شما دچار سانحه (کرش) شود یا به صورت غیر معمول خاموش شود (رفتن برق) و ممکن است با از دست دادن اطلاعات شما همراه باشد. این فایلسیستم برای ریشه و خانه مناسب نیست ولی به راحتی قابل تبدیل به ext3 است.
- ext 3 Third Extended Filesystem: همان فایلسیستم ext2 با قابلیت پشتیبانی از journaling و write barriers. همانند ext2 بسیار پایدا و کامل است.
- ext4 Fourth Extended Filesystem: سازگار با ext2 و ext3 با قابلیت پشتیبانی از یک اگزابایت برای درایوها و ۱۶ ترابایت برای هر فایل. افزایش محدودیت ۳۲۰۰۰ زیر مسیر (subdirectory) در ext3 به ۶۴۰۰۰ زیر مسیر. قابلیت یکپارچهسازی آنلاین.
- ReiserFS (V3) Hans Reiser's high-performance journaling FS: از متد خیلی بسیار جذابی برای کار بر روی دادهها بر مبنای الگوریتم خلاق و نا منظم استفاده میکند. ReiserFS بسیار سریع است مخصوصاً زمانیکه با تعداد زیادی از فایلهای کوچک سر کار داشته باشید. ReiserFS در قالببندی (formatting) هم بسیار سریع است اما نسبتاً برای اتصال (mounting) کند است. کاملاً بالغ و پایدار میباشد. ReiserFS (V3) در حال حاضر توسعه داده نمیشود. به طور کلی گزینهی مناسبی برای /var میباشد.
- JFS IBM's Journaled FileSystem: اولین فایلسیستم که از journaling پشتیبانی میکرد. JFS قبل از اینکه به گنو/لینوکس بیاید سالها در IBM AIX® OS مورد استفاده قرار میگرفت.JFS در حال حاضر از حداقل منابع CPU در بین فایلسیستمهای گنو/لینوکس استفاده میکند. همچنین در زمینهی قالببندی (formatting)، اتصال (mounting) و fsck (چک کردن فایلسیستم) بسیار سریع است. در کل این فایلسیستم عملکرد بسیار خوبی دارد بهخصوص در اتصال با زمانبند ورودی و خروجی. JFS مانند ext یا ReiserFS پشتیبانی نمیشود ولی بسیار بالغ و پایدار است. اطلاعات بیشتر را در اینجا مشاهده نمائید.
- XFS: یک فایل سیستم دیگر با قابلیت پشتیبانی از journaling که توسط Silicon Graphics برای IRIX OS توسعه داده شده و به گنو/لینوکس برده شده است.XFS برای فایلها و فایلسیستمهای بزرگ بسیار سریع است. همچنین در قالببندی و اتصال سرعت بالایی دارد. در آزمایشها انجام شده نسبت به فایلسیستمهای دیگر در مورد فایلهای کوچک کندتر عمل کرده است. این فایلسیستم بالغ قابلیت یکپارچهسازی آنلاین را دارد.
- vfat: فایلسیستم Fat با پشتیبانی از نامهای بزرگ برای فایلها.
- Btrfs: این فایلسیستم با نام "Better FS" نیز شناخته میشود که با اصول جدید و ویژگیهای قدرتمند شبیه ZFS ارائه شده است که شامل snapshotها، multi-disk striping و mirroring، همچنین پشتیبانگیری اضافی، checksumها، فشردهسازی روی هوا (که میتواند عملکرد و صرفهجویی در فضا را بهبود ببخشد) و ویژگیهای دیگر میشود. در ژانویه ۲۰۱۱ هنوز این فایلسیستم به عنوان یک فایلسیستم ناپایدار معرفی شده اما به صورت آزمایشی وارد خطوط اصلی هسته شده است. به نظر میرسد Btrfs فایلسیستم بعدی لینوکسها خواهد بود. اکنون این فایلسیستم به عنوان فایلسیستم پارتیشن ریشه توسط نصاب توزیعهای بزرگ گنو/لینوکس پیشنهاد میشود.
- Nilfs2: یک فایلسیستم دیگر برای لینوکس که توسط NTT توسعه داده شده و تحت مجوز GPL میباشد. NILFS یک فایلسیستم log-structured میباشد.
یک نوشته در مورد journaling
به واسطه مشکلات غیر مترقبه ای که برای سیستم بوجود می آمد و باعث هنگ کردن سیستم می شد، سیستم فایل ext2 باید برنامه ی e2fck را مداوم کنترل می کرد و این وقت زیادی را هدر می داد.با آمدن ext3 و اضافه شدن journaling (رکوردینگ(ذخیرهسازی)) این مشکل بالاخره حل شد.
فایلسیستمهای journaling فایلسیستمهایی fault-resilient (انعطاف پذیر)هستند که وقایع را قبل از اینکه بر روی فایلسیستم اعمال شود در یک فایل درج میکنند تا از خرابی اطلاعات در هنگام هر حادثهای جلوگیری کنند. تمام این فایلسیستمها از نظر تکنیکی شبیه به هم عمل نمیکنند.
به طور خاص تنهاext3 وext4 شیوه data ordered را پیشنهاد می دهند (به طور پیش فرض (حالت های دیگه ای نظیر write back data و journal data نیز وجود دارد (همه این تکنیک ها در سرعت با هم رقابت دارند).
در زیر سعی می کنم یه توضیح مختصر راجع به هر کدام از این ۳ روش بدم:
data=ordered mode تو این تکنیک تمامی اطلاعات journal توی فایل سیستم اصلی نوشته می شه و فرادادهی اونها (یه جور کپی) برای ذخیره سازی فرستاده میشه.فرا دادهها فبل از ذخیره سازی به بلوکهایی به طور منطقی تقسیم و گروه بندی می شن این کار باعث کاهش I/O در دیسک میشه.این روش برای اکثر کاربرها به طور منطقی مناسبه.
data=journal mode تو این تکنیک همه دیسک ها و پارتیشن ها خوانده میشن و فراداده همه اونها با هم برای ذخیره سازی فرستاده میشه بعد همه فایل ها به فایل سیستم اصلی سپرده می شن؛ ، این کار به خاطر 2 بار نوشتن اطلاعات با حجم بالا باعث کاهش کارایی میشه. ولی با این همه عملکرد فایل سیستم بهبود پیدا می کنه.
(معمولا همچین روشی برای کاربرانی که هارد یا پارتیشن های زیادی دارن مناسب و امن تره)
data=write back mode در این روش journal کردن اطلاعات به طور کامل انجام نمیشه، در حقیقت این روش مثل journal کردن اطلاعات در فایل سیستم های XFC,JFS,Reiser FS انجام میشه(فقط فراداده بدون هیچ تغییری ذخیره میشه).این می تونه باعث خراب شدن اطلاعات جدید موقع اتفاقات غیر مترقبه در پارتیشن های بزرگ بشه؛پس اگه حجم پارتیشن شما کم است از این روش استفاده کنید تا بهترین عملکرد را داشته باشید.
نحوه فعال کردن journaling
برای فعال کردن هر کدوم از این حالت ها ۲ راه مختلف وجود داره:
- در حالت اول باید فایل fstab را ویرایش کنید:
<file system> <dir> <type> data=ordered or … <dump> <pass>
اگه می خواین journaling رو واسه پارتیشن روت فعال کنید باید خطوط مورد نظر را به عنوان یه پارامتر تو تنظیمات بوت لودرتان وارد کنید.
- در روش دوم شما از tune2fs برای تعریف کردن تنظیم ماونت پیش فرض توی بلوک اصلی فایل سیستم استفاده می کنید:
# tune2fs -O has_journal -o journal_data /dev/hdXY
به یاد داشته باشید که روش دوم ممکنه برای کرنلهای قدیمی کار نکنه.به طور خاص کرنل 2.4.20 و قبل تر از اون با این تنظیمات بلوک اصلی مشکل دارن. اگه هم حس ماجراجوییتون گل کرده،ممکنه که بخواین اندازهی ژورنال رو دستکاری کنین(همچین کاری پیشنهاد نمیشه فقط در صورتی که بدونید چی کار می کنید)، ژورنال بزرگتر ممکنه عملکرد بهتری رو در برخی موارد داشته باشه پس از دستورات زیر استفاده کنید:
همچنین به یاد داشته باشید فضای بیشتر باعث طولانی تر شدن بازیابی میشه.
# tune2fs -J size=$SIZE /dev/hdXY
پیکربندی دستی فایلسیستمها و نقاط اتصال آنها
هر پارتیشن برای نقطهی اتصال خالی در نظر گرفته شده است. پیشتر در مثال یک sda1 را برای ریشه، sda2 را برای /var، همچنین sda3 را برای swap و sda4 را برای خانه ایجاد کردهایم. با انتخاب Manually configure block devices به سراغ اتصال پارتیشنها به نقاط مورد نظر میرویم.
در اینجا بایستی یکی از سه روش برای اتصال را انتخاب کنید.dev یا label ویا uuid. روش اول هر پارتیشن را توسط اسم آن در /dev/ به مسیر تعیین شده متصل میکند و روش دوم به label هر پارتیشن و روش سوم به نام یکتای هر پارتیشن. برای سیستمهایی که هاردهای مختلف به آن متصل میشوند روش uuid بهترین روش به حساب میآید چون در این حالت دیگر نام یکتای پارتیشن مد نظر است و قرار گرفتن آن در هارد اول و یا دوم و جابجا شدن الویت هاردها نمیتواند در روند راهاندازی سیستم خللی وارد کند. برای بدست آوردن عدد یکتای هر پارتیشن دستور blkid را با مجوز ریشه اجرا کنید.
ما در این مثال از روش uuid استفاده میکنیم. حرف N جلوی آدرس هر پارتیشن نشان دهندهی عدم اتصال آن پارتیشن به نقطهی خاصی است.
/dev/sda1 را برای اتصال به ریشه انتخاب میکنیم. در ادامه Yes را برای دوباره سازی پارتیشن بر میگزینیم.
در مرحلهی بعد فایلسیستم مورد نظر خود را انتخاب کنید. چنانچه در مرحلهی قبل No را انتخاب کردهاید مطمئن شوید که فایلسیستم صحیح را انتخاب میکنید در غیر این صورت به مرحلهی قبل باز گردید و Yes را برای قالببندی مجدد انتخاب کنید.
در این مرحله بایستی نقطهی اتصال را مشخص کنید. در تصویر زیر ما sda1 را به ریشه متصل کردهایم.
دو گام بعدی اختیاریست. به همین شیوه پارتیشنهای دیگر را به مسیر های خود متصل میکنیم (sda2 به var و sda4 به خانه) و در نهایت Done را برای رفتن به منوی اصلی و انجام نصب بستهها انتخاب میکنیم. Swap به مسیری متصل نمیشود و سیستمعامل به خودی خود آن را شناسایی میکند ولی بهتر است عملیات را مانند بقیه پاتیشنها انجام دهیم.
چنانچه برای /boot پارتیشن جدا در نظر نگرفته باشید نصاب به شما یک اخطار میدهد و گوشزد میکند که برای مسیر فوق پارتیشن جدایی در نظر گرفته نشده است. با انتخاب ignore این اخطار را نادیده گرفته و به مرحلهی بعد میرویم.
با انتخاب Return to main menu به منوی اصلی برای ادامهی نصب بازگردانده میشویم.
انتخاب بستهها
تمام بستههایی که در نصب وجود دارند بستههای مربوط به مخزن core میشوند و به base و base-devel تقسیم شدهاند. اطلاعات بستهها و توضیحات مختصر آنها از اینجا قابل دسترسی است.
با انتخاب Select Packages از منوی اصلی با پیغام نصاب مبنی بر سه مرحلهای شدن این قسمت روبرو خواهید شد.
نصاب به شما میگوید که ابتدا بایستی راهانداز را انتخاب کنید که ما Grub را انتخاب میکنیم.
در ادامه باید گروه بستههای مورد نظرمان را انتخاب کنیم که ما base و base-devel را انتخاب کردیم.
- Base: این گروه شامل تعدادی از بستههای موجود در مخزن core که یک محیط پایهای و مینیمال را میتوان با آنها فراهم کرد میشود. همیشه این گروه را انتخاب کنید و هیچکدام از بستههای آن را از حالت انتخاب خارج نکنید.
- Base-devel: این گروه شامل ابزارهای اضافیتر موجود در مخزن core میشود. مانندmake و automake. بیشتر تازهکارها بایستی بستههای موجود در این گروه را انتخاب و نصب کنند زیرا به احتمال فراوان در آینده به آنها احتیاج خواهند داشت.
بعد از انتخاب دستهای بستهها شما با لیست کاملی از بستههای در شرف نصب مواجه میشوید که به شما اجازه انتخاب بیشتری را میدهد. با دکمه Space میتوانید بستههای مورد نظرتان را انتخاب یا از حالت انتخاب خارج کنید.
بعد از انتخاب بستهها به منوی اصلی باز گرداننده میشوید. اینبار نوبت نصب بستههای انتخاب شده است.
نصب بستهها
Install Packages بستههای انتخاب شده را بر روی سیستم شما نصب خواهد کرد . اگر شما منابع محلی CD یا USB را برای نصب بستهها انتخاب کرده باشید، نسخه موجود در همان منابع برای شما نصب خواهد شد در غیر است صورت اگر منابع راه دور (remote sources) را انتخاب کرده باشید آخرین نسخهی بستههای انتخابی از اینترنت دانلود و توسط پکمن نصب میشود.
پیکربندی سیستم
در این گام از نصب (Configure the system) شما باید فایلهای اصلی پیکر بندی سیستم آرچلینوکس را پیکربندی کنید.
در اینجا شما با لیست شامل فایلهای اصلی برای پیکربندی سیستم مواجه میشوید.
آیا نصاب میتواند کمی کارها را خودکار انجام دهد
مخفی کردن روند پیکربندی سیستم مستقیماً رو در روی راه آرچ قرار میگیرد. از آنجا که نسخههای اخیر هسته و ابزار سختافزار یاب پشتیبانی عالی و پیکربندی خودکار را شامل میشوند، آرچ تمام فایلهای پیکربندی مربوط را در حین نصب ارائه میدهد تا به هدف شفافسازی و کنترل منابع سیستم نزدیکتر باشد. به هر حال شما بایستی این مرحله را با ویرایش این فایلها پشت سر بگذارید. شما در این مرحله با روش ساده پیکربندی سیستم آرچ آشنا میشوید و با ساختار پایهای آن بیشتر آشنا میشود.
ما برای ویرایش nano را در مرحلهی قبل انتخاب کردیم. به یاد داشته باشید خطوطی که کامنت شدهاند و علامت # در ابتدای آنها وجود دارد خوانده نمیشوند و تنها برای آگاهی شما و یا غیر فعال کردن یک عمل مورد استفاده قرار میگیرند.
/etc/rc.conf
آرچلینوکس از /etc/rc.conf به عنوان فایل اصلی پیکربندی سیستم استفاده میکند. همین یک فایل شامل طیف وسیعی از اطلاعات پیکربندی و اصلی سیستم در هنگام شروع به کار میشود. اسم این فایل دلالت بر وظیفهی این فایل دارد. همچنین شامل تنظیمات برای به کار گیری /etc/rc* میشود.
بعد از انتخاب این فایل nano برای ویرایش باز میشود. این فایل شامل قسمتهای زیر میشود که به ترتیب به آنها میپردازیم.
قسمت LOCALIZATION
- LOCALE
- در اینجا شما میتوانید محل سیستم را که توسط تمامی ابزارها و برنامههای i18n-aware مورد استفاده قرار میگیرد تعیین کنید. شما میتوانید با اجرای دستور locale -a در یک کنسول مجازی دیگر لیست از محلهای در دسترس را بدست بیاورید. این تنظیمات به صورت پیشفرض بر روی زبان انگلیسی آمریکایی تنظیم شده است. به هرحال اگر شما تجربهی مشکلاتی مانند نمایش داده نشدن برخی کارکترها و جایگزینی آنها با مربع مواجه شدهاید بهتر است "en_US.utf8" را جایگزین "en_US" کنید.
- DAEMON_LOCALE
- تنظیمات این مرحله واضح است. Yes برای استفاده از daemon locale و no برای عدم استفاده از آن است. در صورت انخاب yes متغیر محیطی $LOCALE به عنوان مقدار locale در نظر گرفته میشود در غیر این صورت از C locale استفاده خواهد کرد.
- HARDWARECLOCK
- زمانی که HARDWARECLOCK در حالت UTC باشد در زمان راهاندازی و خاموش کردن سیستم ذخیره میشوند در مورد local time هم وضع به همین منوال است. بخش تنظیم ساعت را ببینید.
- TIMEZONE
- انواع منطقههای زمانی در /usr/share/zoneinfo/ در دسترس قرار دارند.
- KEYMAP
- keymapهای موجود در /usr/share/kbd/keymaps قرار دارند. توجه داشته باشید که این تنظیمات فقط برای TTYهای شما معتبر است نه برای هر مدیر پنجره و یا X.
- CONSOLEFONT
- فونتهای کنسول ساکن در /usr/share/kbd/consolefonts/ اگر شما مجبور به تعویض آنها هستید. پیشفرض این گزینه (خالی)امن است پس بهتر است متغیر خاصی جلوی آن قرار ندهید مگر اینکه از کاری که میکنید مطمئن شوید.
- CONSOLEMAP
- این قسمت نقشهی کنسول را برای بارگزاری با برنامهی setfont در راهاندازی سیستم مشخص میکند. نقشههای ممکن در مسیر /usr/share/kbd/consoletrans برای زمانی که به آنها نیاز دارید موجود است. پیشفرض این گزینه (خالی)امن است پس بهتر است متغیر خاصی جلوی آن قرار ندهید مگر اینکه از کاری که میکنید مطمئن شوید.
- USECOLOR
- اگر شما یک نمایشگر رنگی دارید و میخواهید در کنسول رنگهای مختلف را داشته باشید yes را برای این قسمت انتخاب کنید.
- اگر شما یک نمایشگر رنگی دارید و میخواهید در کنسول رنگهای مختلف را داشته باشید yes را برای این قسمت انتخاب کنید.
مثالی از قسمت LOCALIZATION:
LOCALE="en_US.utf8" DAEMON_LOCALE="no" HARDWARECLOCK="UTC" TIMEZONE="US/Eastern" KEYMAP="us" CONSOLEFONT= CONSOLEMAP= USECOLOR="yes"
قسمت سختافزار HARDWARE
- MODULES
- ماژولهای لازم را اگر میدانید ماژول مهمی از قلم افتاده در این قسمت اضافه کنید. برای مثال اگر شما از یک فایلسیستم loopback استفاده میکنید بایستی loop رت اضافه کنید. توجه داشته باشید به صورت عادی ماژولهای لازم توسط udev بارگزاری میشوند بنابراین به ندرت نیاز به اضافه کردن ماژولی در این قسمت پیدا میشود.
مثالی از قسمت HARDWARE:
# Scan hardware and load required modules at boot MODULES=()
قسمت شبکه NETWORKING
- HOSTNAME
- hostname را به نام دلخواه خود تغییر دهید. این قسمت نام کامپیوتر شما را تعیین میکند. هرچیزی که در اینجا قرار میدهید در /etc/hosts قرار میگیرد.
- hostname را به نام دلخواه خود تغییر دهید. این قسمت نام کامپیوتر شما را تعیین میکند. هرچیزی که در اینجا قرار میدهید در /etc/hosts قرار میگیرد.
مثالی از قسمت NETWORKING:
HOSTNAME="arch"
- Interface
- رابط ethernet که میخواهید برای اتصال به شبکهی محلی خود استفاده کنید را در اینجا مشخص کنید.
- address
- اگر میخواهید از یک آیپی استاتیک (static IP) برای کامپیوتر خود استفاده کنید، آن را در این قسمت قرار دهید. برای DHCP این قسمت را خالی بگذارید.
- Netmask
- اختیاری. به صورت پیشفرض 255.255.255.0 میباشد. اگر میخواهید از یک netmask خاص استفاده کنید در اینجا آن را مشخص کنید. برای DHCP این قسمت را خالی بگذارید.
- Broadcast
- اختیاری. اگر شما قصد استفاده از یک آدرس خاص broadcast را دارید در اینجا آن را مشخص کنید. برای DHCP این قسمت را خالی بگذارید.
- Gateway
- اگر شما یک آیپی استاتیک (static IP) در address استفاده میکنید آدرس آیپی gateway پیشفرض را در اینجا وارد کنید (به عنوان مثال مودم/روتر). برای DHCP این قسمت را خالی بگذارید.
- NETWORK_PERSIST
- تنظیم این گزینه بر روی yes از خاموش شدن شبکه پرش میکند. این گزینه زمانی احتیاج میشود که دیوایس ریشهی شما بر روی NFS است.
- NETWORKS
- NETWORKS یک تنظیم اختیاریست و تنها زمانی که از بستهی netcfg با بستهی اختیاری dialog استفاده میکنید میتواند فعال باشد. این نمایههای netcfg را در زمان راهاندازی فعال کنید. این تنظیمات زمانی که به ویژگیهای خاص و حرفهای شبکه احتیاج دارید بسیار مفید خواهد بود، مانند پیکربندی شبکههای چندگانه.
- NETWORKS یک تنظیم اختیاریست و تنها زمانی که از بستهی netcfg با بستهی اختیاری dialog استفاده میکنید میتواند فعال باشد. این نمایههای netcfg را در زمان راهاندازی فعال کنید. این تنظیمات زمانی که به ویژگیهای خاص و حرفهای شبکه احتیاج دارید بسیار مفید خواهد بود، مانند پیکربندی شبکههای چندگانه.
مثالی با آیپی استاتیک Static IP:
HOSTNAME=arch interface=eth0 address=192.168.1.100 netmask=255.255.255.0 broadcast=192.168.1.255 gateway=192.168.1.1 #NETWORKS=(main)
مثالی با آیپی دینامیک(=پویا)(DHCP):
HOSTNAME=arch interface=eth0 address= netmask= broadcast= gateway= #NETWORKS=(main)
بقیهی نکتهها:
زمانی که از یک آیپی ایستا (static IP) استفاده میکنید بایستی تغییرات لازم را در فایل /etc/resolv.conf برای مشخص کردن DNS Serverها اعمال کنید. قسمت /etc/resolv.conf را در راهنمای پیش رو مطالعه نمائید.
قسمت DAEMONS
این ردیف لیست اسکریپتهایی که در /etc/rc.d/ قرار دارند و میتوانند در هنگام راهاندازی اجرا شوند را شامل میشود. این قسمت از مقدار دهی غیر همزمان نیز پشتیبانی میکند به عبارت دیگر با اجرای برنامه در پس زمینه راهاندازی سریعتری را به همراه خواهد داشت:
DAEMONS=(network @syslog-ng netfs @crond)
- اگر نام یک اسکریپت با علامت بنگ (!) شروع شود اجرا نمیشود.
- اگر اسکریپت با یک ات (@) آغاز شود در پسزمینه اجرا خواهد شد و در زمان راهاندازی سیستم منتظر اجرا موفق یا نا موفق آن نمیشود و فرمان بعدی را اجرا میکند (فقط آن را اجرا میکند و منتظر جواب برنامه نمیشود). این روش به سرعت راهاندزای کمک شایانی میکند. مراقب باشید که آرایههایی که توسط daemonهای دیگر مورد نیاز هستند را در این حالت قرار ندهید. برای مثال mpd به network احتیاج دارد و چنانچه شما network را در حالت پسزمینه قرار بدهید ممکن است mpd با مشکل مواجه شود.
- اگر میخواهید سرویسهای جدیدی که نصب کردهاید در زمان راهاندازی به صورت خودکار اجرا شوند این آرایهها را مورد ویرایش قرار دهید.
اطلاعات عمومی
ما نیاز به تغییر خط daemons را در این زمان نداریم اما نیاز است که اطلاعات کافی در مورد آن را داشته باشید چرا که در ادامه به آنها احتیاج پیدا خواهید کرد.
یک daemon برنامهای است که در پس زمینه اجرا میشود و منتظر رخ داد و بازنمود سرویسها میماند. web server یک مثال خوب در این زمینه است چرا که منتظر درخواست برای نمایش یک صفحه میماند (مانند httpd) یا یک سرور SSH منتظر ورود کاربر میماند (مانند sshd). این ابزارهای مجهز مانند daemon کارشان به چشم نمیآید. یا نمونههایی که پیغامهایی را در فایلهای گزارشها ثبت میکنند(مانند syslog, metalog) یا daemonی که ورود به سیستم گرافیکی را فراهم میکند (مانند gdm، kdm) تمام این برنامهها میتوانند در خط مربوط به daemon اضافه شوند تا در راهاندازی سیستم اجرا شوند. Daemonهای به درد بخور و مفید در طول این راهنما معرفی خواهند شد.
/etc/fstab
fstab (برای جدول فایلسیستمها) قسمتی از پیکبرندی سیستم شماست. د رحال احضر این فایل شامل تمام پارتیشنها و دیسکهایی است که شما پیشتر در قسمت مربوط به آماده سازی هارد دیسک به سیستم اصلی متصل کردهاید، شما همچنین میتوانید با ویرایش این فایل پارتیشنهای دلخواه خود را به نقاط دلخواه برای دسترسی در سیستم متصل کنید. فایل /etc/fstab در اغلب مواقع با دستور mount مورد استفاده قرار میگیرد. دستور mountیک فایل سیسم روی یک دیوایس را میگیرد و سپس به سلسله مراتب سیستم اضافه میکند و شما میتوانید آن را در هنگام کار با سیستم ببینید. mount -a از طریق /etc/rc.sysinit در پورسهی راهاندازی سیستم خوانده میشود، سپس /etc/fstab برای تعیین اینکه کدام گزینه بایستی برای متصل شدن یک دیوایس خاص مورد استفاده قرار بگیرد خوانده میشود. اگر noauto ضمیمهی فایلسیستمی در etc/fstab شودmount -a در زمان راهاندازی سیستم آن فایلسیستم را متصل نمیکند.
یک مثال از /etc/fstab
یک نمونه خط برای اتصال دو پارتیشن NTFS با استفاده از uuid و dev:
<file system>
- این فیلد فایلسیستم یا بلوک مربوطه برای اتصال را نشان میدهد. برای یک اتصال معمولی این قسمت حاوی لینک به گرهی بلوک موردنظر(که توسط mknod ساخته شده است. mknod در زمان راهاندازی سیستم توسطudev اجرا میشود) برای اتصال میشود. برای نمونه /dev/cdromیا /dev/sda1
<dir>
- این فیلد نقطهی اتصال را مشخص میکند. برای پارتیشن swap بایستی آن به عنوان none مشخص شود (پارتیشنهای swap عملاً مانت نمیشوند).
<type>
- این فیلد نوع فایل سیستم را شرح میدهد. هستهی لینوکس از تعداد زیادی از فایلسیستمها پشتیبانی میکند. (برای دیدن فایلسیستمهایی که اکنون توسط هستهی در حال اجرا پشتیبانی میشوند /proc/filesystems را ببینید). swap مشخص میکند که این فایل یا پارتیشن برای swapping مورد استفاده قرار گرفته است. ignore باعث میشود که این خط نادیده گرفته شود و برای مواقعی که میخواهیم یک پارتیشن که بلااستفاده است را مشخص کنیم میتواند مفید باشد.
<options>
- این فیلد گزینههای اتصال را به فایلسیستم پیوند میدهد. گزینهها را میتوان توسط کاما در کنار هم قرار داد (بدون فاصله). این فیلد حداقل حاوی نوع اتصال میشود . برای دیدن گزینههای در دسترس (فایلسیستمهای non-nfs) صفحهی man مربوط به mount را مشاهده کنید.
<dump>
- این فیلد فرمان dumb را مورد استفاده قرار میدهد. dumb یک ابزار پشتیبانگیری است. اگر فیلد پنجم خالی باشد مقدار صفر بازگردانده میشود و در نتیجه dump از گرفتن پشتیبان از پارتیشن مربوطه را الزامی نمیداند و اینکار لغو میشود. توجه کنید که dump به صورت پیشفرض نصب نیست.
<pass>
- این فیلد برنامهی fsck را برای تعیین اینکه کدام فایلسیستم در هنگام راهاندازی سیستم بررسی شود را مورد استفاده قرار میدهد. فایلسیستم ریشه بایستی بالاترین الویت (یعنی عدد ۱) را برای بررسی شدن داشته باشد. بقیه فایلسیستمها در صورتی که نیاز به چک کردن آنها در حین راهاندازی سیستم را دارید میتوانند مقدار ۲ را به خود بگیرند. فایلسیستمهایی که عدد ۰ را به خود اختصاص دادهاند بررسی نمیشوند. فایلسیستمهای داخل درایو متناوبا بررسی میشوند ولی فایلسیستمهای موجود در یک درایو به صورت ترتیبی مورد بررسی قرار میگیرند ولی فایلسیستمهای موجود در درایوهای مختلف به صورت موازی با هم بررسی میشوند. اگر این فیلد یعنی فیلد ششم خالی رها شود و یا مقداری برابر با صفر داشته باشد fsck فرض را بر این قرار میدهد که این فایلسیستم نیازی به بررسی ندارد.
برای اطلاعات بیشتر اینجا را مطالعه نمائید.
/etc/mkinitcpio.conf
این فایل به شما اجازهی انجام ریز تنظیمات را در مورد فایلسیستم initial ram میدهد. Initramfs یک ایمیج gzipped است که توسط هسته در زمان راهاندازی سیستم خوانده میشود. هدف initramfs راهاندازی خودکار سیستم تا نقطهای که بتواند به فایلسیستم ریشه دسترسی پیدا کند. این بدان معنیست که initramfs مجبور به بارگزاری تمام ماژولهای لازم مانند درایوهای IDE, SCSI یا SATA (یا USB/FW اگر نیاز باشد که سیستم از یک درایو USB/FW راهاندازی شود). بعد از اینکه ماژولهای لازم توسط initramfs (چه به صورت دستی و چه توسط udev) بارگزاری شد کنترل کار به هسته واگزار میشود و راهاندازی ادامه پیدا میکند. برای اینکار initramfs تنها نیاز به محتویات ماژولهای لازم برای دسترسی به فایلسیستم ریشه را دارد و به تمام ماژولهایی که شما ترجیح میدهید استفاده کنید نیازی ندارد. اکثر ماژولهای رایج هسته در ادامه توسط udev در حین عملیات init بارگزاری خواهند شد.
Mkinitcpio نمونهی بعدیinitramfs creation است که نسبت به نمونههای قبلی (اسکریپتهای mkinitrd و mkinitramfs) مزایای فراوانی دارد.
- از glibc و busybox برای تهیهی یک بِیس سبکتر استفاده میکند.
- میتواند از udev برای شناسایی خودکار سختافزارها در زمان اجرا بهره بگیرد بنابراین از بارگزاری تعداد بیشماری از ماژولهای غیر لازم جلوگیری میکند.
- اسکریپت init بر پایهی hook به راحتی میتواند hookهای مختلف را در اختیار بگیرد. (توسعه پذیر توسط hookهای دیگر) که میتواند به راحتی میتواند در بستههای پکمن بدون اینکه تغییراتی در خود mkinitcpio ایجاد شود گنجانده شود.
- از lvm2 و dm-crypt برای هر دو نوع وُلومهای قدیمی و لاکز (legacy و luks) و raid و swsuspand TuxOnIce resuming و بوت از دستگاههای usb ذخیرهسازی اطلاعات پشتیبانی میکند.
- بسیاری از ویژگیها میتوانند از طریق خط فرمان هسته بدون نیاز به دوباره سازی ایمیج پیکربندی شوند.
- اسکریپت mkinitcpio این امکان را فراهم میکند که ایمیج در هسته گنجانده شود بنابراین ساخت یک ایمج هستهی کامل (self-contained) ممکن میشود.
- انعطاف پذیری آن در خیلی مواقع ما را از کامپایل مجدد هسته بینیاز میکند.
اگر از RAID یا LVM بر روی فایلسیستم ریشه استفاده میکنید، HOOKهای انتخابی بایستی پیکربندی شوند. صفحهی ویکی LVM/RAID و پیکربندی mkinitcpio را برای اطلاعات بیشتر مطالعه نمائید. اگر شما از یک کیبورد غیر US استفاده میکنید keymap را در قسمت hook برای بارگزاری در زمان راهاندازی اضافه کنید. همچنین usbinput را در صورت استفاده از صفحهکلید متصل به پورت USB اضافه کنید (در غیر این صورت اگر روند راهاندازی به هر دلیلی با مشکل مواجه شد از شما پسورد ریشه برای تعمیر و نگهداری سیستم درخواست خواهد شد که شما توانایی وارد کردن آن را نخواهید داشت). به یاد داشته باشید usb را در صورتی که آرچ را بر روی یک هارد اکسترنال،Comfact Flash یا SD card متصل به usb نصب میکنید، اضافه کنید.
به عنوان مثال:
HOOKS="base udev autodetect pata scsi sata usb filesystems keymap usbinput"
اگر شما نیاز به پشتیبانی برای راهاندازی از دیوایسهای USB، دیوارآتش، PCMCIA یا NFS shares, software RAID arrays, LVM2 volumes, encrypted volumes, یا DSDT support دارید طبیعتاً بایستی HOOKها را ویرایش کنید.
/etc/modprobe.d/modprobe.conf
این فایل جهت تنظیم گزینههای پیکربندی ویژه برای ماژولهای هسته مورد استفاده قرار میگیرد. در مثال ما نیازی به پیکربندی این فایل احساس نمیشود. راهنمای ماژولهای هسته اطلاعات بیشتری را در اختیار شما قرار میدهد.
/etc/resolv.conf
Resolver یک ست از کتابخانههای روتین C میباشد که دسترسی به Internet Domain Name System (DNS) را مهیا میکند. یکی از کاربردهای اصلی DNS ترجمه domain nameها به آدرسهای IP است برای ساختن وب به محیطی دوستداشتنیتر.
The resolver configuration file, or /etc/resolv.conf, contains information that is read by the resolver routines the first time they are invoked by a process.
اگر شما از یک آیپی ایستا (static IP) استفاده میکنید DNS serverها را در /etc/resolv.conf (nameserver <ip-address>) تنظیم کنید. هر چقدر دوست داشته باشید میتوانید آنها را اضافه کنید.
یک مثال با استفاده از OpenDNS:
nameserver 208.67.222.222 nameserver 208.67.220.220
اگر شما از یک روتر استفاده میکنید احتمالاً بایستی DNS serverهایتان را در خود روتر تعیین کنید و فقط از طریق /etc/resolv.conf تنها DNS serverها را از آیپی روتر خود استفاده کنید.
nameserver 192.168.1.1
اگر از DHCP استفاده میکنید احتمالاً بایستی DNS serverها را در روتر مشخص کنید یا اجازه بدهید سرویسدهندهی شما آن را تعیین کند، البته اگر سرویس دهندهی شما مجهز برای انجام این کار باشد.
/etc/hosts
این فایل IP addressها را با hostnameها و aliasها مرتبط میکند.یک خط برای هر IP address. برای هر host یک خط تنها با اطلاعات زیر بایستی ارائه شود:
<IP-address> <hostname> [aliases...]
همزمانHostname خود را با نام دیگر در /etc/rc.conf اضافه کنی. به عنوان مثال:
127.0.0.1 localhost.localdomain localhost yourhostname
اگر شما از یک آیپی ایستا (استاتیک) استفاده میکنید یک خط دیگر با ترکیب زیر اضافه کنید:
<static-IP> <hostname.domainname.org> <hostname>
به عنوان مثال:
192.168.1.100 yourhostname.domain.org yourhostname
نکته: برای راحتی ممکن است بخواهید از aliasهای /etc/hosts برای hostهای بر روی شبکهی شما و/یا بر روی وب استفاده کنید. به عنوان مثال:
192.168.1.90 media 192.168.1.88 data
مثال فوق به شما اجازهی دسترسی به سرور media و data را بر روی شبکهی شما به وسیلهی اسم و بدون نیاز به نوشتن آدرسهای آیپی مربوطه را میدهد.
/etc/locale.gen
فرمان /usr/sbin/locale-gen با خواندن /etc/locale.gen اقدام به ساخت localeها مشخص میکند. آنها میتوانند توسط glibc و بقیهی برنامههای locale-aware یا کتابخانهها برای تفسیر text و نمایش صحیح مقادیر مالی، زمانی، قالب تاریخ و منطقهای الفبای خاص و بقیهی خصیصههای محلی مورد استفاده قرار بگیرند.
به صورت پیشفرض /etc/locale.gen یک فایل خالی به صورت کامنت شده است (مقادیر لازم در آن وجود دارد ولی با توجه به علامت# در ابتدای تمام خطوط خوانده نمیشود). زمانی که آن را ویرایش میکنید دست نخورده باقی میماند. Locale-gen بر روی تمامی ارتقاهای glibc اعمال میشود و تمام خصیصههای محلی را در /etc/locale.gen میسازد.
محلهای مورد نظر خود را توسط برداشتن علامت # از ابتدای خط آنها انتخاب کنید. برای مثال:
en_US ISO-8859-1 en_US.UTF-8
اکنون نصاب اسکریپت locale-gen را اجرا میکند و تمام محلهایی که شما فعال کردهاید را میسازد. اگر میخواهید در آینده تغییراتی را در این زمینه ایجاد کنید کافیست به سراغ ویرایش فایل /etc/locale.gen بروید و بعد با مجوز ریشه دستور locale-gen را اجرا کنید.
آیینههای پکمن Pacman Mirror
یک آیینه برای پکمن انتخاب کنید. به یاد داشته باشید که سرعت آیینهی archlinux.org بر روی 50KB/s محدود شده است. آیینهها را برای اطلاعات بیشتر در زمینهی انتخاب آیینههای پکمن مورد بررسی قرار دهید. توجه داشته باشید که تنها آیینههای انتخابی در هنگام نصب مورد استفاده قرار میگیرند.
کلمهی عبور ریشه Root password
در نهایت کلمهی عبور ریشه را مشخص کنید و مطمئن شوید آن را در آینده میتوانید به یاد آورید. به منوی اصلیس بازگردید و با نصب راهانداز به ادامهی کار بپردازید.
نصب راهانداز (Bootloader)
به دلیل اینکه ما در این مثال سیستمعامل دوم نداریم یا به این دلیل که سیستم عامل دوم ما (ویندوز) به صورت پیشفرض قادر به راهاندازی آرچلینوکس نیست بایستی گراب (GRand Unified Bootloader) را نصب کنیم.
همچنین شما میتوانید لیلو ،Syslinuxیا GRUB2 را نصب کنید.لطفاً اسناد مربوط به آنها را چنانچه راهاندازی غیر از گراب میخواهید مطالعه نمائید.
فایل پیکربندی گراب (/boot/grub/menu.lst) بایستی آماده باشد ولی برای اطمینان محتویات آن را بازبینی کنید (به خصوص مطمئن شوید که پارتیشن ریشه توسط UUID در خط ۳ مشخص شده است). شاید بخواهید تغییراتی را در تفکیکپذیری کنسول با اضافه کردن vga=<number> به شناسهی هسته بدهید (یک جدول در خصوص مقادیر مورد نیاز در این زمینه در خود فایل menu.lst قرار داده شده است).
توضیح:
title
- یک انتخاب که در لیست منو ظاهر میشود. Arch Linux (Main) این عبارت را دقیقاً در منو ظاهر میکند و میتوانیم آن را انتخاب کنیم.
root
- ریشهی گراب برابر است با درایو و پارتیشنی که هسته (/boot) در آن ساکن شده. به بیان صحیحتر جایی که فایل مرحلهی دوم گراب ساکن شده است نه لزوماً فایلسیستم ریشه؛ زیرا میتواند فایلسیستم ریشه بر روی یک پارتیشن جدا قرار گرفته شده باشد. طرح شمارهگذاری گراب از صفر شروع میشود و از قالب hdx,x صرفنظر از IDE یا SATA استفاده میکند و آنها را در پرانتز قرار میدهد. مثال موجود /boot را در پارتیشن اولِ درایو اول در نظر گرفته است. (درایو اول بسته به تنظیمات بایوس ممکن است متفاوت باشد).
kernel
- این خط مشخص کنندهی:
- مسیر و نام فایل هسته که به ریشهی گراب مربوط است. در این مثال /boot دقیقاً در پارتیشنی که ریشه ساکن است اقامت دارد و vmlinuz-linux نام فایل هسته میباشد؛ /boot/vmlinuz-linux. اگر /boot بر روی یک پارتیشن جدا قرار داشت مسیر و نام فایل به صورت /vmlinuz-linux به ریشهی گراب مربوط بود.
- شناسهی root= در خط کرنل، پارتیشنی را که در بردارندهی ریشهی سیستم راهاندازی شده است را مشخص میکند در اصل پارتیشنی که حاوی /sbin/init میشود را مشخص میکند. راه ساده برای تشخیص دو root موجود در /boot/grub/menu.lst به این صورت است که بیاد داشته باشید root اول گراب را نشانه میرود، یعنی جایی که هسته سکن شده و root دوم به هسته میگوید که فایلسیستم ریشه (/) کجاست.
- گزینههای هسته: در مثال ما ro فایلسیستم را به صورت فقطخواندنی در حین شروع به کار سوار میکند که به صورت معمول این روش امن است؛ شاید شما بخواهید به علت مشکل در حین راهاندازی سیستم مقدار آن را تغییر دهید. اضافه کردن quiet در خط کرنل تمام پیغامها به غیر از پیغامهای حیاتی و مهم را در حین راهاندازی مخفی میکند. بسته به سختافزار ممکن است شمابه اضافه کردن rootdelay=8 برای راهاندازی سیستم از یک هارد درایو خارجی متصل به پورت usb احتیاج داشته باشید.
Initrd
- خط Initrd در بر دارندهی مسیر و نام فایل initial RAM filesystem مربوط به ریشهی گراب است. در مثال ما /boot در پارتیشنی که فایلسیستم ریشه اقامت دارد قرار دارد و initramfs-linux.img هم نام فایل initrd است؛ در نتیجه خط مذکور بدین صورت مشخص میشود /boot/initramfs-linux.img. اگر /boot بر روی پارتیشن جدا سوار شده بود، مسیر و نام فایل به صورت /initramfs-linux.img و مربوط به ریشهی گراب میشد.
مثال:
title Arch Linux (Main) root (hd0,0) kernel /boot/vmlinuz-linux root=/dev/sda1 ro quiet initrd /boot/initramfs-linux.img
مثال برای مواقعی که /boot بر روی پارتیشن مجزا سوار شده است:
title Arch Linux (Main) root (hd0,0) kernel /vmlinuz-linux root=/dev/sda3 ro quiet initrd /initramfs-linux.img
راهانداز گراب را بر روی Master Boot Record نصب کنید(در مثال ما /dev/sda)
گراب(GRand Unified Bootloader)
بستهی گراب به صورت پیشفرض بر روی سیستم شما نصب شده است. اگر شما در حین نصب گراب را نصب نکردید میتوانید آن را در سیستم نصب شده با دستور زیر نصب کنید:
# pacman -S grub
به علاوه گراب بایستی بر روی بوتسکتور یک درایو یا پارتیشن نصب شود تا بتواند به عنوان راهانداز مورد استفاده قرار بگیرد.
پیکربندی گراب
فایل پیکربندی گراب در مسیر /boot/grub/menu.lst ساکن شده است. این فایل را بنا به نیاز خود تغییر دهید.
- Timeout : زمانی که گراب منتظر میماند تا سیستمعامل پیشفرض را بارگزاری کند.
- Default: سیستمعامل پیشفرض در این قسمت قرار میگیرد. سیستمعامل پیشفرض زمانی که گراب ظاهر میشود انتخاب شده است و چنانچه تغییری در انتخاب صورت نپذیر بعد از پایان یافتن Timeout بارگزاری میشود.
یک مثال از فایل پیکربندی زمانی که /boot بر روی یک پارتیشن جدا تعریف شده است.
# nano /boot/grub/menu.lst # general configuration: timeout 5 default 0 color light-blue/black light-cyan/blue # (0) Arch Linux title Arch Linux root (hd0,0) kernel /vmlinuz-linux root=/dev/sda3 ro initrd /initramfs-linux.img # (1) Windows #title Windows #rootnoverify (hd0,0) #makeactive #chainloader +1
در این مثال سیستمعامل شمارهی 0 (# (0) Arch Linux) بعد از ۵ ثانیه چنانچه گراب دست نخورده بنماند بارگزاری میشود. برای تغییر تفکیکپذیری تصویر گراب میتوانید از جدول FRAMEBUFFER RESOLUTION SETTINGS که در فایل پیکربندی گراب به صورت کامنت شده قرار گرفته استفاده کنید. کافیست عدد مورد نظر را به صورت زیر به آخر خط کرنل اضافه کنید. به عنوان مثال برای تفکیکپذیری 1024x768 خط هسته به این صورت تغییر میکند:
kernel /vmlinuz-linux root=/dev/sda3 ro vga=773
پیدا کردن ریشهی گراب
گراب بایستی به شما بگوید که فایلهایش در کجای سیستم شما ساکن شدهاست (به عنوان مثال بر روی محیطهای چند-راهاندازه). فایلهای گراب در /boot واقع شده که میتواند یه پارتیشن جدا از ریشه باشد.
- هارد دیسکها به صورت (hdX) شناسایی میشود. دیوایسهای ذخیرهسازی متصل به پورت USB نیز به همین روش شناسایی میشوند.
- شمارهی دیوایسها و پارتیشنها از صفر شروع میشود. برای مثال اولین هارد دیسک شما (با توجه به الویت آن در بایوس) با نام hd0 شناسایی میشود و دومین دیوایس با نام hd1. این موضوع برای پارتیشنها هم صادق است. بنابراین دومین پارتیشن واقع در هارددیسک اول به صورت hd0,1 و پنجمین پارتیشن دیسک دوم به صورت hd1,4 شناسایی میشود.
اگر شما از مکان /boot خبر ندارید با استفاده از شلِ گراب و دستور find میتوانید به راحتی فایلهای گراب را مسیریابی کنید:
# grub
با صادر کردن دستور فوق شما وارد شلِ گراب میشوید. مثال زیر استفاده از دستور find برای سیستمی که /boot آن در داخل ریشه قرار گرفته و شامل پارتیشن جدا نمیشود:
grub> find /boot/grub/stage1
مثال زیر برای سیستمیست که /boot آن در داخل پارتیشن ریشه قرار نگرفته و شامل پارتیشن جدا میشود:
grub> find /grub/stage1
گراب فایل مربوطه را پیدا کرده و در خروجی چاپ میکند. به عنوان مثال:
grub> find /grub/stage1 (hd0,0)
این مقادیر بایستی در خط root فایل پیکربندی گراب قرار بگیرد. با نوشتن quit از شلِ گراب خارج شوید.
راهاندازی دوگانه با ویندوز
خطوط زیر را به انتهای فایل /boot/grub/menu.lst برای اضافه کردن ویندوز به منوی گراب بیافزایید.
# nano /boot/grub/menu.lst title Windows rootnoverify (hdX,X) makeactive #if you use Windows7 this line should be commented out chainloader +1
در خط rootnoverify به جای hdX,X عدد مربوط به دیسک و پارتیشن ویندوز خود را قرار دهید. به عنوان مثال چنانچه ویندوز شما بر روی درایو C تنها هارد شما قرار دارد این مقدار برابر با hd0,0 میشود.
اگر ویندوز شما در پارتیشن دیگری نصب شده است شما بایستی از فرمان map در فایل پیکربندی گراب استفاده کنید. این کار باعث میشود ویندوز شما فکر کند در درایو اول نصب شده است. به عنوان مثال اگر ویندوز شما در پارتیشن اول درایو دوم شما قرار گرفته باشد قسمت مربوط به ویندوز فایل پیکربندی گراب بدین صورت تغییر میکند:
# nano /boot/grub/menu.lst title Windows map (hd0) (hd1) map (hd1) (hd0) rootnoverify (hd1,0) makeactive #if you use Windows7 this line should be commented out chainloader +1
راهاندازی دوگانه با لینوکس دیگر
به راحتی همانگونه که آرچ را به گراب نشان دادهاید با توجه به اطلاعاتی که در طول این مقله بدست آوردهاید میتوانید لینوکس دوم را نیز به گراب اضافه کنید:
# nano /boot/grub/menu.lst title Other Linux root (hdX,X) kernel /path/to/kernel root=/dev/sdXX ro initrd /path/to/initrd
به عنوان مثال با فرض اینکه لینوکس شما بر روی پارتیشن سوم با نام sda3 نصب شده و /boot آن با ریشه دارای پارتیشن مشترک و غیر-جدا است محتویات فوق بدین صورت تغییر میکند:
# nano /boot/grub/menu.lst title Other Linux root (hd0,2) kernel /path/to/kernel root=/dev/sda3 ro initrd /path/to/initrd
اگر لینوکس دیگر از گراب ۲ استفاده میکند (به عنوان مثال اوبونتو ۹.۱۰ به بعد) و شما راهاندازش را بر روی پارتیشن ریشهاش نصب نمودهاید میتوانید از خطوط زیر برای بارگزاری آن استفاده کنید (مثال زیر مربوط به اوبونتوی نصب شده بر روی پارتیشن سوم دیسک اول است که در آن پارتیشن گراب و ریشه مشترکند).
# nano /boot/grub/menu.lst # other Linux using Grub2 title Ubuntu root (hd0,2) kernel /boot/grub/core.img
راهاندازی مجدد Reboot
تمام شد. شما پایهی آرچلینوکس را نصب و پیکربندی کردید. از نصب خارج شوید و با فرمان reboot کامپیتور را ریاستارت کنید.
# reboot
پس از نصب
تبریک میگویم. به سیستم جدید آرچلینوکسِ خودتان خوش آمدید.
این قسمت کارهایی که بعد از نصب بیشتر مورد نیاز است مانند بهروزرسانی سیستم و اضافه کردن یک کاربر غیر-ریشه را تحت پوشش قرار خواهد داد.
بهروزرسانی
سیستم جدید آرچلینوکسِ شما اکنون یک گنو/لینوکس کاربردیست و مهیای شخصیسازیهای شماست. در اینجا شما هر چیزی را که مد نظر دارید میتوانید برای خود به سیستم اضافه کنید و از آن لذت ببرید.
به عنوان کاربر ریشه وارد سیستم شوید. در ادامه پکمن را پیکربندی و سیستم را بهروزرسانی خواهیم کرد.
پیکربندی شبکه(در صورت لزوم)
اگر شما به درستی سیستم خود را پیکربندی کرده باشید بایستی اکنون از نعمت شبکه برخوردار باشید. برای بررسی وجود آن از پینگ استفاده کنید:
$ ping -c 3 example.com PING example.com (192.0.43.10) 56(84) bytes of data. 64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=1 ttl=248 time=25.6 ms 64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=2 ttl=248 time=22.9 ms 64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_req=3 ttl=248 time=23.6 ms --- example.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 22.912/24.062/25.632/1.156 ms
اگر شما با موفقیت با شبکه ارتباط برقرار کردید به قسمت بهروزرسانی، سینک و ارتقاء سیستم توسط پکمن بروید. اگر بعد از استفاده از پینگ با خطای unknown host برخورد کردید به این نتیجه میرسیم که شبکهی شما به درستی پیکربندی نشده است. فایلهای زیر را مجدداً مورد بررسی قرار دهید:
/etc/rc.conf بهخصوص قسمت HOSTNAME و NETWORKING را برای چک کردن خطاهای نوشتاری و … /etc/hosts را برای اجتناب از وجود خطاهای نوشتاری و … /etc/resolv.conf اگر شما از آیپی ایستا استفاده میکنید آنی فایل را مورد بازبینی قرار دهید در غیر اینصورت اگر از DHCP استفاده میکنید این فایل به صورت پیشفرض ساخته و خراب میشود.
Wired LAN
Ethernet خود را توسط دستور زیر بررسی کنید:
$ ip addr
تمام رابطها نمایش داده خواهند شد. شما باید یک مدخل برای eth0 و یا شاید eth1 را مشاهده کنید. در این مثال ما از eth0 استفاده میکنیم.
آیپی ایستا Static IP
اگر نیاز باشد شما میتوانید یک آیپی ایستای جدید را توسط فرمان زیر تنظیم کنید:
# ip addr add <ip>/<netmask> dev <interface>
و gateway پیشفرض :
# ip route add default via <ip>
فایل /etc/resolv.conf را برای اطمینان از موجود بودن DNS server و اضافه کردن آن در صورت لزوم بررسی کنید سپس شبکهی خود را مجدداً با ping -c 3 www.google.com مورد بررسی قرار دهید. اگر همه چیز به خوبی کار میکرد فایل /etc/rc.conf را با توجه به توضیحات بالا تنظیم کنید.
DHCP
اگر شما یک سرور/روتر DHCP دارید دستور زیر را امتحان کنید:
# dhcpcd eth0
اگر همه چیز به خوبی کار میکرد فایل /etc/rc.conf را با توجه به توضیحات بالا در مورد آیپی پویا (دینامیک) تنظیم کنید.
Wireless LAN
لطفاً بخش تنظیم وایرلس در محیط زنده را برای جزئیات بیشتر در مورد اتصال به شبکهی بیسیم مورد مطالعه قرار دهید. با وجود اینکه شما دیگر در مدیا نصب نیستید اما دستورات مشابه اگر شما بستههای مربوط به وایرلس را نصب کرده باشید همچنان دردسترس است. به یاد داشته بشید دیوایس وایرلس نه شما ممکن است برای عملکرد نیاز به سفتافزار داشته باشد. این صفحه را برای اطلاعات بیشتر مورد مطالعه قرار دهید.
Proxy Server
اگر شما از پشت یک پروکسی سرور به شبکه دسترسی دارید فایل /etc/wgetrc را ویرایش کرده و http_proxy و ftp_proxy را در آن تظیم کنید.
Analog Modem, ISDN, and DSL (PPPoE)
دسترسی به اینترنت را برای راهنمایی مورد مطالعه قرار دهید.
بهروزرسانی، سینک و ارتقاء سیستم توسط پکمن
اکنون نوبت به بهروزرسانی سیستم با استفاده از پکمن رسیده است. پکمن مدیربستهی آرچلینوکس است که به صورت کلی تمام سیستم بستهها، نصب، حذف، دانگرید (با استفاده از کش)، تشخیص خودکار پیشنیازها، جستجوی مخازن محلی و راه دور و بسیاری از کارهای دیگر را انجام میدهد. اکنونن ما از پکمن برای دریافت و نصب بستههای نرمافزاری از مخازن راهدور بر روی سیستم شما استفاده میکنیم.
/etc/pacman.conf
هر بار که پکمن درگیر کاری میشود اطلاعات داخل /etc/pacman.conf را میخواند. این فایلِ پیکربندی به قسمتها و مخزنهای مختلف تقسیم شده است. هر بخش مشخص کنندهی مخزن بستههاست و پکمن با توجه به این اطلاعات اقدام به جستجوی بستهها از داخل مخازن میکند. یک قسمت استثناء در این فایل قرار دارد که مشخص کنندهی گزینههای مربوط به پکمن میشود.
# nano /etc/pacman.conf
مخازن در انتهای فایل قرار گرفتهاند و شما میتوانید با برداشتن علامت # از ابتدای خطوط Include = و [repository] آنها را فعال کنید.
مخازن بستهها
یک مخزن نرمافزاری محلی است که بستههای نرمافزاری از آن گرفته و بر روی کامپیوتر نصب میشوند. نگاهدارندگان بستههای آرچلینوکس (توسعهدهندگان و کاربران قابل اعتماد) یک سری از مخازن رسمی که شامل بستههای نرمافزاری ضروری، محبوب و عمومی که به سهولت از طریق پکمن قابل نصبند را نگهداری میکنند. برای اطلاعات بیشتر از قبیل هدف هر مخزن مخازن رسمی را مورد مطالعه قرار دهید.
اغلب مردم از مخزنهای [core] [extra] و [community] استفاده میکنند. اگر شما تمایل به اجرای ابزارهای ۳۲بیت بر روی آرچ x86_64 دارید میتوانید مخزن [multilib] را با اضافه کردن خطوط زیر به انتهای فایل /etc/pacman.conf فعال کنید.
[multilib] Include = /etc/pacman.d/mirrorlist
مخزن کاربران آرچ AUR
مخزن کاربران آرچ (AUR) شامل شاخههای پشتیبانی نشده که مستقیماً از طریق پکمن قابل نصب نیستند میشود. AUR [unsupported] شامل بستههای باینری خاص و آماده شده نمیباشد. بلکه شامل هزاران اسکریپت PKGBUILD است که بستهها را از کدمنبع میسازد. این بستهها ممکن است از طریق مخازن دیگر در دسترس نباشد. چنانچه بستههای [unsupported] به مقدار کافی رأی مثبت دریافت کردند به AUR [community] منتقل میشوند و کاربران قابل اعتماد میتوانند آنها را پذیرفته و نگهداری کنند.
- توسط کاربران قابل اعتماد نگهداری میشوند.
- تمام بشاسکریپتهای PKGBUILD.
- به صورت پیشفرض توسط پکمن قابل دسترسی نیستند.
/etc/pacman.d/mirrorlist
این فایل مشخص کنندهی آیینهها و اولیتهایشان برای مخازن پکمن است.
توسط یک ویرایشگر (مانند nano) فایل /etc/pacman.d/mirrorlist را باز گرده و سرورهای نزدیک به محل زندگی خود را با برداشتن علامت # ابتدای آن از حالت کامنت خارج کنید. سپس اقدام به یک بهروزرسانی کامل توسط دستور زیر نمائید:
# pacman -Syy
گذاشتن دو عدد --refresh یا -y به پکمن برای بهروزرسانی کلیه لیستِ بستهها فشار وارد میکند و ما را از بهروز بودن آن مطمئن میکند. زمانی که یک آیینهای تغییر کرد pacman -Syy را اجرا کنید تا از هرگون مشکل احتمالی در امان باشید.
امتیازدهی به آیینهها
متناوبا شما میتوانید از rankmirrors استفاده کنید. Rankmirrors یک بشاسکریپت است که آیینههای خاص را مشخص و در فایل /etc/pacman.d/mirrorlist از حالت کامنت خارج میکند. Rankmirrors عملکرد آیینهها را مورد بررسی قرار نمیدهد و با استفاده از تأخیر بین ماشین و آیینه، mirrorlist را الویتبندی میکند و به همین دلیل همیشه آیینههای پر سرعت را نصیب شما نمیکند. به هر حال وجود آیینههای پرسرعت در لیست آیینهها تأثیر به سزایی در عملکرد پکمن و کل سیستم آرچلینوکس ایجاد میکنند. شما میتوانید این اسکریپت را به صورت دورهای برای داشتن لیست گلچین شدهای از آیینهها اجرا کنید. ابزارهایی نظیر wget یا rsync میتواند برای تأثیر بیشتر عملکرد بعد از آن که لیست آیینهها ساخته شده مورد استفاده قرار بگیرند.
دستور زیر را صادر کنید تا پایگاه اطلاعات بستهها بهروز شود سپس ارتقا پیدا کرده و در نهایت curl نصب شود:
# pacman -Syyu curl
- اگر در این مرحله با خطایی مواجه شدید از دستور nano /etc/pacman.d/mirrorlist استفاده کرده و سرورهایی که مناسبتر به نظر میرسند را از حالت کامنت خارج کنید.
به مسیر /etc/pacman.d/ بروید:
# cd /etc/pacman.d
اگر لیست آیینههای موجود پشتیبان بگیرید:
# cp mirrorlist mirrorlist.backup
اکنون mirrorlist.backup را ویرایش کرده و تمام آیینهها را از حالت کامنت خارج کنید تا به بررسی آنها توسط rankmirrors بپردازیم.
# nano mirrorlist.backup
اکنون نوبت به اجرای اسکریپت رسیده است. با استفاده از سوئیچ -n و مسیر دادن به فایل لیستآیینهها:
# rankmirrors -n 6 mirrorlist.backup > mirrorlist
برای اعمال فشار به پکمن جهت هماهنگ شدن با لیست جدید آیینهها دستور زیر را صادر کنید:
# pacman -Syy
Mirrorcheck برای داشتن بستههای بهروز
rankmirrors قادر به تشخیص بهروز بودن لیست آیینهها نیست و بیش از آنکه سرعت آیینهها حائز اهمیت باشد بهروز بودن آنها مهم است. وضعیت آیینههای آرچلینوکس اطلاعات گوناگونی از وضعیتها مختلف آیینهها اعم از مشکلات شبکه با آیینهها، مشکلات در اطلاعات، آخرین باری که آیینه سینک (همسانسازی) شد و … را در اختیار ما قرار میدهد. اگر شما ترجیح میدهید به صورت دستی فایل /etc/pacman.d/mirrorlist را بررسی کنید مطمئن شوید که این فایل تنها شامل آیینههای بهروز که آخرین نسخهی بستهها را در خود دارند میشود.
متناوبا لیستآیینهساز میتواند آیینههای بهروز را برای شما با توجه به موقعیت مکانی گلچین کند.
با پکمن بیشتر آشنا شوید
بهترین رفیق آرچلینوکس بدون شک پکمن است. شدیداً توصیه میشود که برای یادگیری بیشتر کار با آن صفحهی man مربوط به آن را مطالعه کنید.
$ man pacman
به این صفحه برای مقایسه پکمن با بقیه مدیرهای بستهی محبوب نگاهی بیندازید.
موارد استفاده پکمن
مدیر بستهی پکمن یکی از نقاط قوت آرچلینوکس محسوب میشود. هدف پکمن مدیریت آسان بستههاست چه در مخازن رسمی آرچ باشند و چه بستههای ساخته شده توسط خود کاربر.
فایل پیکربندی پکمن در مسیر /etc/pacman.conf مستقر شده است. برای اطلاعات بیشتر man pacman.conf را فراخوانی کنید. به عنوان مثال شما میتوانید در این فایل مشخص کنید که پکمن برای دانلود بستهها از برنامهی خاصی استفاده کند یا نه و همچنین در هنگام بهروزرسانی و یا نصب بستهها از بهروزرسانی یا نصب بسته یا گروهی از بستهها پرش کند. همچنین در این فایل میتوانید مخازن را اضافه یا کم کنید.
نصب بسته
برای نصب یک بسته کافیست دستور زیر را صادر کنید. برای نصب دو یا چند بسته کافیست بین آنها را با یک فاصله مشخص کنید:
# pacman -S package_name1 package_name2 …
در برخی مواقع شما یک بسته را با نسخههای مختلف در مخازن مخلف دارید. در این هنگام برای اینکه به پکمن بفهمانید که کدام بسته را نصب کند لازم است مخزن آن بسته را نیز مشخص کنید:
# pacman -S extra/package_name # pacman -S testing/package_name
برای نصب بستههای یک گروه به عنوان مثال gnome:
# pacman -S gnome
این دستور تمام بستههایی که به گروه گنوم متعلق هستند را نصب میکند. برای دیدن بستههای متعلق به یک گروه به عنوان مثال گنوم:
# pacman -Sg gnome
حذف بسته
برای حذف بسته بدون حذف پیشنیازهایش از دستور زیر استفاده کنید:
# pacman -R package_name
برای حذف بسته و پیشنیازهایی که توسط بستههای نصب شدهی دیگر مورد نیاز نیست از دستور زیر استفاده کنید:
# pacman -Rs package_name
برای حذف بسته و پیشنیازهایش به علاوه تمام بستههای که به بستهی مقصد محتاج هستند از دستور زیر استفاده کنید. اخطار: در بکار گیری این دستور دقت کنید چون میتواند به صورت بالقوه بستههای مورد نیاز را حذف کند.
# pacman -Rsc package_name
پکمن فایلهای مهم پیکربندی را زمانی که یک برنامه را حذف میکنید با نامی مشخص و پسوند .pacsave نگه داری میکند. برای جلوگیری از این کار پکمن میتوانید از گزینهی -n استفاده کنید:
# pacman -Rn package_name
ارتقاء بستهها پکمن میتواند تمام بستههای موجود بر روی سیستم را با یک دستور بهروز کند. این دستور پایگاه داده مخازن را همگان سازی میکند و سیستم را با بستههای بهروز، بهروزرسانی میکند:
# pacman -Syu
قبل از ارتقاپ سیستم بهتر است صفحهی خانگی آرچلینوکس را باز کنید و آخرین اخبار را مطالعه نمائید.
پکمن با -Q دیتا بیس بستههای محلی را مورد کاوش قرار میدهد:
$ pacman -Q --help
و دیتا بیس بستههای موجود در مخازن را با:
$ pacman -S --help
پکمن میتواند بستههای موجود در دیتابیس را با توجه به نام و توضیحاتشان مورد جستجو قرار دهد:
$ pacman -Ss string1 string2 ...
و همچنین جستجوی بستههای نصب شده:
$ pacman -Qs string1 string2 ...
برای نمایش اطلاعات گستردهی یک بسته:
$ pacman -Si package_name
و بستههای نصب شده:
$ pacman -Qi package_name
گذاشتن دو -i لیست فایلهای پشتیبان را به نمایش میگذارد:
$ pacman -Qii package_name
برای دریافت لیست فایلهایی که توسط یک بسته نصب شده:
$ pacman -Ql package_name
همچنین میتوانید از دیتابیس برای تشخیص اینکه هر فایل توسط چه بستهای نصب شده استفاده کنید:
$ pacman -Qo /path/to/a/file
برای دریافت لیست از بستهها که دیگر به عنوان پیشنیاز مورد استفاده قرار نمیگیرند (بیسرپرست):
$ pacman -Qdt
بهروز رسانی سیستم و نصب بسته یا بستههای خاص بعد از آن:
# pacman -Syu package_name1 package_name2 ...
دانلود بستهها بدون نصب آنها:
# pacman -Sw package_name
نصب بستهی محلی (نه از مخازن) (این گزینه همچنین برای دانگرید برنامهها از طریق بستههای موجود در کَش یا هر محل دیگری مورد استفاده قرار میگیرد):
# pacman -U /path/to/package/package_name-version.pkg.tar.xz
نصب بسته از راه دور (نه از مخازن):
# pacman -U http://www.example.com/repo/example.pkg.tar.xz
پاک کردن بستههای موجود در کَشِ پکمن که در حال حاضر بر روی سیستم نصب نشدهاند:
# pacman -Sc
پاک کردن کلیه بستههای موجود در کَشِ پکمن:
# pacman -Scc
چنانچه پس از مدتی احساس کردید که پکمن شما در زمان تشخیص پیشنیارها و آماده کردن اطلاعات کند عمل میکند دستور زیر را برای بهبود عملکرد آن در ترمینال صادر کنید:
# pacman-optimize
برای اعمال فشار جهت نصب بسته میتوانید از گزینهی -f استفاده کنید:
# pacman -Sf package_name
ممکن است در برخی از مواقع در هنگام نصب برنامهای با این خط "file exists in filesystem" مواجه شوید. در این هنگام با استفاده از pacman -Qo مطمئن شوید که فایل به برنامهی دیگری متعلق نباشد (چنانچه بود گزارش باگ بدهید) سپس با استفاده از گزینهی -f برای اعمال فشار جهت بازنویسی فایل مورد نظر اقدام به نصب بسته کنید. البته توصیه میشود فایلی که پکمن اشاره میکند از قبل وجود دارد را تغییر نام دهید و بدون استفاده از گزینهی -f مجدداً اقدام به نصب بستهی مورد نظر کنید.
چنانچه پکمن در حین نصب بستهی با خطای "database write" مواجه شد بایستی بستهی مورد نظر را پس از حذف مجدداً نصب کنید:
- به دیسک زندهی آرچبروید.
- فایل سیستم ریشه را سوار کنید.
- دیتابیس پکمن را توسط pacman -Syy بهروز کنید.
- بسته را با استفاده از pacman -r /path/to/root -S package نصب کنید.
بهروز کردن سیستم
اکنون شما آمادهاید که کل سیستم را ارتقاء دهید. قبل از هر کاری بهتر است اخبار و شاید بد نباشد اعلانهای لیست پستی را بخوانید. اغلب مواقع توسعهدهندگان اطلاعات مهمی را در زمینه پیکربندی و اصلاحات در مورد مشکلات شناخته شده در اختیار شما قرار میدهند. بررسی این صفحات قبل از ارتقاء ایدهی بسیار خوبیست.
سینک، تازهسازی و ارتقاء سیستم خود را با دستور زیر در پیش بگیرید:
# pacman -Syu
یا با این دستور:
# pacman --sync --refresh --sysupgrade
اکنون پکمن یک رونوشت تازهی بستهها را از سرور(هایـ)ی که در /etc/pacman.conf مشخص شده(اند) دریافت و تمام بهروزرسانیهای مورد نیاز را اعمال میکند. ممکن است شما در اینجا با پیغامی مبنی بر ارتقاء خودِ پکمن مواجه شوید. اگر جواب شما به این درخواست مثبت باشد پکمن خود را به روز میکند و از ادامهی کار باز میماند و شما بایستی مجدداً یکی از دو دستور بالا را برای بهروزرسانی بقیه اجزای سیستم بهکار گیرید.
اگر بهروز رسانی در مورد هسته نیز اعمال شد بعد از آن سیستم را ریاستارت کنید.
خروجیهای پکمن در /var/log/pacman.log ذخیره میشود.
پرسشها و پاسخهای متناوب مدیریت بسته را برای اطلاعات اضافی مطالعه نمائید.
نادیدهگرفتن بستهها
بعد از اجرای دستور pacman -Syu کل سیستم بهروز خواهد شد. اما این امکان وجود دارد که بستهی خاصی را از بهروز شدن منع کنیم. ممکن است بهروز شدن یک بسته باعث ایجاد مشکلاتی در سیستم شود (مثلاً آخرین نسخه icu در حال حاضر باعث مشکل در نوشتار فارسی میشود). در این هنگام شما دو گزینه برای پرش پکمن از روی بستهی خاص در اختیار دارید؛ اول استفاده از سوئیچ --ignore (اطلاعات بیشتر در pacman -S --help) و راه دوم، پرش دائمی پکمن از بسته یا گروهی از آنها با استفاده از IgnorePkg در /etc/pacman.conf در خط مربوط به آن است. اطلاعات بیشتر در صفحهی ویکی پکمن.
توجه داشته باشید کاربران ترجیح میدهند سیستم را توسط pacman -Syu به جای حالت انتخابی بهروز نگه دارند. انتخاب نوع بهروز نگه داشتن سیستم به خود شما بستگی دارد؛ فقط توجه داشته باشید امکان مواجه شدن شما با مشکل وجود دارد. بیشتر مشکلات به خاطر بهروز کردن سیستم به صورت انتخابی، کامپایل غیر معمول یا نصب نرمافزارهای معیوب بهوجود میآید. استفاده از IgnorePkg در /etc/pacman.confهم ممکن است مشکل ایجاد نمائد و تنها در موارد که میدانید چکار میکند مفید واقع شود.
مدل انتشار غلطان آرچ
به یاد داشته باشید که آرچ یک توزیع با انتشار غلطان است. این بدان معنیست هیچ دلیلی برای نصب مجدد سیستم برای رسیدن به نسخهی نهایی وجود ندارد. به سادگی با اجرای دستور pacman -Syu شما به نسخهی نهایی منتقل میشوید. به یاد داشته باشید چنانچه هسته ارتقاء پیدا کرد حتماً سیستم را ریاستارت (راهاندازیمجدد) کنید.
اضافه کردن کاربر
لینوکس یک محیط چند کاربره است. شما نباید کارهای روزمرهی خود را با استفاده از حساب کاربری ریشه انجام دهید: نه تنها اینکار یک عادت بد است بلکه هبا خطر نیز همراه میباشد. از ریشه فقط برای وظایف مربوط به مدیر سیستم استفاده کنید و در یک حساب کاربری عادی برای بقیهی موارد با دستور زیر ایجاد کنید:
# adduser
در اینجا از شما یک سری اطلاعات به صورت زنجیروار خواسته میشود. در این مثال ما کاربر archie را ایجاد میکنیم:
Login name for new user []: archie
User ID ('UID') [ defaults to next available ]:
Initial group [ users ]:
Additional groups (comma separated) []:
audio,lp,optical,storage,video,wheel,games,power,scanner
Home directory [ /home/archie ]:
Shell [ /bin/bash ]:
Expiry date (YYYY-MM-DD) []:
همانگونه که در مثال مشاهده میکنید مقادیر مورد نظر برای Login name و Additional groups قرار گرفته و بقیه فیلدها به صورت خالی رها شدهاند.
لیست Additional groups در این مثال، یک لیست عمومیست که بیشتر مورد استفادهی یک کاربر دسکتاپ قرار میگیرد از اینرو به تازهواردها همین مقادیر پیشنهاد میشود.
- audio: برای وظایف مربوط به کارت صوت و نرمافزارهای مربوطه
- lp: برای مدیریت وظایف مربوط به چاپ
- optical: برای مدیریت وظایف مربوط به درایو(های) نوری
- storage: برای مدیریت دیوایسهای ذخیرهسازی
- video: برای وظایف مربوط به ویدیو و شتابدهندهی سختافزاری
- wheel: برای استفاده از sudo
- games: مورد نیاز برای داشتن دسترسی نوشتن برای بازیها در گروههای بازی
- power: مورد نیاز برای گزینههای مربوط به قدرت (مانند خاموش کردن سیستم با دکمهی پاور)
- scanner: برای استفاده از اسکنر
اکنون شما با یک پیشنمایش از کاربری که ساختهاید مواجه خواهید شد و توانایی ادامه و یا لغو عملیات را دارید. با زدن Enter اکانت شما ساخته خواهد شد و از شما خواسته میشود اطلاعات اضافی و اختیاری دیگر برای کاربر جدید (مانند نام کامل) را وارد کنید. در پایان از شما خواسته میشود یک کلمهی عبور برای کاربر انتخاب کنید.
نهایتاً کاربر جدید غیر-ریشه با یک مسیر خانگی بهخصوص و کلمهی عبور ساخته شد.
کاربرها و گروهها را برای اطلاعات بیشتر مطالعه کنید. اگر میخواهید نام کاربری خود را تغییر بدهیدصفحهی man مربوط به فرمان usermod و gpasswd را مطالعه کنید.
حذف حساب کاربری
در مواقع مواجه با خطاهای بی مورد و یا به دلایل دیگر شاید شما بخواهید که حساب کاربری خود را حذف کنید؛ برای اینکار میتوانید از /usr/sbin/userdel کمک بگیرید:
# userdel -r [username]
گزینهی -r در اینجا مسیر خانگی کاربر مورد نظر به علاوه محتویاتش را پاک میکند.
اضافات
اکنون شما با یک سیستم آرچِ کامل و کاربردی که به عنوان یک پایه برای ساخت آنچیزی که شما نیاز دارید مهیا شده روبرو هستید. به هر حال بسیاری از کاربران به دسکتاپها با صدا و گرافیک کامل علاقه دارند. ما در این بخش یک خلاصهای از اضافاتی که ممکن است شما نیاز داشته باشید را برای شما آماده کردهایم.
Sudo
Sudo را نصب کنید:
# pacman -S sudo
برای اضافه کردن کاربر بهعنوان کاربر sudo (یک "sudoer") دستور visudo باید به عنوان ریشه اجرا شود. به صورت پیشفرض دستور visudo از ویرایشگر vi استفاده میکند. اگر شما با این ویرایشگر آشنایی ندارید میتوانید از متغییر محیطی EDITOR برای تغییر ویرایشگر استفاده کنید. به عنوان مثال با دستور زیر visudo از nano به عنوان ویرایشگر استفاده خواهد کرد:
# EDITOR=nano visudo
اگر شما با vi مشکلی ندارید و با آن احساس راحتی میکنید دلیلی برای استفاده از متغییر EDITOR=nano ندارید:
# visudo
این دستور فایل /etc/sudoers را در یک جلسهی کاری ویژه باز میکند. visudo یک رونوشت از فایل مذکور را برای ویرایش به صورت موقتی تهیه میکند سپس با استفاده از ویرایشگرِ مربوطه آن را ویرایش کرده و در نهایت آن را بررسی میکند. اگر بررسی با موفقیت گذرانده شد فایل موقت بر روی فایل اصلی با مجوزهای صحیح نوشته میشود.
در قسمت قبلی کاربر ساخته شده را به گروه wheel اضافه کردیم. برای دادن دسترسیهای ریشه به کاربران این گروه زمانی که از sudo استفاده میکنند خط زیر را از حالت کامنت خارج کنید:
%wheel ALL=(ALL) ALL
اکنون شما میتوانید به هر کاربری اجازهی استفاده از sudo را با اضافه کردن آن کاربر به گروه wheel بدهید.
برای اطلاعات بیشتر Sudo را ملاحظه نمائید.
صدا
اگر شما صدا میخواهید ALSA در خدمت شماست.
معماری پیشرفته صدای لینوکس (ALSA) جزئی از هسته است و توصیه میشود ابتدا از آن استفاده کنید و چنانچه با آن مشکل داشتید به سراغ انتخابهای بعدی نظیر سیستم صوتی متنباز بروید. البته بیشتر مردم به خاطر ضعیف بودن این سیستم از آن شاکی بودند ولی بهتر است بدانید معماری OSSv4 با نسخه قدیمی خود OSSv3 به طور کلی تغییر کرد که در همین زمان ALSA جایگزین آن در هسته شد.
دستورالعملهای نصب و پیکربندی را در مقاله OSS دنبال کنید.
رابط گرافیکی کاربر
نصب X
X Window System ( X11, X) یک پرتوکل نمایش و شبکه سازیست که ایجاد پنجره بر روی سیستم بیتمپ را ممکن میکند. همچنین پرتوکل و تولکیت استاندار برای ساخت رابط کاربری را نیز فراهم میکند(GUIs).
اکنون ما بایستی بستههای بیس Xorg را نصب کنیم. اکنون نوبت پکمن است، دستور زیر را به منظور نصب بستههای پایهای صادر کنید:
# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils
برای پشتیبانی از حالت سه-بعدی (3D)به سراغ mesa میرویم:
# pacman -S mesa
mesa-demos شامل ابزار سه-بعدی glxgears و glxinfo نیز میشود پس اگر به آنها نیاز دارید زمان را از دست ندهید و فرمان زیر را صادر کنید:
# pacman -S mesa-demos
نصب راهانداز ویدیویی
اکنون شما به یک راهانداز (درایور) برای کارت گرفیکی خود نیاز دارید، همچنین شما نیاز به داشتن اطلاعات کافی از چیپست ویدیویی خود خواهید داشت. اگر چیزی نمیدانید نوبت به استفاده از فایل /usr/sbin/lspci رسیده است:
$ lspci | grep VGA
برای دیدن یک لیست کاملاز راهاندازهای ویدیویی منبعباز بستههای پایگاه داده رو با دستور زیر کاوش کنید:
# pacman -Ss xf86-video
از پکمن برای نصب راهانداز ویدیویی درخور برای کارت/آنبورد ویدیویی خود استفاده کنید. به عنوان مثال برای نصب راهانداز Savage:
# pacman -S xf86-video-savage
کارتهای گرافیکی انویدیا
دارندگان کارتهای گرافیکی انویدیا سه گزینه برای انتخاب پیش رو دارند (به علاوهی راهانداز vesa):
- راهانداز منبعباز nouveau که شتابدهندهی ۲بعدی و ۳بعدی را پشتیبانی میکند، به اندازهی کافی خوب و کارا است. (اما هنوز ذخیرهی-قدرت را به صورت کامل پشتیبانی نمیکند).
- راهانداز منبعباز nv که بسیار کند است و تنها ۲بعدی را پشتیبانی میکند.
- راهانداز اختصاصی انویدیا که عملکرد بسیار خوبی در ۳بعدی به همراه پشتیبانی از ذخیره-قدرت را دارد. به هر حال اگر شما قصد استفاده از راهانداز اختصاصی را دارید میتوانید ابتدا nouveau را نصب و از آن برای تنظیم و بالا آوردن X استفاده کنید و سپس به این راهانداز نقل مکان کنید چرا که nouveau در اغلب مواقع بدون هیچ پیکربندی خاصی و به صورت کاملاً خودکار آمادهی استفاده میشود ولی ممکن است nvidia نیاز به تنظیمات خاصی داشته باشد. اطلاعات بیشتر در NVIDIA.
برای نصب راهانداز منبعباز nouveau دستور زیر را صادر کنید:
# pacman -S xf86-video-nouveau
و برای پشتیبانی از ۳بعدی بستهی زیر را نصب کنید:
# pacman -S nouveau-dri
کارتهای گرافیکی ATI
دارندگان کارتهای گرافیکی ATI دو گزینه برای انتخاب پیش رو دارند (به علاوهی راهانداز vesa):
- راهانداز منبعباز radeon که با دستور زیر نصب میشود:
# pacman -S xf86-video-ati
- راهانداز اختصاصی fglrx تهیه شده توسط بستهی catalyst واقع در مخزن کاربران آرچ (AUR). این راهانداز تنها مدلهای جدید (HD2xxx و جدیدتر) را پشتیبانی میکند. همچنین یک بسته در مخزن extra قرار دارد اما مربوط به مارس سال ۲۰۰۹ میشود و توسعهی رسمی آن به خاطر کیفیت و سرعت توسعهی آن متوقف شده است.اطلاعات بیشتر در ATI Catalyst.
کارتهای گرافیکی SIS
کارتهای به طور رسمی در لینوکس پشتیبانی نمیشوند. اما میتوان برای راهاندازی آنها از ۳ راهانداز استفاده کرد:
# pacman -S xf86-video-sisیا
# pacman -S xf86-video-sisusbیا
# pacman -S xf86-video-sisimedia
اگر هیچ کدام از راهاندازهای بالا کار نکردند تنها چاره موجود جستجو در AUR و شاید حتی دانگرید نسخه Xorg به یک نسخه قدیمیتر باشد.
نصب راهاندازهای ورودی
Udev بایستی قادر به شناسایی سختافزار شما بدون هیچگونه مشکلی باشد و evdev هم (xf86-input-evdev) یک راهانداز ورودی جدید با قابلیت hotplugging برای تقریباً تمام دیوایسهاست. شما نیازی به نصب راهاندازهای ورودی ندارید چراکه evdev به عنوان یکی از پیشنیازهای Xorg اکنون بر روی سیستم شما نصب شده است.
اگر evdev از دیوایس شما پشتیبانی نکرد، راهانداز مورد نیاز را از گروه xorg-input-drivers نصب کنید. برای دریافت یک لیست کامل از راهاندازهای ورودی موجود دستور زیر را صادر کنید:
# pacman -Ss xf86-input | less
کاربران لپتاپها (یا کاربران سیستمهای صفحهی لمسی) به بستهی synaptics برای پیکربندی touchpad/touchscreen توسط X نیاز خواهند داشت:
# pacman -S xf86-input-synaptics
پیکربندی X (اختیاری)
X Server به صورت خودکار پیکربندی میشود و بدون وجود xorg.conf به خوبی کار خواهد کرد اما اگر شما همچنان مایل به پیکربندی دستی آن هستید با مراجعه به صفحهی ویکی Xorg اینکار را انجام دهید.
صفحهکلید Non-US
اگر شما از صفحهکلید استاندارد US استفاده نمیکنید بایستی طرح صفحهکلید خود را در /etc/X11/xorg.conf.d/10-evdev.conf تنظیم کنید:
Section "InputClass"
Identifier "evdev keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "XkbLayout" "be"
EndSection
اگر به عنوان مثال شما قصد استفاده از یک نوع طرح صفحه کلید دیگر مربوط به ایالات متحده را دارید فایل فوق را بدین صورت تنظیم کنید:
Option "XkbLayout" "us" Option "XkbVariant" "dvorak"
امتحان X
در این قسمت یاد میگیرید چگونه یک محیط گرافیکی خیلی پایهای را اجرا کنید. در اینجا از یک مدیر پنجرهی X بسیار ساده به اسم twm استفاده خواهیم کرد.
محیط آزمایش را با دستور زیر نصب کنید:
# pacman -S xorg-twm xorg-xclock xterm
محیط پیشفرض X بسیار لخت است و ما در اینجا فقط قصد امتحان آن را داریم بنابراین برای نصب یک محیط دسکتاپ یا مدیر پنجرهی مناسب به بخش مورد نظر مراجعه کنید.
اگر شما Xorg را قبل از ساخت کاربر معمولی (غیر-ریشه) نصب کرده باشید بایستی فایل خالی .xinitrcرا در مسیر خانگی خود داشته باشید که با پاک کردن آن میتوانید به سادگی محیط ٓ را اجرا کنید:
$ rm ~/.xinitrc
Message bus
dbus را با دستور زیر نصب کنید:
# pacman -S dbus
Daemon مربوط به dbus را با دستور زیر اجرا کنید:
# rc.d start dbus
dbus را به آرایههای DAEMONS واقع در فایل /etc/rc.conf برای شروع خودکار در هر بار راهاندازی سیستم اضافه کنید:
DAEMONS=(... dbus ...)
Start X
در نهایت Xorg را استارت کنید:
$ startx
یا
$ xinit -- /usr/bin/X -nolisten tcp
چند پنجره با قابلیت جابجا شدن بایستی نمایان شود، ماوس باید کار کند. زمانیکه مطمئن شدید همه چیز کار میکند کافیست از X با دستور exit در خارج شوید.
اگر صفحه سیاه شد شاید بتوانید با استفاده از کلیدهای ترکیبی (مثلاً: CTRL-Alt-F2) به کنسول مجازی دوم نقل مکان کنید. اگر همچنان صفحه سیاه بود به صورت کورکورانه نام root را بنویسید سپس Enter را بزنید و کلمهی عبور ریشه را با دقت هرچه تمام تر وارد کنید و مجدد Enter را بزنید. اگر شما با موفقیت وارد سیستم شده باشید با اجرای فرمان زیر میتوانید X را بکشید و به حالت عادی بازگردید (واضح است که این دستور را نیز بایستی به صورت کورکورانه وارد کنید):
# pkill X
اگر اوضاع فرقی نکرد بهتر است سیستم خود را ریاستارت کنید پس اینبار دستور زیر را به صورت کورکورانه وارد کنید:
# reboot
در باب خطاها
اگر شما با مشکل مواجه شدید به دنبال خطا در فایل /var/log/Xorg.0.log بگردید. خطوطی که با (EE) شروع شدهاند خطاها را به شما نشان خواهند داد. همچنین خطوطی که با (WW) شروع شدهاند هم شامل اخطارها میشوند که میتواند مشکلاتی را باعث شود.
$ grep EE /var/log/Xorg.0.log
همچنین خطاها را میتوانید در کنسولی که X را اجرا کنید ظاهر شوند.
Xorg را برای راهنماییهای بیشتر و مشکل یابی مطالعه کنید.
احتیاج به کمک دارید؟
اگر هنوز و بعد از جستجو در راهنماییهای مربوط به Xorg موفق به حل مشکل نشدهایده بهتر است از طریق انجمنهای آرچ اقدام به رفع مشکل نمائید. ابتدا wgetpaste را نصب کنید:
# pacman -S wgetpaste
از wgetpaste برای تهیه لینکهای مورد نیاز از فایلهای زیر زمانی که در انجمنها طرح سؤال میکنید استفاده کنید:
- ~/.xinitrc
- /etc/X11/xorg.conf
- /var/log/Xorg.0.log
- /var/log/Xorg.0.log.old
از wgetpaste به این صورت استفاده کنید:
$ wgetpaste </مسیر/فایلهای/بالا>
لینک بدست آمده را در انجمنها قرار دهید و مطمئن شوید مشخصات سختافزار و راهانداز مورد استفادهی خود را در پست مورد نظر ذکر میکنید.
نصب فونت
در اینجا شاید شما بخواهید فونتهای true type را قبل از نصب یک محیط دسکتاپ/مدیر پنجره بر روی سیستم خود نصب کنید. DejaVu یک ست کامل از فونتهای عمومی و باکیفیت است که با دستور زیر نصب میشود:
# pacman -S ttf-dejavu
- همچنین برای بهتر رندر کردن و تنظیم فونتها به صفحه پیکربندی فونت مراجعه فرمایید.
- همچنین برای نصب مجموعه فونتهای مایکروسافت به مقاله MS Fonts مراجعه فرمایید.
انتخاب و نصب یک رابط گرافیکی
سیستم X Window یک چارچوب پایهای برای ساخت رابط گرافیکی کاربر (GUI) فراهم میکند.
مدیرپنجره (WM)
- کنترل کردن موقعیت و ظاهر پنجرهی ابزارها با اتصال به سیستم X Window. قسمت مدیرهای پنجره را برای اطلاعات بیشتر مطالعه نمائید.
محیط دسکتاپ (DE)
- کار میکند برفراز و در رابطه با X برای فراهم کردن یک رابط کارا و پویای گرافیکی. یک DE به طور معمول یک مدیرپنجره، آیکنها، اپلتها، پنجرهها، نوار ابزارها، پوشهها، پسزمینهها، یک دست از ابزارها و قابلیت کشیدن و رها کردن را فراهم میکند. برای اطلاعات بیشتر محیطهای دسکتاپ رو ببینید.
در ادامه طریقهی نصب دسکتاپهای KDE، Gnome و LXDE به همراه مدیرپنجرهی OpenBox و WMFS را آموزش خواهیم داد؛ شما میتوانید دیگر دسکتاپها یا مدیرهای پنجره را با مراجعه به لینکهای مربوطه به راحتی نصب کنید.
پیوست
برای دیدن یک لیست از برنامه های کاربردی که ممکن است برایتان جالب باشند، نرمافزارهای کاربردی را ببینید.
همچنین میتوانید به توصیههای عمومی برای یکسری تنظیمات بهتر نظیر تنظیم CPU یا بهینه کردن فونتها مراجعه کنید.