LINUX

آموزش لینوکس

LINUX

آموزش لینوکس

LINUX

این وبلاگ به بحث پیرامون لینوکس و امنیت و زبان برنامه نویسی تحت لینوکس می پردازد.

طبقه بندی موضوعی

از همه چیز مهمتر حفظ خونسردی و اعتماد کردن به لینوکسه :) . لینوکس هیچ جا شما رو لنگ نمیذاره و کاری رو که ازش بخواین مثل ی بچه ی حرف گوش کن انجام میده.

این آموزش من دو روش که متشکل از دو دستور cat و dd هست رو براتون توضیح میدم.

امروز تصمیم دارم تا به آموزش بوت کردن فلش از روی یک فایل iso بپردازم. این کار معمولا برای نصب سیستم عامل از روی فلش استفاده میشه. الیته پیشنیاز این آموزش کار کردن با دستورات df و  fdisk و umount, mkfs و شاید هم mlabel و البته dd هست. من هم ابتدا ی آموزش مختصری درباره این دستورات میدم.

نکته : این پیشنیازها صرفا برای مدیریت بهتر است. این کار در اصل با همون فرمان cat به تنهایی هم انجام میشه. منتها برای اینکه بدونید چه اتفاقی داره میافته و جریان از چه قراره بهتر بود توضیحاتی خدمتتون بدم.


df

این دستور برای بدست آوردن فضای خالی و استفاده شده و نشون دادن پارتیشن ها در لینوکس استفاده میشه. قاعده استفاده از این دستور به صورت زیر است:

# df [options] [file]


شما میتونید از h- هم برای اینکه حجم پارتیشن ها رو بر حسب کیلو بایت و مگا بایت و ... ببنید استفاده کنید. به مثال زیر توجه کنید:

# df -h
Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                  462M  173M  266M  40% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                   394M  684K  393M   1% /run
tmpfs                                                   5.0M     0  5.0M   0% /run/lock
tmpfs                                                   787M  472K  786M   1% /run/shm
/dev/sda2                                               488M  128K  487M   1% /boot/efi
/dev/sda3                                                28G   11G   16G  41% /home
/dev/sda8                                               369M  111M  240M  32% /tmp
/dev/sda6                                               6.5G  3.7G  2.5G  60% /usr
/dev/sda7                                               2.8G  588M  2.1G  22% /var
/dev/sdc1                                               222M  222M     0 100% /media/Debian 7.4.0 amd64 1


fdisk

این دستور برای پارتیشن بندی هارد دیسک استفاده میشود. شما با استفاده از این دستور میتونید فلش خودتون رو هم حتی پارتیشن بندی کنید. یا پارتیشن های موجود در اون رو تغییر بدید. برای استفاده ای که ما داریم و اون هم بوت کردن فلش برای نصب سیستم عامل هست شما میتونید به صورت زیر عمل کنید:

حالا به خروجی دستور df و این خط توجه کنید:

/dev/sdc1                                               222M  222M     0 100% /media/Debian 7.4.0 amd64 1


حالا ما میخوایم ساختار این پارتیشن رو ببینیم. قبل از نحوه دیدن اون باید بگم یک امکانی در دستور fdisk هست که به شما اجازه میده تا امکانات بیشتر این دستور رو ببنید. کافیه در ترمینال با توجه به پارتیشن فلشی که به سیستم زدید عبارت زیر رو وارد کنید. مثلا مقدار sdc1 رو که به دستور fdisk دادید میتونید بعدا حرف m  رو برای help وارد کنید:

# fdisk /dev/sdc1 

WARNING: GPT (GUID Partition Table) detected on '/dev/sdc1'! The util fdisk doesn't support GPT. Use GNU Parted.

Command (m for help): m

Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help):


هر کدوم از این خروجی هایی که میبینید یک کاری رو برعهده دارند که چون تو این پست به این بحث نمیپردازم پس توضیحات بیشتری هم نمیدم راجع بهش :)
 (فقط اون بخش هایی رو که نیازه براتون توضیح میدم)

در کنسولی که باز شده برای دیدن پارتیشن ها در فلش حرف p رو وارد کنید. خروجی که به شما نمایش داده میشه باید چیزی شبیه به این باشه:

 Command (m for help): p

Disk /dev/sdc1: 232 MB, 232783872 bytes
255 heads, 63 sectors/track, 28 cylinders, total 454656 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0ce8692d

     Device Boot      Start         End      Blocks   Id  System
/dev/sdc1p1   *           0      454655      227328    0  Empty
/dev/sdc1p2          151000      151895         448    1  FAT12

Command (m for help):


همونطور که ملاحظه میکنید این فلش به صورت پیشفرض دو تا پارتیشن داره. حالا ما باید این پارتیشن ها رو اول حذف کنید. برای این کار دو بار باید حرف d رو بزنید:

