Базовая конфигурация

Установка языка системы#

Настройки языка системы хранятся в файле /etc/locale.conf и могут быть изменены командой localectl. Эти настройки считываются демоном systemd при загрузке системы.

Отображение текущего состояния языка#

Чтобы отобразить текущее состояние языка, выполните следующую команду:

$ localectl status

Пример вывода команды:

# localectl status
  System Locale: LANG=ru_RU.UTF-8
      VC Keymap: us
     X11 Layout: us,ru
    X11 Variant: ,
    X11 Options: grp:alt_shift_toggle

Список доступных языков#

Чтобы отобразить доступные языки, выполните следующую команду:

$ localectl list-locales

Вы можете проверить это, перечислив все варианты русского языка с помощью следующей команды:

localectl list-locales | grep ru
ru_RU.UTF-8
ru_UA.UTF-8

Установка языка#

Чтобы настроить языковую среду, выполните от имени пользователя root следующую команду. В этой команде locale указывает тип языка, который необходимо установить. Запустите команду localectl list-locales, чтобы получить диапазон возможных значений. Измените значение необходимым образом.

# localectl set-locale LANG=locale

Например, чтобы использовать “Русский язык в кодировке UTF-8”, выполните от имени пользователя root следующую команду:

# localectl set-locale LANG=ru_RU.UTF-8

ПРИМЕЧАНИЕ.

Внеся изменение, войдите в систему снова или выполните команду source /etc/locale.conf от имени пользователя root, чтобы обновить файл конфигурации, и тогда изменение вступит в силу.

Настройка раскладки клавиатуры#

Настройки раскладки клавиатуры хранятся в файле /etc/locale.conf и могут быть изменены командой localectl. Эти настройки считываются на раннем этапе загрузки демоном systemd.

Отображение текущих настроек#

Чтобы отобразить текущие настройки раскладки клавиатуры, выполните следующую команду:

$ localectl status

Пример вывода команды:

# localectl status
  System Locale: LANG=ru_RU.UTF-8
      VC Keymap: us
     X11 Layout: us,ru
    X11 Variant: ,
    X11 Options: grp:alt_shift_toggle

Список доступных раскладок клавиатуры#

Чтобы получить список всех доступных раскладок клавиатуры, которые можно настроить в Скейлер ОС, выполните следующую команду:

$ localectl list-keymaps

Например, команда вывода раскладок для русского языка выглядит так:

# localectl list-keymaps | grep ru
cz-rus
dvorak-ru
ge-ru
ng-yoruba
ru
ru-cp1251
ru-cv_latin
ru-ms
ru-yawerty
ru1
ru2
ru3
ru4
ru_win
ruwin_alt-CP1251
ruwin_alt-KOI8-R
ruwin_alt-UTF-8
ruwin_alt_sh-UTF-8
ruwin_cplk-CP1251
ruwin_cplk-KOI8-R
ruwin_cplk-UTF-8
ruwin_ct_sh-CP1251
ruwin_ct_sh-KOI8-R
ruwin_ct_sh-UTF-8
ruwin_ctrl-CP1251
ruwin_ctrl-KOI8-R
ruwin_ctrl-UTF-8
sunt5-ru

Настройка раскладки клавиатуры#

Чтобы задать раскладку клавиатуры, выполните следующую команду от имени пользователя root. В этой команде map указывает раскладку клавиатуры, которую необходимо установить. Чтобы получить диапазон возможных значений, выполните команду localectl list-keymaps. Измените значение необходимым образом.

$ localectl set-keymap map

Раскладка клавиатуры будет аналогичным образом применяться к графическим пользовательским интерфейсам.

После этого можно проверить, применена ли установка, узнав состояние:

# localectl status
  System Locale: LANG=ru_RU.UTF-8
      VC Keymap: us
     X11 Layout: us,ru
    X11 Variant: ,
    X11 Options: grp:alt_shift_toggle

Установка даты и времени#

В этом разделе описано задание системной даты, времени и часового пояса с помощью команд timedatectl, date и hwclock.

Использование команды timedatectl#

Отображение текущей даты и времени#

Чтобы отобразить текущую дату и время, выполните следующую команду:

$ timedatectl

Пример вывода команды:

# timedatectl
              Local time: Пт 2023-04-28 10:33:01 MSK
          Universal time: Пт 2023-04-28 07:33:01 UTC
                RTC time: Пт 2023-04-28 07:33:01
               Time zone: Europe/Moscow (MSK, +0300)
System clock synchronized: yes
             NTP service: active
         RTC in local TZ: no

Синхронизация системных часов с удаленным сервером#

