%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /snap/core/17212/usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/
Upload File :
Create Path :
Current File : //snap/core/17212/usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/debian.cpython-35.pyc



"�T`i'�@sddlZddlmZddlmZddlmZddlmZddlmZddlm	Z	ddl
mZeje
�Zd#ZddddiZdZdZdZGdd�dej�Zdd�Zddd�Zeddd�Zddd �Zdd!d"�ZdS)$�N)�distros)�helpers)�log)�subp)�util)�HostnameConf)�PER_INSTANCE�apt-get�(--option=Dpkg::Options::=--force-confold�*--option=Dpkg::options::=--force-unsafe-io�--assume-yes�--quiet�commandZ	eatmydata�enabled�autoa8# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
z'/etc/network/interfaces.d/50-cloud-initz/etc/default/localec	@s#eZdZdZddddiZddeddeiddedd	ed
diiZdd
�Zdd�Zdddd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd d!�Zd"d#�Zd$d%�Zddd&d'�Zd(d)�Zd*d+�ZdS),�Distroz
/etc/hostnameZeniz'/etc/network/interfaces.d/50-cloud-initZnetplanz/etc/netplan/50-cloud-init.yamlZeni_pathZ
eni_headerZnetplan_pathZnetplan_headerZpostcmdsTcCsJtjj||||�tj|�|_d|_d|_d|_dS)NZdebianzen_US.UTF-8)	rr�__init__rZRunners�_runnerZosfamily�default_locale�
system_locale)�self�nameZcfg�paths�r�:/usr/lib/python3/dist-packages/cloudinit/distros/debian.pyr;s
		zDistro.__init__cCs,|jst�|_|jr%|jS|jS)z9Return the default locale if set, else use default locale)r�read_system_localer)rrrr�
get_localeEs	zDistro.get_localeN�LANGc	Cs�|st}|std��|j�}tjj|�}|jrKdnd}|j�|j�kps|ps|}|p�|p�|}|r�t||d|�nt	j
d||j|�|r�t||d|�d|_dS)ziApply specified locale to system, regenerate if specified locale
            differs from system default.zFailed to provide locale value.FT�keynamez9System has '%s=%s' requested '%s', skipping regeneration.N)�LOCALE_CONF_FN�
ValueErrorr�os�path�existsr�lower�regenerate_locale�LOG�debug�update_locale_conf)	r�locale�out_fnrZ
distro_localeZconf_fn_existsZsys_locale_unsetZ
need_regenZ	need_confrrr�apply_localePs$
zDistro.apply_localecCs!|j�|jdd|�dS)NZinstall�pkgs)�update_package_sources�package_command)r�pkglistrrr�install_packagesns
zDistro.install_packagescCst�|j|�S)N)�_maybe_remove_legacy_eth0Z_supported_write_network_config)rZ	netconfigrrr�_write_network_configrszDistro._write_network_configcCsYd}x |D]}|dkr
d}q
W|rBtjj|d�Stjj||�SdS)NF�allTz--all)rrZ_bring_up_interface�_bring_up_interfaces)rZdevice_namesZuse_all�drrrr4vs

zDistro._bring_up_interfacescCsjd}y|j|�}Wntk
r-YnX|s@td�}|j|�tj|t|�d�dS)N�i�)�_read_hostname_conf�IOErrorrZset_hostnamerZ
write_file�str)rZ
your_hostnamer*�confrrr�_write_hostname�s

zDistro._write_hostnamecCs|j|j�}|j|fS)N)�_read_hostname�hostname_conf_fn)rZsys_hostnamerrr�_read_system_hostname�szDistro._read_system_hostnamecCs#ttj|��}|j�|S)N)rr�	load_file�parse)r�filenamer:rrrr7�s
zDistro._read_hostname_confcCsEd}y|j|�}|j}Wntk
r6YnX|sA|S|S)N)r7�hostnamer8)rrA�defaultrBr:rrrr<�s

