سلام
اولین سوالم اینه که آیا اوبونتو(یا در کل گنو/لینوکس) مثل ویندوز هارد رو به چند پارت مختلف تقسیم می کنه یا نه کل هارد رو یه جا استفاده می کنه؟
سلام
بستگی به نصبکننده و شرایط سیستم داره.
مثلا تا جایی که یادمه، موصع نصب اوبونتو، اگه نصبکننده متوجه بشه که سیستمعامل دیگهای هم هست، یه پارتیشن جدید میسازه و اوبونتو رو توی اون نصب میکنه.
یا مثلا نصبکننده دبیان چندین گزینه داره که کاربر میتونه یکی رو انتخاب کنه.
مثلا اینکه /home/ رو از / جدا کنه، یا /home/ و /var/ رو هم جدا کنه.
اینکه کاربر به طور دستی پارتیشنبندی کنه، توی اکثر نصبکنندهها وجود داره.
دوم اینکه پوشه های مختلفی(bin, boot, dev, etc, ...) که ساخته میشه چه کارایی دارند؟
هر کدوم یه کاربردی دارن.
داخل /bin/ فایلهای اجرایی قرار داره که معمولا توسط کاربر اجرا میشن. مثلا فایل اجرایی مربوط به دستور apt یا ls و ...
/sbin/ هم مشابه /bin/ هست، با این تفاوت که فایلهای اونجا معمولا کارهایی انجام میدن که به دسترسی روت نیاز داره. مثلا دستور fsck اونجا قرار داره.
داخل /etc/ پیکربندیهای برنامهها قرار میگیره. مثلا فایلهای پیکربندی apt یا systemd اونجا قرار دارند.
دقت کنید شخصیسازیها و تغییراتی که توی ظاهر میزکار انجام میدید، داخل خونه خودتون ذخیره میشه، نه داخل /etc/.
داخل /boot/، کرنل، initramfs، بوتلودر و چیزهایی که مربوط به بوت شدن هست، قرار داره.
داخل /var/ معمولا چیزهایی قرار داره که سریع تغییر میکنند.
مثلا dpkg پایگاه داده بستههای نصب شده، وضعیت اونها و چیزهای مرتبطشون رو اونجا ذخیره میکنه.
فایلهای موقت لیست مخازن هم توسط apt اونجا ذخیره میشن.
apt اول بستهها رو اونجا دانلود میکنه و بعد عملیات نصب رو شروع میکنه.
گزارشهای سیستم هم همونجا ذخیره میشن.
و یه سری چیزهای دیگه.
توی /srv/ هم چیزهای مربوط به سرویسها رو قرار میدن.
مثلا اگه روی سیستم یه webserver در حال خدمتدهی هست، فایلهای مربوط به سرویسها بهتره اونجا قرار بگیرن. (پیکربندیهای خود webserver معمولا توی /etc/ قرار داره)
البته برای webserver، فکر کنم این مسیر هم استفاده میشه:
/var/www/
برنامههای خارج مخازن بهتره توی /opt/ نصب بشه.
داخل دایکتوریهای /*lib/، کتابخونهها و فایلهایی که نقشی شبیه همین رو دارند قرار میگیره.
ماژولهای کرنل هم اونجا هستند.
یه /usr/ هم هست که داخل اون، صفحات man، فونتها و اینجور چیزها قرار داره.
یه چنتا دایرکتوری bin و sbin و *lib هم اونجا هست که کاربرد مشابهی با چیزهایی که بالاتر گفته شد دارند.
توی نسخه جدید اکثر توزیعها، دایرکتوریهای /bin/ و /sbin/ و /*lib/ یه لینک به دایرکتوری متناظر توی /usr/ هستند.
برای مثال /bin/ یه لینک به /usr/bin/ هست، یا /lib64/ یه لینک به /usr/lib64/.
به همین دلیل، قسمت خیلی زیادی از توزیع توی /usr/ قرار داره.
یه libexec هم داخل /usr/ هست. داخل اون معمولا فایلهایی اجرایی قرار داره که قرار نیست توسط خود کاربر اجرا بشن. مثلا بسته polkitd یه فایل اجرایی به اسم polkit-agent-helper-1 اونجا داره.
داخل /dev/ و /proc/ و /sys/ یه سری فایل مجازی وجود داره که هر بار موقع بوت دوباره ساخته میشن و یه جور راه ارتباطی بین برنامههای سمت userspace و کرنل هست.
داخل /run/ هم یه سری فایل مجازی وجود داره ولی معمولا از اون فایلها برای ارتباط برنامههای سمت userspace با هم استفاده میشه.
داخل /home/ هم خونه کاربرها قرار داره، /root/ هم خونه کاربر root هست.
و در نهایت اینکه اگه بخوام توزیع دیگه ای مثلا دبیان یا ... رو در کنار اوبونتو داشته باشم باید در مراحل نصبش قسمت پارتیشن بندی چکار کنم؟
ببخشید که خیلی طولانی شد...
میتونید به طور دستی پارتیشنبندی رو انجام بدید و یکمی فضا خالی برای دبیان باقی بذارید.
میتونید هم همینجوری اوبونتو رو نصب کنید و بعد جایی که اوبونتو داخلش نصب شده رو کوچک کنید تا فضا برای نصب دبیان باز بشه.
گزینه اولی بهتره. ولی با دومی هم نباید مشکلی پیش بیاد. (تا وقتی که میشه جایی که اوبونتو نصب شده رو کوچک کرد)
یه افراز جدا میسازی و موقع نصب، نقطهٔ اتّصالش رو میذاری روی /home
خب الان(بعد از نصب) نمیشه تغییر داد؟
چرا احتمالا میشه. ولی باید حواستون رو جمع کنید که اشتباهی یه چیز رو پاک نکنید و اطلاعاتتون رو از دست ندید. بهتره قبل از شروع، یه پشتیبان از فایلهای مهم بگیرید تا اگه پاک هم شدند، باز به اونها دسترسی داشته باشید.
و اینکه مثلا الان بخوام توزیع دیگه ای(در کنار قبلی) نصب کنم باز باید برای home افراز جدیدی جدا کنم؟(نمیشه چند توزیع یه home ثابت داشته باشن؟)
چرا میشه /home/ توی چنتا توزیع یکسان باشه. ولی دقت کنید ممکنه نسخه برنامهها توی توزیعهای مختلف متفاوت باشه.
شخصیسازیهای کاربر توی خونه خود کاربر ذخیره میشه.
ممکنه رفتار دو نسخه متفاوت برنامه با یه فایل پیکربندی یکسان، متفاوت باشه.
این گزارهها رو که بذارید کنار هم، متوجه میشید باید حواستون جمع باشه که مشکل میش نیاد.
برای مثال ممکنه شما دبیان پایدار و آرچ نصب کرده باشید. به احتمال خیلی زیاد، نسخه برنامهها توی آرچ و دبیان پایدار باهم متفاوته.
ممکنه نسخه یه برنامه توی دبیان پایدار 1.24 باشه و توی آرچ، 2.01
احتمال داره برنامه بین این نسخهها تغییرات جدی داشته باشه و تنظیماتی که توی 1.24 رفتار مناسب داشتند، الان بتعث رفتار متفاوتی توی 2.01 بشن.
این یه راه حلی داشت، ولی درست یادم نیست.
به غیر از این، باید حواستون باشه uid کاربرها بین توزیعها یکی باشه. در غیر اینصورت به مشکل میخورید.
مثلا ممکنه uid کاربر شما توی دبیان 1000 باشه و توی آرچ 1002. در این حالت اگه بخواهید از آرچ به فایلهای خودتون دسترسی پیدا کنید، به مشکل دسترسی میخورید. برعکس هم همینجوره.
یه راه برای اینکه مطمئن بشید uid کاربرها یکی هست، اینه که توی دوتا توزیع، اونها رو به یه ترتیب بسازید.
مثلا اگه توی دبیان اول کاربر a رو ساختید و بعد b، توی آرچ هم همینجوری برید تا uid کاربرهای a و b توی آرچ و دبیان یکی باشه.
دلیلش اینه که تقریبا همه توزیعها، اولین کاربر معمولی رو با uid برابر 1000 میسازن.
راستی به نظرتون الان که از اوبونتو خسته شدم و میخوام بقیه توزیع ها رو تست کنم دبیان گزینه خوبیه؟(تقریبا دوسالی هست که با دنیای گنو/لینوکس آشنا شدم)
بله گزینه خوبیه.
ممکنهوموقع دانلود کردن iso اون یکم گیج بشید.
اینجا رو ببینیدو همچنین برای آشناییت کلی با لینوکس دوره الپیک(نسخه5) جادی میتونه کمک کننده باشه؟
گزینه بدی نیست.