Ваши системные часы могут автоматически синхронизироваться с удаленным сервером, используя протокол NTP (Network Time Protocol — протокол сетевого времени). Для включения или отключения NPT выполните от имени пользователя root следующую команду. Логическое значение (boolean) равно yes (да) или no (нет), что характеризует включение или отключение NTP для автоматической синхронизации системных часов. Измените значение необходимым образом.

ПРИМЕЧАНИЕ.
Если на удаленном NTP-сервере включена автоматическая синхронизация системных часов, вы не сможете изменить дату и время вручную. Если вам необходимо вручную изменить дату или время, убедитесь, что автоматическая синхронизация системных часов с помощью NTP отключена. Отключить службу NTP можно командой timedatectl set-ntp no.

# timedatectl set-ntp boolean

Например, чтобы включить автоматическую удаленную синхронизацию времени, выполните следующую команду:

# timedatectl set-ntp yes

Изменение текущей даты#

ПРИМЕЧАНИЕ.
Перед изменением даты убедитесь, что автоматическая синхронизация системных часов с помощью NTP отключена.

Для изменения текущей даты выполните от имени пользователя root следующую команду. В этой команде YYYY указывает год, MM — месяц, а DD — день. Измените эти значения необходимым образом.

# timedatectl set-time YYYY-MM-DD

Например, чтобы изменить текущую дату на 28 апреля 2023 г., от имени пользователя root выполните следующую команду:

# timedatectl set-time '2023-04-28'

Изменение текущего времени#

ПРИМЕЧАНИЕ.
Перед изменением времени убедитесь, что автоматическая синхронизация системных часов с помощью NTP отключена.

Чтобы изменить текущее время, выполните от имени пользователя root следующую команду. В этой команде HH указывает час, MM — минуты, а SS — секунды. Измените эти значения необходимым образом.

# timedatectl set-time HH:MM:SS

Например, чтобы изменить текущее время на 15:57:24, выполните следующую команду:

# timedatectl set-time 15:57:24

Изменение часового пояса#

Чтобы вывести список всех доступных часовых поясов, выполните следующую команду:

$ timedatectl list-timezones

Чтобы изменить текущий часовой пояс, выполните от имени пользователя root следующую команду. В этой команде time_zone указывает устанавливаемый часовой пояс. Измените значение необходимым образом.

# timedatectl set-timezone time\_zone

Предположим, вы находитесь в Европе и хотите определить, какой часовой пояс к вам ближе всего. Для этого можно вывести список всех доступных часовых поясов в Европе, используя следующую команду:

# timedatectl list-timezones | grep Europe
Europe/Amsterdam
Europe/Andorra
Europe/Astrakhan
Europe/Athens
Europe/Belfast
Europe/Belgrade
Europe/Berlin
Europe/Bratislava
Europe/Brussels
Europe/Bucharest
Europe/Budapest
Europe/Busingen
Europe/Chisinau

и т.д.

Чтобы изменить часовой пояс на Europe/Moscowi (Европа/Москва), выполните следующую команду:

# timedatectl set-timezone Europe/Moscow

Использование команды date#

Отображение текущей даты и времени#

Чтобы отобразить текущую дату и время, выполните следующую команду:

$ date

По умолчанию команда date отображает местное время. Чтобы отобразить время в формате всемирного координированного времени (UTC), запустите команду с параметром командной строки –utc или -u:

$ date --utc

Вы также можете настроить формат отображаемых сведений, указав в командной строке параметр +“format”:

$ date +"format"

Таблица 1. Параметры форматирования

Параметр формата Описание
%H Час в формате HH (например, 17)
%M Минуты в формате MM (например, 37)
%S Секунды в формате SS (например, 25)
%d День месяца в формате DD (например, 15)
%m Месяц в формате MM (например, 07)
%Y Год в формате YYYY (например, 2023)
%Z Аббревиатура часового пояса (например, CEST)
%F Полная дата в формате YYYY-MM-DD (например, 2023-04-28). Этот параметр эквивалентен %Y-%m-%d.
%T Полное время в формате HH:MM:SS (например, 18:30:25). Этот параметр эквивалентен %H:%M:%S.

Примеры команд и выходных данных:

  • Отображение текущей даты и времени:

    $ date 
    Пт 28 апр 2023 10:41:32 MSK
    
  • Отображение текущей даты и времени в формате UTC:

    $ date --utc
    Пт 28 апр 2023 07:44:07 UTC
    
  • Настройка вывода команды date:

    $ date +"%Y-%m-%d %H:%M"
    2023-04-28 13:22
    

Изменение текущего времени#

Чтобы изменить текущее время, запустите команду date с параметром –set или -s от имени пользователя root. В этой команде HH указывает час, MM — минуты, а SS — секунды. Измените эти значения необходимым образом.

# date --set HH:MM:SS

По умолчанию команда date устанавливает местное время. Чтобы вместо этого установить системные часы в формате UTC, запустите команду с параметром командной строки –utc или -u:

# date --set HH:MM:SS --utc

Например, чтобы изменить текущее время на 23:26:00, выполните от имени пользователя root следующую команду:

# date --set 23:26:00

Изменение текущей даты#

Чтобы изменить текущую дату, запустите команду с параметром командной строки –set или -s от имени пользователя root. В этой команде YYYY указывает год, MM — месяц, а DD — день. Измените эти значения необходимым образом.

# date --set YYYY-MM-DD

Например, чтобы изменить текущую дату на 28 апреля 2023 г., от имени пользователя root выполните следующую команду:

# date --set 2023-04-28

Использование команды hwclock#

Команда hwclock позволяет установить часы реального времени (RTC).

Часы реального времени и системные часы#

Операционная система Linux выделяет следующие типы часов.

  • Системные часы: часы текущего ядра Linux.
  • Аппаратные RTC-часы: аппаратные часы материнской платы с питанием от батареи. Эти часы можно установить в BIOS с помощью параметра Standard BIOS Feature (Стандартный компонент BIOS).

При запуске Linux считывает RTC и устанавливает время системных часов на основе времени RTC.

Отображение текущей даты и времени#

Чтобы отобразить текущую дату и время RTC, выполните следующую команду от имени пользователя root:

# hwclock

Пример вывода команды:

# hwclock
2023-04-28 10:18:42.528948+08:00

Установка даты и времени#

Чтобы изменить дату и время на текущем оборудовании, запустите от имени пользователя root следующую команду. В этой команде dd указывает день, mm — месяц, yyyy — год, HH — час, а MM — минуты. Измените эти значения необходимым образом.

# hwclock --set --date "dd mm yyyy HH:MM"

Например, чтобы изменить текущее время на 21:17 и дату на 28 апреля 2023г., выполните следующую команду:

# hwclock --set --date "28 Apr 2023 21:17" --utc

Установка kdump#

В этом разделе описана установка зарезервированной памяти для kdump и изменение параметров в файле конфигурации kdump.

Установка зарезервированной памяти для kdump#

Формат параметров зарезервированной памяти для kdump#

Память, зарезервированная для kdump, должна быть добавлена к загрузочным аргументам в файле /boot/efi/EFI/openEuler/grub.cfg (режим загрузки UEFI) или /boot/grub2/grub.cfg (традиционный режим загрузки). Зарезервированная память для kdump была добавлена в выпуски openEuler по умолчанию и может быть изменена по мере необходимости. После добавления или изменения загрузочных аргументов перезапустите систему, чтобы настройки вступили в силу. Параметры памяти, зарезервированной для kdump, имеют следующий формат:

Загрузочный аргумент Описание Значение по умолчанию Примечания
crashkernel=x Если физический размер памяти меньше 4 ГБ, то для kdump резервируется объем памяти x. Значение по умолчанию — 512 МБ для x86. Этот метод конфигурации используется, только если доступный размер памяти меньше 4 ГБ. В этом случае убедитесь, что доступно достаточно последовательных блоков памяти для резервирования.
crashkernel=x@y Для kdump резервируется объем памяти x по начальному адресу y. Не используется. Убедитесь, что объем памяти x по начальному адресу y не зарезервирован для других модулей.
crashkernel=x,high Если физический размер памяти меньше 4 ГБ, резервируется память объемом 256 МБ. Если физический размер памяти больше 4 ГБ, для kdump резервируется объем памяти x. Значение по умолчанию — 1024M,high для ARM64. Если размер памяти меньше 4 ГБ, то убедитесь, что физический размер доступных последовательных блоков памяти составляет как минимум 256 МБ, а если больше 4 ГБ, — как минимум x. Фактический объем зарезервированной памяти составит 256 МБ + x.
crashkernel=x,low crashkernel=y,high Если физический размер памяти меньше 4 ГБ, для kdump резервируется объем памяти x, а если больше 4 ГБ — объем памяти y. Не используется. Если физический размер памяти меньше 4 ГБ, то убедитесь, что физический размер доступных последовательных блоков памяти составляет как минимум x, а если больше 4 ГБ — как минимум y.

Рекомендуемая зарезервированная память#

Рекомендуемое решение Параметр резервирования Описание
Общее решение crashkernel=2048M,high Если размер памяти меньше 4 ГБ, для kdump резервируется 256 МБ. Если размер памяти больше 4 ГБ, для kdump резервируется 2048 МБ. Итого: 256 + 2048 МБ.
Экономичное решение crashkernel=1024M,high Если размер памяти меньше 4 ГБ, для kdump резервируется 256 МБ. Если размер памяти больше 4 ГБ, для kdump резервируется 1024 МБ. Итого: 256 + 1024 МБ. В случаях, когда размер системной памяти меньше 512 ГБ, не рекомендуется создавать дамп файлов kdump по сети. В сценариях с виртуальными машинами зарезервированную память можно уменьшить. Рекомендуется установить для crashkernel значение 512M или 256M,high.