zDistro._read_hostnamecCsdS)Nz	127.0.1.1r)rrrr�_get_localhost_ip�szDistro._get_localhost_ipcCs#tjd|d|j|��dS)N�tzZtz_file)rZset_etc_timezoneZ
_find_tz_file)rrErrr�set_timezone�szDistro.set_timezonec	Csv|dkrg}tjj�}d|d<|jdt�}t|jdtd�|jdtd��}|jt|jdt	���|r�t
|t�r�|j|�n"|r�t
|t�r�|j|�|}|dkr�|jdd	�}|j|�t
jd
|�}|j|�t
jdtjdd
|dj|�fdtjd|fdd|ddi�dS)NZnoninteractiveZDEBIAN_FRONTENDZapt_get_wrapperrrZapt_get_commandZupgradeZapt_get_upgrade_subcommandzdist-upgradez%s=%sZlogfunc�msgzapt-%s [%s]� �func�args�kwargs�env�captureF)r!�environ�copyZ
get_option�APT_GET_WRAPPER�_get_wrapper_prefix�get�extend�list�APT_GET_COMMAND�
isinstancer9�appendrZexpand_package_listZlog_timer&r'�joinr)	rrrJr,�eZwcfg�cmdZsubcmdr/rrrr.�s0

		

	zDistro.package_commandcCs&|jjd|jdgdt�dS)Nzupdate-sources�updateZfreq)rZrunr.r)rrrrr-�szDistro.update_package_sourcescCs
tj�S)N)rZget_dpkg_architecture)rrrr�get_primary_arch�szDistro.get_primary_arch)�__name__�
__module__�__qualname__r=Znetwork_conf_fn�NETWORK_FILE_HEADERZrenderer_configsrrr+r0r2r4r;r>r7r<rDrFr.r-r\rrrrr-s.
	



$rcCsnt|t�rt|�g}tj|�sbt|�j�dkrf|drftj|d�rf|SgSdS)Nrr)rVr9rZis_truer$rZwhich)rZ�moderrrrQ�s"rQz"/etc/network/interfaces.d/eth0.cfgcCs�tjj|�sdSd}yltj|�}ddg}dd�|j�D�}||krytj|�d|}n|d|}Wn tk
r�|d	|}YnXtj	|�dS)
aaUbuntu cloud images previously included a 'eth0.cfg' that had
       hard coded content.  That file would interfere with the rendered
       configuration if it was present.

       if the file does not exist do nothing.
       If the file exists:
         - with known content, remove it and warn
         - with unknown content, leave it and warn
    Nz(Dynamic networking config may not apply.z	auto eth0ziface eth0 inet dhcpcSs+g|]!}|jd�s|j��qS)�#)�
startswith�strip)�.0�frrr�
<listcomp>�s	z-_maybe_remove_legacy_eth0.<locals>.<listcomp>zremoved %s with known contentsz* '%s' exists with user configured content.z" %s exists, but could not be read.)
r!r"r#rr?�
splitlinesZdel_file�	Exceptionr&Zwarning)r"Zbmsg�contentsZknown_contents�linesrGrrrr1�s


r1rcCsbd}|std|��tjj|�r^tj|�}tj|�}|j|d�}|S)z.Read system default locale setting, if presentr6zInvalid path: %s)r r!r"r#rr?Zload_shell_contentrR)�sys_pathrZsys_valZlocale_contentZsys_defaultsrrrr�srcCsDtjd|||�tjdd|d||fgdd�dS)zUpdate system locale configz%Updating %s with locale setting %s=%sz
update-localez--locale-file=z%s=%srMFN)r&r'r)r)rlrrrrr(
s
	

r(cCsV|j�d
kr)tjd||�dStjd|�tjd|gdd	�dS)z�
    Run locale-gen for the provided locale and set the default
    system variable `keyname` appropriately in the provided `sys_path`.

    �c�c.utf-8�posixz$%s=%s does not require rengenerationNzGenerating locales for %sz
locale-genrMF)rmrnzposix)r$r&r'r)r)rlrrrrr%s
r%)r	r
rrr
)r!Z	cloudinitrrrZloggingrrZ"cloudinit.distros.parsers.hostnamerZcloudinit.settingsrZ	getLoggerr]r&rUrPr`ZNETWORK_CONF_FNrrrQr1rr(r%rrrr�<module>s,	�	

Zerion Mini Shell 1.0