ویکی تخصصی گنولینوکس را در لینک زیر ببینید www.wiki.linuxfedora.ir برنامه های خط فرمان بر اساس حروف الفبا http://url.linuxfedora.ir/33نرم افزارهای گنولینوکس با تفکیک و دسته بندیhttp://url.linuxfedora.ir/3h آموزشهای مختلف گنولینوکس با دسته بندی

دستور parted ( پارتیشن بندی دیسک )

parted ابزاری برای پارتیشن بندی و تغییر اندازه پارتیشن ها در لینوکس می باشد.

تمام دستوراتی که با حرف P شروع میشوند در این انجمن قرار دارند
ارسال پست
نمایه کاربر
phoenix
مدیر کل سایت
مدیر کل سایت
پست در این موضوع: 2
پست: 232
تاریخ عضویت: شنبه 29 مهر 1396, 11:10 am
محل اقامت: مشهد
نسخه فدورا: 29
نوع دسکتاپ: LXQT
تماس:

دستور parted ( پارتیشن بندی دیسک )

پست توسط phoenix » یک شنبه 30 مهر 1396, 7:29 pm

parted ابزاری برای پارتیشن بندی و تغییر اندازه پارتیشن ها در لینوکس می باشد. در این آموزش قصد داریم چگونگی استفاده از این ابزار برای ایجاد پارتیشن ها را توضیح دهیم. در لینوکس حداکثر میتواند ۴ پارتیشن از نوع Primary وجود داشته باشد. چهارمین پارتیشن Primary تبدیل به یک Extended Partition شده و سپس این پارتیشن به تعدادی (دلخواه) Logical Partition تبدیل میشوند. با فرض اینکه در حال حاضر روی سیستم دیسکی وجود دارد می خواهیم دیسک دیگری را متصل کنیم و آن را پارتیشن بندی کنیم. اگر دیسک ها از نوع SATA باشند اولین دیسک متصل به سیستم sda و دومین دیسک متصل به سیستم sdb است. همچنین اولین پارتیشن دیسک اول sda1 و دومین پارتیشن دیسک اول sda2 و الی آخر.
پیشنهاد میکنم برای اطلاعات تکمیلی آموزش آشنایی با نام گذاری دیسک ها در لینوکس را مطالعه کنید
نصب ابزار parted : در اکثر توزیع های لینوکس ابزار parted بصورت پیش فرض نصب میباشد اما در صورتیکه به هر دلیلی این ابزار بر روی توزیع گنو/لینوکسی شما موجود نیست می توانید از دستورات زیر جهت نصب آن استفاده نمایید.
در توزیع های مبتی بر Debian, Ubuntu, mint از دستور زیر استفاده نمایید:

کد: انتخاب همه

sudo apt install parted
در توزیع های مبتنی بر RHEL, CentOS و Fedora از دستورات زیر استفاده کنید:

کد: انتخاب همه

yum install parted
dnf install parted
برای آنکه فهرستی از دیسکهای متصل و پارتیشن های آن را مشاهده کنید دستور زیر را اجرا کنید.

کد: انتخاب همه

parted -l
خروجی دستور را ببینید

کد: انتخاب همه

Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sda: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1075MB  1074MB  primary  ext4         boot
 2      1075MB  250GB   249GB   primary


