انتقال Linux نصب شده به کامپیوتر دیگر - زیگورات
سفارش تبلیغ
صبا ویژن

زیگورات

 

از لغزش جوانمردان در گذرید که کسى از آنان نلغزید ، جز که دست خدایش برفرازید . [نهج البلاغه]

 
 

مدیریت| ایمیل من

| خانه

پایین

?زمانی

دوشنبه 87/8/6  ساعت 2:20 عصر

انتقال Linux نصب شده به کامپیوتر دیگر

انتقال Linux نصب شده به کامپیوتر دیگر

یکی از مسائلی که همیشه در سیستم عاملهای ویندوز 95 به بعد ( یعنی تا همین الان که ویندوز 2003 هم آمده ) وجود داشته ، این بوده است که شما در صورتیکه کامپیوتر جدیدی تهیه می کردید و می خواستید از هارد دیسک قدیمی خودتان در دستگاه جدید استفاده کنید ، مجبور بودید که ویندوز قبلی را در دستگاه جدید پاک کنید و از اول ویندوز جدیدی برای این کامپیوتر جدید نصب کنید . حالا شاید خیلی ها بگویند که نه لازم نیست و ... ! اما همگی خوب می دانند که ویندوز در سیستم جدید بسیار مشکلات زیادی پیدا می کنند که اکثرا ترجیح می دهند که ویندوز را از اول برای کامپیوتر جدید نصب کنند .
یکی از عمده دلایل این قضیه شناساندن Hardware های جدید و درایور ها آنها در ویندوز است . یعنی باید Hardware های قبلی از بین برود و Hardware های جدید شناسانده شود تا سیستم بتواند راحت کار کند .
در Linux این قضیه بسیار ساده و راحت است . چرا ؟! به دلیل اینکه در Linux موقعی که Kernel در ابتدای کار Load می شود از اول همه Hardware ها را شروع به شناختن می کند و اطلاعاتی مانند نوع IDE Controller ، کارت شبکه ، CD-ROM ها و ... را در همان ابتدا از سیستم خارج می کند . اینکه در جای خاصی این اطلاعات را نگه نمی دارد و هر زمان که سیستم Boot می شود در همان ابتدا بسیار سریع همه این اطلاعات را پیدا می کند ( یعنی دقیقا کاری که ویندوز نمی کند و اگر قرار باشد که چنین کاری انجام دهد باید برای هر بار Restart ویندوز حداقل نیم ساعت وقت صرف کنیم ) باعث شده است که شما بدون هیچ نگرانی Linux ای را که بر روی کامپیوتر دیگر نصب شده است با خیالی آسوده بر روی کامپیوتری دیگر منتقل کنید .
در اینجا قصد دارم مراحلی را که در انتقال یک دیسک سخت حاوی سیستم عامل Linux نصب شده و اطلاعات داخل آن ، به یک کامپیوتر جدید با قطعات جدید باید طی کنید شرح دهم .
1- ابتدا Case های دو کامپیوترتان ( قدیمی و جدید ) را باز کنید و Harddisk سیستم قدیمیتان را بر روی سیستم جدید نصب کنید .
2- در صورتیکه سیستم جدید شما دارای Harddisk جدیدی می باشد و می خواهید که این دیسک جدید را بعدا استفاده کنید و در حال حاضر به صورت Master بر روی دستگاه نصب شده است ، هارد دیسک قدیمی را به صورت Slave ( با تنظیم Jumper های مربوط به هر دو دیسک ) بر روی سیستم جدید نصب کنید و مطمئن شوید که BIOS کامپیوتر هر دو دیسک را به درستی شناسایی کند .
3- در صورتیکه از همان Harddisk قدیمی به عنوان تنها دیسک در سیستم جدید استفاده می کنید باید Linux شما مانند قبل با اجرا شدن Boot Loader مربوطه ( مانند Lilo و یا Grub ) اجرا شده و بدون هیچ مشکلی سیستم شما بالا بیاید . اما اگر هارد دیسک سیستم قبلی خود را به سیستم جدید اضافه کرده اید ( یعنی هارد جدیدی در Master سیستم جدید قبلا وجود داشته و شما هارد دیسک سیستم قبلی را به صورت Slave به آن اضافه کرده اید ) باید CD مربوط به Linux خود را داخل درایو دستگاه جدید قرار دهید و در BIOS بخواهید که ابتدا از روی CD-ROM سیستم را راه اندازی نماید .
4- پس از Boot شدن از روی CD-ROM مربوطه منوی مربوط به Boot ظاهر می شود که شما باید گزینه Rescue را با پارامتر شبیه به زیر صدا کنید : ( در اینجا Boot Loader مربوط به Debian استفاده شده است ، اما Boot Loader های دیگر مانند RedHat هم به همین شکل می باشند )

