Подробный гайд по установке шрифтов Puppet в Astra Linux - Часть 4

Подробный гайд по установке шрифтов Puppet в Astra Linux: ручная настройка через fontconfig и автоматизация развертывания с помощью Puppet-манифестов.

2026.11.04                  


Подробный гайд по установке шрифтов Puppet в Astra Linux - Часть 4Подробный гайд по установке шрифтов Puppet в Astra Linux - Часть 4

10. Установка шрифтов через .deb-пакет с помощью Puppet

Для Astra Linux более «системный» и аккуратный способ — собрать или использовать .deb-пакет со шрифтами, например fonts-puppet.

Преимущества:

  • пакет учитывается в dpkg;
  • проще удалять;
  • легче соблюдать требования к целостности системы;
  • можно устанавливать через apt/dpkg.

10.1. Пример структуры .deb-пакета

Упрощённо пакет может устанавливать файлы в:

/usr/share/fonts/truetype/puppet/


или:

/usr/local/share/fonts/puppet/

После установки пакет может запускать триггер fontconfig.


10.2. Пример манифеста для .deb

Предположим, файл пакета лежит в модуле:

profile/files/fonts-puppet_1.0-1_all.deb

Тогда источник будет:

puppet:///modules/profile/fonts-puppet_1.0-1_all.deb

Манифест:

class profile::fonts::puppet_deb {

  $deb_file = '/var/cache/puppet/fonts-puppet_1.0-1_all.deb'

  package { 'fontconfig':
    ensure => installed,
  }

  file { $deb_file:
    ensure => file,
    source => 'puppet:///modules/profile/fonts-puppet_1.0-1_all.deb',
  }

  package { 'fonts-puppet':
    ensure   => installed,
    provider => 'dpkg',
    source   => $deb_file,
    require  => [
      File[$deb_file],
      Package['fontconfig'],
    ],
  }

  exec { 'profile_fonts_puppet_deb_fc_cache':
    command     => '/usr/bin/fc-cache -f',
    path        => ['/usr/bin', '/bin'],
    refreshonly => true,
    subscribe   => Package['fonts-puppet'],
  }
}

Применение:

sudo puppet apply -e 'include profile::fonts::puppet_deb' \
  --modulepath /etc/puppetlabs/code/environments/production/modules

11. Особенности Astra Linux

11.1. Права доступа

В Astra Linux важно, чтобы файлы шрифтов были доступны на чтение всем пользователям.

Минимально правильные права:

Каталоги: 0755
Файлы:    0644
Владелец: root
Группа:   root

Проверка:

ls -ld /usr/local/share/fonts/puppet
ls -l /usr/local/share/fonts/puppet

11.2. Astra Linux Special Edition и контроль целостности

Если используется Astra Linux Special Edition с включёнными механизмами защиты, контролем целостности, замкнутой программной средой или другими политиками безопасности:

  • системные каталоги могут быть защищены от изменений;
  • установка сторонних шрифтов может требовать согласования;
  • предпочтительнее использовать подписанные пакеты .deb;
  • пользовательская установка в ~/.local/share/fonts часто менее конфликтна, если политика безопасности разрешает пользовательские файлы.

Не рекомендуется отключать механизмы безопасности только ради установки шрифтов, если это не согласовано с политикой организации.


11.3. Если нет sudo

Выполняйте команды от root:

su -

Затем:

fc-cache -fv

и другие команды без sudo.


12. Быстрая шпаргалка

Установить шрифт для всех пользователей

sudo mkdir -p /usr/local/share/fonts/puppet

find ~/puppet-fonts -type f \( -iname '*.ttf' -o -iname '*.otf' -o -iname '*.ttc' \) \
  -exec sudo install -o root -g root -m 0644 {} /usr/local/share/fonts/puppet/ \;

sudo chmod 0755 /usr/local/share/fonts/puppet
sudo fc-cache -fv

fc-list | grep -i puppet

Установить шрифт только для пользователя

mkdir -p ~/.local/share/fonts/puppet

find ~/puppet-fonts -type f \( -iname '*.ttf' -o -iname '*.otf' -o -iname '*.ttc' \) \
  -exec cp {} ~/.local/share/fonts/puppet/ \;

fc-cache -fv

fc-list | grep -i puppet

Проверить имя шрифта

fc-list | grep -i puppet
fc-match "Puppet"
fc-query -f 'family=%{family}, style=%{style}\n' /usr/local/share/fonts/puppet/Puppet-Regular.ttf

Проверить поддержку русского языка

fc-list :lang=ru family | grep -i puppet

Удалить системно установленный шрифт

sudo rm -rf /usr/local/share/fonts/puppet
sudo fc-cache -f

13. Важно

Для обычной установки шрифтов Puppet в Astra Linux достаточно:

sudo mkdir -p /usr/local/share/fonts/puppet
sudo cp *.ttf /usr/local/share/fonts/puppet/
sudo chmod 0644 /usr/local/share/fonts/puppet/*
sudo chmod 0755 /usr/local/share/fonts/puppet
sudo fc-cache -fv
fc-list | grep -i puppet



Если нужно автоматизировать установку через Puppet, используйте модуль с ресурсами:

  • package для fontconfig;
  • file для копирования шрифтов;
  • exec для fc-cache.

Если у вас включённые средства защиты в Astra Linux Special Edition, лучше использовать доверенные .deb-пакеты или установку в пользовательский каталог при соблюдении политик безопасности.


Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

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