preseed.cfg分区设定案例

很久之前做ubuntu的PXE配置ubuntu的preseed费了很大的力气,总结的不多,现在温习一下。

就我所接触的,有分区普通磁盘,LVM,和raid三种方式。其中前两中方式比较多,raid方式是建立软raid,如果有硬件raid,不许要这个。

先看我配置成功的例子:

# Partitioning
d-i partman-auto/method string regular 
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true

d-i partman-auto/expert_recipe string
boot-root ::
512 5000 512 ext4
$primary{ } $bootable{ }
method{ format } format{ }
use_filesystem{ } filesystem{ ext4 }
mountpoint{ /boot }
.
15000 5000 15000 ext4
$primary{ }
method{ format } format{ }
use_filesystem{ } filesystem{ ext4 }
mountpoint{ / }
.
30000 5000 30000 ext4
$primary{ }
method{ format } format{ }
use_filesystem{ } filesystem{ ext4 }
mountpoint{ /home }
.
15000 5000 15000 ext4
method{ format } format{ }
use_filesystem{ } filesystem{ ext4 }
mountpoint{ /var/log }
.

其中的参数含义:

lvm分区能够运行的例子

# Partitioning 
d-i partman-auto/method string lvm
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman-auto/expert_recipe string            
           boot-root ::                          
              100 100 100 ext3                    
                    $primary{ } $bootable{ }        
                    method{ format } format{ }      
                    use_filesystem{ } filesystem{ ext3 }
                    mountpoint{ /boot }                  
           .                                      
           2000 5000 10000   ext3                
       $lvmok{ }  $lv_name{ root }                        
               method{ format } format{ }          
               use_filesystem{ } filesystem{ ext3 }
               mountpoint{ / }                    
           .                                      
           100% 4000 200%      linux-swap        
       $lvmok{ } lv_name{ swap }          
               method{ swap } format{ }          
           .                                      
           10000 10000 1000000   ext3            
               $lvmok{ } lv_name{ home }          
               method{ format }                  
               format{ }                          
               use_filesystem{ }                  
               filesystem{ ext3 }                
               mountpoint{ /home }                
           .                                      
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
 
#add new
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-auto-lvm/guided_size string max

最终看一下一个preseed.cfg的例子

### Partitioning
## Partitioning example
# If the system has free space you can choose to only partition that space.
# This is only honoured if partman-auto/method (below) is not set.
#d-i partman-auto/init_automatically_partition select biggest_free

# Alternatively, you may specify a disk to partition. If the system has only
# one disk the installer will default to using that, but otherwise the device
# name must be given in traditional, non-devfs format (so e.g. /dev/hda or
# /dev/sda, and not e.g. /dev/discs/disc0/disc).
# For example, to use the first SCSI/SATA hard disk:
#d-i partman-auto/disk string /dev/sda
# In addition, you'll need to specify the method to use.
# The presently available methods are:
# - regular: use the usual partition types for your architecture
# - lvm:     use LVM to partition the disk
# - crypto:  use LVM within an encrypted partition
d-i partman-auto/method string lvm

# If one of the disks that are going to be automatically partitioned
# contains an old LVM configuration, the user will normally receive a
# warning. This can be preseeded away...
d-i partman-lvm/device_remove_lvm boolean true
# The same applies to pre-existing software RAID array:
d-i partman-md/device_remove_md boolean true
# And the same goes for the confirmation to write the lvm partitions.
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true

# You can choose one of the three predefined partitioning recipes:
# - atomic: all files in one partition
# - home:   separate /home partition
# - multi:  separate /home, /usr, /var, and /tmp partitions
d-i partman-auto/choose_recipe select atomic

# Or provide a recipe of your own...
# If you have a way to get a recipe file into the d-i environment, you can
# just point at it.
#d-i partman-auto/expert_recipe_file string /hd-media/recipe

# If not, you can put an entire recipe into the preconfiguration file in one
# (logical) line. This example creates a small /boot partition, suitable
# swap, and uses the rest of the space for the root partition:
#d-i partman-auto/expert_recipe string                         
#      boot-root ::                                            
#              40 50 100 ext3                                  
#                      $primary{ } $bootable{ }                
#                      method{ format } format{ }              
#                      use_filesystem{ } filesystem{ ext3 }    
#                      mountpoint{ /boot }                     
#              .                                               
#              500 10000 1000000000 ext3                       
#                      method{ format } format{ }              
#                      use_filesystem{ } filesystem{ ext3 }    
#                      mountpoint{ / }                         
#              .                                               
#              64 512 300% linux-swap                          
#                      method{ swap } format{ }                
#              .

# The full recipe format is documented in the file partman-auto-recipe.txt
# included in the 'debian-installer' package or available from D-I source
# repository. This also documents how to specify settings such as file
# system labels, volume group names and which physical devices to include
# in a volume group.

# This makes partman automatically partition without confirmation, provided
# that you told it what to do using one of the methods above.
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

## Partitioning using RAID
# The method should be set to "raid".
#d-i partman-auto/method string raid
# Specify the disks to be partitioned. They will all get the same layout,
# so this will only work if the disks are the same size.
#d-i partman-auto/disk string /dev/sda /dev/sdb

# Next you need to specify the physical partitions that will be used. 
#d-i partman-auto/expert_recipe string 
#      multiraid ::                                         
#              1000 5000 4000 raid                          
#                      $primary{ } method{ raid }           
#              .                                            
#              64 512 300% raid                             
#                      method{ raid }                       
#              .                                            
#              500 10000 1000000000 raid                    
#                      method{ raid }                       
#              .

# Last you need to specify how the previously defined partitions will be
# used in the RAID setup. Remember to use the correct partition numbers
# for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported;
# devices are separated using "#".
# Parameters are:
# <raidtype> <devcount> <sparecount> <fstype> <mountpoint> 
#          <devices> <sparedevices>

#d-i partman-auto-raid/recipe string 
#    1 2 0 ext3 /                    
#          /dev/sda1#/dev/sdb1       
#    .                               
#    1 2 0 swap -                    
#          /dev/sda5#/dev/sdb5       
#    .                               
#    0 2 0 ext3 /home                
#          /dev/sda6#/dev/sdb6       
#    .

# For additional information see the file partman-auto-raid-recipe.txt
# included in the 'debian-installer' package or available from D-I source
# repository.

# This makes partman automatically partition without confirmation.
d-i partman-md/confirm boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
原文地址:https://www.cnblogs.com/silenceli/p/3472222.html