IKIU-CE, The computer-engineering students web log - Qazvin, وب‌نوشت دانشجویان گروه مهندسی کامپیوتر - قزوین
یادداشت‌ها: فارسی ، Posts: English

۱۳۸۹ آبان ۲۰, پنجشنبه

آزمایشگاه سیستم‌های عامل - حل تمرین

1) کاری کنید که هرگاه یک کاربر وارد لینوکس شد برایش عبارت "Hello World!" نمایش داده شود و قبل از خاموش شدن سیستم پیام "Bye Bye!" را ببیند.

این عبارت را می‌توانید به صورت متنی یا گرافیکی نمایش دهید. برای نمایش یک پیام گرافیکی می‌توانید از برنامه zenity که برای تولید دیالوگ‌های گرافیکی است استفاده کنید. برای نمایش پیغامی مانند Hello با استفاده از آن از دستور زیر استفاده می‌کنیم:
zenity --warning --text='Hello'

نحوه نمایش پیغام هنگام ورود کاربر با زمان خاموش‌شدن سیستم فرق می‌کند(چرا؟). برای نمایش پیغام هنگام ورود دستور نمایش مورد نظر را به انتهای فایل ~/.bash_profile اضافه کنید.

چگونگی نمایش پیام هنگام خاموش‌شدن سیستم روی فدورا کمی پیچیده‌تر است. توجه کنید که در زمان خاموش‌شدن محیط گرافیکی دیگر وجود ندارد در نتیجه نمی‌توان پیام گرافیکی نشان داد. در اینجا ما پیام را در فایل message.txt می‌نویسیم. برای انجام این کار به صورت زیر عمل می‌کنیم:
su -
cd /etc/rc.d/init.d/
vi myrc
### Write the following 6 lines and save
    #!/bin/bash
    # chkconfig: 0 0 0
    # Default-Start: 0
    case "$1" in start) /bin/echo Bye Bye! >> ~/message.txt
    esac
    exit 0
chmod 0755 myrc
chkconfig --add myrc

برای لغو آن نیز از دستور chkconfig --del myrc استفاده کنید.

2) کاری کنید که هر کاربر هر 2 دقیقه یکبار پیام "CooCoo!" را مشاهده کند و راس ساعت مشخص نظیر 10:10 پیام "The time is 10:10, Ha Ha!" را ببیند.

برای این کار کافیست خطوط زیر را به برنامه crontab اضافه کنید:
*/2 * * * * /usr/bin/zenity --warning --text='Coo Coo...'
10 10 * * * /usr/bin/zenity --warning --text='The time is 10:10 AM.'

3) مجوز 125 بر روی یک فایل نشان‌دهنده چیست؟ دستور لازم جهت حذف کلیه مجوزهای دیگران در کار با یک فهرست چیست؟

حالت 125 یعنی کاربر مالک بتواند فقط اجرا کند، گروه مالک بتواند فقط بنویسد و سایرین بتوانند هم بخوانند و هم اجرا کنند. برای حذف کلیه مجوزهای سایرین از دستور chmod o= استفاده می‌کنیم.

4) از یک فهرست نسخه پشتیبانی تهیه کنید. آن نسخه را در یک کامپیوتر دیگر برگردانید. آیا مجوزهای مبدا در مقصد حفظ شده است؟ چه باید کرد تا مجوزها تغییر نکند؟

برای بسته‌بندی محتویات شاخه فعلی و فشرده سازی آن می‌توانید از دستور زیر استفاده کنید:
tar -cjf backup.tar.bz2 *

برای برگرداندن آن نیز از دستور زیر:
tar -xjf backup.tar.bz2

برای حفظ کامل مجوزهای فایل‌ها باید پارامتر p را به دستورات فوق اضافه کنید.

5) چگونه می‌توان نسخه جدید یک نرم‌افزار نصب‌شده را بر روی سیستم بروز کرد؟

مکانیزم کاملا مشخصی وجود ندارد، ولی در بهترین حالت، اگر برنامه از طریق yum نصب شده است می‌توان با اجرای yum upgrade برنامه را به آخرین نسخه ای که yum می‌شناسد ارتقا داد. اگر از طریق rpm نصب شده است، باید آخرین نسخه فایل rpm برنامه را دریافت و با استفاده از دستور rpm --upgrade آن را به روز نمود.

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

+++ پ.ن: سی‌دی و دی‌وی‌دی فدورا را می‌توانید از آدرس ftp://cms/iso از داخل آتلیه دریافت نمایید. (نام کاربری anonymous بدون پسورد)