سؤالات متداول

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

محتویات

عمومی

آرچ لینوکس چیست؟

مطلب مربوط به آرچ لینوکس را در صفحه ی اصلی ویکی مشاهده کنید.

چرا من از آرچ استفاده نکنم؟

شما از آرچ استفاده نخواهید کرد اگر:

  • توانایی/وقت/علاقه ای به یک توزیع گنو/لینوکس DIY(خودت انجام بده) ندارید.
  • شما پشتیبانی برای استفاده از معماری هایی غیر از x86_64 یا i686 می خواهید.
  • می خواهید از توزیعی استفاده کنید که فقط از ابزار های گنو بهره می برد.
  • شما معتقد هستید که سیستم عامل باید خود را شخصی سازی کند، بلافاصله پس از نصب کاملاً آماده باشد و شامل یک سری ابزار پیشفرض نصب شده و یک میزکار گرافیکی کامل باشد.
  • نمی خواهید یک سیستم گنو/لینوکس rolling release داشته باشید.
  • از سیستم عامل فعلی خودتان راضی هستید.

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

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

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

خیر، ولی پروژه ی Arch Linux ARM یک پورت از آرچ لینوکس را برای انواع سیستم عامل ها فراهم می کند.

من یک کاربر کاملاً تازه وارد گنو/لینوکس هستم. آیا از آرچ استفاده کنم؟

اگر شما کاملاً مبتدی هستید و می خواهید از آرچ استفاده کنید، باید وقت خوبی را برای یادگرفتن سیستم جدید بگذارید و درنظر داشته باشید که آرچ یک توزیع DIY(خود انجام بده) است. کاربر کسی است که سیستم را مونتاژ می کند.

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

آیا آرچ طراحی شده تا یک سرور یا کامپیوتر رومیزی یا ایستگاه کاری باشد؟

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

من واقعا از آرچ خوشم میاد ولی تیم توسعه دهنده باید ویژگی x را پیاده سازی کند

شریک بشید! کد/راه حل خود را در جامعه ی آرچ به اشتراک بگذارید. اگر مورد قبول جامعه و تیم توسعه دهنده باشد شاید در نظر گرفته شود. جامعه ی آرچ با به اشتراک گذاشتن کد و ابزار ها رشد می کند.

چه وقت نسخه ی جدید ارائه خواهد شد؟

نسخه های ارائه شده ی آرچ خیلی ساده، یک محیط موقت برای نصب و یا نجات سیستم هستند که گروه پکیج base و یک سری packages دیگر. نسخه های جدید معمولاً نیمه ی اول هر ماه ارائه می شوند.

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

این کاربر است که مسئول پایداری سیستم rolling release خود است. کاربر تصمیم می گیرد چه وقت به روز رسانی انجام دهد و تغییرات جدید را سازگار کند. اگر کاربر به انجمن ها مراجعه کند زمان حل مشکل مقداری طولانی تر خواهد بود. باز هم یادتان باشد که آرچ یک توزیع DIY است. شکایت و گلایه از خرابی سیستم نه تنها گمراه کننده بلکه غیر کاربردی نیز هست، زیرا تغییرات اعمال شده ی upstream (توسط توسعه دهنده ی برنامه ی خاص) جز مسئولیت توسعه دهندگان آرچ نیست.

صفحه ی System maintenance را برای تبدیل کردن آرچ به پایدار ترین حالت ممکن مطالعه بفرمایید.

آرچ نیاز بیشتری به تبلیغ خود دارد

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

آرچ به توسعه دهندگان بیشتری نیاز دارد

احتمالاً همینطور است، می توانید داوطلب باشید. از forums و IRC channels و mailing lists بازدید بفرمایید و ببینید چه کار هایی باید انجام شود. در جامعه شریک شدن راه خیلی خوبی برای شروع است.

چرا سرعت اینترنت من در مقایسه با دیگر سیستم عامل ها کم است؟

شبکه ی شما به درستی پیکر بندی شده؟ نگاهی به Network configuration بندازید.

