دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

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

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
صفحه 2 از 6 نخستنخست 123456 آخرینآخرین
نمایش نتایج: از شماره 11 تا 20 , از مجموع 56

موضوع: Linux سیستم عامل لینوکس

  1. #11
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض پاسخ : Linux سیستم عامل لینوکس

    راهنمای استفاده از ویرایشگر متن VI

    راهنمای استفاده از ویرایشگر متن Vi - ViImproved
    در لینوکس غیر ممکن است که هر چند وقت یکبار به استفاده از یک ویرایشگر متنی نیاز پیدا نکنید. در صورتی که در محیط گرافیکی هستید میتوانید از
    gedit استفاده کنید. بیشتر کاربران پوسته فرمان در لینوکس از هر دو ویرایشگر متنی emacs و vi استفاده میکنند. مزیت استفاده از vi یا emacs در این است که میتوانید از آنها در پنجره ترمینال، ترمینال متنی و یا یک اتصال متنی روی شبکه (مانند telnet) استفاده کنید. هیچ رابط گرافیکی مورد نیاز نیست.



    در این مقاله سعی خواهم کرد تا راهنمای مفیدی در مورد ویرایشگر vi در اختیار شما قرار دهم. پس از یادگیری Vi، هر جا به تغغیر فایلهای پیکربندی نیاز داشتید، میتوانید از آن استفاده کنید. ممکن است استفاده از vi در ابتدا دشوار به نظر برسد. ولی پس از مدتی میتوانید کارهای ویرایشی خود را با استفاده از آن با سرعتی بسیار انجام دهید. دستان شما هرگز نیاز ندارند تا از روی کیبورد جدا شده ماوس یا کلیدهای F را لمس کنند.

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


    شروع کار با
    vi
    به طور معمول کار با vi را با باز کردن یک فایل شروع میکنید. برای بازکردن فایلی به نام tmp/test دستور زیر را تایپ کنید:
    $ vi /tmp/test
    در صورتی که این یک فایل جدید باشد، چیزی مانند زیر را خواهید دید:
    ~
    ~
    ~
    ~
    ~
    "/tmp/test" [New File]
    علامت چشمک زن در بالای صفحه نشاندهنده محل اعلان شما است. پایین ترین خط صفحه اطلاعاتی در مورد آنچه در حال رخداد است، در اختیار شما قرار میدهد. در اینجا به شما اعلام کرده است که فایل جدیدی را باز کرده اید. کاراکترهای ~ که در بین خط بالا و پایین مشاهده میکنید فعلا به عنوان یک پر کننده موقت عمل میکنند زیرا هنوز متنی وجود ندارد. هیچ منو یا راهنما یا آیکونی وجود ندارد تا بفهمید چه کاری باید انجام دهید! فعلا حتی نمی توانید تایپ را شروع کنید. در این صورت کامپیوتر بوق زده، چیزی تایپ نخواهد شد.
    نخستین چیزی که باید یاد بگیرید، تفاوت بین حالتهای مختلف عملکرد برنامه است. ویرایشگر vi در دو حالت فرمان و ورودی عمل میکند. قبل از اینکه بتوانید به فایل متنی اضافه کرده یا چیزی را تغییر دهید، باید دستوری تایپ کنید تا vi بداند که شما چه کاری میخواهید انجام دهید. یک فرمان معمولا حاوی یک یا دو حرف و یک عدد اختیاری است. برای وارد شدن در حالت ورودی، باید یک دستور ورودی را تایپ کنید. برای شروع یکی از دستورات زیر را تایپ کنید:
    -a : به معنی Add است. میتوانید متن را در طرف راست اعلان وارد نمایید.
    -i : به معنی Insert است. میتوانید متن را در طرف چپ اعلان فرمان هم وارد کنید.

    نکته : بجای استفاده از فرامین a یا i میتوانید به سادگی کلید Insert را برای ورود به حالت ورودی فشار دهید.

    شروع به تایپ کردن کنید. در بین تایپ خود کلید Enter را هم فشار دهید. پس از اینکه چند خطی را تایپ کردید، کلید Esc را فشار دهید. این کار شما را به حالت فرمان باز میگرداند. با استفاده از کلیدها و حروف زیر میتوانید در متن جابجا شوید:
    -کلیدهای مکان نما : برای حرکت به چپ و راست و بالا و پایین میتوانید از کلیدهای مکان نما و همچنین از کلیدهای h (چپ) ، l (راست)، j (پایین) و k (بالا) استفاده کنید.
    -کلید w : اعلان را به ابتدای کلمه بعدی هدایت میکند.
    -کلید b : اعلان را به ابتدای کلمه قبلی باز میگرداند.
    -کلید صفر : اعلان را به ابتدای خط جاری هدایت میکند.
    -کلید $ : اعلان را به انتهای خط جاری هدایت میکند.
    -کلید H : اعلان را به اول نخستین خط صفحه حرکت میدهد.
    -کلید M : اعلان را به اول خط میانی صفحه حرکت میدهد.
    -کلید L : اعلان را به اول خط پایانی صفحه حرکت میدهد.
    خوب اکنون تنها چیزی که باقی میماند، چگونگی پاک کردن متن است:
    -کلید x : کاراکتر زیر اعلان را پاک میکند.
    -کلید X : کاراکتر قبل از اعلان را پاک میکند.
    -فرمان dw : از کاراکتر جاری تا پایان کلمه را پاک میکند.
    -فرمان d$ : از کاراکتر جاری تا پایان خط را پاک میکند.
    -فرمان d0 : از کاراکتر ماقبل تا ابتدای خط را پاک میکند.
    برای ذخیره تغییرات و خروج از برنامه هم میتوانید از کلیدهای زیر استفاده کنید:
    -فرمانZZ : تغییرات را ذخیره کرده و از برنامه خارج میشود.
    -کلید w : تغییرات را ذخیره کرده ولی میتوانید به ویرایش ادامه دهید.
    -فرمان wq : همانند فرمان ZZ است.
    -کلید q : از برنامه در صورتی خارج میشود که تمام تغییرات ذخیره شده باشند.
    -فرمان q! : از برنامه خارج شده و تغییرات را نادیده فرض میکند.

    نکته : همانند تمام ویرایشگرهای متنی، در vi هم میتوانید از کلیدهای Home، End، PgUP و PgDWN برای حرکت در فایل و خطوط و از کلید Del برای پاک کردن متن استفاده کنید.

    نکته : در صورتی که اشتباها به فایلی آسیب رساندید، فرمان !q بهترین روش برای خروج و ذخیره نکردن تغییرات است. برای undo کردن تغییرات کافی است از دستور u استفاده کنید.


    تا اینجا مطالب زیادی در مورد vi یاد گرفته اید. البته باز در مورد دستورات vi بیشتر صحبت خواهم کرد. اکنون اجازه دهید به چند نکته اشاره کنم که مراحل اولیه کار کردن شما را با vi آسانتر کند:
    -کلید Esc : فراموش نکنید که فشردن این کلید شما را به حالت فرمان باز میگرداند. این کلید به همراه دستور ZZ تغییرات را ذخیره کرده و از فایل خارج میشود.
    -کلید u : فشردن این کلید، تغییرات انجام شده را از میان برده و به حالت قبلی باز میگردد. (undo).
    -کلیدهای Ctrl+r : این کلید برعکس کلید u است. عمل تکرار یا redo را انجام میدهد.
    -کلید Capslock : فرامین و متن شما با حروف بزرگ تایپ شده و باعث خواهد شد تا برخی فرامین کار نکنند. دقت کنید.
    -دستور ! : در صورتی که در vi هستید، میتوانید با استفاده از تایپ علامت تعجب و سپس دستور مورد نظر، دستورات لینوکس را از درون vi اجرا کنید.پس از اتمام تایپ دستورات کلید Enter را فشار دهید تا به برنامه باز گردید. حتی میتوانید با تایپ !bach یک پوسته فرمان از درون vi باز کرده و با آن کارکنید. پس از اتمام کار کافی است که با تایپ exit به برنامه باز گردید.قابلیت بسیار جالبی است!
    -INSERT : هنگامی که در حالت ورودی هستید، این کلمه در پایین صفحه نوشته میشود.سایر پیغامها هم در همین مکان نمایش داده میشوند.
    -کلیدهای Ctrl+g : در صورتی که فراموش کردید در حال ویرایش کدام فایل هستید، با فشار دادن این کلیدها نام فایل و شماره خطی که در آن هستید، تعداد خطوط فایل و ... نمایش داده میشود.


    حرکت در میان فایل
    بجز چند دستور حرکت بین خطوط ی که در بالا شرح داده شدند، راههای دیگری نیز برای حرکت در فایل وجود دارد. برای تمرین این کار نیاز به یک فایل تقریبا بزرگ دارید. برای این کار میتوانید فایل var/log/messages را در دایرکتوری tmp کپی کرده و باز کنید. با کلیدهای زیر میتوانید در فایل حرکت کنید:
    -Ctrl+f : یک صفحه به جلو میروید.
    -Ctrl+b : یک صفحه به عقب باز میگردید.
    -Ctrl+d : نیم صفحه به جلو میروید.
    -Ctrl+u : نیم صفحه به عقب باز میگردید.
    -G : به آخرین خط فایل حرکت میکنید.
    -1G : به نخستین خط فایل حرکت میکنید. البته به جای عدد ۱ از هر عددی میتوانید استفاده کنید و به همان خط حرکت خواهید کرد.

    جستجوی متن
    برای جستجوی متن میتوانید از کلیدهای اسلش (/) و علامت سوال استفاده کنید. همچنین امکان استفاده از کاراکترهای ویژه نیز وجود دارد. اسلش عمل جستجوی فایل بعد از اعلان و علامت سوال عمل جستجوی فایل قبل از اعلان را انجام میدهد. مثلاhello/ و hello? عمل جستجو رو به جلو و عقب را برای لغت hello انجام میدهند.

    استفاده از شماره ها در کنار فرمانها
    در صورتی که قبل از یک دستور یک عدد قید نمایید آن دستور به تعداد آن عدد تکرار خواهد شد. برای مثال :
    3dw : سه کلمه بعدی را پاک میکند.
    5cl : پنج حرف بعدی را تغییر میدهد.
    12j : دوازده خط به پایین حرکت میکند.
    اکنون باید تا حدود زیادی کار کردن با vi را یاد گرفته باشید.

    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  2. #12
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض پاسخ : Linux سیستم عامل لینوکس

    ایجاد و نصب نرم افزارها از کدهای منبع

    ایجاد و نصب نرم افزارها از کدهای منبع v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} ایجاد و نصب نرم افزارها با استفاده از کدهای منبع
    در صورتی که هیچ کد اجرایی برای نرم افزار مورد نیاز شما وجود نداشته باشد، و یا نیاز داشته باشید تا نرم افزار مربوطه را مطابق نیاز خود تغییر دهید، باید از کد منبع استفاده نمایید. کدهای منبع ممکن است هم بصورت بسته های rpm و هم بصورت بسته های tar/gz وجود داشته باشند.
    معمولا در اکثر اوقات هنگام کامپایل و نصب برنامه‌های کاربردی با استفاده از کدهای منبع به خوبی پیش رفته و اشکالی پیش نمی‌آید. ولی برای اینکه بتوانید بهتر اشکالات احتمالی را رفع نمایید، دانستن برنامه نوسی برایتان بسیار مفید خواهد بود.
    به طور کلی استفاده از کدهای منبع را به کاربرانی که تازه کار با لینوکس را آغاز کرده‌اند، ممکن است کمی دشوار باشد. پس بهتر است پس از اینکه مقداری با تجربه‌تر شدید از این بسته‌ها استفاده نمایید. برای کاربران مبتدی، استفاده از بسته‌های آماده نصب مانند rpm و deb بسیار راحت‌تر است.
    البته در صورتی که کنجکاو هستید و مایلید این نوع نصب را هم آزمایش نمایید، من شما را بر حذر نمی‌دارم. فقط دقت نمایید که چه کاری را دارید انجام می‌دهید.

    نکته : برای اینکه بتوانید از کدهای منبع برای تولید برنامه‌ها استفاده کنید، به ابزارهایی مانند کامپایلر ها و لینکرها و کتابخانه ها نیاز دارید. مجموعه این ابزارها تحت عنوان Development Tools در توزیع‌های مختلف لینوکس موجود هستند. برای اینکه قادر باشید تا برنامه‌های موجود بصورت کدهای منبع را کامپایل و نصب نمایید، حتما به این ابزارها نیاز دارید. بنابراین آنها را نصب نمایید.


    استفاده از بسته های
    tar/gz
    تقریبا تمام بسته های کد منبع که در اینترنت موجود هستند، با این فرمت ارائه می‌شوند. برای استفاده و نصب نرم افزارهایی که با این بسته ها ارائه می‌شوند باید مراحل زیر را انجام دهید :
    - بسته مربوطه را از اینترنت و یا CD در یک دایرکتوری خالی کپی نمایید.
    - بسته را با استفاده دستور gzip یا gunzip از حالت فشردگی خارج نمایید. نتیجه این کار یک بسته با فرمت tar است. به مثال زیر توجه کنید :
    $ gzip -d mycoolapp.tar.gz
    - برای باز کردن بسته tar از دستور ذکر شده در مثال زیر استفاده نمایید . این دستور تمام فایلهای موجود در بسته را در یک دایرکتوری درون دایرکتوری جاری باز میکند.
    $ tar xvf mycoolapp.tar
    - با استفاده از دستور cd وارد دایرکتوری مربوطه شوید.
    - در صورتی که همراه با بسته فایلهایی به نام INSTALL و یا README ارائه شده است، ابتدا حتما آنها را مطالعه نمایید.
    - در مرحله بعدی باید بسته را برای کامپایل شدن پیکربندی نمایید. برای این منظور باید از دستور configure استفاده نمایید . به مثال زیر توجه نمایید :
    $ ./configure

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

    این دستور بسته برای برای کامپایل شدن آماده نموده و فایلهای لازم برای این کار را ایجاد می‌کند. ضمنا در صورتی که از شما آرگومان یا گزینه‌ای دریافت کرده باشد، آنرا نیز در فایلهای مربوط به کامپایل و نصب اعمال می‌کند.
    - در صورتی که همه چیز به خوبی پیش رفت و هیچ پیام خطایی مشاهده نکردید، اکنون باید برنامه را کامپایل نمایید. برای این منظور باید از دستور make استفاده کنید. به مثال زیر توجه کنید:
    $ make
    - خوب در این مرحله کامپیوترتان شروع به کامپایل کردن برنامه می‌کند. در صورتی که برنامه بزرگی را کامپایل کنید و یا پردازنده کامپیوترتان قدیمی باشد، ممکن است این بخش کمی طول بکشد. در صورتی که پس از اتمام کار هیچگونه پیغام خطایی روی صفحه مشاهده نکردید معنی آن این است که برنامه بدون هیچ مشکلی کامپایل شده است و اکنون آماده نصب می‌باشد. برای نصب برنامه باید مجوزهای کاربر ریشه را داشته باشید. برای این کار از دستور su برای ورود به حالت کاربر ریشه استفاده کنید.
    - برای نصب برنامه کامپایل شده باید از دستور make intall استفاده کنید.با این کار برنامه در محل خود نصب شده و از این پس می‌توانید آنرا از خط فرمان اجرا نمایید. به مثال زیر توجه کنید :
    $ make install
    توجه : هنگامی که یک برنامه را از طریق کد منبع نصب می کنید، هیچ آیکون و یا میانبر گرافیکی برای اجرای آن ایجاد نمی‌شود. برای اینکه بتوانید آنرا به راحتی اجرا کنید، خودتان باید برای آنها آیکون و میانبر ایجاد کنید.

    نکته: بدلیل اینکه دستور gzip بسته اصلی را حذف نموده و یک بسته tar ایجاد می‌کند، در صورتی که مایل به نگهداری یک نسخه از کد منبع هستید، یک کپی از آنرا در یک مسیر جداگانه نگهداری نمایید.

    - پس از اینکه نصب برنامه نیز به موفقیت به پایان رسید، می‌توانید با استفاده از دستور rm و گزینه R تمام فایلهای کد منبع را پاک کنید تا فضای دیسک شما بی جهت اشغال نشود. در صورتی که فقط بخواهید برنامه کامپایل شده را از داخل کدهای منبع پاک کرده و کدهای منبع را نگهداری کنید، از دستور make clean استفاده کنید. به مثال زیر توجه نمایید:
    $ make clean
    - برخی بسته‌های کد منبع، گزینه make uninstall را نیز پشتیبانی می‌کنند که از طریق آن می‌توانید برنامه‌ای را که نصب کرده‌اید، از روی کامپیوترتان پاک کنید.


    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  3. #13
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض پاسخ : Linux سیستم عامل لینوکس

    ساختار سیستم فایل لینوکس و یونیکس

    سیستم فایل هر کامپیوتر، امکان ذخیره سازی فایل‌ها و اطلاعات را روی آن فراهم می‌سازد. هنگامی که از داخل برنامه واژه پرداز خود سندی را ذخیره می‌کنید، این سیستم فایل است که تعیین می‌کند سند چگونه و کجا ذخیره شود.
    ابزارهای ذخیره سازی مانند فلاپی دیسک‌ها، دیسک‌های سخت، درایوهای
    CD-ROM، درایوهای Zip و... تا قبل از اینکه سیستم‌عامل سیستم فایل را روی آنها تشکیل دهد، قابل استفاده نیستند.
    سیستم فایلهای گوناگونی برای سیستم‌عامل‌های مبتنی بر یونیکس و لینوکس ارائه شده‌اند که برخی از آنها عبارتند از
    ext2، ext3، xfs، reiserfs و غیره. این سیستم فایل‌ها در جزئیات فنی دارای تفاوت‌هایی با هم هستند ولی از نظر ساختاری که ایجاد می‌کنند مشابه بوده و تفاوت چندانی باهم ندارند. در این مقاله ما وارد جزئیات فنی هر نوع از سیستم فایلها نشده و تنها ساختار آنها را بررسی خواهیم کرد.

    سیستم فایل یا درخت؟
    سیستم فایل سیستم‌عامل‌های مبتنی بر یونیکس و لینوکس بصورت یک درخت وارونه پیاده سازی شده است. در یونیکس و لینوکس دیگر شما چیزی به نام درایوهای A، C و ... ندارید. تمام ابزارها و سیستم فایلها شاخه‌هایی از این درخت وارونه هستند. مرکز این درخت ریشه یا root نام دارد که بالاترین سطح سیستم فایل را تشکیل می‌دهد. زیر ریشه، پوشه‌هایی قرار دارند که سایر قسمت‌های سیستم فایل را تشکیل می‌دهند که اکنون درباره آنها توضیح می‌دهم. تصویر ۱ سیستم فایل سیستم‌های مبتنی بر یونیکس و لینوکس را نشان می‌دهد.




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

    پارتیشن‌ها
    در سیستم فایل سیستم‌عامل‌های مبتنی بر لینوکس و یونیکس، دیسک‌های سخت می‌توانند پارتیشن‌های متعددی داشته باشند. در این صورت هر پارتیشن دارای یک نقطه اتصال یا mount point می‌باشد که در آن نقطه به درخت سیستم فایل متصل می‌شود. مثلا می‌توانید اطلاعات کاربران سیستم را در یک پارتیشن جداگانه ذخیره نموده و نقطه اتصال آنرا home تعیین کنید که محل قرارگیری اطلاعات کاربران است و به همین ترتیب.

    بخش‌های درخت سیستم فایل
    اکنون به بررسی تک تک شاخه‌های سیستم فایل می‌پردازیم. توجه داشته باشید که دسترسی به اکثر این شاخه‌ها فقط توسط کاربر ریشه امکان پذیر است.
    -شاخه
    bin: در این شاخه، دستورات سیستم‌عامل که برای تمام کاربران قابل دستیابی هستند و برخی دستورات مدیریتی سیستم قرار می‌گیرند.
    -شاخه
    boot: این شاخه که می‌تواند در یک پارتیشن جداگانه بوده و به پوشه boot متصل شده باشد، حاوی برنامه راه‌نداز بوت سیستم عامل می‌باشد. مانند Grub و Lilo.
    -شاخه
    dev: محل قرارگیری نقطه دسترسی‌های ابزارهای سخت افزاری است. مثلا تمام پورت‌ها، پارتیشن‌ها و... در اینجا دارای یک فایل هستند. برای مثال فایل dev/fd0 نشاندهنده فلاپی درایو سیستم است و به همین ترتیب. بسیاری از برنامه‌های کاربردی از این فایلهای دسترسی برای خواندن و نوشتن داده‌ها بر روی ابزار مورد نظرشان استفاده می‌کنند. مثلا یک برنامه کاربردی فایل dev/fd0 را باز کرده و در آن می‌نویسد. در حقیقت اطلاعات روی درایو فلاپی و دیسکی که در آن قرار دارد، نوشته خواهد شد.
    -شاخه
    etc: در این شاخه فایل‌های پیکربندی برنامه‌های سرویس دهنده و برخی فایلهای سیستمی دیگر قرار می‌گیرند. مثلا فایل پیکربندی سرویس دهنده وب آپاچی در سیستم‌های دبیان در etc/apache/http.conf قرار دارد و به همین ترتیب.
    -شاخه
    home: در این شاخه دایرکتوری‌های خانگی کاربران سیستم و اطلاعات آنها قرار می‌گیرد. بهتر است این شاخه در یک پارتیشن جداگانه قرار گرفته و متصل شود. این کار حفاظت از داده‌های کاربران را بالاتر خواهد برد. ضمنا در صورت نیاز به فرمت و نصب مجدد سیستم، اطلاعات کاربران دست نخورده باقی مانده و پس از نصب مجدد، کلیه تنظیمات شخصی و اطلاعات آنها بدون تغییر باقی خواهند ماند.
    -شاخه
    lib: این شاخه همانطور که از نام آن پیداست، محل قرار گیری فایل‌های کتابخانه برنامه‌ها است. این کتابخانه‌ها توسط برنامه‌های کاربردی و ابزارهای برنامه نویسی بکار گرفته می‌شوند.
    -شاخه
    mnt: این شاخه معمولا دارای زیرشاخه‌هایی مانند floppy و cdrom بوده و محل اتصال سنتی درایوهای فلاپی و CD-ROM می‌باشد. همچنین پارتیشن‌ها دیگر دیسک سخت را نیز می‌توانید در این شاخه متصل نمایید. البته اجباری به این کار وجود ندارد. مثلا در سیستم‌های مبتنی بر دبیان، درایوهای فلاپی و CDROM در شاخه‌های floppy و cdrom که در زیر ریشه قرار دارند، متصل می‌شوند. اتصال و برداشتن اتصال پارتیشن‌ها و درایوها با استفاده از دستور mount صورت می‌گیرد. اشتراکات شبکه را نیز می‌توانید در این شاخه متصل نمایید.
    -شاخه
    proc: این شاخه یک سیستم فایل مجازی است که برخی اطلاعات مربوط به سیستم و هسته از آن قابل دستیابی می‌باشد. مثلا فایل version در این شاخه حاوی اطلاعات هسته سیستم عامل مانند نسخه آن و ... می‌باشد.
    -شاخه
    sbin: دستورات و برنامه‌های مدیریتی سیستم در این شاخه قرار می‌گیرند که مخصوص کاربر root است.
    -شاخه
    tmp: محل قرارگیری برخی فایلهای موقتی برنامه‌های کاربردی است.
    -شاخه
    usr: بسیاری از برنامه‌های کاربردی در این شاخه نصب می‌شوند. مثلا Xwindow در این شاخه قرار دارد. همچنین برخی دستورات و دستورات مدیریتی نیز در مسیرهای usr/bin و usr/sbin قرار می‌گیرند.
    -شاخه
    var: این شاخه که معمولا در کامپیوترهای سرویس دهنده در یک پارتیشن جداگانه قرار می‌گیرد، مخصوص برنامه‌های سرویس دهنده‌ای مانند وب و FTP و بانکهای اطلاعاتی است. مثلا فایل‌های مربوط به یک وب سایت می‌توانند در var/www قرار گیرند. به دلیل اینکه در برخی از حملات DOS دیسک سخت سیستم با فایل‌های آشغال پر می‌شود، این شاخه را در یک پارتیشن جداگانه قرار می‌دهند که در صورت قرارگیری تحت حمله و پرشدن احتمالی دیسک سخت، کل سیستم عامل دچار وقفه نگردد و آسیب به همان قسمت محدود شود.
    تمامی شاخه‌هایی که در بالا توضیح داده شد، می‌توانند در پارتیشن‌های جداگانه قرار داده شوند. ولی ضرورتی ندارد.

    پارتیشن
    swap
    هنگام نصب لینوکس، پارتیشنی به نام swap می‌سازید. کاربرد این پارتیشن چیست؟ این پارتیشن که تحت ساختار سیستم فایل جایی متصل نمی‌شود، محل قرارگیری swapping file لینوکس که همان حافظه مجازی روی دیسک سخت است، می‌باشد. بهتر است حجم آنرا برابر یا ۲ برابر حافظه سیستم خود تعیین نمایید.


    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  4. #14
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض پاسخ : Linux سیستم عامل لینوکس

    تعیین سطوح دسترسی کاربران در لینوکس


    در جدیدترین و امن ترین فایل سیستم مایکروسافت یعنی NTFS 5.0امکان تعیین سطوح مختلف دسترسی به دایرکتوری ها ( و نه فایل‌ها!) برای کاربران مختلف به صورت زیر وجود دارد:

    1-No Access
    2-Read
    3-Read & Execute
    4-Write
    5-Full Control
    در حالت اول کاربر مورد نظر هیچگونه دسترسی به دایرکتوری مورد نظر ندارد. حالت دوم تنها می تواند فایل‌ها را ببیند ولی امکان اجرای فایل‌ها (ی اجرایی) را ندارد ( بیچاره !!!). در گزینه سوم این اختیار به کاربر داده شده است تا فایل‌ها را اجرا کند. در حالت چهارم یا Writeکاربر قادر به انجام هر کاری جز تغییر سطوح دسترسی به دایرکتوری مورد نظر را دارد. به این حالت Modifyهم گفته می‌شود و بالاخره در آخرین حالت کاربر می‌تواند هر آنچه را اراده می‌کند اعمال کند!!! این سطح دسترسی معمولا مخصوص Administratorبوده و به نااهلان داده نمی‌شود.
    همانگونه که اشاره شد در این فایل سیستم امکان فیلتر کردن دسترسی کاربران به فایل‌ها وجود ندارد و تمام فایل‌های موجود در یک دایرکتوری به لحاظ سطح دسترسی تابع دایرکتوری خود هستند. اما در لینوکس استراتژی کاملا متفاوت است. دسترسی به هر فایل یا دایرکتوری توسط ۹بیت اطلاعات اضافه‌ای که به فایل یا دایرکتوری چسبانده می‌شود برای ۳ کلاس ۳ بیتی کاربر, گروه کاربر و سایر کاربران , تعیین می‌شود که به ترتیب با کدهای u(کاربر) , g(گروه) و o(سایرین) مشخص می‌شوند. 0 یا 1 بودن بیت اول تعیین کننده دسترسی خواندن (Read)برای صاحب فایل ( کاربر), بیت دوم امکان نوشتن (Write) و ایجاد تغییر در فایل یا دایرکتوری مورد نظر و بالاخره بیت سوم امکان اجرای(eXecute) فایل‌های اجرایی را مشخص می‌کند. سه بیت دوم این دسترسی‌ها را برای کلاس گروه کاربر و سه بیت آخر دسترسی‌ها را برای سایر کاربران مشخص می‌کند. در صورتی که یک مجوز به کاربری داده نشده باشد به جای مجوز مورد نظر(یکی از حروف R,WیاX ) هنگام نمایش مجوزها، علامت دش (-) دیده می‌شود. آنچه در زیر دیده می‌شود مجوز دسترسی کامل به یک فایل است. یعنی همه کاربران امکان خواندن، نوشتن و اجرای فایل را دارند :
    کد:
    rwxrwxrwx
    یا در حالتی که صاحب فایل دسترسی کامل، گروهش امکان خواندن و اجرا و سایرین هیچگونه دسترسی به فایل مورد نظر نداشته باشند این مجوزها به صورت زیر خواهد بود:
    کد:
    rwxr-x---
    نمونه‌ای از این مجوزها را می‌توانید با اجرای فرمان ls -lمشاهده نمایید. توجه کنید که علاوه بر ۹بیت ذکر شده، یک کاراکتر اضافه نیز در ابتدای این رشته وجود دارد که تعیین کننده نوع فایل است که برای فایل‌های عادی بصورت دش (-) و برای دایرکتوری ها بصورت dدیده می‌شود:
    کد:
    drwxr-xr-x
     -rwxr-xr-x
    نکته:
    مجوز پیش فرض برای فایل‌های جدید بصورت زیر است:
    کد:
    rw-r- -  r--
    و در صورتی که فایلی توسط یکی از کامپایلرهای موجود اجرایی شده باشد x (یا امکان اجرا کردن) به دسترسی‌ها اضافه می‌گردد. مجوز پیش فرض دسترسی به یک دایرکتوری جدید نیز مشابه همین حالت است:
    کد:
    rwxr-xr-x
    در صورتی که بخواهید مجوزهای پیش فرض را برای نشست جاری خود تغییر دهید می‌توانید از دستور umaskاستفاده کنید.
    برای تغییر مجوزهای یک فایل یا دایرکتوری کاربری که این اختیار را دارد (کاربر ریشه یا صاحب فایل یا دایرکتوری) می‌تواند با دستور chmodاین کار رابوسیله یکی از دو روش زیر انجام دهد.
    -در روش نخست پس از دستور chmodمی‌توان با علامت های "+" یا "–" یک یا چند مجوز را به کلاس ها افزود و یا از آنها گرفت. در این حالت کلاس ها با کدهایی که در بالا ذکر شد تعیین می شوند.مثلا:
    کد:
    #chmod go-rx  anything
    این دستور تعیین می کند که مجوز خواندن و اجرای فایلی به نام anythingاز کلاس گروه کاربر(u) و سایرین(o) گرفته شود و برعکس آن به صورت زیر است:
    کد:
    #chmod go+rx anything
    -در روش دوم مجموع سه سطح دسترسی(خواندن,نوشتن و اجرا) به صورت یک عدد بین صفر تا هفت برای 3 کلاس کاربر, گروهش و سایرین به صورت زیر تعیین می شود و پس از دستور chmodمی آید. برای خواندن عدد چهار, برای نوشتن عدد دو و برای اجرا عدد یک منظور می شود. یعنی هفت(1+2+4) نشان دهنده دسترسی کامل است در نتیجه مثلا 777 نشان دهنده اعطای دسترسی کامل به همه کاربران است.مثلا:
    کد:
    #chmod 750  anything
    این دستور نیز تعیین می کند که مجوزها بصورت زیر تغییر کنند:
    کد:
    rwxr-x---
    به طور پیش فرض، هر کاربری که فایلی را ایجاد نماید، مالک آن فایل شناخته می‌شود. در صورتی که بخواهید مالکیت یک فایل را تغییر دهید، باید از دستور chownاستفاده نمایید. هنگامی که مالکیت یک فایل یا دایرکتوری را به کاربری اعطا کنید، آن کاربر دارای تمام مجوزها برای انجام تغییرات و تغییر مجوزها روی آن فایل یا دایرکتوری است. به مثال‌های زیر توجه کنید:
    کد:
    #chown hossein anything
    #chown -R  hossein /home/hossein
    در مثال نخست، مالکیت فایلی به نام anythingبه کاربر hosseinاعطا می‌شود. در مثال دوم، مالکیت دایرکتوری home/hosseinو تمام فایل‌ها و دایرکتوری‌های زیر آن به کاربر hosseinاعطا می‌شود. توجه داشته باشید که در چنین مواردی از گزینه Rدر در دستور استفاده می‌شود.

    حسین حاجی‌پور (hossein0001@yahoo.com)
    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  5. #15
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض پاسخ : Linux سیستم عامل لینوکس

    شناسایی سیستم از خط فرمان

    با استفاده از برخی دستورات مانند uname می‌توانید به اطلاعات اولیه در مورد سیستم لینوکس خود دست پیدا کنید. این اطلاعات می‌تواند شامل موارد زیر باشد:
    - سیستم عامل (لینوکس)
    - نام کامپیوتر
    - شماره نسخه لینوکس
    - معماری پردازنده
    در مثال زیر، با استفاده از دستور uname -a این اطلاعات استخراج شده است :
    کد:
    $ uname -a
     
    Linux memphis 2.4.21 #1 Sun Aug 3 20:15:59 PDT 2003 i686GNU/Linux
    نام کامپیوتر در مثال بالا memphis است. از این نام برای شناسایی کامپیوتر در محیطهای اشتراکی مانند شبکه استفاده می‌شود. شماره 2.4.21 نشاندهنده شماره نسخه هسته لینوکس است.
    با استفاده از دستور hostname می‌توانید نام کامپیوتر خود را تغییر دهید. به مثال زیر توجه کنید:
    کد:
    $ hostname travis
    این دستور نام کامپیوتر را از memphis به travis تغییر می‌دهد. در صورتی که این دستور را به تنهایی تایپ نمایید، نام فعلی کامپیوترتان را به شما نشان خواهد داد:
    کد:
    $ hostname
     
    memphis
    هسته لینوکس
    قلب سیستم عامل
    لینوکس هسته یا
    kernel نام دارد. هسته لایه بین شما و برنامه‌های کاربردی سیستم را با سخت افزار کامپیوتر تشکیل می‌دهد. با استفاده از فایل‌های موجود در مسیر proc می‌توانید اطلاعات فراوانی را از هسته سیستم خود بدست آورید.
    برای هر پروسه‌ای که اکنون در کامپیوتر شما در حال اجراست، یک دایرکتوری در مسیر proc ایجاد می‌شود که نام آن شماره پروسه مربوطه است.
    برای نمایش محتویات فایلهای موجود در دایرکتوری proc، می‌توانید از دستور cat استفاده نمایید. برای مثال دستور:
    کد:
    $ cat  /proc/version
    شماره نسخه هسته را به شما نشان خواهد داد. بجز فایل version، فایل‌های دیگری نیز وجود دارند که می‌توانید اطلاعات جالبی از آنها بدست آورید:
    -cpuinfo : نوع پردازنده نصب شده در کامپیوترتان بعلاوه سرعت، خانواده و اطلاعات دیگر مربوط به آن را نشان می‌دهد.
    -
    devices : ابزارهای بلاکی و کاراکتری موجود در کامپیوترتان را بعلاوه شماره های آنها نمایش می‌دهد.
    -
    ioports : آدرس‌های درگاههای I/O روی کامپیوترتان را نمایش می‌دهد.
    -
    meminfo : حاوی اطلاعاتی در مورد مصرف حافظه و فضای swap است. می‌توانید ببینید که کلا چه میزان حافظه وجود دارد و چه میزان از آن مصرف شده است.
    -
    modules : لیست ماژولهایی که در حال حاضر در هسته نصب شده‌اند را نشان می‌دهد.
    -
    mounts : لیست فایل سیستم‌هایی که در حال حاضر متصل هستند را نشان می‌دهد.
    -
    partitions : حاوی نام پارتیشن‌های دیسک سخت شما و تعداد بلاک‌های موجود روی هر پارتیشن است. همچنین شماره ابزار major و minor آن نیز نمایش داده می‌شود.
    -
    pci : لیست ابزارهای pci موجود در کامپیوترتان را نشان می‌دهد. همچنین می‌توانید اطلاعاتی مانند شماره bus، نام ابزارها، شماره‌های وقفه و ... را نیز بدست آورید.
    -
    swaps: اطلاعات پارتیشن‌های swap متصل شده به سیستم فایل را نمایش می‌دهد. این اطلاعات شامل اندازه و مقدار فضای مصرف شده آنها نیز می‌باشد.
    net/dev : اطلاعات مربوط به رابطهای شبکه (مانند کارتهای شبکه) فعال روی کامپیوتر را نشان می‌دهد.
    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  6. #16
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض پاسخ : Linux سیستم عامل لینوکس

    مدیریت فایل سیستم ها / بخش اول

    استفاده از دستور mount برای اتصال سیستم فایلها
    لینوکس به صورت خودکار دستور mount -a (اتصال تمام فایل سیستمها) را در هربار بوت اجرا می‌کند. بنابراین استفاده از این دستور فقط در شرایط خاصی نیاز می‌باشد. بنابراین یک کاربر رده متوسط و یک مدیر سیستم می‌توانند به منظورهای زیر از این دستور استفاده نمایند:
    -نمایش دیسکها، پارتیشن ها و فایل سیستم های راه دور (شبکه) که در حال حاضر متصل هستند.
    -اتصال موقت یک سیستم فایل
    تمام کاربران می‌توانند از دستور mount بدون هیچ گزینه و پارامتری استفاده نماید. همانطوری که قبلا نشان داده شد، هنگامی که از این دستور بدون هرگونه گزینه و پارامتری استفاده می‌کنید، فایل سیستمهایی که در حاضر متصل هستند، نمایش داده می‌شوند.
    عمومی ترین وسایلی که بصورت دستی متصل می‌شوند، عبارتند از دیسکهای فلاپی و درایوهای CD-ROM. البته با توجه به نوع محیط گرافیکی و نوع توزیعی که استفاده می‌کنید، این دیسک‌ها ممکن است هنگام کلیک بر روی آیکون آنها و یا وارد نمودن آنها به درایو به طور خودکار متصل شوند.
    در صورتی که می‌خواهید یک سیستم فایل را بطور دستی متصل نمایید، اطلاعات موجود در فایل fstab می‌تواند به شما کمک کند. شما یک گزینه را مشخص می نمایید و باقیمانده اطلاعات لازم از این فایل دریافت می‌شود. بنابراین اطلاعات موجود در فایل fstab به شما کمک می‌کند تا فایل سیستم‌ها را خیلی سریع متصل نمایید. مواردی که می‌توانید آنها را بصورت سریع متصل نمایید عبارتند از:

    -درایو CD-ROM: در صورتی که یک دیسک CD-ROM با فرمت استاندارد (ISO9660) در درایو قرار دارد، میتوانید آنرا با استفاده از دستور زیر متصل نمایید:
    $ mount /mnt/cdrom
    به طور پیش گزیده، درایو CD-ROM در دایرکتوری mnt/cdrom یا cdrom/ متصل می‌شود. اطلاعات مورد نیاز این دستور به طور خودکار از فایل fstab دریافت می‌شوند. برای نمایش محتویات دیسکی که اکنون متصل شده است، کافی است با استفاده از دستور cd وارد مسیر آن شده و سپس دستور ls را تایپ نمایید:
    $ cd /mt/cdrom
    $ ls
    -دیسک‌های فلاپی: برای دیسک‌های فلاپی نیز می‌توانید همانند بالا رفتار نمایید. دستور زیر باعت اتصال دیسکهای فلاپی خواهد شد:
    $ mount /mnt/floppy
    البته در صورتی که از لیبرانت یا دبیان استفاده می‌کنید، محل اتصال فلاپی floppy/ خواهد بود.
    -پارتیشن‌های ویندوز: برای پارتیشن‌هایی که در فابل fstab تعریف نموده‌اید نیز می‌توانید مانند بالا عمل کنید:
    $ mount /windows
    در هر سه مورد فوق، می‌توانید از آدرس دستگاه‌های سخت افزاری درایوهای CD-ROM، پارتیشن دیسک سخت و فلاپی نیز استفاده نمایید. (dev/cdrom و dev/fd0 و dev/hda1) گزینه‌هایی وجود دارد که می‌توانید آنها را به همراه دستور mount به کار ببرید. این گزینه‌ها عبارتند از:

    - گزینه t auto- : در صورتی که هنگام متصل نمودن یک دیسک یا فلاپی، مطمئن نیستید که سیستم فایل آن چیست، می‌توانید از این گزینه تعیین خودکار نوع سیستم فایل استفاده نمایید.
    - گزینه r- : در صورتی که فقط نیاز به خواندن یک سیستم فایل دارید و نمی خواهید آنرا تغییر دهید، می‌توانید آنرا بوسیله این گزینه بصورت فقط-خواندنی متصل نمایید.
    - گزینه w- : این گزینه برعکس گزینه بالا بوده و فایل سیستم را بصورت خواندن/نوشتن متصل می‌کند.
    برخی گزینه های دستور mount وجود دارند که فقط مخصوص یک سیستم فایل مشخص هستند. برای کسب اطلاعات در مورد این گزینه‌ها کافی است از دستور man mount استفاده نمایید.

    استفاده از دستور
    umount برای بستن اتصال یک فایل سیستم
    هنگامی که کار شما با سیستم فایلی که موقتا آنرا متصل نموده‌اید تمام شد، و یا برای خارج کردن موقت یک سیستم فایل در حال اتصال دائمی، می‌توانید از دستور umount برای خارج نمودن آن از حالت اتصال استفاده نمایید. این دستور، سیستم فایل را از نقطه اتصال آن جدا می‌نماید. برای استفاده از این دستور، می‌توانید نام نقطه اتصال و یا نام ابزار را وارد نمایید. برای مثال:
    $ umount /mnt/floppy
    این دستور، دستگاه فلاپی را (که به طور معمول fd0 است) از نقطه اتصال آن جدا میکند. این کار را به صورت زیر نیز می‌توانید انجام دهید:
    $ umount /dev/fd0

    نکته: در صورتی که هنگام umount کردن یک فایل سیستم با پیغام Device is busy مواجه شدید، درخواست شما با شکست مواجه شده است. علت آن می‌تواند یک پروسه فعال بر روی فایل‌های آن سیستم فایل و یا یک فایل باز باشد. با بستن این پروسه (مثلا برنامه مدیر فایل) می‌توانید فایل سیستم را بدون اشکال umount نمایید.

    استفاده از دستور
    mkfs برای ایجاد یک سیستم فایل
    این امکان وجود دارد که روی هر دیسک یا پارتیشنی که انتخاب می‌کنید، یک سیستم فایل ایجاد نمایید. این کار با استفاده از دستور mkfs صورت می‌گیرد. با اینکه از این دستور بیشتر برای ایجاد سیستم فایل روی دیسک‌های سخت استفاده می‌شود، از آن می‌توانید برای ایجاد سیستم فایل روی فلاپی دیسک‌ها نیز استفاده نمایید. در صورتی که دستور format سیستم عامل داس را به یاد داشته باشید، این دستور مشابه آن عمل می‌کند. در زیر مثالی از این دستور نشان داده شده است:
    $ mkfs -t ext2 /dev/fd0
    mke2fs 1.35-WIP (01-Aug-2003)
    Filesystem label=
    OS type: Linux
    Block size=1024 (log=0)
    Fragment size=1024 (log=0)
    184 inodes, 1440 blocks
    72 blocks (5.00%) reserved for the super user
    First data block=1
    1 block group
    8192 blocks per group, 8192 fragments per group
    184 inodes per group
    Writing inode tables: done
    Writing superblocks and filesystem accounting information: done
    This filesystem will be automatically checked every 38 mounts or
    180 days, whichever comes first. Use tune2fs -c or -i to override.
    نکته: باید با استفاده از این دستور بتوانید تمام انواع سیستم فایلهای مورد پشتیبانی در لینوکس را ایجاد نمایید.

    پس از ایجاد فایل سیستم می‌توانید آنرا
    mount نموده، وارد آن شده و فایل‌ها و دایرکتوری‌های خود را در آن ایجاد نمایید.با استفاده از ابزار tune2fs که توسط کاربر ریشه قابل اجراست، می‌توانید سیستم فایل‌های خود را برای خطا بررسی نموده و یا آنها را از فرمت ext2 به ext3 تبدیل نمایید تا از امکانات و مزایای سیستم فایل روزنامه‌ای برخوردار گردند.

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

    نمایش فضای خالی سیستم با استفاده از
    df
    با استفاده از دستور df می‌توانید میزان فضای دیسک باقیمانده روی سیستمتان را نمایش دهید. برای نمایش فضای دیسک بر روی تمام فایل سیستم‌های متصل شده، این دستور را بدون هیچ گزینه‌ای تایپ نمایید:
    $ df
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/hda3 3068312 2387788 680524 78% /
    /dev/hda2 31109 2871 26632 10% /boot
    /dev/hda5 1020060 414636 605424 41% /home
    /dev/hda8 10079540 6543248 3126636 68% /Data
    /dev/hda7 14323968 9146824 5177144 64% /mnt/D
    خروجی این فرمان مقدار فضای آزاد موجود روی سیستم را بصورت بلاکهای ۱ کیلوبایتی نمایش می‌دهد. برای ایجاد یک خروجی که راحت تر بتوان آنرا خواند، کافی است گزینه h را به این دستور اضافه نمایید:
    $ df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/hda3 3.0G 2.3G 660M 79% /
    /dev/hda2 31M 2.9M 27M 10% /boot
    /dev/hda5 997M 405M 592M 41% /home
    /dev/hda8 9.7G 6.3G 3.0G 68% /Data
    /dev/hda7 14G 8.8G 5.0G 64% /mnt/D
    سایر گزینه‌هایی که می‌توانید به همراه این فرمان بکار ببرید عبارتند از:
    - گزینه t- : با تایپ فرمت سیستم فایل پس از این گزینه، تنها سیستم فایل‌های با این فرمت نمایش داده می‌شوند.
    - گزینه x- : با تایپ فرمت سیستم فایل پس از این گزینه، سیستم فایل‌های با این فرمت، نمایش داده نخواهند شد.
    - گزینه a- : با تایپ این گزینه، سیستم فایل‌هایی که دارای فضای حقیقی نیستند (مانند proc که توضیح داده شد) نیز نمایش داده می‌شوند.

    بررسی مقدار فضای مصرف شده با استفاده از du
    برای پیدا کردن اینکه چه میزان فضا توسط یک دایرکتوری خاص مصرف شده است، می‌توانید از دستور du استفاده نمایید. هنگامی که این دستور را بدون هیچ آرگومان و گزینه ای بکار می‌برید، تمام شاخه‌های زیر شاخه جاری لیست شده و فضای مصرفی هر یک نیز نمایش داده می‌شود. در پایان نیز du یک اندازه مجموع روی صفحه چاپ می‌کند.
    این دستور راه خوبی است برای اینکه بفهمید یک کاربر یا یک پوشه خاص، چه میزان از فضای دیسک شما را اشغال نموده است. در زیر مثالی از خروجی این فرمان نمایش داده شده است:
    $ du -h /usr/lib/j2se/1.4/bin/
    512 /usr/lib/j2se/1.4/bin/i386/green_threads
    512 /usr/lib/j2se/1.4/bin/i386/native_threads
    1.5K /usr/lib/j2se/1.4/bin/i386
    314K /usr/lib/j2se/1.4/bin


    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  7. #17
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض پاسخ : Linux سیستم عامل لینوکس

    مدیریت فایل سیستم‌ها بخش دوم

    کار کردن با سیستم فایل لینوکس
    همانطوری که در مقالات پیشین اشاره کردم، سیستم فایل لینوکس در یک ساختار درختی وارونه قرار گرفته است. این ساختار از ریشه (/) آغاز می‌شود که درون آن دایرکتوری‌ها و زیردایرکتوری‌های مختلفی قرار گرفته اند. بعنوان یک مدیر سیستم باید بررسی کنید که تمام دیسک‌های شما در این ساختار برای کاربرانتان و یا خودتان (!) موجود باشند. همچنین باید بدانید که در محل‌های مورد نیاز فضای خالی کافی برای ذخیره داده‌ها وجود دارد یا خیر و در صورت اشکال، این اشکالات را برطرف نمایید.
    سیستم فایل لینوکس کاملا متفاوت از سیستم فایل‌های مورد استفاده در سیستم عامل ویندوز مایکروسافت است. بجای تخصیص یک نام درایو (مانند A، C و...) برای هر یک از دستگاه‌ها مانند دیسک سخت، درایو CD-ROM و...، تمام این دستگاه‌ها در دایرکتوری‌های ویژه‌ای متصل (mount) می‌شوند. شما باید بتوانید این نقاط اتصال را ایجاد نمایید. پس به دایرکتوری‌هایی که در آنها پارتیشن‌های مختلف یک دیسک سخت یا درایوهای فلاپی و CD-ROM متصل می‌شوند، نقاط اتصال یا mount point گویند.
    برای نمایش اینکه در حال حاضر چه پارتیشن‌هایی از دیسک سختتان به سیستم فایل متصل شد است، باید از دستور mount استفاده نمایید. به این منظور یک پنجره ترمینال باز کرده و دستور زیر را تایپ نمایید. خروجی دستور را در زیر آن مشاهده می‌کنید:
    $ mount
    /dev/hda3 on / type ext3 (rw,errors=remount-ro)
    proc on /proc type proc (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    /dev/hda2 on /boot type ext3 (rw,errors=remount-ro)
    /dev/hda5 on /home type ext3 (rw,errors=remount-ro)
    /dev/hda8 on /Data type ext3 (rw,errors=remount-ro)
    /dev/hda7 on /mnt/D type vfat (rw,gid=105,umask=002)

    توجه: همانطوری که می‌بینید، proc و devpts نیز به عنوان سیستم فایل نشان داده شده اند. در حقیقت این ها نوع خاصی از سیستم فایل هستند که به هیچ پارتیشنی در سیستم مربوط نمی‌باشند ولی در دستور mount نمایش داده می‌شوند.

    در مثال بالا، پارتیشن‌های متصل عبارتند از
    dev/hda2، dev/hda3، dev/hda5، dev/hda8 و dev/hda7 که فضای موجود در دایرکتوری های boot، /، home،Data و mnt/D را فراهم می‌کنند. به کلام دیگر، نقطه اتصال پارتیشن dev/hda2 دایرکتوری boot و به همین ترتیب است. در دایرکتوری boot اطلاعات لازم برای بوت شدن و مدیر بوت سیستم (گراب یا لیلو) قرار می‌گیرد. این اطلاعات شامل برنامه boot loader و فایل‌های پیکربندی آن است. دایرکتوری home حاوی داده‌های کاربران تعریف شده روی سیستم است. هر کاربر دارای یک دایرکتوری معمولا همنام با نام کاربری خود در دایرکتوری home است. / نیز بخش اصلی سیستم لینوکس است که اکثر دایرکتوری‌های سیستمی و فایل‌های سیستمی سیستم عامل در آن قرار می‌گیرند. در مثال بالا پس از کلمه type می‌توانید نوع فرمت پارتیشن مورد نظر را ببینید. مثلا ext3 یا vfat.
    قرار دادن بخش های مختلف سیستم فایل لینوکس روی پارتیشن‌های مختلف می‌تواند محاسن زیادی داشته باشد. مثلا در صورتی که دایرکتوری مربوط به کاربران یعنی
    home را در یک پارتیشن جداگانه قرار دهید و آن پارتیشن پر شود، اختلالی در سیستم بوجود نخواهد آمد. ولی در صورتی که این دایرکتوری در کنار دایرکتوری ریشه در یک پارتیشن قرار گیرند، پر شدن آن منجر به پرشدن کل فضای دیسک سیستم شده و در کار کل سیستم اختلال ایجاد می‌کند. البته در سیستم‌های خانگی معمولا این اتفاق کمتر می‌افتد و قرار دادن کل سیستم در پارتیشن ریشه به احتمال زیاد مشکلی ایجاد نخواهد کرد، ولی این مسئله در سیستم‌هایی که به نحوی عملیات سرویس دادن را انجام می‌دهند، بسیار حیاتی و مهم است.


    اتصال سیستم فایل
    هنگامی که سیستم لینوکس شما بوت می‌شود، بیشتر پارتیشن‌های مربوط به لینوکس به طور خودکار به سیستم فایل متصل می‌شوند. بنابراین در این بخش من سعی خواهم کرد بیشتر در مورد چگونگی اتصال ابزارها و پارتیشن‌های دیگر صحبت کنم.
    شما می‌توانید پارتیشن‌هایی را که سایر سیستم عاملها مانند ویندوز اختصاص داده شده اند، در لینوکس متصل نموده و اطلاعات خود را در آنها ذخیره نموده یا از آنها بخوانید. همچنین می‌توانید به سادگی دستگاه‌های فلاپی درایو و CD-ROM را به سیستم فایل خود متصل نمایید.


    فایل سیستم های مورد پشتیبانی در لینوکس ردهت
    برای مشاهده اینکه اکنون چه نوع سیستم فایلهای در کامپیوترتان در حال استفاده می‌باشند، از دستور cat مطابق مثال زیر استفاده نمایید :
    $ cat /proc/filesystems
    ext3
    ext2
    cramfs
    nodev ramfs
    msdos
    vfat
    iso9660
    romfs


    استفاده از
    fstab برای تعریف سیستم فایلهای قابل اتصال
    دیسک‌های سخت و سیستم فایل‌های شبکه‌ای که هر روز استفاده می‌کنید، به طور معمول طوری تعریف شده اند که در هر بار بوت سیستم فایل‌های شما را متصل میکند. این تعریفها در فایل etc/fstab ذخیره می‌شوند که در زیر نمونه ای از این فایل نشان داده شده است:
    LABEL=/ / ext3 defaults,errors=remount-ro 1 1
    LABEL=/boot /boot ext3 defaults,errors=remount-ro 1 2
    /dev/hda5 /home ext3 defaults,errors=remount-ro 0 2
    /dev/hda8 /Data ext3 defaults,errors=remount-ro 0 2
    /dev/hda6 none swap sw 0 0
    proc /proc proc defaults 0 0
    /dev/fd0 /floppy vfat,auto defaults,user,noauto 0 0
    /dev/hdc /cdrom udf,iso9660 defaults,user,noauto,ro 0 0
    تمام سیستم فایلهایی که در این فایل وجود دارند هنگام بوت به طور خودکار متصل میشوند. بجز آنهایی که جلوی آنها عبارت noauto قید شده است.در مثال بالا، سیستم فایلهای / ، boot و home هنگام بوت متصل میشوند در حالی که floppy و درایو CD-ROM، هنگام بوت به طور خودکار متصل نخواهند شد. همچنین این امکان وجود دارد تا پارتیشن های ویندوز را نیز در در این فایل وارد نمود تا بتوان به داده های آنها از داخل لینوکس دسترسی پیدا کرد. برای این کار، کافی است با تایپ دستور su و کلمه عبور ریشه، بصورت کاربر ریشه وارد شده و با استفاده از یک ویرایشگر متنی مانند vi فایل etc/fstab را ویرایش نمایید:
    $ vi /etc/fstab
    و خط زیر را در آخر آن اضافه نمایید:
    /dev/hda1 /windows vfat defaults,noauto,umask=002 0 0

    هشدار: لینوکس ردهت نمی تواند درایوهای Fat و Fat32 را هنگام بوت به صورت خودکار متصل نماید. به همین علت هم کلمه noauto در خط مربوط به مثال بالا ذکر شده است. در صورتی که این خط را ننویسید، ردهت در هنگام بوت از ادامه فرایند بوت جلوگیری نموده و اجازه نخواهد داد تا کامپیوترتان بوت شود. برای عبور از چنین شرایطی و اصلاح این خط می‌توانید با فشردن دگمه i هنگام بوت و ورود به حالت سوال و جواب، اجرای این خط را متوقف کرده و پس از ورود به سیستم، فایل fstab را با استفاده از یک ویرایشگر متنی مانند vi ویرایش و اصلاح نمایید.
    در سایر توزیع‌ها مانند لیبرانت یا دبیان می‌توانید پارتيشن‌های ویندوز خود را بطور خودکار در ابتدای بوت متصل نمایید.


    اکنون به مواردی که می‌توانید در یک خط فایل fstab ذکر نمایید می پردازیم:
    -فیلد اول: در این قسمت می‌توانید نام ابزار مربوط به سیستم فایل را وارد نمایید. برای سیستم فایل‌های مجازی مانند proc در این قسمت کلمه none وارد می‌شود. همچنین در این بخش امکان استفاده از UUID ها نیز وجود دارد. استفاده از UUID به این معنی است که شما بجای وارد نمودن نام ابزار سخت افزاری، نام پارتیشن مربوطه را وارد می‌کنید. در مثال بالا، دو پارتیشن / و root به این صورت تعریف شده اند. مزیت این کار این است که در صورتی که یکی از این پارتیشن‌ها را به یک ابزار دیگر با آدرس متفاوت منتقل کنید، نیازی به ویرایش فایل fstab وجود ندارد. زیرا نام آنها همچنان ثابت مانده است. در لینوکس دیسک‌های سخت IDE به نام hd شناخته می‌شوند. نخستین دیسک سخت سیستم hda نام دارد. دیسک سخت دوم نیز hdb و به همین ترتیب. پارتیشن اول دیسک سخت اول سیستم hda1 نام دارد و به همین ترتیب. پس در مثال بالا، به سیستم می‌گوییم تا پارتيشن اول دیسک سخت اول سیستم را متصل نماید.
    -فیلد دوم: در این قسمت نقطه اتصال یک پارتیشن در سیستم فایل مشخص می‌شود. اطلاعات موجود در این پارتیشن از طریق نقطه اتصال آن قابل دسترسی خواهد بود.
    -فیلد سوم: در این قسمت باید نوع سیستم فایل را مشخص نمایید که می‌تواند یکی از سیستم فایلهایی باشد که در توزیع شما پشتيبانی شده و پارتيشن مورد نظر دارای آن سیستم فایل است.
    -فیلد چهارم: گزینه های دستور mount. مثلا در مثال بالا، همانطور که توزیح داده شد، گزینه noauto از اتصال خودکار سیستم فایل هنگام بوت جلوگیری می‌کند و یا گزینه ro سیستم فایل را بصورت فقط خواندنی متصل می‌کند. این گزینه‌ها با استفاده از کاما از هم جدا می‌شوند.



    نکته: به طور معمول، فقط کاربر ریشه مجوز اتصال و برداشتن اتصال سیستم فایلها را داراست. برای دادن این اختیار به سایر کاربران، باید آنها را در بخش گزینه‌ها یا فیلد چهارم وارد نمایید. برای این کار کلمه users را اضافه نمایید.

    -فیلد پنجم: عدد نوشته شده در این فیلد مشخص می‌کند که آیا سیستم فایل نیاز به
    dump شدن دارد یا خیر. شماره ۱ نشانگر وجود این نیاز و ۲ نشانگر عدم نیاز به این کار است. Dump به معنای نوشتن محتویات در هنگام بروز خطا در یک فایل جداگانه می‌باشد.
    -فیلد ششم: عدد نوشته شده در این فیلد نشاندهنده این است که آیا این سیستم فایل نیاز دارد تا بوسیله برنامه تصحیح فایل سیستم (fsck) بررسی شود یا خیر. عدد ۱ نشاندهنده وجود این نیاز و عدد ۲ نشانگر عدم نیازبه این کار است.


    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  8. #18
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض پاسخ : Linux سیستم عامل لینوکس

    کدام توزیع لینوکس را انتخاب کنیم؟

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

    توزیع چیست؟
    اصلا توزیع چیست؟ همانطور که می‌دانید، سیستم‌عامل لینوکس به خودی خود یک سیستم‌عامل آزاد و رایگان است. لینوکس را هر کس می‌تواند جمع‌آوری کرده و به نام خودش به رایگان عرضه کرده و به فروش برساند. علت چیست؟ سیستم‌عامل لینوکس از بخش‌های بسیار زیادی تشکیل شده که هر بخش آن توسط عده‌ای خاص توسعه می‌یابد که هر یک در یک سمت جهان قرار دارند. معروف است که می‌گویند لینوکس مانند هواپیمایی است که هر قسمت آن را در یک کشور ساخته‌اند. (البته این نکته نقطه قوت آن به شمار می‌رود.) در صورتی که شما به عنوان یک کاربر بخواهید یک لینوکس داشته باشید، باید تمام این قطعات را جداگانه جمع‌آوری کرده و پس از کامپایل استفاده نمایید. درصد کمی از مردم این امکان و توانایی را دارند. بنابراین افراد و شرکت‌هایی اقدام به جمع‌آوری این قطعات مجزا و قرار دادن آنها کنار هم کرده‌اند و علاوه بر آن برای این مجموعه برنامه‌های نصب و مدیریت نوشته‌اند تا کار نصب و مدیریت سیستم را برای کاربران آسان کنند. به این مجموعه‌ها که توسط افراد و شرکت‌ها گرداوری شده است، توزیع یا Distribution لینوکس می‌گویند.

    علت تنوع توزیع‌ها چیست؟
    هر یک از توزیع‌های لینوکس دارای ویژگی‌های خاصی است که آنرا از توزیع دیگر متمایز می‌کند. مثلا ممکن است برنامه‌های نصب آنها با هم تفاوت داشته باشند (البته اصول نصب همه لینوکس‌ها یکسان است) و یا ابزارهای مدیریتی گرافیکی تهیه شده با هم متفاوت باشند و یا نسخه برنامه‌هایی که با یک توزیع خاص ارائه می‌شوند جدیدتر یا قدیمی‌تر باشند، محل فایل‌های پیکربندی آنها متفاوت باشد، و یا ممکن است توزیع‌هایی مخصوص امور خاص طراحی شده باشند. مثلا مخصوص سرویس‌دهنده‌ها، مخصوص ایستگاههای کاری، مخصوص کامپیوترهای قدیمی، مخصوص مدیریت شبکه و به همین ترتیب. بنابراین هر فرد یا گروه خلاقی می‌تواند توزیع مخصوص خود را ارائه نماید. مثلا برخی از توزیع‌ها برای نصب و پیکربندی آسان بهینه سازی شده‌اند.
    توزیع‌ها به دو صورت تجاری و رایگان ارائه می‌شوند. یعنی در ازای دریافت برخی از آنها باید پول پرداخت شود و برخی از آنها رایگان هستند. البته به هر حال شما در اکثر موارد قادرید تا یک توزیع لینوکس را چه رایگان و چه تجاری به تعداد نامحدود کپی و توزیع نمایید. اکثر توزیع‌های غیر تجاری و برخی از توزیع‌های تجاری بصورت رایگان از سایت‌های مربوطه قابل دانلود هستند.
    در صورتی که لینوکس را یاد بگیرید، مهم نیست از چه توزیعی استفاده کنید. چون همه آنها ذاتا شبیه هم هستند و تمام اموری که در یک توزیع انجام می‌دهید، در توزیع دیگر نیز قابل انجام خواهد بود (شاید به نحو دیگر).
    برخی از توزیع‌ها از ایجاد تغییرات و بهینه‌سازی‌هایی در توزیع‌های دیگر ایجاد شده‌اند که آنها را توزیع‌های مبتنی بر یک توزیع می‌نامند. مثلا توزیع لیبرانت یک توزیع مبتنی بر دبیان است. یا مثلا توزیع فارسی شبدیکس یک توزیع مبتنی بر کناپیکس است که در آن امکانات فارسی اضافه شده است.

    شما هم می‌توانید!
    بله در صورتی که لینوکس را کاملا یاد گرفته باشید و مقداری خلاقیت و برنامه نویسی بلد باشید، قادر خواهید بود تا توزیع خودتان را ایجاد کنید. راهنماهای بسیاری در مورد ایجاد یک توزیع لینوکس منتشر شده است که یکی از بهترین این راهنماها، کتاب LFS یا Linux From Scratch نام دارد که آنرا می‌توانید از اینجا مطالعه یا دانلود نمایید.

    کدام توزیع؟
    همانطوری که در بالا اشاره کردم، هر یک از توزیع‌ها دارای ویژگی‌های خاص خود هستند. مثلا برنامه نصب یک توزیع بسیار راحت است و یک توزیع دیگر ممکن است از نظر پایداری و امنیت مطرح باشد و به همین ترتیب. انتخاب توزیع بستگی به شرایط زیر دارد:
    - سطح علمی کاربر
    - مورد استفاده از لینوکس
    - ویژگی‌های توزیع
    - بازار
    اکنون به بررسی یکایک این شرایط می‌پردازیم.
    الف: سطح علمی کاربر: کاربرانی که دارای آشنایی کمتری با لینوکس هستند، جذب توزیع‌هایی می‌شوند که دارای ابزارهای پیکربندی گرافیکی است که آنها را قادر می‌سازد راحت‌تر سیستم‌شان را اداره و نصب نمایند. همچنین دارای نرم‌افزارهای جدیدی باشد که به آنها حداکثر قابلیت‌ها را ارائه نماید. از توزیع‌هایی که برای کاربران تازه کار بسیار مناسب هستند، می‌توان زوزه (SuSE)، ردهت (Redhat)، مندریک (Mandrake)، لیندوز (Lindows)، لیکوریس (Lycoris)، مپیس (Mepis) و XandarOS را نام برد. کاربرانی که پیشرفته‌تر هستند و ابزارهای پیکربندی گرافیکی برایشان مهم نبوده، کیفیت و سرعت سیستم برایشان مهم‌تر است جذب توزیع‌های حرفه‌ای مانند دبیان (Debian)، جنتو (Gentoo) و اسلاکور (Slackware) می‌شوند. دبیان به سخت نصب شدن معروف بوده و اسلاکور هم هیچ ابزار پیکربندی گرافیکی ندارد. ولی در عوض هر دو این توزیع‌ها بسیار باکیفیت و پایدار هستند.
    ب: مورد استفاده از لینوکس: برخی از توزیع‌ها مخصوص نیازهای خاصی طراحی شده‌اند. مثلا امروزه از اصلی‌ترین نیازها می‌توان به سرویس‌دهنده‌ها و ایستگاه‌های کاری اشاره نمود. البته برخی از توزیع‌ها این امکان را به شما می‌دهند که هنگام نصب، نوع مصرف آنها را تعیین کنید و با توجه به انتخاب شما، نرم‌افزارهای مربوط به آن مصرف خاص نصب خواهند شد. مثلا ردهت و دبیان این امکان را دارا هستند. برخی از توزیع‌ها تنها مخصوص یک نیاز طراحی شده‌اند و دارای ابزارهای مربوط به آن نیاز می‌باشند. مثلا لینوکس کناپیکس (Knoppix) که یک توزیع روی میزی است، تنها دارای ابزارهایی است که برای کاربران روی میزی کاربرد دارد، و یا لینوکس SOL تنها به درد وظایف یک سرویس‌دهنده می‌خورد.
    ج: ویژگی‌های توزیع: برخی اوقات یک توزیع دارای ویژگی‌های خاصی است که آنرا برای استفاده قابل انتخاب می‌سازد. مثلا لینوکس اورالوکس (Oralux) دارای امکانات مخصوص نابینایان می‌باشد. مانند شناسایی صفحه نمایش‌های بریل و یا مرور صوتی وب و پست الکترونیک. و یا یک لینوکس ممکن است سخت‌افزارهای خاصی را به خوبی پشتیبانی نماید. و یا ممکن است سرعت و کیفیت یک توزیع یا آسانی استفاده از آن ملاک انتخاب قرار گیرد.
    د: بازار: ممکن است موجود بودن یک توزیع در بازار و یا نبود آن ملاک انتخاب باشد. مثلا در ایران فراوان‌ترین توزیع لینوکس، توزیع ردهت است. اصلا برخی افراد و موسسات لینوکس را به نام ردهت می‌شناسند.
    بالاخره کدام را انتخاب کنیم؟
    خوب، در بازار ایران در مورد انتخاب توزیع محدودیت‌های فراوانی وجود دارد. با توجه به توزیع‌های موجود در بازار، برای مصارف زیر توزیع‌های مقابل آن توصیه می‌شوند:
    مصرف میزکار(Desktop)/ایستگاه‌کاری – کاربران تازه‌کار: زوزه (SuSE)، ردهت (Redhat)، لیبرانت (Libranet)
    مصرف میزکار(
    Desktop)/ایستگاه‌کاری – کاربران حرفه‌ای: دبیان (Debian)، اسلاکور (Slackware)، لیبرانت (Libranet)
    مصرف سرویس‌دهنده: دبیان (
    Debian)، ردهت (Redhat)
    دیسک‌های زنده: کناپیکس (
    Knoppix)، شبدیکس (Shabdix)
    توضیح اینکه دیسک‌های زنده لینوکس‌هایی هستند که کاملا از روی CD اجرا می‌شوند و نیازی به نصب آنها روی سیستم نیست. این دیسک‌ها برای مصارف آموزشی، عیب زدایی و نمایشی مناسب می‌باشند.
    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  9. #19
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض پاسخ : Linux سیستم عامل لینوکس

    گنو در آستانه ۲۰ سالگی


    ۲۰ سال پیش در چنین روزی (پنجم ژانویه ۱۹۸۴) من شغل خود را در MIT رها کردم تا شروع به توسعه و ایجاد یک سیستم عامل رایگان کنم، گنو. با اینکه ما هرگز یک سیستم کامل گنو (GNU) مناسب برای محیط‌های جدی کاری منتشر نکردیم، نسخه‌ای از سیستم گنو اکنون توسط دها میلیون نفر از مردم که بیشتر آنها نمی‌دانند اینگونه است، استفاده می‌شود. واژه Free Software به معنای رایگان نیست، به این معنی است که کاربران آزاد هستند تا نرم‌افزار را اجرا کرده، کد منبع آنرا مطالعه نمایند، آنرا تغییر دهند و آنرا با یا بدون تغییر مجددا پخش کنند، چه به رایگان و چه در ازای دریافت وجه.
    امید من این بود که یک سیستم‌عامل آزاد راهی را برای آزادی همیشگی از انقیاد نرم‌افزارهای اختصاصی باز خواهد کرد. من زشتی راهی که نرم‌افزارهای غیر آزاد بر کاربران خود تحمیل می‌کنند را تجربه کرده‌ام و تصمیم گرفتم تا خود را نجات دهم و به دیگران نیز راه نجاتی ارائه کنم.
    نرم‌افزارهای غیر آزاد همراه خود یک سیستم ضد اجتماعی دارند که از همکاری و حرکت جمعی جلوگیری می‌کند. عموما شما قادر نیستید تا کد منبع را ببینید، شما نمی‌توانید بگویید که چه حیله‌های کثیف و چه باگ‌های احمقانه‌ای ممکن است داشته باشد. اگر آنرا دوست نداشته باشید، قادر نیستید آنرا تغییر دهید. بدتر از همه اینکه شما قادر نیستید آنرا با دیگران به اشتراک بگذارید. جلوگیری از اشتراک نرم‌افزار به معنی برداشتن تمام قیود اجتماعی است.
    امروز ما اجتماع بزرگی داریم که گنو، لینوکس و سایر نرم‌افزارهای آزاد را اجرا می‌کنند. هزاران نفر خواهان توسعه آن هستند و هدفشان متقاعد کردن کاربران بیشتری برای استفاده از «نرم‌افزار آزاد» است. ولی معنی استفاده از «نرم‌افزار آزاد» چیست؟ آیا معنی آن فرار از نرم‌افزارهای اختصاصی و یا صرفا نصب نرم‌افزارهای رایگان در کنار آن است؟ آیا شما قصد دارید تا مردم را بسوی آزادی رهبری کنید و یا فقط آنها را به کار ما آشنا کنید؟ به سخن دیگر، آیا ما برای آزادی کار می‌کنیم یا هدفمان را با هدف سطحی پر استفاده‌تر شدن عوض کرده‌ایم؟
    عادت کردن به خوی چشم پوشی از این تفاوت آسان است، زیرا در بسیاری از شرایط تفاوتی نمی‌کنند. هنگامی که شما سعی می‌کنید تا شخصی را متقاعد به آزمایش یک نرم‌افزار آزاد و یا نصب سیستم‌عامل گنو/لینوکس کنید، هریک از این اهداف از رفتار عملی یکسانی پیروی می‌کنند. هرچند، در سایر موارد این دو هدف الهام بخش اعمال بسیار متفاوتی هستند.
    برای مثال، ما چه باید بگوییم وقتی که یک راه‌انداز غیر آزاد منزجر کننده کارت گرافیکی، یک پیغمبر بانک اطلاعاتی غیر آزاد، یا مفسر غیر آزاد زبان اندونزیایی و کتابخانه‌های آن نسخه‌ای مخصوص گنو/لینوکس منتشر می‌کنند؟ آیا باید از توسعه دهنده آن برای «پشتیبانی» از سیستم خودمان تشکر کنیم؟ و یا باید با آن مانند سایر نرم‌افزارهای غیر رایگان – یک آفت جذاب، وسوسه‌ای برای پذیرش بندگی یا مشکلی که باید حل شود، برخورد کنیم؟
    در صورتی که شما هدفتان را در افزایش استفاده از یک نرم‌افزار آزاد قرار داده‌اید، در صورتی که تلاش می‌کنید تا مردم بیشتری را متقاعد به استفاده از نرم‌افزارهای آزاد نمایید، حتما فکر کرده‌اید که آن نرم‌افزارها برای رسیدن به این هدف مفید هستند. نزاع با این ادعا که موجودیت آنها به گسترش استفاده از گنو/لینوکس کمک می‌کند، بسیار دشوار است. در صورتی که هدف ما گسترش جهانی استفاده از گنو یا لینوکس باشد، بطور منطقی، ما باید تمام نرم‌افزارهایی که روی آن اجرا می‌شوند را تحسین کنیم چه آزاد و چه غیر آزاد.
    ولی در صورتی که هدف ما آزادی باشد، این همه چیز را تغییر می‌دهد. کاربران نمی‌توانند آزاد باشند در حالی که از نرم‌افزارهای غیر آزاد استفاده می‌کنند. برای آزادی شهروندان دنیای مجازی، ما باید آن نرم‌افزارهای غیر آزاد را جایگزین کنیم، نه اینکه از آنها استفاده کنیم. آنها به اجتماع ما کمک نخواهند کرد بلکه آنها وسوسه‌هایی برای ادامه عدم آزادی هستند.
    دو دلیل برای ایجاد و توسعه یک نرم‌افزار آزاد وجود دارد. نخست اینکه نرم‌افزاری وجود نداشته باشد تا کار مورد نیاز ما را انجام دهد. متاسفانه پذیرش استفاده از نرم‌افزارهای غیر آزاد این دلیل را از میان خواهد برد. دلیل دیگر آرزوی آزاد بودن است که باعث می‌شود تا مردم نرم‌افزارهای آزاد جایگزین برای نرم‌افزارهای غیر آزاد را ایجاد نمایند. در چنین مواردی، این تنها دلیلی است که منجر به ایجاد یک نرم‌افزار آزاد می‌شود. بطور ساده استفاده از یک نرم‌افزار تازه و ناتمام جایگزین، قبل از اینکه از نظر فنی با نمونه غیر آزاد قابل مقایسه باشد، باعث تشویق توسعه دهندگان آن می‌شود تا آنرا تبدیل به یک نرم‌افزار کامل کنند.
    آن نرم‌افزارهای غیر رایگان جزیی و ناچیز نیستند. ایجاد نرم‌افزارهای رایگان جایگزین برای آنها کار عظیمی است و ممکن است سالها طول بکشد. ممکن است این کار به کمک هکرهای آینده، جوانان کنونی و افرادی که هنوز به آنها الهام نشده است تا روی نرم‌افزارهای آزاد کار کنند، نیاز داشته باشد. ما اکنون چه کاری می‌توانیم انجام دهیم تا کمک کنیم تا عده دیگری، در آینده، عزم و پافشاری لازم برای ادامه کار ما را داشته باشند؟
    موثرترین راه مستحکم‌تر کردن اجتماع ما برای آینده، پخش کردن درک ارزش آزادی، برای یاددادن به افراد بیشتری برای شناختن غیر قابل پذیرش بودن معنوی نرم‌افزارهای غیر آزاد است. مردمی که برای آزادی ارزش قايل هستند، در بلند مدت، بهترین و ضروری‌ترین دفاع هستند.
    ریچارد استالمن
    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  10. #20
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض پاسخ : Linux سیستم عامل لینوکس

    نگاهی دقیق‌تر به فرایند راه‌اندازی لینوکس

    امروزه شما قادرید تا براحتی یکی از توزیع‌های لینوکس را تهیه کرده و آنرا نصب و استفاده نمایید بدون اینکه واقعا نیاز داشته باشید تا بخش‌های فنی سیستم‌عامل را درک نمایید. مقاله حاضر نگاهی اجمالی به فرایند راه‌اندازی سیستم لینوکس شما دارد.
    اصطلاح فنی راه‌اندازی کامپیوتر را فرایند بوت یا
    Bootstrapping می‌گویند و یا بطور خلاصه‌تر بوت (boot یا booting). بخش آغازین این فرایند توسط کدهای ذخیره شده در ROM کامپیوتر انجام می‌شود. این بخش در همه سیستم‌عامل‌ها یکسان می‌باشد. وظیفه این کد بارگذاری مدیر بوت لینوکس (Linux Boot Loader) برای ادامه فرایند می‌باشد.

    برنامه‌های مدیر بوت

    برنامه‌های مدیر بوت برنامه‌هایی هستند که توسط
    ROM کامپیوتر (یا همان BIOS) بارگذاری می‌شوند. در لینوکس دو مدیر بوت رایج وجود دارد. لیلو (LiLO) مدیر بوت سنتی لینوکس و گراب (Grub) مدیر بوتی جدیدتر می‌باشد.هرکدام از این برنامه‌ها ابتدا مقداری اطلاعات پیکربندی را دریافت کرده و سپس هسته لینوکس یا سیستم‌عامل دیگری را بارگذاری می‌کند و ادامه فرایند بوت را به آن می‌سپارد. قبلا دو مقاله برای آشنایی بیشتر با نحوه مدیریت و پیکربندی این دو مدیر بوت منتشر کرده‌ام که می‌توانید آنها را در بخش مقالات سایت مطالعه نمایید.
    مهمترین تفاوت بین لیلو و گراب در نحوه دریافت اطلاعات پیکربندی است. فایل پیکربندی لیلو با اجرای دستور
    lilo بصورت ثابت ذخیره می‌گردد. این اطلاعات یا در رکورد بوت اصلی (MBR یا Master Boot Record) دیسک یا در رکورد بوت پارتیشن لینوکس ذخیره می‌شود. اطلاعات پیکربندی که توسط دستور lilo استفاده می‌شود، عموما در فایل etc/lilo.conf ذخیره می‌شود. در زیر یک مثال از این فایل پیکربندی را مشاهده می‌نمایید.
    boot=/dev/hda # boot loader to MBR
    root=/dev/hda1 # root partition
    install=/boot/boot.b
    map=/boot/map
    delay=50 # 5 second delay before auto-boot
    image=/vmlinuz # kernel
    label=linux # name to refer to entry
    read-only
    image=/vmlinuz.old # backup entry
    label=old
    read-only
    در مثال بالا امکان انجام بوت از روی دو هسته مختلف یعنی vmlinuz و vmlinuz.old وجود دارد. هنگام بوت شما می‌توانید یکی از این هسته‌ها را انتخاب نمایید. با فشردن کلید TAB در اعلان لیلو، گزینه‌های موجود لیست می‌شوند. در صورتی که هسته جدیدی را با ویرایش فایل etc/lilo.conf اضافه کرده‌اید و یا هر تغییر دیگری در فایل پیکربندی لیلو اعمال کرده‌اید، باید پس از آن دستور lilo را اجرا نمایید تا این تغییرات اعمال شوند.
    گراب فایل پیکربندی را هنگام بوت می‌خواند. حجم
    MBR فقط ۵۱۲ بایت است و تنها بخشی از گراب که عهده دار فرایند‌های بسیار ابتدایی بوت است در آن ذخیره می‌شود. بقیه اطلاعات از روی پارتیشنی که اطلاعات بوت گراب در آن ذخیره شده است، بارگذاری می‌گردد.
    گراب توسط برنامه
    grub-install نصب می‌شود. فایل پیکربندی گراب به طور معمول در مسیر boot/grub/menu.lst قرار دارد. در زیر یک مثال از این فایل را مشاهده می‌نمایید:
    default 0
    timeout 8
    gfxmenu (hd0,1)/boot/message
    title Linux
    kernel (hd0,1)/boot/vmlinuz root=/dev/hda2 desktop showopts
    initrd (hd0,1)/boot/initrd
    title Failsafe
    kernel (hd0,1)/boot/vmlinuz root=/dev/hda2 showopts ide=nodma apm=off acpi=o
    ff vga=normal nosmp noapic maxcpus=0 3
    initrd (hd0,1)/boot/initrd
    title Memory Test
    kernel (hd0,1)/boot/memtest.bin
    در صورتی که شما کامپیوتر خود را با یک سیستم‌عامل عامل اختصاصی از ردموند به اشتراک گذاشته‌اید، حواستان باشد که آنها اعتقاد دارند که سیستم‌عاملی جز سیستم‌عامل خودشان وجود ندارد و بنابراین اگر ویندوز را پس از لینوکس نصب کنید، بر روی MBR خواهد نوشت. به همین علت ابتدا ویندوز را نصب نمایید.

    سطوح اجرایی لینوکس

    سطوح اجرایی لینوکس به شما آرایه‌ای از پیکربندی‌های سیستمی ارائه می‌کنند. بدون مشخص کردن، معمولا سیستم با سطح اجرایی پیش‌گزیده که ممکن است
    ۳، ۲ یا ۵ باشد، بوت می‌شود. این سطح اجرایی پیش‌گزیده را می‌توانید با ورود برخی کلمات کلیدی هنگام بوت تغییر دهید.
    به طور استاندارد
    ۷ سطح اجرایی در لینوکس وجود دارد. از ۰ تا ۷. سطح اجرایی ۰ به معنی خاموش کردن سیستم، سطح اجرایی ۱ به معنی حالت تک کاربر و سطح اجرایی ۶ به معنی بوت مجدد (Reboot) سیستم هستند. سطوح اجرایی دیگری که رایج هستند عبارتند از سطح اجرایی ۳ که یک سیستم چند کاربره بدون محیط گرافیکی است، حالت اجرایی ۵ که محیط اجرایی چندکاربره همراه با محیط گرافیکی است. البته در سیستم‌های مبتنی بر لینوکس دبیان، سطوح اجرایی ۳ و ۵ با سطح اجرایی ۲ جایگزین شده‌اند. در بسیاری از سیستم‌ها، یک سطح اجرایی دیگر موسوم به S وجود دارد که مشابه به سطح اجرایی ۱ بوده ولی برای ورود به آن نیاز به کلمه عبور ریشه می‌باشد. این بدلیل مسائل امنیتی است.
    محتویات فایل
    etc/inittab مشخص کننده سطوح اجرایی سیستم شما و سطح اجرایی پیش‌گزیده می‌باشد. در زیر مثالی از این فایل را مشاهده می‌نمایید:
    #
    # /etc/inittab
    #
    # This is the main configuration file of /sbin/init, which
    # is executed by the kernel on startup.
    #
    # The default runlevel
    id:5:initdefault:
    # /etc/init.d/rc takes care of runlevel handling
    #
    # runlevel 0 is System halt (Do not use this for initdefault!)
    # runlevel 1 is Single user mode
    # runlevel 2 is Local multiuser without remote network (e.g. NFS)
    # runlevel 3 is Full multiuser with network
    # runlevel 4 is Not used
    # runlevel 5 is Full multiuser with network and xdm
    # runlevel 6 is System reboot
    #
    l0:0:wait:/etc/init.d/rc 0
    l1:1:wait:/etc/init.d/rc 1
    l2:2:wait:/etc/init.d/rc 2
    l3:3:wait:/etc/init.d/rc 3
    l5:5:wait:/etc/init.d/rc 5
    l6:6:wait:/etc/init.d/rc 6
    # what to do in single-user mode
    ls:S:wait:/etc/init.d/rc S
    ~~:S:respawn:/sbin/sulogin
    # what to do when CTRL-ALT-DEL is pressed
    ca::ctrlaltdel:/sbin/shutdown -r -t 4 now
    # getty-programs for the normal runlevels
    # :::
    # The "id" field MUST be the same as the last
    # characters of the device (after "tty").
    1:2345:respawn:/sbin/mingetty --noclear tty1
    2:2345:respawn:/sbin/mingetty tty2
    3:2345:respawn:/sbin/mingetty tty3
    4:2345:respawn:/sbin/mingetty tty4
    5:2345:respawn:/sbin/mingetty tty5
    6:2345:respawn:/sbin/mingetty tty6

    خط
    id:5:initdefault به معنی این است که سطح اجرایی پیش‌گزیده کامپیوتر شما سطح اجرایی ۵ است. خطوط l1:1:wait:/etc/init.d/rc 1 و به همین ترتیب، باعث می‌شوند تا اسکریپت etc/init.d/rc سطح اجرایی مربوطه را بصورت یک آرگومان ارسال نماید. سپس این اسکریپت پروسه‌های خاص سطح اجرایی ارسال شده را آغاز می‌کند. تمام اسکریپت‌های کنترل کننده پروسه‌های مختلف در مسیر etc/init.d/ ذخیره شده‌اند.
    به طور معمول، بطور معمول پروسه‌هایی که با ورود به یک سطح اجرایی، اجرا یا متوقف خواهند شد در زیر دایرکتوری‌هایی مانند
    rc2.d یا rc5.d (همنام با شماره سطح اجرایی مربوطه‌شان) ذخیره شده‌اند. این فایل‌ها لینک‌های Symbolic به اسکریپت‌های موجود در etc/init.d/ می‌باشند. لینک‌هایی که با K آغاز می‌شوند، هنگام ورود به سطح اجرایی مربوطه نابود (Kill) خواهند شد. لینک‌هایی که با S شروع می‌شوند، هنگام ورود به آن سطح اجرایی شروع (Start) خواهند شد. این لینک‌ها بصورت الفبایی اجرا می‌شوند، به این معنی که ابتدا لینک‌های K آغاز شده و سپس لینک‌های S. ترتیب اجرای لینک‌های K و S با عددی دو رقمی که بلافاصله پس از حروف S یا K قرار می‌گیرد، تعیین می‌شود.
    این روش، روش استاندارد برای اجرای پروسه‌ها در آغاز فرایند بوت می‌باشد. این سیستم استاندارد به
    System V Init موسوم می‌باشد که مشابه با سیستم‌عامل یونیکس است.
    در صورتی که همه چیز به خوبی پیش رفته باشد، سیستم شما هم اکنون در حال اجرا بر روی سطح اجرایی انتخاب شده است. برای تغییر سطح اجرایی می‌توانید بصورت کاربر ریشه وارد شده و دستور
    init را در خط فرمان تایپ نمایید. برای مثال init 3.
    قسمت‌های اصلی این مقاله برگرفته از نوشته ریک مان (Rich Mann) می‌باشد که در این آدرس می‌توانید به آن دست پیدا کنید.
    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

صفحه 2 از 6 نخستنخست 123456 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. مقاله: سیستم عامل ( مقاله )
    توسط Admin در انجمن بخش مقالات نرم افزار
    پاسخ ها: 9
    آخرين نوشته: 25th April 2013, 01:33 AM
  2. خبر: سیستم عامل جدید مایکروسافت
    توسط diamonds55 در انجمن ویندوز
    پاسخ ها: 0
    آخرين نوشته: 17th September 2008, 09:46 AM
  3. مقاله: تشخیص و جلوگیری از نفوذ سیستم ها
    توسط diamonds55 در انجمن آنتی ویروس
    پاسخ ها: 0
    آخرين نوشته: 17th September 2008, 07:37 AM
  4. همسایگی ویستا و اكس پی
    توسط Admin در انجمن (Microsoft Windows Vista (32 bit - 64 bit
    پاسخ ها: 0
    آخرين نوشته: 8th September 2008, 03:12 PM
  5. مقاله: سیستم فایلی FAT ( FAT Fileing System ) ( مقاله )
    توسط Admin در انجمن بخش مقالات سخت افزار
    پاسخ ها: 0
    آخرين نوشته: 7th September 2008, 07:56 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •