관리-도구
편집 파일: photon.cpython-39.pyc
a '�Dgn � @ sl d dl Z d dlmZmZmZmZmZ d dlmZ d dlm Z d dlmZm Z e �e�ZG dd� dej�ZdS )� N)�distros�helpers�net�subp�util)�PackageList)� rhel_util)� PER_ALWAYS�PER_INSTANCEc @ s� e Zd ZdZdZdZdZdeed�iZdZdd � Z d$d d�Z dd � Zd%dd�Ze d�dd�Zdd� Zdd� Zd&dd�Zdd� Zdd� Zd'dd�Zd d!�d"d#�ZdS )(�Distroz /etc/hostnamez/etc/systemd/network/z/etc/locale.confz/etc/systemd/resolved.confZnetworkd)Zresolv_conf_fn�network_conf_dirTc C s0 t j�| |||� t�|�| _d| _dg| _d S )NZphoton� systemctl)r r �__init__r ZRunners�_runnerZosfamilyZinit_cmd)�self�nameZcfg�paths� r �</usr/lib/python3.9/site-packages/cloudinit/distros/photon.pyr s zDistro.__init__c C sr t �d|� z<tj||d�\}}|r>t �d||� d||fW S d||fW S tjyl t�t d|� Y dS 0 d S )NzAttempting to run: %s)�capturez(Running %s resulted in stderr output: %sTFzCommand %s failed)TNN)�LOG�debugr �warningZProcessExecutionErrorr Zlogexc)r �cmdr �out�errr r r �exec_cmd( s �zDistro.exec_cmdc C s: d}| j �|d�}t�d||� |s,t�� S t�d� d S )N�disable_fallback_netcfgTz%s value is: %szJSkipping generate_fallback_config. Rely on PhotonOS default network config)�_cfg�getr r r �generate_fallback_config�info)r �keyr r r r r 6 s �zDistro.generate_fallback_configNc C s4 |s | j }d|i}t�||� g d�}| �|� d S )N�LANG)r Zrestartzsystemd-localed)�systemd_locale_conf_fn�rhutilZupdate_sysconfig_filer )r �localeZout_fnZ locale_cfgr r r r �apply_localeD s �zDistro.apply_locale)�pkglistc C s | j d|d� d S )N�install)�pkgs)�package_command)r r( r r r �install_packagesV s zDistro.install_packagesc C s� |r|� d�rt�||� nnd }t�| jdd�}|rP| �ddt|�g�\}}}n&| �dddt|�g�\}}}t�d� |r�t� d||f� d S ) N�/previous-hostname�create_hostname_fileTZhostnamectlzset-hostnamez--transientz7create_hostname_file is False; hostname set transientlyz3Error while setting hostname: %s Given hostname: %s) �endswithr Z write_fileZget_cfg_option_boolr r �strr r! r )r �hostname�filename�retr. �_outr r r r �_write_hostnameZ s6 ���� ���zDistro._write_hostnamec C s | � | j�}| j|fS )N)�_read_hostname�systemd_hostname_conf_fn)r Zsys_hostnamer r r �_read_system_hostname{ s zDistro._read_system_hostnamec C s@ |r|� d�rt�|��� S | �ddg�\}}}|r<|�� S |S )Nr- r1 z-f)r/ r Zload_text_file�stripr )r r2 �defaultZ_retr Z_errr r r r6 s zDistro._read_hostnamec C s dS )Nz 127.0.1.1r )r r r r �_get_localhost_ip� s zDistro._get_localhost_ipc C s t j|| �|�d� d S )N)�tzZtz_file)r Zset_etc_timezoneZ _find_tz_file)r r<