linux:# rescue /dev/hdb1 /


این دستور به Boot Loader می گوید که در حالت Resuce ( نجات ) سیستم رو شروع کند طوری که Root دایرکتوری آن Partition اول هارد دیسک دوم ( یعنی همان هارد دیسک قدیمی ) باشد . این کار باعث می شود که سیستم Linux قبلی شما Load شود ، ولی تنها نکته این است که / آن که همان Partition مورد نظر ماست به صورت Read Only در دسترس شما قرار گیرد .
5- برای اینکه بتوانید تغییرات دائمی بر روی Boot Loader اصلی سیستم که در بر روی دیسک سخت قرار دارد اعمال کنید که به صورت عادی بر روی کامپیوتر جدید شما بالا بیاید ، لازم است که / را به صورت Read/Write در آن Mount کنید که بتوانید تغییرات را بر روی فایل تنظیم Boot Loader ( مثلا Lilo.conf ) ثبت کنید . برای این منظور از دستور

mount -o remount rw /


6- باید تنظیمات مربوط به Boot Loader را تغییر دهید که از دیسک دوم سیستم به جای دیسک اول سیستم برای خواندن Kernel و Load کردن آن استفاده کنید . من در اینجا در مورد Boot Loader رایج Lilo توضیح می دهم . شما می توانید بر اساس این توضیحات تنظیمات Boot Loader های دیگر مانند Grub را خودتان تغییر دهید .
در Lilo شما باید فایل etc/lilo.conf/ را تغییر دهید . این فایل را ویرایش کنید و مکانی را که به dev/hda1/ برای Load کردن kernel از این مکان اشاره می کند به مکان جدید آن که dev/hdb1/ می باشد تغییر دهید . خطی مانند این :

root = /dev/hda1


باید به خطی شبیه به این تبدیل شود :

root = /dev/hdb1


پس از انجام این تغییر ، آنرا save کنید و در محیط shell یک باز lilo را با زدن دستور زیر اجرا کنید :

# /sbin/lilo


7- تغییر دیگری که باید بدهید در فایل etc/fstab/ می باشد که در آن باید آدرس جدید partition ها را مشخص کنید که در ابتدای کار بر اساس آدرسهای جدید آنها mount شود . همانند lilo.conf باید آدرسهای اشاره کننده به dev/hdaX/ به صورت dev/hdbX/ در آورید و فایل fstab را ذخیره کنید .
8- دستور reboot را بزنید تا کامپیوتر با تغییرات جدید مجددا راه اندازی گردد . در راه اندازی جدید شما Linux قبلی شما بدون هیچ مشکلی باید شروع به Load شدن کند .

در اینجا ذکر چند نکته ضروری می باشد :
1- در صورتیکه می خواهید از Harddisk جدید خود که در dev/hda/ نصب شده است استفاده کنید باید توسط fdisk /dev/hda ابتدا آنرا partition بندی کنید و سپس توسط mkfs آنرا format کنید و سپس partition های ایجاد شده را در جاهایی که می خواهید mount کنید .
2- در صورتیکه kernel قبلی شما مشخصا برای سیستم قبلی شما compile شده بوده است ، شاید از hardware های جدیدی که در سیستم جدید دارید پشتیبانی نکند . برای این منظور باید source های kernel را در اختیار داشته باشید تا بتوانید برای سیستم جدید خود kernel جدیدی با مشخصات آن ایجاد کنید . ( kernel پیش فرض RedHat و یا Debian معمولا از اکثر Hardware ها به صورت پیش فرض پشتیبانی می کند )
3- دقت که کنید که CPU جدید شما باید سازگار با CPU قبلی شما باشد تا Kernel سیستم قبلی بر روی آن Load شود . معمولا در i386 ها سیستم های جدیدتر قبلی ها را پشتیبانی می کنند ، اما بالعکس آن صادق نیست .

|+| نوشته شده توسط مریم در چهارشنبه بیستم تیر 1386 و ساعت 22:20 | < type=text/java>GetBC(6);
نظر بدهید
ایرادات فنی سیستم فیلترینگ جدید مخابرات

ایرادات فنی سیستم فیلترینگ جدید مخابرات

