Общий ресурс /var/calculate/remote

Известно, что все клиенты Calculate Linux Desktop при вводе компьютера в домен (CDS) монтируют сетевой диск /var/calculate/remote. В этой статье я постараюсь максимально раскрыть назначение этого сетевого диска.

Calculate Linux изначально использует модель клиент-сервер, из-за чего некоторые стандартные пути, используемые в Gentoo для ресурсов, заменены на новые, относительно сетевого диска. Изначально этот диск был расположен в /usr/calculate/share. Для монтирования сетевого диска на клиентских машинах нужно было выполнить дополнительные настройки. В качестве сетевой файловой системы использовалась NFS. Начиная с Calculate Linux 10.9/11.0 этот ресурс полностью заменен на /var/calculate/remote и при вводе компьютера в домен, монтируется утилитами Calculate 2. Перенос расположения диска был вызван двумя причинами: утилиты Calculate 2 были разбиты на несколько пакетов с изменением путей, сетевой диск стал монтировался используя cifs.

Общие ресурсы по типу:

  • linux, distfiles, packages, stages и т.д.
    Общие файлы к дистрибутивов, пакетов программ и т.д.
  • calculate.env/calculate2.env
    Здесь можно изменить дефолтные значения переменных утилит Calculate 2.
  • templates
    Шаблоны утилит Calculate 2, начиная от настроек системы, заканчивая настройками рабочего стола.
  • ресурсы администратора
    Сетевой диск может использоваться для других типов файлов, в т.ч. скриптов администрирования.

Примеры

1. Установка пакета

Установим на наиболее быстром ПК пакет:

emerge -bk firefox

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

Установим на любом другом его же из бинарного пакета:

emerge -K firefox

Примечание: установка произведется только из бинарного пакета.

2. Использование переменных Calculate 2

Выполняя установку, cl-install настраивает сервер времени (NTP) на хост ntp0.zenon.net. Если в вашей локальной сети есть свой сервер времени, изменим стандартное поведение установщика. Для этого в файл /var/calculate/remote/calculate2.env добавим следующую запись:

[install]
os_install_ntp=ntp.local.mydomain.ru

В качестве сетевого имени сервера реальное имя, либо IP.

3. Установка нового образа Calculate Linux Desktop

Создайте директорию и скопируйте туда образ дистрибутива /var/calculate/remote/linux и выполните на клиентской машине:

cl-install -d /dev/sdaX

Где, вместо sdaX укажите свободный раздел жесткого диска.

4. Настройка открытого ключа на клиентских машинах

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

/var/calculate/remote/templates/install/.calculate_directory
/var/calculate/remote/templates/install/merge/openssh/.calculate_directory
/var/calculate/remote/templates/install/merge/openssh/authorized_keys.local.mydomain.ru

Содержимое /var/calculate/remote/templates/install/.calculate_directory:

 # Calculate append=skip cl_name==calculate-install

Содержимое @
/var/calculate/remote/templates/install/merge/openssh/.calculate_directory@:

 # Calculate belong()!=&&pkg(net-misc/openssh)>=5.3 path=/root name=.ssh

Содержимое /var/calculate/remote/templates/install/merge/openssh/authorized_keys.local.mydomain.ru:

 # Calculate append=replace chmod=0600 chown=root:root os_install_net_domain==local.mydomain.ru name=authorized_keys
ssh-rsa AAAB3NzaC1yc2 ...

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

Ссылки по теме

Для монтирования сетевого диска на клиентских машинах нужно было выполнить дополнительные >>настройки. В качестве сетевой файловой системы использовалась NFS
XХМ :slight_smile: а мне казалось что всегда был cifs - каким боком NFS

И да и нет - до cifs был smb. А /usr/calculate/share вообще никак не монтировался. Его нужно было самостоятельно настраивать. Мы например использовали NFS.