{9 z d dl Z d dlmZ d dlmZmZmZ d dlmZm Z dZ
dZ G d d Z G d d
Z
dS ) N)ConfigParser)run_commandget_file_linesExternalProgramFailed)AnyStrListz /etc/sysctl.d/90-cloudlinux.confz/etc/sysctl.confc z e Zd ZdZdZedfdZd Zed Z d Z
ed Zd Z
d
Zd ZddZd
ZdS )
SysCtlConfz(
For reading params from sysctl
z/sbin/sysctlTc @ || _ | j d| _ || _ dS )z
:param config_file: path to user defined systcl config file
:param mute_errors: T/F value to define should we skip errors or not (used in cldiag checker)
.tmpN)config_fileconfig_tmp_filemute_errors)selfr
r s /builddir/build/BUILDROOT/alt-python27-cllib-3.4.36-1.el9.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/sysctl.py__init__zSysCtlConf.__init__ s. '"&"2888& c j | j dg} t | dS # t $ r | j s Y dS w xY w)z>
Apply all params from sysctl.d & sysctl.conf
z--systemN)
SYSCTL_BINr r r )r cmds r
_apply_allzSysCtlConf._apply_all$ sf
O
$ #
s 22c n | j dd|g}t |d \ }}}| }|S )zM
Read sysctl param
:param name: name of sysctl param
z-bz-nT)r return_full_output)r r strip)clsnamer ret_codestd_outstd_invalues r _read_sysctl_paramzSysCtlConf._read_sysctl_param6 sP
N
%0#%
%
%
!'6
r c j t | j dd 5 }d | }| | | t j | ddd n# 1 swxY w Y t j | j | j dS )zm
Write sysctl params to sysctl.conf
:param lines: content for writing to sysctl.conf
wutf-8encoding N)
openr joinwriteflushosfsyncfilenorenamer
)r linessysctl_confs r _write_params_to_filez SysCtlConf._write_params_to_fileL s $&g
>
>
> ++GGENNEe$$$H[''))*** + + + + + + + + + + + + + + +
$&(899999s A%B B
B
c \ | d d S )N=r )splitr )lines r _get_param_name_from_linez$SysCtlConf._get_param_name_from_lineY s% zz#q!'')))r c . t | j }|S )zW
Read content from sysctl.conf
:return: lines from sysctl.conf
)r r
)r results r _read_sysctl_confzSysCtlConf._read_sysctl_conf_ s 011
r c j }t fd|D }|S )Nc 3 J K | ]} | k V d S )N)r7 ).0r6
param_namer s r