Model: PHD 3.0 Silicon-Power (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1000GB  1000GB  primary  ntfs         boot
همانطور که مشاهده میکنید. دو دیسک به سیستم متصل هستند اولی با حجم ۲۵۰ گیگ و دارای ۲پارتیشن و دومی با حجم ۱۰۰۰ گیگ و یک پارتیشن است.
چک کردن نسخه ابزار parted: با استفاده از دستور زیر می توانید نسخه ابزار parted نصب شده بر روی توزیع لینوکس خود را مشاهده نمایید. در صورتیکه نسخه ابزار شما متفاوت از نسخه نمایش داده شده است نگران نباشید ابزار parted از درایو primary شما استفاده خواهد کرد که در اکثر مواقع در مسیر /dev/sda قرار دارد. خروجی دستور بالا

کد: انتخاب همه

GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
 ! پیام از: phoenix
در صورتی که قصد دارید از محیط ابزار parted خارج شوید. فقط کافی است به سادگی از دستور زیر استفاده نمایید:
توجه: در صورت مشاهده عبارت (parted) شما در محیط ابزار parted قرار دارید به عبارت دیگر (parted) در واقع prompt یا اعلان محیط ابزار parted است.
لیست کردن پارتیشن های دیسک در لینوکس: حال که ابزار parted شروع به اجرا کرده اجازه دهید لیست پارتیشن های دیسک انتخاب شده را مشاهده نماییم و همانطور که بیشتر نیز اشاره شده ابزار parted بصورت پیش فرض اولین درایو سیستم شما را انتخاب می کند. جهت چاپ کردن پارتیشن های دیسک از دستور print استفاده نمایید:

کد: انتخاب همه

(parted) print
خروجی دستور بالا

کد: انتخاب همه

Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sda: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1075MB  1074MB  primary  ext4         boot
 2      1075MB  250GB   249GB   primary
زمانیکه از دستور print استفاده میکنید اطلاعات هارددیسک و مدل آن نیز نمایش داده می شود.
لیست کردن یا سويیچ بین دیسک های مختلف: در صورتیکه شما بیش از یک دیسک بر روی سیستم خود دارید می توانید با استفاده از دستور select به آسانی بین دیسک های خود سويیچ کنید. در مثال زیر من از /dev/sda به /dev/sdb که دومین درایو روی سیستم من هست سويیچ می کنم.

کد: انتخاب همه

(parted) select /dev/sdb
و بعد دستور print را اجرا کردم تا ببینم دیسک درست انتخاب شده است خروجی دستور را ببینید

کد: انتخاب همه

(parted) print                                                            
Model: PHD 3.0 Silicon-Power (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1000GB  1000GB  primary  ntfs         boot
ایجاد پارتیشن Primary یا Logical در لینوکس: از ابزار parted میتوانید جهت ایجاد پارتیشن Primary یا Logical استفاده نمایید. در این مثال به شما نشان خواهیم داد که چگونه از ابزار parted جهت ایجاد پارتیشن Primary استفاده نمایید امام گام های ایجاد پارتیشن primary برای ایجاد پارتیشن Logical نیز یکسان هستند.
جهت ایجاد پارتیشن جدید توسط ابزار parted از دستور mkpart استفاده نمایید شما همچنین می توانید پارامترهای اضافه تری همچون primary یا logical بسته به نوع پارتیشنی که قصد ایجاد آن را دارید نیز تایپ کنید.
قبل از اینکه شما شروع به ایجاد پارتیشن ها نمایید. مهم است که بدانید که دیسک مورد نظر برای پارتیشن بندی را درست انتخاب کرده باشید. برای این منظور ابتدا از دستور print استفاده نمایید.

کد: انتخاب همه

(parted) print                                                            
Model: ADATA USB Flash Drive (scsi)
Disk /dev/sdc: 15.9GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags: 

Number  Start  End     Size    File system  Flags
 1      0.00B  15.9GB  15.9GB  ntfs
همانطور که در خروجی بالا مشاهده میکنید ما از یک فلش مموری به حجم ۱۶ گیگ استفاده میکنیم ابتدا به دیسک جدید یک label اختصاص داده و سپس اقدام به ایجاد یک پارتیشن و تنظیم فایل سیستم آن میکنیم.
حال به عنوان اولین گام با استفاده از دستور زیر اقدام به دادن یک label به دیسک جدید میکنیم:

کد: انتخاب همه

(parted) mklabel msdos
حال پارتیشن جدید را با استفاده از دستور mkpart ایجاد میکنیم. برای مثال قصد داریم یک پارتیشن 5GB را ایجاد نماییم بنابراین در جلوی عبارت ?start عدد ۱ و در جلوی عبارت ?end عدد ۵۰۰۰ را وارد میکنیم که شروع و انتهای پارتیشن را مشخص کنند(توجه کنید که واحدها بر حسب MB هستند بنابراین برای ایجاد پارتیشنی به حجم 5GB داریم ۵*۱۰۰۰ = ۵۰۰۰ در واقع جهت راحتی کار هر 1GB را برابر 1000MB به جای 1024MB در نظر میگیریم).
سپس با استفاده از دستور quit از محیط parted خارج شوید.برای راهنمایی به دستورات زیر دقت کتید

کد: انتخاب همه

(parted) mkpart
Partition type?  primary/extended? primary                                
File system type?  [ext2]?                                                
Start? 1                                                                  
End? 5000                                                                 
(parted) print                                                            
Model: ADATA USB Flash Drive (scsi)
Disk /dev/sdc: 15.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  5000MB  4999MB  primary  ext2         lba
حال میخواهیم پارتیشن جدیدمان را با استفاده از فایل سیستم ext4 فرمت کنیم برای این منظور از دستور mkfs استفاده میکنیم (توجه نمایید هنگامیکه از دستور زیر استفاده میکنیم حتما مطمئن شوید که دیسک و پارتیشن را به درستی انتخاب کرده باشید!)

کد: انتخاب همه

mkfs.ext4 /dev/sdc1
حال اجازه دهید با چاپ کردن partition table روی دیسک دوم خود نتایجمان را بررسی نماییم. همانطور که در خروجی زیر میبینید می بایست در زیر ستون file system عبارت ext4 به عنوان فایل سیستمی که برای پارتیشن خود استفاده کرده اید مشاهده نمایید.

کد: انتخاب همه

(parted) print                                                            
Model: ADATA USB Flash Drive (scsi)
Disk /dev/sdc: 15.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  5000MB  4999MB  primary  ext4         lba
Resize کردن پارتیشن دیسک لینوکس: ابزار parted شامل چندین تابع مفید است و یکی از آنها resizepart می باشد. این تابع به شما کمک میکند تا سایز یک پارتیشن را تغییر دهید. در مثال زیر شما مشاهده خواهید کرد که اندازه یک پارتیشن موجود را تغییر خواهیم داد. برای این منظور از پارتیشنی که در بخش قبل ایجاد کرده بودیم استفاده خواهیم کرد توجه نمایید که جهت تغییر سایز یک پارتیشن نیاز دارید که شماره پارتیشن مورد نظر را بدانید. بنابراین از دستور print جهت مشاهده شماره پارتیشن مورد نظر استفاده نمایید.

کد: انتخاب همه

(parted) print                                                            
Model: ADATA USB Flash Drive (scsi)
Disk /dev/sdc: 15.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  5000MB  4999MB  primary  ext4         lba
همانطور که در دستورات بالا مشاهده میکنید در مثال ما پارتیشن مورد نظر (پارتیشنی که اخیرا ایجاده کرده ایم) برابر ۱ است. حال جهت تغییر سایز آن از دستور زیر استفاده میکنیم:

کد: انتخاب همه

(parted) resizepart
پس از وارد کردن دستور فوق سیستم از شما شماره پارتیشنی که قصد تغییر سایز آن را دارید سوال خواهد کرد شماره پارتیشن مورد نظر را وارد کنید ( در این مثال عدد ۱) پس از آن سیستم از شما درباره تنظیم نقطه خاتمه ending point برای پارتیشن جدید سوال خواهد کرد. به یاد داشته باشید که بصورت پیش فرض واحد ها برحسب MB هستند بنابراین در این مثال سایز پارتیشن جدید را 8000GB وارد میکنیم

کد: انتخاب همه

(parted) resizepart
Partition number? 1                                                       
End?  [5000MB]? 8000
حال جهت بررسی نتایج از دستور print یکبار دیگر استفاده میکنیم.

کد: انتخاب همه

(parted) print                                                            
Model: ADATA USB Flash Drive (scsi)
Disk /dev/sdc: 15.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  8000MB  7999MB  primary  ext4         lba
حذف پارتیشن لینوکس: در این بخش یاد خواهید گرفت که چگونه یک پارتیشن را از روی درایو خود حذف کنید. برای این منظور شما نیاز دارید از دستور rm در محیط ابزار parted استفاده نمایید توجه کنید که جهت حذف یک پارتیشن نیز به شماره پارتیشن یا partition number نیاز خواهید داشت بنابرانی همانطور که بیشتر نیز اشاره شد شما می توانید به سادگی از دستور print جهت مشاهده شماره پارتیشن مورد نظر استفاده نمایید در این مثال ما قصد داریم تا پارتیشنی با partition number=1 را از روی درایو دوم سیستم خود یا /dev/sdc1 حذف کنیم بنابراین:

کد: انتخاب همه

(parted) rm 1
همچنین جهت بررسی نتیجه دستور فوق از دستور print یکبار دیگر کمک میگیریم.

کد: انتخاب همه

(parted) print                                                            
Model: ADATA USB Flash Drive (scsi)
Disk /dev/sdc: 15.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start  End  Size  Type  File system  Flags
Rescue (Recover) کردن پارتیشن دیسک لینوکس: ابزار parted از ابزار کمکی rescue که به شما جهت Recover کردن یک پارتیشن بین نقاط ابتدای (strating point) و انتهای (ending point) کمک میکند پشتیبانی می نماید برای این منظور از دستور زیر rescue استفاده نموده و نقاط ابتدایی و انتهایی را برای آن جهت جستجوی پارتیشن حذف شده و recovery آن وارد نمایید.

کد: انتخاب همه

(parted) rescue
Start? 1                                                                  
End? 8000 
تغییر Flag پارتیشن لینوکس : با استفاده از ابزار parted شما میتوانید حالت flag را برای پارتیشن های دیسک تغییر دهید. Flag های پشتیبانی شده عبارتند از:
  • boot
  • root
  • swap
  • hidden
  • raid
  • lvm
  • lba
  • legacy_boot
  • irst
  • esp
  • palo
حالت (stat) مربوط به flag می تواند on یا off باشد. جهت تغییر یک flag میتوانید از دستور set در parted به سادگی استفاده نمایید.

کد: انتخاب همه

(parted) set 2 lba on
دستور فوق lba flag را برای پارتیشن دوم بصورت on تنظیم میکند.
 ! پیام از: phoenix
برای توضیحات تکمیلی در ارتباط با دستور mkfs میتوانید بر روی دستور کلیک تا به صفحه همان دستور ارجاع داده شوید
تصویر برای ادامه کار و بالا رفتن کیفیت آموزش ها نیاز به حمایت مالی شما داریم پس لطفا از ما حمایت کنید
از اونجایی که برای جمع آوری و ترجمه و تالیف یک پست آموزشی زمان و زحمت زیادی صرف شده است.
لطفاً در صورت استفاده از این مطلب در سایت یا مقاله و ..... حتما با ذکر منبع و لینک برگشتی باشد.

مسلما این حمایت شما دوستان موجب پایداری اینگونه اثرها خواهد بود سربلند و پیروز باشین

نمایه کاربر
phoenix
مدیر کل سایت
مدیر کل سایت
پست در این موضوع: 2
پست: 232
تاریخ عضویت: شنبه 29 مهر 1396, 11:10 am
محل اقامت: مشهد
نسخه فدورا: 29
نوع دسکتاپ: LXQT
تماس:

قسمت دوم از دستور parted ( پارتیشن بندی دیسک )

پست توسط phoenix » یک شنبه 30 مهر 1396, 9:45 pm

بخش دوم به دلیل طولانی شدن در پستی جدا ادامه مطلب را نوشتم
دستورهای مورد استفاده برای ایجاد پارتیشن: اگر برای اولین بار هست که میخواهید دیسک را پارتیشن بندی کنید از دستور mklabel برای ایجاد جدول پارتیشن استفاده کنید. دستور help mklabel را جلوی اعلان parted اجرا کرده تا لیستی از موارد مجاز را مشاهده کنید.

کد: انتخاب همه

(parted) help mklabel                                                    
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition
        table)

	LABEL-TYPE is one of: aix, amiga, bsd, dvh, gpt, mac, msdos, pc98, sun,
        loop
دستور mkpart برای ایجاد پارتیشن استفاده میشود دو مقدار start و end آغاز و انتهای پارتیشن و همچنین نوع پارتیشن را اختیار میکند دستور help mkpart را اجرا کنید تا راهنمای دستور نشان داده شود.

کد: انتخاب همه

(parted) help mkpart
  mkpart PART-TYPE [FS-TYPE] START END     make a partition

	PART-TYPE is one of: primary, logical, extended
        FS-TYPE is one of: btrfs, nilfs2, ext4, ext3, ext2, fat32, fat16, hfsx,
        hfs+, hfs, jfs, swsusp, linux-swap(v1), linux-swap(v0), ntfs, reiserfs,
        hp-ufs, sun-ufs, xfs, apfs2, apfs1, asfs, amufs5, amufs4, amufs3,
        amufs2, amufs1, amufs0, amufs, affs7, affs6, affs5, affs4, affs3, affs2,
        affs1, affs0, linux-swap, linux-swap(new), linux-swap(old)
        START and END are disk locations, such as 4GB or 10%.  Negative values
        count from the end of the disk.  For example, -1s specifies exactly the
        last sector.
        
        'mkpart' makes a partition without creating a new file system on the
        partition.  FS-TYPE may be specified to set an appropriate partition
        ID.
میتوانید دستور mkpart را نوشته و سپس enter کنید تا دوباره اعلان هایی مبنی بر ورود نوع سیستم فایل (که بطور پیش فرض ext2 است. یعنی اگر جلوی این اعلان چیزی ننویسید و فقط enter بزنید نوع سیستم فایل ext2 در نظر گرفته میشود) یا اینکه تمامی ورودی ها را در یک خط بنویسید و enter کنید.

کد: انتخاب همه

mkpart PART-TYPE [FS-TYPE] START END
دستور rm که عددی را معادل شماره پارتیشن دریافت و آن پارتیشن را حذف می کند.

کد: انتخاب همه

rm NUMBER
از دستور help rm استفاده کنید تا راهنمای دستور نشان داده شود این دستور و تمامی دستورهای دیگر (mklabel و ...) مانند دستور mkpart می توانند با تمامی آرگومان های لازمشان در یک خط نوشته شوند یا اینکه دستور به تنهایی نوشته شود و در جلوی اعلان ها مربوطه مقادیر وارد شوند.
دستور print جدول پارتیشن ها را نشان می دهد.اگر آن را بی هیچ پارامتری اجرا کنید فهرستی از پارتیشن های موجود و ایجاد شده را نشان می دهد و اگر print free را اجرا کنید به هرماه فهرست پارتیشن ها فضای خالی موجود بر روی دیسک را نیز نشان می دهد از دستور help print برای مشاهده راهنمای آن استفاده کنید.
از دستور select برای انتخاب یک دیسک برای ایجاد یا تغییرات در پارتیشن های آن استفاده میشود این دستور مسیر کامل یک device (دیسک) را به عنوان آرگومان دریافت می کند بطور مثال برای انتخاب دومین دیسک متصل به سیستم از دستور زیر استفاده میشود.

کد: انتخاب همه

select /dev/sdb
یا اینکه می توانید به هنگام اجرای دستور parted از خط فرمان با دستور زیر دیسک را انتخاب کنید.

کد: انتخاب همه

parted select /dev/sdb
دستور unit برای تنظیم واحد پیش فرض مقادیر start و end استفاده میشود بطور مثال اگر آن را به MB یعنی مگابایت وارد کرده باشید و میخواهید پارتیشنی به اندازه ۵ گیگابایت ایجاد کنید باید مقدار 5000MB را استفاده کنید. برای تغییر مقدار پیش فرض از دستور زیر و برای خواندن راهنمای آن از دستور help unit استفاده کنید.
دستور quit برای خروج از محیط parted استفاده میشود.
تصویر برای ادامه کار و بالا رفتن کیفیت آموزش ها نیاز به حمایت مالی شما داریم پس لطفا از ما حمایت کنید
از اونجایی که برای جمع آوری و ترجمه و تالیف یک پست آموزشی زمان و زحمت زیادی صرف شده است.
لطفاً در صورت استفاده از این مطلب در سایت یا مقاله و ..... حتما با ذکر منبع و لینک برگشتی باشد.

مسلما این حمایت شما دوستان موجب پایداری اینگونه اثرها خواهد بود سربلند و پیروز باشین

ارسال پست

بازگشت به “P”