Автор Тема: утилита control  (Прочитано 291 раз)

Оффлайн mr.Z

  • Начинающий
  • *
  • Сообщений: 4
    • Email
утилита control
« : 09.09.2022 19:20:11 »
Добрый день. Создаю докер контейнер на основе altlinux. В процессе написания нашёл  /etc/php/control.d/ кто-нибудь знает как эти профили можно применять? Нашёл что это относится к улетите control. Прошу помощи.
На wiki https://www.altlinux.org/Php/profiles
примеры не работают или я не правильно использую.
# control         
at              public          (public restricted atdaemon)
crontab         public          (public restricted)
find: '/bin/mount': No such file or directory
find: '/bin/umount': No such file or directory
mount           unknown         (public wheelonly unprivileged restricted)
pam_access      disabled        (enabled disabled)
pam_mktemp      enabled         (enabled disabled)
passwdqc-enforce users           (everyone users)
ping            public          (public netadmin restricted public_caps netadmin_caps)
system-auth     local           (krb5 krb5_ccreds ldap local multi pkcs11 winbind)
system-policy   local           (local remote)
tcb_chkpwd      tcb             (traditional tcb restricted)
write           public          (public restricted)
Так же есть файл
/etc/control.d/phpfunctions
Наверно его нужно использовать. По идее это скрипт но у него нед прав на исполнение. И как его вызвать из control не понимаю. Предполагаю что нужно изучить скрпит.
« Последнее редактирование: 10.09.2022 06:10:36 от mr.Z »

Оффлайн mr.Z

  • Начинающий
  • *
  • Сообщений: 4
    • Email
Re: утилита control
« Ответ #1 : 10.09.2022 06:53:12 »
В скрипте
# backward compatibility for php versions prior to 5.3.0:
# if PHP_MAJOR is not specified, PHP_VERSION used instead
Я как понял там давно его обновляли. Из-за чего он не работает.
Придётся подразобраться и если получится обновить его то опубликую. Или освою утилиту control и профиль для php сделаю.

Оффлайн mr.Z

  • Начинающий
  • *
  • Сообщений: 4
    • Email
Re: утилита control
« Ответ #2 : 06.10.2022 10:30:27 »
Скачал из старых дистрибутивов пакет https://mirror.yandex.ru/altlinux/p6/branch/x86_64/RPMS.classic/apache-mod_php5-control-5.3.25.20130509-alt0.M60P.1.x86_64.rpm.
Там глянул скритп и по аналогии сделал.

#!/bin/sh -euf

readonly PHP_SAPI="cli"
readonly PHP_MAJOR="7.4"
readonly PHP_VERSION="7.4.30"
readonly PHP_LIBDIR="/usr/lib64/php"
#readonly PHP_SAPI="php_base"
. /etc/control.d/phpfunctions
for f in `ls -1 "/etc/php/control.d/"`; do
    . "/etc/php/control.d/$f"
done
## Real action
php_control $1

потом поправил в /etc/control.d/phpfunctions 8 сроку
readonly PHP_BIN="/usr/bin/phpinfo7-${PHP_VERSION:?}"
после чего
control php_cli list
 alt_default dev_relaxed dev_restricted production_relaxed production_restricted public
но при этом когда ввожу например
control php_cli alt_default
изменения в конфиг не вносятся.