درنظر داشته باشید که آرچ لینوکس پیشفرض traffic shaping را فعال ندارد.

چرا آرچ از تمام رم سیستم استفاده می کند؟

اساساً رم استفاده نشده، رم هدر رفته است.

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

می توان تفاوت را در اجرای دستور ‎free‎ مشاهده کرد:

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           2.8G        1.1G        283M        224M        1.4G        1.2G
Swap:          3.0G        881M        2.1G

توجه به تفاوت "free" و "available" مفید است. در مثال بالا یک لپ تاپ با رم 2.8G را مشاهده می کنید که بیشتر آن استفاده می شود، فقط 283M حافظه ی خالی وجود دارد. اگرچه 1.4G آن "buff/cache" شده، هنوز 1.2G حافظه برای اجرای برنامه های جدید بدون swap کردن وجود دارد. ‎man free(1)‎ را برای اطلاعات بیشتر مشاهده کنید. نتیجه ی همه ی اینها؟ شاهکار!

اگر کنجکاو شده اید این مطلب عالی را مطالعه کنید. همچنین یک وبسایت برای رفع این ابهام وجود دارد: http://www.linuxatemyram.com

تمام حافظه من کجاست؟

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

مدیریت بسته

فایل x در کدام پکیج است؟

از pkgfile استفاده کنید.

برای مثال:

 $ pkgfile file_name

من یک ارور در پکیج x پیدا کردم. چکار کنم؟

ابتدا باید مطمئن شوید که توسط تیم آرچ قابل ترمیم است. گاهی اینطور نیست ( مثلا بالا نیامدن فایر فاکس احتمال دارد مشکل از تیم موزیلا باشد ) به این upstream error می گویند. اما اگر مشکل از آرچ بود این اقداماتی است که می توانید انجام دهید:

  1. در انجمن ها به دنبال همین موضوع(مشکل) بگردید و ببینید آیا کسی متوجه این موضوع شده است یا خیر.
  2. یک bug report در https://bugs.archlinux.org پست کنید.
  3. اگر هم دوست دارید در انجمن یک پست بگذارید و اعلام کنید که متوجه این ارور (باگ) شده اید. این کار کمک می کند که یک باگ چندین بار گزارش نشود.

پکیج های آرچ نیاز به یک قرارداد نامگذاری ویژه دارند، ".pkg.tar.gz" و ".pkg.tar.xz" بسیار طولانی و/یا گیج کننده هستند

این در mailing list آرچ مورد بحث قرار گرفته است. بعضی پسوند ‎.pac‎ را پیشنهاد داده اند. تا کنون هیچ برنامه ای برای تغییر پسوند پکیج ها در نظر گرفته نشده است. همانطور که Tobias Kieslich (یکی از توسعه دهنده های آرچ) گفت: یک پکیج tarballی است که با gzip فشرده شده است و می توان آنرا با هر برنامه ای که از tar پشتیبانی کند، باز، بررسی و دستکاری کرد. علاوه بر این mime-type به درستی و به طور خودکار توسط بیشتر برنامه ها شناسایی می شود.

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

پکمن یک front-end از libalpm است -کتابخانه ی "Arch Linux Package Management"- که front-end های جایگزین را نیز پشتیبانی می کند (مانند یک GUI).

پکمن به ویژگی x نیاز دارد

اگر فکر می کنید ایده ی شما شایسته ی آرچ است می توانید در pacman-dev در این مورد بحث کنید. همچنین https://bugs.archlinux.org for existing feature requests را مطالعه کنید.

اگرچه بهترین راه اضافه کردن ویژگی ها به پکمن این است که خودتان به پیاده سازی بپردازید، شاید پچ/کد شما به صورت رسمی مورد تائید قرار نگیرد ولی شاید دیگران تاش شما را قدردانی و تست کرده و در آن مشارکت کنند.

تفاوت مخازن متفاوت چیست؟

مخازن رسمی را ببینید.

تفاوت بین مخزن و mirror چیست؟

pacman#Repositories and mirrors را ببینید.

همین الان پکیج x را نصب کردم، چگونه آنرا اجرا کنم؟