به نظر میاد که مخابرات سیستم فیلترینگ جدیدش رو نصب کرده به طوری که می تواند از این پس بر اساس URL و DOMAIN فیلتر کند و نه مانند قبل بر اساس IP Address . خوب این پیشرفت خوبی هستش . اما در این راستا یک سری ایراد فنی در سیستم فعلی به نظرم میرسه که واقعا ایرادهای بزرگی هستش که باید رفع کنند چرا که اینطوری مشکلاتی به بار می آورد که در ذیل بیشتر توضیح دادم :
مهمترین ایرادی که به نظر من خیلی هم بزرگ است و یکمی که بگذره صدای همه وب سایت داران را در خواهد آورد این است که همه کسانی که از خطوط مخابرات برای بازدید صفحات وب استفاده می کنند از دید log فایلهای مربوط به access این سایتها و سایتهای تولید کنند آمارهای بازدید به عنوان چند IP مانند :
217.218.127.70
217.218.127.71
217.218.127.72
217.218.127.73
217.218.127.74
217.218.127.75
شناخته می شوند !!!!! فکر می کنم فهمیدید چه مشکل وحشتناکی است !!! شوخی که نیست 300 مگابیت پهنای باند با بیش از 2 کلاس B آدرس معتبر در اینترنت به عنوان چندین آدرس خاص در log فایلها و تولید کنندگان آمارهای مختلف شناخته می شود که کمی که بگذرد صدای همه در می آید که آقا آمارهای ما همه به هم ریخته است . حالا در حد یک ISP شاید چنان محسوس نباشد ، اما در سطح 300 مگابیت فکر کنم خیلی محسوس باشد . البته راه حل هم دارد ! علت این موضوع استفاده از squid است که در اصل یک proxy و web cache هستش و بنده خدا تقصیری هم ندارد برای اینکه اصلا کارش چیز دیگری است و برای filtering ساخته نشده ! حالا بعدا یه بنده خدایی پیدا شده و squidGuard رو براش نوشته که کار filtering رو هم در کنارش انجام بده و الا در حقیقت ایراد از squid نیست . برای رفع این مشکل باید سیستم filtering ای تهیه کنند که با استفاده از IP Spoofing بتواند درخواستهای web رو فیلتر کند . به این معنا که هنگامی که درخواستی برای یک صفحه وب به این سیستم filtering ارجاع داده شد ، آن درخواست را باز کند و بر اساس تعاریفی که در آن شده است تشخیص دهد که آیا این درخواست مجاز است یا خیر . در صورتی که این درخواست مجاز بود باید این درخواست را برای سایت میزبان آن صفحه با آدرس خود Clinet و نه با آدرس خودش ( یعنی دستگاه filtering ) ارسال کند . این کار را همان IP Spoofing می گویند . در حال حاضر این سیستم غلط که پیاده شده است اینگونه نیست ! یعنی درخواست وقتی به filter ارجاع شد نگاه می کند اگر مجاز بود آنرا با آدرس خودش ( یعنی IP دستگاه filtering ) برای سایت میزبان ارسال می کند . تنها کاری که می کند این است که یک Header به درخواست با عنوان X-Forwarded-For اضافه می کند که در آن آدرس اصلی Client درخواست کننده را قرار می دهد ( آن هم برای اینکه جوابش که برگشت بداند باید آنرا به چه کسی تحویل دهد ) . با این کار در حقیقت از دید وب سرور میزبان درخواست کننده همان دستگاه filtering است و نه IP آدرس client ای که دارد از خطوط مخابرات استفاده می کند . پس از دید نرم افزارهای تولید کننده آمار بینندگان وب ، بازدیدکنندگان وب ایرانی یعنی چند IP محدود !!! :)
روش رفع مشکل را که گفتم ، همانا استفاده از IP Spoofing هستش . فکر می کنم در PIX محصول شرکت Cisco می توان این کار را کرد ( یعنی شنیده ام ) . اما من خودم بر روی Squid این کار کرده ام :) البته نه همینطوری !! برای اینکه نه Squid آنرا پشتیبانی می کند و Netfilter و نه Kernel محترم Linux که در حالت عادی ضد IP Spoofing هم هست ( Router های Cisco هم ضد آن هستند در حالت عادی ، برای اینکه یکی از روش های شناخته شده Hacker های اینترنتی برای DoS و ... می باشد ) . اما استفاده از آن در یک VLAN که شما خودتان می خواهید از خاصیت آن به صورت کنترل شده استفاده کنید مشکلی را ایجاد نمی کند . برای این منظور یک سری Patch برای Squid و Iptabes و Kernel لازم است . من خودم این رو بر روی Linux با همین قضیه IP Spoofing راه انداختم و خوب هم کار می کرد . چون از اینجا شنیدم که مخابرات هم از Linux و Squid و SquidGuard و احتمالا هم Iptables برای filter کردن درخواستها استفاده می کند ، آنها هم می توانند با همینها این مشکل را حل کنند . البته ابزارهای تخصصی Content Filtering فکر می کنم به صورت آماده وجود دارند که این کار می کنند . در ضمن مشکل دیگر این روش این است که در صورتیکه چندین مسیر دریافت جداگانه داشته باشند که به صورت Load Balance از آنها استفاده نکنند و هر کدام مخصوص یک سری لینک باشد ( که نمی دانم اینطوری هستش یا نه ) آنوقت فقط همان مسیری که IP فیلترینگ آنها از آن range است برای receive استفاده می شود ! ( قابل توجه ICP هایی که خطوط send می فروشند و می خواهند بر روی آنها نیز filter بگذارند . solution مشترک است )
نکته دیگری که فکر کنم این را دیگر اشتباه نکرده باشند ( که اگر کرده باشند دیگر هیچ !!! ) این است که باید سیستم Caching مربوط به Squid را غیر فعال کنند . چرا که اگر اینکار را نکنند هم Load وحشتناکی بر روی سیستم های filtering اضافه می شود و هم اینکه هیچ موقع و نه در هیچ کجای دنیا بر روی 300 مگابیت لینک اینترنت Cache نمی گذارند . Cache فقط برای End User است ( یعنی در سطح ISP ، گویی که filter هم هینطور اما در ایران به دلیل مسائل قانونی انگار مخابرات باید filter بگذارد ، اما Cache را که دیگر مجبور نیست ) .
در مورد نکاتی هم که ITIran در اینجا گفته است چند توضیح می دهم :
1- چرا فکر می کنند برای آن Load بالا نمی توان از Linux استفاده کرد ؟! مگر قرار است که همه Load را بر روی یک دستگاه Linux بریزند . توسط Protocol هایی مانند WCCP می توانند Load Balance کنند ( کاری که همین الان به نظر میاد که کردند ) و در صورت ایراد در یکی از این سیستمها مشکلی به وجود نمی آید و بقیه جبران می کنند . نکته ای که باید اشاره کنند این است که کسی در این پهنای باند عظیم Filter نمی گذارد که جواب آن هم در کشور ما مشخص است :)
2- حرفشان درست است ! filtering در هسته مرکزی باعث می شود که یک خرج گنده برای یک Load بالا بشود و در صورت بروز مشکل همه Link های مخابرات صدمه ببینند . می توانستند لااقل این را در مراکز خود تقسیم کنند .
3- نمی دانم چگونه فهمیده اند که سرور ها به درستی Configure نشده ! اما اونی که مسلمه Spoofing و Request Attack همیشه وجود دارد و خیلی راحت می توان جلوی آنها را گرفت . ( گویی که در router های Cisco که مخابرات هم از آنها استفاده می کند به صورت پیش فرض خیلی از این مشکلات مانند Spoofing را ندارد )
4- این مشکل squidGuard نیست !! در squidGuard خیلی راحت می توان با یک config درست این مشکل را حل کرد . البته من تست نکردم ! اما بعید بدونم الان اینطوری باشه ! چون اگه می خواستند IP را ببندند دیگر نیازی به squid و squidGuard نبود !! یک Access List در Cisco کار را تمام می کرد :)
در آخر هم گفته که Squid ها به صورت Parent کار می کنند که احتمالا منظورش Sibling بوده ! چون Parent اصلا در اینجا معنی نمی دهد و فکر کنم منظورش از Traffic Shaping همان Load Balancing بوده است


نظر شما( )

لیست کل یادداشت های این وبلاگ

آرگ
نی زن
[عناوین آرشیوشده]

بالا

  [ خانه| مدیریت| ایمیل من| پارسی بلاگ| شناسنامه ]

بازدید

169459

بازدید امروز

42

بازدید دیروز

177


 RSS 


 درباره خودم


 لوگوی وبلاگ

زیگورات

 اوقات شرعی

 فهرست موضوعی یادداشت ها

 آرشیو

مهرماه 87
آبان ماه 87

لوگوی دوستان


اشتراک