ПРИМЕЧАНИЕ.

Если дамп файлов kdump по сети не создается, необходимо настроить файловую систему kdump без упаковки сетевых драйверов. Для загрузки сетевого драйвера требуется большой объем памяти. В результате зарезервированной для kdump памяти может оказаться недостаточно, и в kdump возможен сбой. В связи с этим сетевые драйверы рекомендуется отключить.

Отключение сетевых драйверов#

В файле конфигурации kdump /etc/kdump.conf можно использовать параметры dracut для установки специализированного драйверного модуля. Вы можете настроить сетевой драйвер на специальный список драйверов, чтобы загрузка драйвера файловой системой kdump не производилась. После изменения файла конфигурации перезапустите службу kdump, чтобы изменения вступили в силу. Установите параметры dracut следующим образом:

dracut_args --omit-drivers "mdio-gpi usb_8dev et1011c rt2x00usb bcm-phy-lib mac80211_hwsim rtl8723be rndis_host hns3_cae amd vrf rtl8192cu mt76x02-lib int51x1 ppp_deflate team_mode_loadbalance smsc911x aweth bonding mwifiex_usb hnae dnet rt2x00pci vaser_pci hdlc_ppp marvell rtl8xxxu mlxsw_i2c ath9k_htc rtl8150 smc91x cortina at803x rockchip cxgb4 spi_ks8995 mt76x2u smsc9420 mdio-cavium bnxt_en ch9200 dummy macsec ice mt7601u rtl8188ee ixgbevf net1080 liquidio_vf be2net mlxsw_switchx2 gl620a xilinx_gmii2rgmii ppp_generic rtl8192de sja1000_platform ath10k_core cc770_platform realte igb c_can_platform c_can ethoc dm9601 smsc95xx lg-vl600 ifb enic ath9 mdio-octeon ppp_mppe ath10k_pci cc770 team_mode_activebackup marvell10g hinic rt2x00lib mlx4_en iavf broadcom igc c_can_pci alx rtl8192se rtl8723ae microchip lan78xx atl1c rtl8192c-common almia ax88179_178a qed netxen_nic brcmsmac rt2800usb e1000 qla3xxx mdio-bitbang qsemi mdio-mscc-miim plx_pci ipvlan r8152 cx82310_eth slhc mt76x02-usb ems_pci xen-netfront usbnet pppoe mlxsw_minimal mlxsw_spectrum cdc_ncm rt2800lib rtl_usb hnae3 ath9k_common ath9k_hw catc mt76 hns_enet_drv ppp_async huawei_cdc_ncm i40e rtl8192ce dl2 qmi_wwan mii peak_usb plusb can-dev slcan amd-xgbe team_mode_roundrobin ste10Xp thunder_xcv pptp thunder_bgx ixgbe davicom icplus tap tun smsc75xx smsc dlci hns_dsaf mlxsw_core rt2800mmi softing uPD60620 vaser_usb dp83867 brcmfmac mwifiex_pcie mlx4_core micrel team macvlan bnx2 virtio_net rtl_pci zaurus hns_mdi libcxgb hv_netvsc nicvf mt76x0u teranetics mlxfw cdc_eem qcom-emac pppox mt76-usb sierra_net i40evf bcm87xx mwifiex pegasus rt2x00mmi sja1000 ena hclgevf cnic cxgb4vf ppp_synctty iwlmvm team_mode_broadcast vxlan vsockmon hdlc_cisc rtl8723-common bsd_comp fakelb dp83822 dp83tc811 cicada fm10 8139t sfc hs geneve hclge xgene-enet-v2 cdc_mbim hdlc asix netdevsim rt2800pci team_mode_random lxt ems_usb mlxsw_pci sr9700 mdio-thunder mlxsw_switchib macvtap atlantic cdc_ether mcs7830 nicpf mdi peak_pci atl1e cdc_subset ipvtap btcoexist mt76x0-common veth slip iwldvm bcm7xxx vitesse netconsole epic100 myri10ge r8169 qede microchip_t1 liquidi bnx2x brcmutil mwifiex_sdi mlx5_core rtlwifi vmxnet3 nlmon hns3 hdlc_raw esd_usb2 atl2 mt76x2-common iwlwifi mdio-bcm-unimac national ath rtwpci rtw88 nfp rtl8821ae fjes thunderbolt-net 8139cp atl1 mscc vcan dp83848 dp83640 hdlc_fr e1000e ipheth net_failover aquantia rtl8192ee igbvf rocker intel-xway tg3" --omit "ramdisk network ifcfg qemu-net" --install "chmod" --nofscks