اگر از میزکار های گرافیکی مانند KDE یا GNOME استفاده می کنید، برنامه به صورت خودکار در منوی برنامه ها نمایش داده می شود. اگر هم می خواهید برنامه را از ترمینال اجرا کنید و اسم باینری مربوطه را نمی دانید، از این دستور استفاده کنید:

$ pacman -Qlq package_name | grep /usr/bin

چرا فقط یک نسخه از کتابخانه های shared در مخازن رسمی وجود دارد؟

بسیاری از توزیع ها -مانند دبیان- نسخه های متفاوتی از کتابخانه های shared را به صورت پکیج های متفاوت دارند: ‎libfoo1‎, ‎libfoo2‎, ‎libfoo3‎ و ... در این صورت می توان برنامه ها را در یک سیستم با کتابخانه های متفاوت ‎libfoo‎ کامپایل کرد.

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

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

این سناریو اصلا نباید امکان پذیر باشد. فرض کنیم ‎foobaz‎ یک پکیج موجود در مخازن رسمی باشد و به درستی با نسخه ی جدید کتابخانه ی ‎libbaz‎ کامپایل شود، در این صورت همراه و همگام با ‎libbaz‎ این پکیج نیز به روز می شود. اگرچه در صورتی که به درستی کامپایل نشود، پکیج ‎foobaz‎ یک dependency نسخه دار خواهد داشت (مثلا libbaz 1.5) و به دلیل یک تضاد در حین به روز شدن توسط پکمن حذف خواهد شد.

اگر ‎foobaz‎ یک پکیج است که شما خودتان از AUR نصب کرده اید، باید به دوباره ساختن ‎foobaz‎ با نسخه ی جدید ‎libbaz‎ اقدام کنید. اگر عمل ساختن با شکست مواجه شد، باگ را به توسعه دهندگان ‎foobaz‎ گزارش دهید.

آیا امکان دارد که یک به روز رسانی کلی کرنل لینوکس در مخزن وجود داشته باشد و بعضی از پکیج های درایور ها به روز نشده باشند؟

خیر، ممکن نیست. به روز رسانی های کلی کرنل (مثلا linux 3.5.0-1 به linux 3.6.0-1) همیشه با دوباره ساختن تمام پکیج های درایور ها همراه هستند. از سویی دیگر اگر یک درایور بر روی سیستم دارید که رسماً پشتیبانی نمی شود (مثلا catalystAUR) به روز رسانی کرنل -در صورتی که عمل دوباره ساختن را با کرنل جدید انجام ندهید- برای شما ایجاد مشکل خواهد کرد. کاربران مسئول به روز رسانی پکیج هایی هستند که رسماً پشتیبانی نمی شود.

آیا آرچ برای پکیج ها از امضا استفاده می کند؟

بله، امضای پکیج ها در pacman پیاده سازی شده است. برای اطلاعات بیشتر package signing را مطالعه بفرمایید.

قبل از به روز رسانی چه کارهایی انجام دهیم؟

قبل از به روز رسانی اخبار آرچ، لیست های اعلان و اگر مایلید انجمن انگلیسی و Mailing Lists را مطالعه بفرمایید. هرگونه راهنمایی مخصوص در این صفحه هاپست خواهد شد. همچنین System maintenance#Upgrading the system را مطالعه کنید.

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

mirror های pacman در لحظه همگام نمی شوند. شاید ۲۴ ساعت طول بکشد تا به روز رسانی برای شما قابل دسترس باشد. تنها انتخاب های شما این است که یا صبور باشید یا از mirror دیگری استفاده کنید. MirrorStatus می تواند به شما کمک کند تا یک mirror به روز را پیدا کنید.

نصب و راه اندازی

آرچ به یک نصب کننده نیاز دارد، شاید گرافیکی؟

چون نصب کردن زیاد اتفاق نمی افتد (همین صفحه را مطالعه کنید تا متوجه شوید rolling release به چه معنی است) اولویت مهمی برای توسعه دهنده ها و کاربر ها نیست. Installation guide کاملا به روز شده تا شیوه ی خط فرمان را پوشش دهد. اگر هنوز هم مایل به استفاده از نصب کننده ها هستید، از Archboot استفاده کنید.

