این روزها که حملات بی وقفه ویروسهای رایانه ای دردسر اصلی را برای کاربران سیستم عامل ویندوز بوجود می آورد وخوشبختانه سیستم های عامل خانواده گنو / لینوکس بعلت طبیعت خاص و محیط امن خود اگر نگوئیم به کلی بلکه به ندرت دچار اینگونه مشکلات می شوند ، یک کاربر هوشمند نباید هرگز از تامین حداکثر امنیت ممکن برای سیستم کامپیوتری خود غفلت کرده و آنرا به دست شانس و اقبال بسپارد .
در این راستا پروژه CLAM ANTIVIRUS تحت مجوز GPL و بعنوان یک آنتی ویروس open source میرود تا در دنیای لینوکس و یونیکس حرف اول را در پیشکیری و مبارزه با ویروسهای مخرب کامپیوتری بزند .
تعدادی از قابلیتهای این نرم افزار که نشان دهنده قابلیتها و قدرت آن نیز هست شامل قابلیت به روز شدن و اسکن تمامی فایلهائی که در سیستم باز میشوند بصورت real time protection و ... به شرح زیر میباشد :
اینجانب استفاده از این آنتی ویروس را به تمامی دوستان و کاربران لینوکس توصیه مینمایم :
command-line scanner
fast, multi-threaded daemon
milter interface for sendmail
database updater with support for digital signatures
virus scanner C library
on-access scanning (Linux and FreeBSD)
detection of over 30000 viruses, worms and trojans
built-in support for RAR (2.0), Zip, Gzip, Bzip2, Tar, MS OLE2, MS Cabinet files, MS CHM (Compressed HTML), MS SZDD
built-in support for mbox, Maildir and raw mail files
built-in support for Portable Executable files compressed with UPX, FSG, and Petite
آشنائی با ramdisk :
در این مقاله ابتدا سعی میکنم شما را با مفاهیم اولیه ramdisk یا درایو مجازی آشنا کنم . ابتدا باید بدانیم که ramdisk قسمتی از حافظه ram سیستم است که شما آنرا بصورتی آدرس دهی میکنید که مجازا" بصورت یک پارتیشن هارد دیسک عمل کند . به عبارت دیگر شما قسمتی از حافظه رم سیستم خودرا که دارای سرعتی چندین برابر بیشتر از هارد دیسک شماست در اختیار میگیرید و به سیستم میگوئید که اینگونه وانمود کند که این بخش یک پارتیشن اضافی در کنار هارد دیسک شماست و از آن درست مثل هارد دیسک ولی با توان و سرعت بسیار بالاتر استفاده کند .
توجه داشته باشید که ramdisk همانطوریکه از نام آن پیداست در قسمتی از حافظه ram ایجاد شده و به محض راه اندازی مجدد یا خاموش کردن کامپیوتر اطلاعات آن بکلی پاک میشود و نباید از آن برای ذخیره کردن اطلاعات دائمی مثل اسناد متنی یا فایلهای پیکربندی سیستم ویا برنامه های کاربردی استفاده کرد.
سئوالی که اینجا مطرح میشود این است که با این اوصاف پس مورد استفاده ramdisk چیست و چرا باید از آن به نحو شایسته استفاده کرد .
پاسخ این است که در برخی برنامه های کاربردی مثل مرورگرها یا سرورهای وب و حتی خود سیستمهای عامل همیشه قسمتی از اطلاعات موقتی برنامه ها به اصطلاح cache یا موقتا ذخیره میشوند و سرعت ذخیره و بازیابی این اطلاعات در سرعت و کارائی برنامه کاربردی بسیار موثر است . و اینجاست که با مسیر دهی محل ذخیره سازی این فایلهای موقت در محل ایجاد شده تحت عنوان ramdisk و بهره گیری از سرعت بسیار بالا و توان عملیاتی ram میتوان به کارائی مطلوب سیستمی دست یافت .
در برخی موارد در صورت استفاده صحیح از ramdisk ارتقاء کارائی سیستم به حدی چشمگیر خواهد بود که درست مثل یک ارتقاء سخت افزاری گران قیمت و البته در اینجا بدون هیچ هزینه جانبی ما را به performance مطلوب و مورد نظرمان نزدیک میکند .
ایجاد ramdisk در لینوکس :
معمولا هسته کرنل همه توزیعهای لینوکس موجود از ramdisk بصورت پیش گزیده built-in پشتیبانی میکنند و ایجاد ramdisk در این شرایط بسیار ساده و به شرح زیر میباشد :
ابتدا یک دایرکتوری یا mount point به نام ramdisk0 برای استقرا ramdisk در مسیر /tmp ایجاد میکنیم :
# mkdir /tmp/ramdisk0
سپس یک فایل سیستم فرمت ext2 با نام ram0 در مسیر /dev ایجاد میکنیم :
# mke2fs /dev/ram0
در ادامه باید فایل سیستم ایجاد شده را در مسیر mount point ایجاد شده الصاق یا به اصطلاح mount کنیم :
# mount /dev/ram0 /tmp/ramdisk0
این دستورات فایل سیستم مناسب را بر روی قسمتی از فضای ram برای شما ایجاد و آنرا فرمت کرده و در درایوی با نام ramdisk0 برای استفاده شما محیا میکند .
حال میتوانید از دایرکتوری /tmp/ramdisk0 درست مثل یک پارتیشن هارد دیسک استفاده کنید .
اندازه ramdisk بطور پیش فرض 4 مگابایت تعریف میشود ولی در صورتی که بخواهید اندازه آنرا به دلخواه تعیین کنید بایستی دستور زیر را به فایل تنظیمات بوت لودر LILO با نام /etc/boot/lilo.conf اضافه کنید :
ramdisk_size=10000
احتمالا قسمتی از فایل lilo.conf شما پس از افزودن دستور فوق به شکل زیر خواهد بود :
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz
label=linux
root=/dev/hda2
read-only
ramdisk_size=10000
پس از افزودن این دستور به فایل lilo.conf وذخیره سازی و سپس اجرای دستور lilo در خط فرمان جهت اعمال تغییرات اندازه ramdisk شما به ده مگابایت ارتقاء می یابد .
بدیهی است در صورتی که شما هسته kernel خود را خودتان کامپایل نموده و ramdisk را بعنوان loadable module یا همان ماژول قابل اتصال به هسته پیکربندی کرده اید باید برای افزایش فضای ramdisk دستور زیر را در فایل modules.conf واقع در مسیر /etc/ اضافه کنید :
options rd rd_size=10000
و یا دستور زیر را در خط فرمان کاربر ریشه اجرا کنید :
insmod rd rd_size=10000
نکته :
در هر زمان با اجرای دستور زیر میتوان به مشخصات تفصیلی ramdisk دست یافت :
df -k /dev/ram0
نتایج بدست آمده برای یک
ramdisk
با اندازه 4 مگابایت :
>df -k /dev/ram0
Filesystem 1k-blocks Used Available Used Mounted on
/dev/ram0 3963 13 3746 0% /tmp/ramdisk0
توزیعهای گنو/لینوکس برای بالا بردن کارائی سیستم و خصوصا در مواقعی که میزان RAM تکافوی نیازهای حافظه ای سیستم را نمی نماید (مثلا وقتی که شما از میزان حافظه RAM کمی در سیستم خود بهره میگیرید) اقدام به شبیه سازی حافظه RAM بر روی هارد دیسک یا ایجاد همان فضای SWAP مینمایند .
هر توزیع مبتنی بر گنو/لینوکس که استفاده کنید حداقل ملزومات پارتیشن بندی سیستم برای نصب لینوکس باید شامل پارتیشن root یا ( / ) و یک پارتیشن swap باشد .
لزوم ایجاد swap partition و تعین مقدار فضای مناسب هارد دیسک برای آن برای کارائی مطلوب سیستم ضروری است و معمولا فضای swap مورد نیاز یک سیستم تقریبا دو برابر میزان ram نصب شده در دستگاه میباشد .
اگر در هنگام نصب توزیع لینوکس خود فراموش کرده اید یا در اثر عدم آگاهی از امکانات سیستم خود ننوانسته اید که به میزان کافی فضای swap partition ایجاد کنید آیا باید مراحل نصب لینوکس را دوباره از ابتدا تکرار کنید تا مشکل برطرف شود ؟
پاسخ این سئوال مثل بسیاری از موارد دیگر که به تطبیق پذیری و قابلیتهای بی نظیر گنو/لینوکس مربوط میشود منفی است .
شما میتوانید با ایجاد و فعال کردن swap files یک فایل مجازی را بعنوان swap اضافی برای سیستم خود تعریف کنید و سیستم شما از آن دقیقا مثل swap partition استفاده کند .
برای اینکارابتدا باید یک swap file ایجاد و سپس به برنامه swapon بگوئید که چگونه از آن استفاده کند .
بعنوان مثال برای ایجاد 64 مگابایت فضای swap در پارتیشن ریشه ( / ) از دستور زیر استفاده کنید :
dd if=/dev/zero of=/swapfile bs=1024 count=65536
این دستور یک فایل 64 مگابایتی swap برروی پارتیشن ریشه لینوکس ایجاد میکند و حالا باید آن را با دستورات زیر مقداردهی کنید :
mkswap /swapfile 65536
sync
و سپس شما با فرمان زیرقادر خواهید بود که این فضا را به مجموعه فضای swap مورد استفاده سیستم خود بیافزائید :
swapon /swapfile
بدین وسیله شما 64 مگابایت به فضای swap سیستم خود اضافه کرده اید .
ضمنا فراموش نکنید که دستور آخر یعنی swapon /swapfile را به دستورات موجود در فایل startup سیستم خود بیافزائید تا در هر مورد راه اندازی مجدد سیستم فضای swap file بطور خودکار فعال گردد . مسیر فایل های راه انداز یا استارت آپ سیستم /etc/rc.d/ میباشد و دستور فوق را میتوان به انتهای فایل راه انداز سیستم به نام boot در مسیر زیر اضافه کرد :
/etc/rc.d/boot