من یک بار حرف d رو تایپ کردم بعد از من پرسیده شد که کدوم پارتیشن رو میخوای حذف کنی؟ منم گفتم پارتیشن شماره یک. این کار رو با وارد کردن عدد 1 انجام دادم. دوباره برای حذف کردن پارتیشن بعدی حرف d رو زدم که چون به ناچار یک پارتیشن بیشتر نمونده بود بدون سوال کردن از من اون پارتیشن رو حذف کرد. مرحله بعدی من حرف p رو برای دیدن پارتیشن ها وارد کردم که خروجی به من نشون داد که پارتیشنی وجود نداره:

Command (m for help): d
Partition number (1-4): 1
Warning: partition 1 has empty type

Command (m for help): d
Selected partition 2

Command (m for help): p

Disk /dev/sdc1: 232 MB, 232783872 bytes
255 heads, 63 sectors/track, 28 cylinders, total 454656 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0ce8692d

     Device Boot      Start         End      Blocks   Id  System

Command (m for help):


فقط در نظر داشته باشید که بعد از پاک کردن پارتیشن ها باید حرف n رو وارد کنید. با این کار میتونید یک پارتیشن جدید بسازید. فقط بعدش اگر p رو بزنید یک پارتیشن primary میسازه و... شما بعد از فشردن کلید n باقی رو به صورت پیشفرض روی همه اینتر رو بزنید تا به طور پیش فرض پارتیشن رو بسازه. در انتها هم w رو بزنید تا تغییرات رو اعمال کنه:

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-15950591, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-15950591, default 15950591):
Using default value 15950591

Command (m for help): w


umount

این دستور رو برای این مورد استفاده قرار میدیم که قبل از فرمت کردن فلش حتما باید اون رو umount کنیم. برای این کار باید به صورت زیر عمل کنید:(بعد از این کار دیگه دستور df این پارتیشن رو نمیشناسه)

# umount /dev/sdc1


mkfs

این دستور برای ساختن فایل سیستمهای مختلفی مثل ext4 , ext3 , vfat و ... استفاده میشه.  ما برای اینکه یک فلشی داشته باشیم که هم توی ویندوز هم توی لینکس راحت بشه ازش استفاده کرد بهتره که نوع فایل سیستمی رو که میخوایم ایجاد کنیم از نوع vfat انتخاب کنیم. چون انواع ext ها در ویندوز قابل شناسایی نیستند. حالا میریم که فلش رو به صورت زیر فرمت کنیم:

# mkfs.vfat /dev/sdc1 
mkfs.vfat 3.0.13 (30 Jun 2012)


نکته: بعد از فرمت یک بار فلش رو  در بیارید و دوباره جا بزنید.


mlabel

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

نه همیشه ولی بسته به تنظیمات سیستم شما شاید نیاز باشه تا اول این دستور رو بزنید بعد دستور بعد رو:

echo "mtools_skip_check=1" >> ~/.mtoolsrc


و بعد:

mlabel -i /dev/sdc1 -s ::"My Flash"


شما میتونید به جای عبارت My Flash هر اسمی رو که مایل هستید رو انتخاب کنید.

خیلی خوب حالا به بحث خودمون برمیگردیم.



نحوه بوت کردن فلش و نصب سیستم عامل از طریق آن

روش اول با استفاده از دستور cat

حالا که دوباره فلش رو به سیستم زدید یک بار دیگه دستور df رو بزنید و ببینید که فلشتون روی چه دیوایسی قرار داره. اگر همون sdc1 بود یا sdc بود فرقی نمیکنه شما کاری رو که میگم فقط روی sdc در هر حالت انجام بدید:

# cat /file/to/YourOS.iso > /dev/sdc


شما باید با استفاده از دستور cat که قبلا توضیحاتشو خدمتتون دادم میتونید فایل iso رو داخل دیوایس مربوط به فلش cat کنید. بعد از اینکه کارش تموم شد سیستم رو ریستارت کنید و بوت سیستم رو روی فلش بذارید تا بتونید سیستم عامل رو با استفاده از flash نصب کنید.



اما روش دوم و استفاده از dd

ی راهی که خیلی ساده هم هست و فقط با یک دستور توی لینوکس انجام میشه به این صورت هست: برای این کار شما از دستور dd استفاده میکنید:

dd if=ISO_FILE_PATH of=USB_FLASH_DEVICE


فقط اینکه شما باید به جای عبارت ISO_FILE_PATH مسیر فایل iso و به جای USB_FLASH_DEVICE مسیر دیوایسی که فلش روی اون بالا اومده رو بدید... به همین سادگی همه کارهایی که بالا توضیح داده شد با یک خط قابل انجام هست. :)


نظرات  (۳)

ممنون
وبلاگت عالیه

پاسخ:
سلام بر شما
نظر لطف شماست
من با فلش این مشکلو دارم که هرکاری میکنم که مانت شه یا باز کنه برای اینکه بووتش کنم این ارور رو میاره

failed to open '/dev/sdb1': Permission denied

خودشو بازکرده ها تو فایلا هست

حتی fdisk میزنم همینو مینویسه.مشکل از فلشه؟؟
سلام 
من با دستور dd بوتیبل میکنم، قبل بوتیبل اسم فلش تو قسمت بایوس برای بوت شدن میاد اما بعد از بوت کردن دیگه نمیاد!

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی