관리-도구
편집 파일: rhel.cpython-39.pyc
a ����'�Dg�����������������������@���st���d�dl�Z�d�dlZd�dlmZmZmZmZ�d�dlmZm Z �d�dl mZ�d�dlm Z mZ�e��e�ZG�dd��dej�ZdS�)�����N)�distros�helpers�subp�util)�PackageList� rhel_util)�HostnameConf)� PER_ALWAYS�PER_INSTANCEc�������������������@���s����e�Zd�ZdZdZdZdZdZdZdZ dZ dZd Zd ddd dd�d�iZ dZdd��Zed�dd�Zdd��Zd-dd�Zd.dd�Zdd ��Zd!d"��Zd/d#d$�Zd%d&��Zd0d'd(�Zd)d*�d+d,�ZdS�)1�Distroz/etc/sysconfig/clockz/etc/sysconfig/i18nz/etc/locale.confz/etc/sysconfig/networkz /etc/hostnamez/etc/localtimez/usr/libexecz/var/lib/NetworkManagerzdhclient-[\w-]+\.leaseZ sysconfigzetc/sysconfig/networkz'%(base)s/network-scripts/ifcfg-%(name)sz'%(base)s/network-scripts/route-%(name)sz(%(base)s/network-scripts/route6-%(name)s)Zipv4Zipv6)ZcontrolZiface_templatesZroute_templatesTc�����������������C���s<���t�j�|�|||��t�|�|�_d|�_d|�_d�|�_d|d<�d�S�)NZredhatzen_US.UTF-8ZsshdZssh_svcname) r���r����__init__r���ZRunners�_runnerZosfamily�default_locale� system_locale)�self�nameZcfg�paths��r����:/usr/lib/python3.9/site-packages/cloudinit/distros/rhel.pyr���4���s����zDistro.__init__)�pkglistc�����������������C���s���|�j�d|d��d�S�)N�install)�pkgs)�package_command)r���r���r���r���r����install_packages?���s����zDistro.install_packagesc�����������������C���s"���|�j�s|����|�_�|�j�r|�j�S�|�jS�)z8Return the default locale if set, else use system locale)r����_read_system_localer���)r���r���r���r���� get_localeB���s���� �zDistro.get_localeNc�����������������C���s6���|�����r|s|�j}n |s|�j}d|i}t�||��d�S�)N�LANG)�uses_systemd�systemd_locale_conf_fn�locale_conf_fnr����update_sysconfig_file)r����localeZout_fnZ locale_cfgr���r���r����apply_localeN���s�����zDistro.apply_localer���c�����������������C���sX���|�����r|�j}n|�j}|s&td|���tj�|�rTt�|�\}}||v�rP||�S�dS�dS�)z.Read system default locale setting, if presentzInvalid path: %sN) r���r���r���� ValueError�os�path�existsr����read_sysconfig_file)r���ZkeynameZ locale_fn�_exists�contentsr���r���r���r���Z���s����zDistro._read_system_localec�����������������C���s����|�����r8|�d�r8td�}|�|��t�|t|�d��nh|�����r�t�|�jdd�}|rjt � ddt|�g��q�t � dddt|�g��t �d ��nd |i}t� ||��d�S�)N�/previous-hostname��i����create_hostname_fileTZhostnamectlzset-hostnamez--transientz7create_hostname_file is False; hostname set transiently�HOSTNAME)r����endswithr���Zset_hostnamer���Z write_file�strZget_cfg_option_boolZ_cfgr����LOG�infor���r ���)r����hostname�filenameZconfr,���Zhost_cfgr���r���r����_write_hostnamek���s.���� �����zDistro._write_hostnamec�����������������C���s$���|�����r|�j}n|�j}||��|�fS�)N)r����systemd_hostname_conf_fn�hostname_conf_fn�_read_hostname)r���Zhost_fnr���r���r����_read_system_hostname����s����zDistro._read_system_hostnamec�����������������C���sx���|�����r |�d�r t�|����S�|�����rRt�dg�\}}|���}t|�rL|S�|S�n"t�|�\}}d|v�rp|d�S�|S�d�S�)Nr*���r2���r-���) r���r.���r���Zload_text_file�stripr����lenr���r'���)r���r3����default�outZ_errr(���r)���r���r���r���r7�������s����zDistro._read_hostnamec�����������������C���sZ���|���|�}|����r.t�|�j��t�||�j��n(dt|�i}t�|�j |��t� ||�j��d�S�)NZZONE)Z _find_tz_filer���r���Zdel_file�tz_local_fnZsym_linkr/���r���r ���� clock_conf_fn�copy)r���ZtzZtz_fileZ clock_cfgr���r���r����set_timezone����s���� �zDistro.set_timezonec�����������������C���s����|d�u�rg�}t��d�r(t�d��dg}nt�d��ddg}|�d��|r^t|t�r^|�|��n|rvt|t�rv|�|��|�|��t � d|�}|�|��t�j�|dd ��d�S�) NZdnfz Using DNF for package managementz Using YUM for package managementZyumz-tz-yz%s-%sF)Zcapture)r����whichr0����debug�append� isinstancer/����list�extendr���Zexpand_package_list)r���Zcommand�argsr����cmdr���r���r���r���r�������s ���� zDistro.package_commandF)�forcec����������������C���s$���|�j�jd|�jdg|rtntd��d�S�)Nzupdate-sourcesZ makecache)Zfreq)r ����runr���r ���r ���)r���rI���r���r���r����update_package_sources����s���� �zDistro.update_package_sources)N)r���)N)NN)�__name__� __module__�__qualname__r>���r���r���Znetwork_conf_fnr6���r5���r=���Zusr_lib_execZdhclient_lease_directoryZdhclient_lease_file_regexZrenderer_configsZprefer_fqdnr���r���r���r���r"���r���r4���r8���r7���r@���r���rK���r���r���r���r���r������s<������ !r���)Zloggingr$���Z cloudinitr���r���r���r���Zcloudinit.distrosr���r���Z"cloudinit.distros.parsers.hostnamer���Zcloudinit.settingsr ���r ���Z getLoggerrL���r0���r���r���r���r���r����<module> ���s���