{"id":329559,"date":"2022-02-14T15:02:34","date_gmt":"2022-02-14T15:02:34","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=329559"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=329559","title":{"rendered":"<span>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u043a\u0430\u043a \u043c\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u043b\u0438 \u0430\u0432\u0442\u043e\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u041e\u0421 Astra Linux, \u043d\u043e \u0438 \u0441\u043e\u0444\u0442\u0430 \u0432 \u043e\u0434\u0438\u043d \u00ab\u043f\u0440\u043e\u0445\u043e\u0434\u00bb<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/04a\/1f1\/358\/04a1f1358d817686b2262eccf02d328e.jpg\" width=\"1920\" height=\"1002\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/04a\/1f1\/358\/04a1f1358d817686b2262eccf02d328e.jpg\" data-blurred=\"true\"\/><figcaption><\/figcaption><\/figure>\n<p><s><abbr title=\"\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434 \u0432\u0430\u043c\u0438 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430  linux \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432?\">\u041a\u0430\u043a &#171;\u0440\u0430\u0441\u043a\u0430\u0442\u0430\u0442\u044c&#187; \u043e\u0441\u044c \u043d\u0430 \u043a\u0443\u0447\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432?<\/abbr><\/s> \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434 \u0432\u0430\u043c\u0438 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430  linux \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432? \u0425\u043e\u0434\u0438\u0448\u044c-\u0431\u0440\u043e\u0434\u0438\u0448\u044c \u0441\u0440\u0435\u0434\u0438 \u043b\u0435\u0441\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0448\u044c \u0444\u043b\u0435\u0448\u043a\u0443 \u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0448\u044c \u043d\u0430 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u0431\u043b\u0443\u0434\u0438\u0448\u044c\u0441\u044f&#8230;\u0438\u043b\u0438 \u043d\u0435 \u0441\u043e\u0439\u0434\u0451\u0448\u044c \u0441 \u0443\u043c\u0430 \u0432 \u044d\u0442\u043e\u0439 \u0440\u0443\u0442\u0438\u043d\u0435&#8230;\u0438\u043b\u0438 \u043f\u043e\u0439\u043c\u0451\u0448\u044c \u0447\u0442\u043e \u043f\u043e\u0441\u0435\u0434\u0435\u043b \u0438 \u0437\u0440\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u043d\u0435 \u0442\u043e&#8230;\u0438\u043b\u0438&#8230;\u0427\u0442\u043e-\u0442\u043e \u044f \u0443\u0432\u043b\u0451\u043a\u0441\u044f. \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c google! \u0418 \u043e\u043d \u043e\u0442\u0432\u0435\u0442\u0438\u0442: &#171;\u041f\u0430\u0440\u0435\u043d\u044c, \u043d\u0435 \u043f\u0430\u0440\u044c\u0441\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439 preseed&#187;. \u0418 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0430\u0432, \u0442.\u043a. \u0432 linux \u0435\u0441\u0442\u044c \u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 (\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 preseed.cfg). \u0415\u0441\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e, \u0442\u043e \u0432\u044b \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0435 \u0444\u0430\u0439\u043b \u043e\u0442\u0432\u0435\u0442\u043e\u0432, \u043a\u043b\u0430\u0434\u0451\u0442\u0435 \u0435\u0433\u043e \u0432 \u043d\u0443\u0436\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0435\u0433\u043e \u0434\u043b\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435. \u0410 \u0432\u044b \u0432 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u044c\u0451\u0442\u0435 \u0447\u0430\u0439 \u0438 \u0432\u0441\u0451 \u0442\u0430\u043a\u043e\u0435. \u041d\u043e \u0442\u0430\u043a \u043b\u0438 \u0432\u0441\u0451 \u0433\u043b\u0430\u0434\u043a\u043e? \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u043d\u0435\u0442! Welcome!<\/p>\n<h2>\u041e\u0441\u043d\u043e\u0432\u044b. \u0413\u0434\u0435 \u0431\u0440\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0438 \u0447\u0442\u043e \u0441 \u043d\u0438\u043c \u0434\u0435\u043b\u0430\u0442\u044c?<\/h2>\n<p>\u042d\u0442\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0438\u0437 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 Debian \u0438\u043b\u0438 wiki \u0430\u0441\u0442\u0440\u044b. \u0415\u0441\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e, \u0442\u043e \u0444\u0430\u0439\u043b \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0434\u043b\u044f \u043e\u0441\u043d\u043e\u0432\u044b \u044d\u0442\u043e\u0442:<\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u0440\u0438\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \u043e\u0442\u0432\u0435\u0442\u043e\u0432:<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>#### Contents of the preconfiguration file (for stretch) ### Localization # Preseeding only locale sets language, country and locale. d-i debian-installer\/locale string en_US  # The values can also be preseeded individually for greater flexibility. #d-i debian-installer\/language string en #d-i debian-installer\/country string NL #d-i debian-installer\/locale string en_GB.UTF-8 # Optionally specify additional locales to be generated. #d-i localechooser\/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8  # Keyboard selection. d-i keyboard-configuration\/xkb-keymap select us # d-i keyboard-configuration\/toggle select No toggling  ### Network configuration # Disable network configuration entirely. This is useful for cdrom # installations on non-networked devices where the network questions, # warning and long timeouts are a nuisance. #d-i netcfg\/enable boolean false  # netcfg will choose an interface that has link if possible. This makes it # skip displaying a list if there is more than one interface. d-i netcfg\/choose_interface select auto  # To pick a particular interface instead: #d-i netcfg\/choose_interface select eth1  # To set a different link detection timeout (default is 3 seconds). # Values are interpreted as seconds. #d-i netcfg\/link_wait_timeout string 10  # If you have a slow dhcp server and the installer times out waiting for # it, this might be useful. #d-i netcfg\/dhcp_timeout string 60 #d-i netcfg\/dhcpv6_timeout string 60  # If you prefer to configure the network manually, uncomment this line and # the static network configuration below. #d-i netcfg\/disable_autoconfig boolean true  # If you want the preconfiguration file to work on systems both with and # without a dhcp server, uncomment these lines and the static network # configuration below. #d-i netcfg\/dhcp_failed note #d-i netcfg\/dhcp_options select Configure network manually  # Static network configuration. # # IPv4 example #d-i netcfg\/get_ipaddress string 192.168.1.42 #d-i netcfg\/get_netmask string 255.255.255.0 #d-i netcfg\/get_gateway string 192.168.1.1 #d-i netcfg\/get_nameservers string 192.168.1.1 #d-i netcfg\/confirm_static boolean true # # IPv6 example #d-i netcfg\/get_ipaddress string fc00::2 #d-i netcfg\/get_netmask string ffff:ffff:ffff:ffff:: #d-i netcfg\/get_gateway string fc00::1 #d-i netcfg\/get_nameservers string fc00::1 #d-i netcfg\/confirm_static boolean true  # Any hostname and domain names assigned from dhcp take precedence over # values set here. However, setting the values still prevents the questions # from being shown, even if values come from dhcp. d-i netcfg\/get_hostname string unassigned-hostname d-i netcfg\/get_domain string unassigned-domain  # If you want to force a hostname, regardless of what either the DHCP # server returns or what the reverse DNS entry for the IP is, uncomment # and adjust the following line. #d-i netcfg\/hostname string somehost  # Disable that annoying WEP key dialog. d-i netcfg\/wireless_wep string # The wacky dhcp hostname that some ISPs use as a password of sorts. #d-i netcfg\/dhcp_hostname string radish  # If non-free firmware is needed for the network or other hardware, you can # configure the installer to always try to load it, without prompting. Or # change to false to disable asking. #d-i hw-detect\/load_firmware boolean true  ### Network console # Use the following settings if you wish to make use of the network-console # component for remote installation over SSH. This only makes sense if you # intend to perform the remainder of the installation manually. #d-i anna\/choose_modules string network-console #d-i network-console\/authorized_keys_url string http:\/\/10.0.0.1\/openssh-key #d-i network-console\/password password r00tme #d-i network-console\/password-again password r00tme  ### Mirror settings # If you select ftp, the mirror\/country string does not need to be set. #d-i mirror\/protocol string ftp d-i mirror\/country string manual d-i mirror\/http\/hostname string http.us.debian.org d-i mirror\/http\/directory string \/debian d-i mirror\/http\/proxy string  # Suite to install. #d-i mirror\/suite string testing # Suite to use for loading installer components (optional). #d-i mirror\/udeb\/suite string testing  ### Account setup # Skip creation of a root account (normal user account will be able to # use sudo). #d-i passwd\/root-login boolean false # Alternatively, to skip creation of a normal user account. #d-i passwd\/make-user boolean false  # Root password, either in clear text #d-i passwd\/root-password password r00tme #d-i passwd\/root-password-again password r00tme # or encrypted using a crypt(3)  hash. #d-i passwd\/root-password-crypted password [crypt(3) hash]  # To create a normal user account. #d-i passwd\/user-fullname string Debian User #d-i passwd\/username string debian # Normal user's password, either in clear text #d-i passwd\/user-password password insecure #d-i passwd\/user-password-again password insecure # or encrypted using a crypt(3) hash. #d-i passwd\/user-password-crypted password [crypt(3) hash] # Create the first user with the specified UID instead of the default. #d-i passwd\/user-uid string 1010  # The user account will be added to some standard initial groups. To # override that, use this. #d-i passwd\/user-default-groups string audio cdrom video  ### Clock and time zone setup # Controls whether or not the hardware clock is set to UTC. d-i clock-setup\/utc boolean true  # You may set this to any valid setting for $TZ; see the contents of # \/usr\/share\/zoneinfo\/ for valid values. d-i time\/zone string US\/Eastern  # Controls whether to use NTP to set the clock during the install d-i clock-setup\/ntp boolean true # NTP server to use. The default is almost always fine here. #d-i clock-setup\/ntp-server string ntp.example.com  ### 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\/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, \/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  # When disk encryption is enabled, skip wiping the partitions beforehand. #d-i partman-auto-crypto\/erase_disks boolean false  ## 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: # &lt;raidtype> &lt;devcount> &lt;sparecount> &lt;fstype> &lt;mountpoint> \\ #          &lt;devices> &lt;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  ## Controlling how partitions are mounted # The default is to mount by UUID, but you can also choose \"traditional\" to # use traditional device names, or \"label\" to try filesystem labels before # falling back to UUIDs. #d-i partman\/mount_style select uuid  ### Base system installation # Configure APT to not install recommended packages by default. Use of this # option can result in an incomplete system and should only be used by very # experienced users. #d-i base-installer\/install-recommends boolean false  # The kernel image (meta) package to be installed; \"none\" can be used if no # kernel is to be installed. #d-i base-installer\/kernel\/image string linux-image-686  ### Apt setup # You can choose to install non-free and contrib software. #d-i apt-setup\/non-free boolean true #d-i apt-setup\/contrib boolean true # Uncomment this if you don't want to use a network mirror. #d-i apt-setup\/use_mirror boolean false # Select which update services to use; define the mirrors to be used. # Values shown below are the normal defaults. #d-i apt-setup\/services-select multiselect security, updates #d-i apt-setup\/security_host string security.debian.org  # Additional repositories, local[0-9] available #d-i apt-setup\/local0\/repository string \\ #       http:\/\/local.server\/debian stable main #d-i apt-setup\/local0\/comment string local server # Enable deb-src lines #d-i apt-setup\/local0\/source boolean true # URL to the public key of the local repository; you must provide a key or # apt will complain about the unauthenticated repository and so the # sources.list line will be left commented out #d-i apt-setup\/local0\/key string http:\/\/local.server\/key  # By default the installer requires that repositories be authenticated # using a known gpg key. This setting can be used to disable that # authentication. Warning: Insecure, not recommended. #d-i debian-installer\/allow_unauthenticated boolean true  # Uncomment this to add multiarch configuration for i386 #d-i apt-setup\/multiarch string i386   ### Package selection #tasksel tasksel\/first multiselect standard, web-server, kde-desktop  # Individual additional packages to install #d-i pkgsel\/include string openssh-server build-essential # Whether to upgrade packages after debootstrap. # Allowed values: none, safe-upgrade, full-upgrade #d-i pkgsel\/upgrade select none  # Some versions of the installer can report back on what software you have # installed, and what software you use. The default is not to report back, # but sending reports helps the project determine what software is most # popular and include it on CDs. #popularity-contest popularity-contest\/participate boolean false  ### Boot loader installation # Grub is the default boot loader (for x86). If you want lilo installed # instead, uncomment this: #d-i grub-installer\/skip boolean true # To also skip installing lilo, and install no bootloader, uncomment this # too: #d-i lilo-installer\/skip boolean true   # This is fairly safe to set, it makes grub install automatically to the MBR # if no other operating system is detected on the machine. d-i grub-installer\/only_debian boolean true  # This one makes grub-installer install to the MBR if it also finds some other # OS, which is less safe as it might not be able to boot that other OS. d-i grub-installer\/with_other_os boolean true  # Due notably to potential USB sticks, the location of the MBR can not be # determined safely in general, so this needs to be specified: #d-i grub-installer\/bootdev  string \/dev\/sda # To install to the first device (assuming it is not a USB stick): #d-i grub-installer\/bootdev  string default  # Alternatively, if you want to install to a location other than the mbr, # uncomment and edit these lines: #d-i grub-installer\/only_debian boolean false #d-i grub-installer\/with_other_os boolean false #d-i grub-installer\/bootdev  string (hd0,1) # To install grub to multiple disks: #d-i grub-installer\/bootdev  string (hd0,1) (hd1,1) (hd2,1)  # Optional password for grub, either in clear text #d-i grub-installer\/password password r00tme #d-i grub-installer\/password-again password r00tme # or encrypted using an MD5 hash, see grub-md5-crypt(8). #d-i grub-installer\/password-crypted password [MD5 hash]  # Use the following option to add additional boot parameters for the # installed system (if supported by the bootloader installer). # Note: options passed to the installer will be added automatically. #d-i debian-installer\/add-kernel-opts string nousb  ### Finishing up the installation # During installations from serial console, the regular virtual consoles # (VT1-VT6) are normally disabled in \/etc\/inittab. Uncomment the next # line to prevent this. #d-i finish-install\/keep-consoles boolean true  # Avoid that last message about the install being complete. d-i finish-install\/reboot_in_progress note  # This will prevent the installer from ejecting the CD during the reboot, # which is useful in some situations. #d-i cdrom-detect\/eject boolean false  # This is how to make the installer shutdown when finished, but not # reboot into the installed system. #d-i debian-installer\/exit\/halt boolean true # This will power off the machine instead of just halting it. #d-i debian-installer\/exit\/poweroff boolean true  ### Preseeding other packages # Depending on what software you choose to install, or if things go wrong # during the installation process, it's possible that other questions may # be asked. You can preseed those too, of course. To get a list of every # possible question that could be asked during an install, do an # installation, and then run these commands: #   debconf-get-selections --installer > file #   debconf-get-selections >> file   #### Advanced options ### Running custom commands during the installation # d-i preseeding is inherently not secure. Nothing in the installer checks # for attempts at buffer overflows or other exploits of the values of a # preconfiguration file like this one. Only use preconfiguration files from # trusted locations! To drive that home, and because it's generally useful, # here's a way to run any shell command you'd like inside the installer, # automatically.  # This first command is run as early as possible, just after # preseeding is read. #d-i preseed\/early_command string anna-install some-udeb # This command is run immediately before the partitioner starts. It may be # useful to apply dynamic partitioner preseeding that depends on the state # of the disks (which may not be visible when preseed\/early_command runs). #d-i partman\/early_command \\ #       string debconf-set partman-auto\/disk \"$(list-devices disk | head -n1)\" # This command is run just before the install finishes, but when there is # still a usable \/target directory. You can chroot to \/target and use it # directly, or use the apt-install and in-target commands to easily install # packages and run commands in the target system. #d-i preseed\/late_command string apt-install zsh; in-target chsh -s \/bin\/zsh  <\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0415\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0439\u0434\u0451\u0442 \u043d\u0435 \u0442\u0430\u043a (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b), \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435:<\/p>\n<pre><code class=\"bash\">debconf-get-selections --installer > \u0444\u0430\u0439\u043b debconf-get-selections >> \u0444\u0430\u0439\u043b<\/code><\/pre>\n<p>\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435.<\/p>\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0444\u0430\u0439\u043b \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c (\u043d\u0430\u0437\u043e\u0432\u0451\u043c \u0435\u0433\u043e <em>preseed.cfg<\/em>). \u041a\u0443\u0434\u0430 \u0435\u0433\u043e \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0451 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e? \u042d\u0442\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e \u043a\u0430\u043a\u0443\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 &#8212; <em>initrd, \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0438\u043b\u0438 \u0441\u0435\u0442\u0435\u0432\u0443\u044e<\/em>. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 <em>initrd<\/em> \u043a\u0430\u043a \u0441\u0430\u043c\u044b\u0439 \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u0439 (\u0445\u043e\u0442\u044c \u0438 \u0441\u0430\u043c\u044b\u0439 \u0442\u0440\u0443\u0434\u043e\u0451\u043c\u043a\u0438\u0439). \u0421\u0443\u0442\u044c \u0435\u0433\u043e \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c initrd \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430, \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432 \u043a\u043e\u0440\u0435\u043d\u044c preseed.cfg \u0438 \u0437\u0430\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c. \u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u044d\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<\/p>\n<pre><code>mkdir mnt irmod cd sudo mount -o loop astra.iso mnt rsync -a -H --exclude=TRANS.TBL mnt cd umount mnt cd irmod sudo gzip -d &lt; ..\/cd\/install.amd\/initrd.gz | sudo cpio --extract --make-directories --no-absolute-filenames # \u0417\u0434\u0435\u0441\u044c \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448 preseed.cfg cp -f ..\/preseed.cfg preseed.cfg find . | sudo cpio -H newc --create | sudo gzip -9 > ..\/cd\/install.amd\/initrd.gz cd ..\/cd md5sum `find -follow -type f` > .\/md5sum.txt cd .. genisoimage -o Astra16.iso -r -J -c isolinux\/boot.cat -b isolinux\/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot\/grub\/efi.img -no-emul-boot .\/cd<\/code><\/pre>\n<h3>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u0434\u0438\u0441\u043a\u0430 \u0438 LVM<\/h3>\n<p>\u0420\u0430\u0437\u043c\u0435\u0442\u043a\u043e\u0439 \u0434\u0438\u0441\u043a\u0430 \u043f\u0440\u0438 \u0430\u0432\u0442\u043e\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f <em>partman. <\/em>\u0421 \u0435\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u043e\u043c \u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435. \u041f\u0440\u0438\u043c\u0435\u0440 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438:<\/p>\n<pre><code>root :: 256 100 256 fat16     $primary{ }     method{ efi }     format{ } .      500 500 500 ext4     method{ format }     format{ }     use_filesystem{ }     filesystem{ ext4 }     mountpoint{ \/boot } .      30720 30720 30720 ext4     method{ format }     format{ }     use_filesystem{ }     filesystem{ ext4 }     mountpoint{ \/ } .      500 1000 -1 ext4     method{ format }     format{ }     use_filesystem{ }     reserved_for_root{ 0 }     filesystem{ ext4 }     mountpoint{ \/home } .      30720 30720 30720 ext4     method{ format }     format{ }     use_filesystem{ }     filesystem{ ext4 }     mountpoint{ \/var } .<\/code><\/pre>\n<p>\u0423 partman \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432, \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 &#8212; \u043d\u0435\u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c. \u0422\u043e \u0435\u0441\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u0435\u0441\u0442\u043e, \u043d\u0430\u0434\u043e \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u0442\u044c\u0441\u044f. \u0417\u0430\u043f\u0438\u0441\u044c <em>500 1000 -1 ext4 <\/em>\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u0441\u0442\u0430\u0432\u0448\u0435\u0435\u0441\u044f \u043c\u0435\u0441\u0442\u043e \u0434\u0438\u0441\u043a\u0430 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u043e\u0434 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u0434\u0435\u043b. \u0415\u0441\u043b\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430\u0445, \u0442\u043e \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u044b \u043e\u0442 \u043e\u0431\u044a\u0451\u043c\u0430  \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0412\u043e\u0442 \u0438 \u0432\u0441\u044f \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c&#8230; \u0423 \u043d\u0430\u0441 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0437\u0430\u0434\u0430\u0447 \u0441\u0442\u043e\u044f\u043b\u043e &#8212; \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0441\u0442\u0430 \u0432 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430\u0445 \u043e\u0442 \u043e\u0441\u0442\u0430\u0432\u0448\u0435\u0433\u043e\u0441\u044f \u043c\u0435\u0441\u0442\u0430 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c  \u0440\u0435\u0448\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443. \u0412 preseed \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u044b \u0441 \u043e\u0442\u0432\u0435\u0442\u0430\u043c\u0438:<\/p>\n<pre><code>d-i preseed\/include string recipe.cfg<\/code><\/pre>\n<p>\u0438 \u043c\u044b \u0432\u044b\u043d\u0435\u0441\u043b\u0438 <em>d-i partman\/early_command string <\/em>(\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u043f\u0435\u0440\u0435\u0434 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b) \u0432 \u0444\u0430\u0439\u043b recipe.cfg. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0433\u0438\u0431\u043a\u043e \u043e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u0434\u0438\u0441\u043a\u0430. \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 recipe.cfg:<\/p>\n<pre><code>d-i partman\/early_command string \\     debconf-set partman-auto\/disk $(DSIZE_OLD=0; \\     parted_devices | cut -f1,2 | { while read DISK DSIZE; do \\     if [ $DSIZE -gt $DSIZE_OLD ]; then \\     DEV=$DISK; \\     DSIZE_OLD=$DSIZE; \\     fi; \\     done; \\     echo \"$DEV\"; \\     }); \\     SIZE_OLD=0; \\     for SIZE in $(parted_devices | cut -f2); do \\         if [ $SIZE -gt $SIZE_OLD ]; then \\             SIZE_OLD=$SIZE; \\         fi; \\     done; \\     PERCENT=5; \\     SNAP_SIZE=$(($SIZE_OLD\/1024\/1024*$PERCENT\/100)); \\     debconf-set partman-auto\/method \"lvm\"; \\     debconf-set partman-auto\/expert_recipe \"root :: \\     200 200 200 free \\         \\$iflabel{ gpt } \\         \\$reusemethod{ } \\         method{ efi } \\         format{ } . \\     500 500 500 ext4 \\         \\$defaultignore{ } \\         method{ format } \\         format{ } \\         use_filesystem{ } \\         filesystem{ ext2 } \\         mountpoint{ \/boot } . \\     30720 30720 30720 ext4 \\         \\$lvmok{ } \\         lv_name{ root } \\         method{ lvm } \\         format{ } \\         use_filesystem{ } \\         filesystem{ ext4 } \\         mountpoint{ \/ } . \\     30720 30720 30720 ext4 \\         \\$lvmok{ } \\         lv_name{ var } \\         method{ lvm } \\         format{ } \\         use_filesystem{ } \\         filesystem{ ext4 } \\         reserved_for_root{ 0 } \\         mountpoint{ \/var } . \\     ${SNAP_SIZE} ${SNAP_SIZE} ${SNAP_SIZE} ext4 \\         \\$lvmok{ } \\         lv_name{ datasnapshots } \\         \\$defaultignore . \\     500 1000 -1 ext4 \\         \\$lvmok{ } \\         lv_name{ home } \\         method{ lvm } \\         format{ } \\         use_filesystem{ } \\         reserved_for_root{ 0 } \\         filesystem{ ext4 } \\         mountpoint{ \/home } .\";<\/code><\/pre>\n<p>\u0412\u044b \u043c\u043e\u0433\u043b\u0438 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u0443\u0436\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430 lvm. \u0412\u044b\u0434\u0435\u043b\u0435\u043d\u043e 5% \u043e\u0442 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0434\u0438\u0441\u043a\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c: \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u044b\/\u0440\u0430\u0437\u043c\u0435\u0440 \u0438 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0443.<\/p>\n<h3>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 Astra Linux<\/h3>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" height=\"326\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3a1\/b9e\/4fe\/3a1b9e4fec28d760f4a52f65c158f429.gif\" data-width=\"664\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u043b\u044f Astra Linux \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u0432\u044b\u0445\u043e\u0434\u044f\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432 \u0432\u0438\u0434\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 iso. \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a: \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u0438 \u043f\u043e wiki \u0430\u0441\u0442\u0440\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u044b <em>astra-update. <\/em>\u042d\u0442\u0443 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0432 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432 <em>d-i preseed\/late_command <\/em>(\u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 postinstall &#8212; \u0432\u0441\u0451 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043d\u043e \u0434\u043e \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f). \u0422\u0430\u043a\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u0440\u0430\u0437 \u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u043c\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430 (\u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c &#171;\u0437\u0430\u043e\u0434\u043d\u043e&#187; \u0441 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u043e\u0439 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u043d\u0438\u044f\/\u0441\u0431\u043e\u0440\u043a\u0438 \u043e\u0431\u0440\u0430\u0437\u0430 \u043f\u0440\u0438 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 preseed.cfg \u0432 initrd). \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0441\u0440\u0430\u0437\u0443 \u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430. \u041d\u043e \u0434\u0430\u043b\u044c\u0448\u0435 \u0435\u0449\u0451 \u043a\u0440\u0443\u0447\u0435&#8230;<\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u043c\u0438<\/h3>\n<p>\u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u043c\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 (\u0441\u0440\u0430\u0437\u0443 \u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u043c\u0438)  \u043f\u043b\u044e\u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0431\u0435\u0437 \u043e\u0441\u043e\u0431\u043e\u0433\u043e \u0443\u0447\u0430\u0441\u0442\u0438\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430. \u0418\u0437-\u0437\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c usb \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0438. \u0417\u0430\u043c\u044b\u0441\u0435\u043b \u0442\u0430\u043a\u043e\u0439: \u0434\u0435\u043b\u0430\u0435\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0439 usb \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c (\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0430 \u043d\u0435\u0451 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a grub), \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c grub.cfg (\u043f\u0440\u0430\u0432\u0438\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u044f\u0434\u0440\u0430 \u0438 \u043c\u0435\u043d\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438), \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0432 \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u043c \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0435 \u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. <\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e usb \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044f (\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 grub):<\/p>\n<pre><code>echo \"###########################################\" echo \"  \u0420\u0430\u0437\u043c\u0435\u0442\u043a\u0430 usb \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044f \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430...\" echo \"###########################################\" sudo parted -s \/dev\/sdb mklabel msdos sudo parted -s \/dev\/sdb mkpart primary 1MiB 551MiB sudo parted -s \/dev\/sdb set 1 esp on sudo parted -s \/dev\/sdb set 1 boot on sudo mkfs.fat -F32 \/dev\/sdb1 sudo parted -s \/dev\/sdb mkpart primary 551MiB 100% sudo mkfs.ext4 \/dev\/sdb2 sudo mkdir \/media\/{efi,data} sudo mount \/dev\/sdb1 \/media\/efi sudo mount \/dev\/sdb2 \/media\/data echo \"##############################\" echo \"  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 grub...\" echo \"##############################\" sudo grub-install \\   --target=i386-pc \\   --recheck \\   --boot-directory=\"\/media\/data\/boot\" \/dev\/sdb sleep 1 sudo grub-install \\   --target=x86_64-efi \\   --recheck \\   --removable \\   --efi-directory=\"\/media\/efi\" \\   --boot-directory=\"\/media\/data\/boot\"<\/code><\/pre>\n<p>\u0438<em> <\/em>\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c<em> grub.cfg <\/em>(\u043c\u0435\u043d\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438), \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code>menuentry \"USER_SOFT_V1\" {           load_video           insmod gzio           if [ x = xxen ]; then insmod xzio; insmod lzopio; fi           insmod part_msdos           insmod ext2           set root='hd0,msdos2'           set isofile=\"\/iso\/astra16.iso\"           echo    '\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f Linux 4.15.3-1 \u2026'           linux \/iso\/vmlinuz iso-scan\/filename=\\isofile live-media=$isofile preseed\/file=\/hd-media\/preseed\/preseed_fly_lvm_update.cfg soft_hwtype=USER_SOFT_V1 quiet debian-installer\/locale=ru debian-installer\/language=ru keyboard-configuration\/toggle=Ctrl+Shift keyboard-configuration\/xkb-keymap=ru console-keymaps-at\/keymap=ru astra-license\/license=true           echo    '\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0438\u0441\u043a \u2026'           initrd \/iso\/initrd.gz   } menuentry \"USER_SOFT_V2\" {           ...............   } menuentry \"USER_SOFT_V3\" {           ...............   } <\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u043f\u043e-\u043f\u043e\u0440\u044f\u0434\u043a\u0443:<\/p>\n<ul>\n<li>\n<p><em>\/iso\/astra16.iso<\/em>, <em>\/iso\/initrd.gz \u0438 \/iso\/vmlinuz<\/em> \u044d\u0442\u043e \u043e\u0431\u0440\u0430\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043e\u0431\u0440\u0430\u0437 initrd \u0438 \u043e\u0431\u0440\u0430\u0437 \u044f\u0434\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043f\u043e\u043b\u043e\u0436\u0438\u043b\u0438 \u043d\u0430 usb \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c;<\/p>\n<\/li>\n<li>\n<p><em>\/hd-media\/preseed\/preseed_fly_lvm_update.cfg<\/em> &#8212; \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0430\u0432\u0442\u043e\u043e\u0442\u0432\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0436\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 usb \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0435 (\u0434\u0430, \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443, \u0442.\u0435. \u0444\u0430\u0439\u043b \u0430\u0432\u0442\u043e\u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043b\u0435\u0436\u0438\u0442 \u043d\u0435 \u0432 initrd). \u0424\u0430\u0439\u043b\u044b \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u0434\u0438\u0441\u043a\u0430 (recipe) \u0442\u043e\u0436\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430 \u0444\u043b\u0435\u0448\u043a\u0435 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u0432 preseed c \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043f\u0443\u0442\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,<\/p>\n<p><code>d-i partman-auto\/expert_recipe_file string \/hd-media\/recipe\/recipe<\/code><\/p>\n<\/li>\n<li>\n<p><em>soft_hwtype=USER_SOFT_V1 &#8212; <\/em>\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 <em>d-i preseed\/late_command, <\/em>\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<p><code>echo $soft_hwtype > \/target\/tmp\/soft_hwtype;<\/code><\/p>\n<p>\u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0432\u043e\u0438\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u041f\u041e (\u0433\u0440\u0443\u0431\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u0447\u0442\u043e\u0431\u044b \u0441\u0432\u044f\u0437\u0430\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u043f\u0443\u043d\u043a\u0442 \u043c\u0435\u043d\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 \u0441 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u041f\u041e);<\/p>\n<\/li>\n<li>\n<p><em>debian-installer\/locale=ru debian-installer\/language=ru keyboard-configuration\/toggle=Ctrl+Shift keyboard-configuration\/xkb-keymap=ru console-keymaps-at\/keymap=ru astra-license\/license=true &#8212; <\/em>\u044d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0431\u044b\u043b\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u0434\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 initrd (\u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 preseed.cfg \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 initrd \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u044d\u0442\u043e\u043c \u043d\u0435\u0442);<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u043d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u043c usb \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" height=\"383\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3ce\/d4a\/1ab\/3ced4a1abd59c1528132c1782c76a2ba.png\" data-width=\"988\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418\u0442\u0430\u043a, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c\u0441\u044f \u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043c\u0435\u043d\u044e grub \u0441 \u043d\u0443\u0436\u043d\u043e\u0439 \u043d\u0430\u043c \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u0435\u0439 \u0441\u043e\u0444\u0442\u0430. \u041d\u043e \u043e\u0442\u043a\u0443\u0434\u0430 \u0431\u0440\u0430\u0442\u044c \u0441\u0430\u043c \u0441\u043e\u0444\u0442? \u041c\u044b \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u0441\u0435\u0442\u0438. \u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b dhcp \u0441\u0435\u0440\u0432\u0435\u0440, apache \u043d\u0443 \u0438 \u0441\u0430\u043c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0441 \u0441\u043e\u0444\u0442\u043e\u043c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 (\u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0434\u043e\u0441\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043d \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435). \u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 preseed.cfg \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code>d-i apt-setup\/local0\/repository string http:\/\/192.168.1.1\/my_soft\/ .\/ d-i apt-setup\/local0\/key string http:\/\/192.168.1.1\/repo_key.gpg d-i apt-setup\/local0\/comment string my_soft_repo<\/code><\/pre>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043e\u0431\u0449\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a: \u043f\u043e\u0434\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u044b\u0439 usb \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u0441\u044f \u0441 \u043d\u0435\u0433\u043e, \u0432 \u043c\u0435\u043d\u044e <em>grub<\/em> \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c, \u0441 \u043a\u0430\u043a\u0438\u043c \u0441\u043e\u0444\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u0438 \u0432\u0441\u0451&#8230; \u0417\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438. \u0412 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441 \u043d\u0443\u0436\u043d\u044b\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c.<\/p>\n<h2>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 Astra Linux \u0432 Jenkins<\/h2>\n<p>\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0430\u0432\u0442\u043e\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u044b\u0445 \u043e\u0431\u0440\u0430\u0437\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 fly \u0438 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e, \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u043e\u0439 \u0434\u0438\u0441\u043a\u0430 \u0438\u043b\u0438 \u0441 \u0432\u044b\u0432\u043e\u0434\u043e\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 rs-232. \u0420\u0435\u0448\u0438\u043b\u0438 \u0432\u0441\u0451 \u044d\u0442\u043e \u0434\u0435\u043b\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0432 jenkins c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c pipeline \u0438 jenkinsfile. \u0412\u043e\u0442 \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c:<\/p>\n<p>\u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u0430\u043f\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 fly \u0438 nofly (\u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0430\u043c\u0430 \u0441\u0431\u043e\u0440\u043a\u0430):<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" height=\"283\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6cb\/6b2\/8f2\/6cb6b28f23a1db811b1f249c3e543047.png\" data-width=\"1536\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0432\u043d\u0443\u0442\u0440\u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 <em>Fly \u0441\u0431\u043e\u0440\u043a\u0438<\/em>:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" height=\"650\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/927\/c8a\/75e\/927c8a75ea5083e25abe6dd275d7f000.png\" data-width=\"1530\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 <em>stage<\/em> jenkinsfile:<\/p>\n<pre><code>stage('AstraLinux-1.6-Fly-LVM-Base-Update'){             when { equals expected: \"${fly}\", actual: currentBuild.projectName }             environment {                 SOURCE_PATH = \"${env.WORKSPACE}\"                 PARTED = 'base'                 UPD_FLG = 'true'             }             steps {                 echo \"===== Build AstraLinux-1.6-Fly-LVM-Base-Update =====\"                 sh '.\/Astra16-Fly.sh'                 script {                    currentBuild.displayName = \"AstraLinux-1.6-Fly\"                    currentBuild.description = \"Build AutoInstall Distributive AstraLinux 1.6 Fly\"                 }             }         }  stage('AstraLinux-1.6-NoFly-Base-Update'){            .........         }<\/code><\/pre>\n<p>\u0437\u0434\u0435\u0441\u044c:<\/p>\n<ul>\n<li>\n<p><em>PARTED = &#8216;base&#8217;<\/em> &#8212; \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u0434\u0438\u0441\u043a\u0430 (\u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442 <em>Astra16-Fly.sh<\/em>);<\/p>\n<\/li>\n<li>\n<p><em>UPD_FLG = &#8216;true&#8217;<\/em> &#8212; \u0444\u043b\u0430\u0433, \u0447\u0442\u043e \u043d\u0443\u0436\u0435\u043d \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 \u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c.<\/p>\n<p>\u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0444\u043b\u0430\u0433\u0438 \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 <em>Astra16-Fly.sh<\/em> (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,<em> RS232 = &#8216;true&#8217;<\/em> \u0438 \u0442.\u043f.).<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 <em>Astra16-Fly.sh<\/em> \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0451 \u0442\u043e, \u043e \u0447\u0451\u043c \u043f\u0438\u0441\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u0448\u0435: \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u044b -> \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f -> \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f initrd -> \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0443\u0436\u043d\u044b\u0439 <em>preseed.cfg<\/em> (c \u043d\u0443\u0436\u043d\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u043e\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 &#8216;<em>base<\/em>&#8216;) -> \u0437\u0430\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f initrd -> \u0437\u0430\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u043e\u0432 (\u0440\u0430\u0437\u043d\u044b\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043e\u0431\u0440\u0430\u0437\u043e\u0432) \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>sudo genisoimage -o Astra16-NoFly-$PARTED$UPDATE$SWAP$RELEASE$LVM$RS.iso -r -J -c isolinux\/boot.cat -b isolinux\/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot\/grub\/efi.img -no-emul-boot .\/cd<\/code><\/pre>\n<p>\u0433\u0434\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 $PARTED, $UPDATE, $SWAP \u0438 \u0442.\u0434. \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442, \u043a\u0430\u043a\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432.<\/p>\n<h3>\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0435\u043b\u0438\u0437\u043d\u044b\u0445 \u0441\u0431\u043e\u0440\u043e\u043a<\/h3>\n<p>\u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438, \u0447\u0442\u043e \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u0431\u044b \u0431\u044b\u043b\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u0432 \u043e\u0434\u043d\u043e \u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u043b\u044e\u0431\u043e\u0439 \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0439 \u043c\u043e\u0433 \u0431\u044b \u0431\u0435\u0437 \u0442\u0440\u0443\u0434\u0430 \u043d\u0430\u0439\u0442\u0438 \u0442\u043e, \u0447\u0442\u043e \u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0441\u0431\u043e\u0440\u043e\u043a \u0431\u044b\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f (release), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0430\u0441\u044c \u043f\u043e\u0441\u043b\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" height=\"332\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3a9\/36d\/922\/3a936d9221702654629058dc1f49906b.png\" data-width=\"1521\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0432\u0441\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0431 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u0430\u0445 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0431\u043e\u0440\u043e\u043a, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0441 \u0444\u043b\u0430\u0433\u043e\u043c release.<\/p>\n<figure class=\"float full-width\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" alt=\"\" title=\"\" height=\"134\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f06\/d04\/47f\/f06d0447f445318bb15e4fbac48d194d.png\" data-width=\"523\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432 \u0432\u0438\u0434\u0435 html \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u0441 \u0441\u0441\u044b\u043b\u043a\u0430\u043c\u0438  \u043d\u0430 \u0440\u0435\u043b\u0438\u0437\u043d\u044b\u0435 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u044b.<\/p>\n<figure class=\"float\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" height=\"118\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3d7\/3b9\/a1f\/3d73b9a1fc74f34a75751f9a825c2a7c.png\" data-width=\"367\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u0442\u0435\u043c \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0431\u043e\u0440\u043a\u0443 \u0440\u0435\u043b\u0438\u0437\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0431\u0438\u0440\u0430\u043b\u0430 \u0432\u0441\u0435 \u0440\u0435\u043b\u0438\u0437\u043d\u044b\u0435 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b \u0441\u043e \u0432\u0441\u0435\u0445 \u0441\u0431\u043e\u0440\u043e\u043a.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"\/img\/image-loader.svg\" height=\"399\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1d9\/f5d\/ad0\/1d9f5dad0c9cb4810de2b7a57c75c3f2.png\" data-width=\"1211\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u0443\u0436\u0435 \u0437\u0434\u0435\u0441\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0439\u0442\u0438 \u0432\u0441\u0435 \u0440\u0435\u043b\u0438\u0437\u043d\u044b\u0435 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b \u0432 \u0432\u0438\u0434\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b html. \u0422\u0430\u043a\u0436\u0435 \u0432 \u043f\u043b\u0430\u043d\u0430\u0445 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043e \u0441\u0431\u043e\u0440\u043a\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430.<\/p>\n<h3>\u041d\u044e\u0430\u043d\u0441\u044b, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c<\/h3>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/001\/104\/d8b\/001104d8b230a7173cecaa21ccf36428.jpg\" width=\"867\" height=\"541\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/001\/104\/d8b\/001104d8b230a7173cecaa21ccf36428.jpg\" data-blurred=\"true\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u0446\u0435\u043b\u044f\u0445 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 usb \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0438 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c. \u041e\u0431\u0440\u0430\u0437 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c dd \u043d\u0430 usb \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c. \u0417\u0434\u0435\u0441\u044c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c \u0447\u0442\u043e \u0432 preseed \u0444\u0430\u0439\u043b\u0435 \u0435\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0442, \u043d\u0430 \u043a\u0430\u043a\u043e\u0439 \u0434\u0438\u0441\u043a \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443:<\/p>\n<pre><code>string debconf-set partman-auto\/disk \/dev\/sda<\/code><\/pre>\n<p>\u0438 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u043e\u0432 \u043c\u0435\u043d\u044f\u043b\u0438\u0441\u044c \u043c\u0435\u0441\u0442\u0430\u043c\u0438 (\u0442.\u0435. \u043d\u0430\u0437\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0448\u0438\u043b\u0438 &#171;\u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0442\u044c&#187; \u0436\u0451\u0441\u0442\u043a\u0438\u0439 \u0434\u0438\u0441\u043a \u043f\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0443 \u0438\u0437 \u0441\u043e\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u0447\u0442\u043e \u0436\u0451\u0441\u0442\u043a\u0438\u0439 \u0434\u0438\u0441\u043a \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 usb \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044f. \u0412\u044b\u0447\u0438\u0441\u043b\u044f\u043b\u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code>d-i partman\/early_command string \\ DISK=$(DSIZE_OLD=0; \\ parted_devices | cut -f1,2 | { while read DISK DSIZE; do \\ if [ $DSIZE -gt $DSIZE_OLD ]; then \\ DEV=$DISK; \\ DSIZE_OLD=$DSIZE; \\ fi; \\ done; \\ echo \"$DEV\"; \\ }); \\ debconf-set partman-auto\/disk \"$DISK\"; \\ debconf-set grub-installer\/bootdev $DISK;<\/code><\/pre>\n<h2>\u0427\u0442\u043e \u0432 \u0438\u0442\u043e\u0433\u0435<\/h2>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0432 \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0431\u044b\u043b\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u044b\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. \u0414\u0430, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u0432\u0430\u0441 \u043d\u0430\u0432\u044f\u0440\u043d\u044f\u043a\u0430 \u0441\u043a\u0430\u0436\u0443\u0442, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0437\u0430\u0447\u0435\u043c \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u044c \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434? \u041d\u043e \u043c\u044b \u0440\u0435\u0448\u0430\u043b\u0438 \u0437\u0430\u0434\u0430\u0447\u0443 \u043e\u043f\u0438\u0440\u0430\u044f\u0441\u044c \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f (\u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438) \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0430\u0441 \u0432\u043f\u043e\u043b\u043d\u0435 \u0443\u0441\u0442\u0440\u043e\u0438\u043b.  \u0412 \u0438\u0442\u043e\u0433\u0435 \u043c\u044b \u0438\u0437\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u043e\u0442 \u043c\u0430\u0441\u0441\u044b \u0440\u0443\u0442\u0438\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. \u0418 \u044d\u0442\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e! \u0412\u0435\u0434\u044c \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u043b\u0435\u043d\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u043d\u0435\u0440\u0432\u043e\u0432!<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/protei\/blog\/651431\/\"> https:\/\/habr.com\/ru\/company\/protei\/blog\/651431\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p><s><abbr title=\"\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434 \u0432\u0430\u043c\u0438 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430  linux \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432?\">\u0441\u0442\u0435\u043c\u0443 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430  linux \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432?&#187;>\u041a\u0430\u043a &#171;\u0440\u0430\u0441\u043a\u0430\u0442\u0430\u0442\u044c&#187; \u043e\u0441\u044c \u043d\u0430 \u043a\u0443\u0447\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432?<\/abbr><\/s> \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434 \u0432\u0430\u043c\u0438 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430  linux \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432? \u0425\u043e\u0434\u0438\u0448\u044c-\u0431\u0440\u043e\u0434\u0438\u0448\u044c \u0441\u0440\u0435\u0434\u0438 \u043b\u0435\u0441\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0448\u044c \u0444\u043b\u0435\u0448\u043a\u0443 \u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0448\u044c \u043d\u0430 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u0431\u043b\u0443\u0434\u0438\u0448\u044c\u0441\u044f&#8230;\u0438\u043b\u0438 \u043d\u0435 \u0441\u043e\u0439\u0434\u0451\u0448\u044c \u0441 \u0443\u043c\u0430 \u0432 \u044d\u0442\u043e\u0439 \u0440\u0443\u0442\u0438\u043d\u0435&#8230;\u0438\u043b\u0438 \u043f\u043e\u0439\u043c\u0451\u0448\u044c \u0447\u0442\u043e \u043f\u043e\u0441\u0435\u0434\u0435\u043b \u0438 \u0437\u0440\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u043d\u0435 \u0442\u043e&#8230;\u0438\u043b\u0438&#8230;\u0427\u0442\u043e-\u0442\u043e \u044f \u0443\u0432\u043b\u0451\u043a\u0441\u044f. \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c google! \u0418 \u043e\u043d \u043e\u0442\u0432\u0435\u0442\u0438\u0442: &#171;\u041f\u0430\u0440\u0435\u043d\u044c, \u043d\u0435 \u043f\u0430\u0440\u044c\u0441\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439 preseed&#187;. \u0418 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0430\u0432, \u0442.\u043a. \u0432 linux \u0435\u0441\u0442\u044c \u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 (\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 preseed.cfg). \u0415\u0441\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e, \u0442\u043e \u0432\u044b \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0435 \u0444\u0430\u0439\u043b \u043e\u0442\u0432\u0435\u0442\u043e\u0432, \u043a\u043b\u0430\u0434\u0451\u0442\u0435 \u0435\u0433\u043e \u0432 \u043d\u0443\u0436\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0435\u0433\u043e \u0434\u043b\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435. \u0410 \u0432\u044b \u0432 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u044c\u0451\u0442\u0435 \u0447\u0430\u0439 \u0438 \u0432\u0441\u0451 \u0442\u0430\u043a\u043e\u0435. \u041d\u043e \u0442\u0430\u043a \u043b\u0438 \u0432\u0441\u0451 \u0433\u043b\u0430\u0434\u043a\u043e? \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u043d\u0435\u0442! Welcome!<\/p>\n<h2>\u041e\u0441\u043d\u043e\u0432\u044b. \u0413\u0434\u0435 \u0431\u0440\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0438 \u0447\u0442\u043e \u0441 \u043d\u0438\u043c \u0434\u0435\u043b\u0430\u0442\u044c?<\/h2>\n<p>\u042d\u0442\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0438\u0437 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 Debian \u0438\u043b\u0438 wiki \u0430\u0441\u0442\u0440\u044b. \u0415\u0441\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e, \u0442\u043e \u0444\u0430\u0439\u043b \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0434\u043b\u044f \u043e\u0441\u043d\u043e\u0432\u044b \u044d\u0442\u043e\u0442:<\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u0440\u0438\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \u043e\u0442\u0432\u0435\u0442\u043e\u0432:<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>#### Contents of the preconfiguration file (for stretch) ### Localization # Preseeding only locale sets language, country and locale. d-i debian-installer\/locale string en_US  # The values can also be preseeded individually for greater flexibility. #d-i debian-installer\/language string en #d-i debian-installer\/country string NL #d-i debian-installer\/locale string en_GB.UTF-8 # Optionally specify additional locales to be generated. #d-i localechooser\/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8  # Keyboard selection. d-i keyboard-configuration\/xkb-keymap select us # d-i keyboard-configuration\/toggle select No toggling  ### Network configuration # Disable network configuration entirely. This is useful for cdrom # installations on non-networked devices where the network questions, # warning and long timeouts are a nuisance. #d-i netcfg\/enable boolean false  # netcfg will choose an interface that has link if possible. This makes it # skip displaying a list if there is more than one interface. d-i netcfg\/choose_interface select auto  # To pick a particular interface instead: #d-i netcfg\/choose_interface select eth1  # To set a different link detection timeout (default is 3 seconds). # Values are interpreted as seconds. #d-i netcfg\/link_wait_timeout string 10  # If you have a slow dhcp server and the installer times out waiting for # it, this might be useful. #d-i netcfg\/dhcp_timeout string 60 #d-i netcfg\/dhcpv6_timeout string 60  # If you prefer to configure the network manually, uncomment this line and # the static network configuration below. #d-i netcfg\/disable_autoconfig boolean true  # If you want the preconfiguration file to work on systems both with and # without a dhcp server, uncomment these lines and the static network # configuration below. #d-i netcfg\/dhcp_failed note #d-i netcfg\/dhcp_options select Configure network manually  # Static network configuration. # # IPv4 example #d-i netcfg\/get_ipaddress string 192.168.1.42 #d-i netcfg\/get_netmask string 255.255.255.0 #d-i netcfg\/get_gateway string 192.168.1.1 #d-i netcfg\/get_nameservers string 192.168.1.1 #d-i netcfg\/confirm_static boolean true # # IPv6 example #d-i netcfg\/get_ipaddress string fc00::2 #d-i netcfg\/get_netmask string ffff:ffff:ffff:ffff:: #d-i netcfg\/get_gateway string fc00::1 #d-i netcfg\/get_nameservers string fc00::1 #d-i netcfg\/confirm_static boolean true  # Any hostname and domain names assigned from dhcp take precedence over # values set here. However, setting the values still prevents the questions # from being shown, even if values come from dhcp. d-i netcfg\/get_hostname string unassigned-hostname d-i netcfg\/get_domain string unassigned-domain  # If you want to force a hostname, regardless of what either the DHCP # server returns or what the reverse DNS entry for the IP is, uncomment # and adjust the following line. #d-i netcfg\/hostname string somehost  # Disable that annoying WEP key dialog. d-i netcfg\/wireless_wep string # The wacky dhcp hostname that some ISPs use as a password of sorts. #d-i netcfg\/dhcp_hostname string radish  # If non-free firmware is needed for the network or other hardware, you can # configure the installer to always try to load it, without prompting. Or # change to false to disable asking. #d-i hw-detect\/load_firmware boolean true  ### Network console # Use the following settings if you wish to make use of the network-console # component for remote installation over SSH. This only makes sense if you # intend to perform the remainder of the installation manually. #d-i anna\/choose_modules string network-console #d-i network-console\/authorized_keys_url string http:\/\/10.0.0.1\/openssh-key #d-i network-console\/password password r00tme #d-i network-console\/password-again password r00tme  ### Mirror settings # If you select ftp, the mirror\/country string does not need to be set. #d-i mirror\/protocol string ftp d-i mirror\/country string manual d-i mirror\/http\/hostname string http.us.debian.org d-i mirror\/http\/directory string \/debian d-i mirror\/http\/proxy string  # Suite to install. #d-i mirror\/suite string testing # Suite to use for loading installer components (optional). #d-i mirror\/udeb\/suite string testing  ### Account setup # Skip creation of a root account (normal user account will be able to # use sudo). #d-i passwd\/root-login boolean false # Alternatively, to skip creation of a normal user account. #d-i passwd\/make-user boolean false  # Root password, either in clear text #d-i passwd\/root-password password r00tme #d-i passwd\/root-password-again password r00tme # or encrypted using a crypt(3)  hash. #d-i passwd\/root-password-crypted password [crypt(3) hash]  # To create a normal user account. #d-i passwd\/user-fullname string Debian User #d-i passwd\/username string debian # Normal user's password, either in clear text #d-i passwd\/user-password password insecure #d-i passwd\/user-password-again password insecure # or encrypted using a crypt(3) hash. #d-i passwd\/user-password-crypted password [crypt(3) hash] # Create the first user with the specified UID instead of the default. #d-i passwd\/user-uid string 1010  # The user account will be added to some standard initial groups. To # override that, use this. #d-i passwd\/user-default-groups string audio cdrom video  ### Clock and time zone setup # Controls whether or not the hardware clock is set to UTC. d-i clock-setup\/utc boolean true  # You may set this to any valid setting for $TZ; see the contents of # \/usr\/share\/zoneinfo\/ for valid values. d-i time\/zone string US\/Eastern  # Controls whether to use NTP to set the clock during the install d-i clock-setup\/ntp boolean true # NTP server to use. The default is almost always fine here. #d-i clock-setup\/ntp-server string ntp.example.com  ### 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\/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, \/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<\/code><\/pre>\n<\/div>\n<\/details>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-329559","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/329559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=329559"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/329559\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=329559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=329559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=329559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}