Spec-Zone.ru › Chef 16

Ресурс grub_conf

[править на GitHub]

Grub — это загрузчик операционной системы на платформе Linux, используемый для загрузки и передачи управления ядру операционной системы, после чего это ядро инициализирует остальную часть операционной системы. Используйте этот ресурс проверки Chef InSpec для проверки настроек конфигурации загрузчика, которые определены в файле конфигурации.

Доступность

Установка

Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.

Версия

Этот ресурс впервые стал доступен в версии v1.0.0 InSpec.

Синтаксис

Блок ресурса grub_conf объявляет список настроек в файле grub.conf.

describe grub_conf('path', 'kernel') do
  its('setting') { should eq 'value' }
end

или:

describe grub_conf('path') do
  its('default') { should eq '0' } #
  its('setting') { should eq 'value' }
end

где

  • 'service_name' — это служба, указанная в файле grub.conf
  • 'path' — это путь к файлу grub.conf
  • 'kernel' определяет ядро по умолчанию (используя 'default') или конкретное ядро; 'default' определяет позицию в списке ядер, в котором определено ядро по умолчанию, т. е. should eq '0' для первого перечисленного ядра или 'path', 'default' для использования ядра по умолчанию, как указано в файле grub.conf
  • 'value' — это ожидаемое значение

Примеры

Следующие примеры показывают, как использовать этот ресурс проверки Chef InSpec.

Проверка файла grub.conf

Файл конфигурации Grub, расположенный по адресу /etc/grub.conf, аналогичен следующему:

# grub.conf generated by anaconda
#
# Note:  You do not need to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/hda6
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Enterprise Linux ES (2.6.32-573.7.1.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-573.7.1.el6.x86_64 ro root=/dev/hda6
    initrd /initrd-2.6.32-573.7.1.el6.x86_64.img
title Red Hat Enterprise Linux ES (2.6.32-358.14.1.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-358.14.1.el6.x86_64 ro root=/dev/hda6 ramdisk_size=400000
    initrd /initrd-2.6.32-358.14.1.el6.x86_64.img

Этот файл определяет две версии RedHat Enterprise Linux, при этом версия 2.6.32-573.7.1.el6.x86_64 указана в качестве значения по умолчанию.

Следующий тест проверяет ядро, гарантирует, что это ядро является ядром по умолчанию, его начальный диск RAM (initrd) и тайм-аут:

describe grub_conf('/etc/grub.conf',  'default') do
  its('kernel') { should include '/vmlinuz-2.6.32-573.7.1.el6.x86_64' }
  its('initrd') { should include '/initrd-2.6.32-573.7.1.el6.x86_64.img' }
  its('default') { should_not eq '1' }
  its('timeout') { should eq '10' }
end

Следующий тест проверяет ramdisk_size для ядра, отличного от ядра по умолчанию:

describe grub_conf('/etc/grub.conf',  'Red Hat Enterprise Linux ES (2.6.32-358.14.1.el6.x86_64)') do
   its('kernel') { should include 'ramdisk_size=400000' }
 end

Проверка файла конфигурации и конфигурации загрузки

describe grub_conf('/etc/grub.conf',  'default') do
  its('kernel') { should include '/vmlinuz-2.6.32-573.7.1.el6.x86_64' }
  its('initrd') { should include '/initramfs-2.6.32-573.el6.x86_64.img=1' }
  its('default') { should_not eq '1' }
  its('timeout') { should eq '5' }
end

Проверка конкретного ядра

grub_conf('/etc/grub.conf',  'CentOS (2.6.32-573.12.1.el6.x86_64)') do
  its('kernel') { should include 'audit=1' }
end

Сопоставители

Полный список доступных сопоставителей см. на нашей странице сопоставителей.

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/grub_conf/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API