من آرچ نصب کردم و الان در شل هستم. الان چه کار کنم؟

General recommendations را ببینید.

چه میز کار گرافیکی یا مدیر پنجره ای باید استفاده کنم؟

چون بسیاری فراهم است بهترین را که به نیاز های شما جواب می دهد انتخاب کنید. نگاهی به مطالب Desktop environment و Window manager بیاندازید.

چه چیز آرچ را از بین توزیع های "minimal" منحصر به فرد می کند؟

Arch compared to other distributions را ببینید.

۶۴-بیت

چگونه تعیین کنم که آیا پردازنده ی من با x86_64 سازگار است؟

اگر پردازنده ی شما با x86_64 سازگار است، شما فلگ ‎lm‎ را در ‎/proc/cpuinfo‎ خواهید داشت. برای مثال:

$ grep -w lm /proc/cpuinfo

در ویندوز با استفاده از نرم افزار رایگان CPU-Z می توان به سازگار بودن پردازنده با x86_64 پی برد. پردازنده های AMD با واژه ی "AMD64" و پردازنده های اینتل با واژه ی "EM64T" باید با معماری و پکیج های باینری x86_64 سازگار باشند.

آیا می توانم همه ی پکیج های ۳۲ بیتی را روی سیستم ۶۴ بیت داشته باشم؟

اکثر برنامه های رسمی نسخه های ۶۴ بیتی نیز دارند. اگرچه برای اجرای بعضی برنامه ها باید مخزن multilib را فعال کنید. Package Differences بعضی از تفاوت های برنامه های multilib را از برنامه های بومی ۳۲ بیتی نمایان می سازد.

تنها استثنا پکیج های AUR است که فقط ‎'i686'‎ را لیست کرده اند، اما حتی بعضی از آنها هم برای ۶۴ بیت کار می کنند. فقط ‎'x86_64'‎ را به PKGBUILD اضافه کنید. سخن آخر: همیشه می توانید یک سیستم ۳۲ بیت را در یک سیستم ۶۴ بیت نصب کنید.

چرا ۶۴ بیت؟

اغلب اوقات سریع تر است و به عنوان یک امتیاز برتر ذاتاً به دلیل Address space layout randomization (ASLR) در ترکیب با Position-independent code (PIC) و NX Bit -که در کرنل i686 به دلیل فعال نبودن PAE موجود نیست- امن تر است. اگر سیستم شما بیشتر از ۴ گیگابایت رم دارد فقط سیستم عامل ۶۴ بیتی می تواند کامل از آن استفاده کند.

همچنین برنامه نویسان دیگر کمتر به ۳۲ بیت توجه می کنند زیرا پردازنده های جدید x86 معمولاً تعمیم ۶۴ بیتی را پشتیبانی می کنند.

دلایل بیشتری موجود است که از سیستم ۳۲ بیتی دوری کنیم اما لازم نیست که همه ی دلایلی را که امروزه سیستم های ۶۴ بیتی بهتر انجام می دهند شرح دهیم.

آیا می توانم پکیج های ۳۲ بیتی برای i686 داخل آرچ ۶۴ بیتی بسازم؟

بله. شما می توانید از مخزن multilib با makepkg پیکر بندی این کار را انجام دهید یا یک سیستم ۳۲ بیتی داخل سیستم ۶۴ بیتی نصب کنید.

آیا می توانم i686 را به x86_64 تغییر بدهم بدون اینکه به نصب دوباره بپردازم؟

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

اگرچه می توانید با یک ISOی نصب ۶۴ بیتی دیسک را ماونت کنید و همه ی اطلاعاتی را که باینری ۳۲ بیتی نباشند (باینری ۳۲ بیتی مانند ‎/home‎ و ‎/etc‎) بک آپ گرفته و به نصب بپردازید.

اطلاعات بیشتر را در migrating between architectures مطالعه کنید.