HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/self/root/usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/
Upload File :
Current File : //proc/self/root/usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/debian.cpython-311.pyc
�

܍~cp5���ddlZddlZddlZddlmZmZddlmZddlmZm	Z	ddl
mZddlm
Z
eje��ZdZdZd	d
d�ZdZd
ZdZgd�ZGd�dej��Zd�Zdd�Zedfd�Zdd�Zdd�ZdS)�N)�distros�helpers)�log)�subp�util)�HostnameConf)�PER_INSTANCE�)zapt-getz(--option=Dpkg::Options::=--force-confoldz*--option=Dpkg::options::=--force-unsafe-ioz--assume-yesz--quiet�	eatmydata�auto)�command�enableda8# 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}
�'/etc/network/interfaces.d/50-cloud-initz/etc/default/locale)z/var/lib/dpkg/lock-frontendz/var/lib/dpkg/lockz/var/cache/apt/archives/lockz/var/lib/apt/lists/lockc����eZdZdZddd�Zeded�ededd	�d�Zd
�Zd�Zdd�Z	d�Z
�fd�Zd�Zd�Z
d�Zdd�Zd�Zd�Zdd�Zefd�Zdd�Zd�Zd�Zd�Z�xZS) �Distroz
/etc/hostnamerz/etc/netplan/50-cloud-init.yaml)�eni�netplanr)�eni_path�
eni_headerrT)�netplan_path�netplan_header�postcmdsc��tj�||||��tj|��|_d|_d|_d|_dS)N�debianzen_US.UTF-8)	rr�__init__r�Runners�_runner�osfamily�default_locale�
system_locale)�self�name�cfg�pathss    �:/usr/lib/python3/dist-packages/cloudinit/distros/debian.pyrzDistro.__init__NsN�������d�C��7�7�7���u�-�-��� ��
�+���!�����c�`�|jst��|_|jr|jn|jS)z9Return the default locale if set, else use default locale)r �read_system_localer�r!s r%�
get_localezDistro.get_localeXs:���!�	6�!3�!5�!5�D��#'�"4�M�D���$�:M�	
r&N�LANGc���|st}|std���|���}tj�|��}|jrdnd}|���|���kp|p|}|p|p|}|rt|||���n"t�
d||j|��|rt|||���d|_dSdS)zeApply 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_fnr-�
distro_locale�conf_fn_exists�sys_locale_unset�
need_regen�	need_confs	         r%�apply_localezDistro.apply_localeds$���	$�#�F��	@��>�?�?�?����)�)�
������/�/��$(�$6�@�5�5�D���L�L�N�N�m�1�1�3�3�3�
 �!�!�
 ��	�
'�&�H�*�H�8H�	��	��f�f�g�>�>�>�>�>��I�I�K���"��	
�
�
��	&��v�v�w�?�?�?�?�!%�D����	&�	&r&c�\�|���|�d|���dS)N�install)�pkgs)�update_package_sources�package_command)r!�pkglists  r%�install_packageszDistro.install_packages�s3���#�#�%�%�%����Y�W��5�5�5�5�5r&c�R��t��t��j|i|��S�N)�_maybe_remove_legacy_eth0�super�_write_network_state)r!�args�kwargs�	__class__s   �r%rKzDistro._write_network_state�s+���!�#�#�#�+�u�w�w�+�T�<�V�<�<�<r&c���d}	|�|��}n#t$rYnwxYw|std��}|�|��t	j|t
|��d��dS)N�i�)�_read_hostname_conf�IOErrorr�set_hostnamer�
write_file�str)r!�hostname�filename�confs    r%�_write_hostnamezDistro._write_hostname�s�����	��+�+�H�5�5�D�D���	�	�	��D�	�����	$���#�#�D����(�#�#�#����#�d�)�)�U�3�3�3�3�3s��
'�'c�H�|�|j��}|j|fSrH)�_read_hostname�hostname_conf_fn)r!�sys_hostnames  r%�_read_system_hostnamezDistro._read_system_hostname�s&���*�*�4�+@�A�A���%�|�4�4r&c�p�ttj|����}|���|SrH)rr�	load_file�parse)r!rWrXs   r%rQzDistro._read_hostname_conf�s+���D�N�8�4�4�5�5���
�
�����r&c�n�d}	|�|��}|j}n#t$rYnwxYw|s|S|SrH)rQrVrR)r!rW�defaultrVrXs     r%r[zDistro._read_hostname�sZ����	��+�+�H�5�5�D��}�H�H���	�	�	��D�	�����	��N��s�!�
.�.c��dS)Nz	127.0.1.1�r)s r%�_get_localhost_ipzDistro._get_localhost_ip�s���{r&c�X�tj||�|�����dS)N)�tz�tz_file)r�set_etc_timezone�
_find_tz_file)r!rhs  r%�set_timezonezDistro.set_timezone�s,��� �B��0B�0B�2�0F�0F�G�G�G�G�G�Gr&c�J�|�t}|D]�}tj�|��s�"t	|d��5}	tj|t
jt
jz��n#t$rYddd��dSwxYw	ddd��n#1swxYwY��dS)ztDetermines if another process holds any apt locks.

        If all locks are clear, return True else False.
        N�wFT)
�APT_LOCK_FILESr0r1r2�open�fcntl�lockf�LOCK_EX�LOCK_NB�OSError)r!�
lock_files�lock�handles    r%�_apt_lock_availablezDistro._apt_lock_available�s��
��'�J��	!�	!�D��7�>�>�$�'�'�
���d�C���
!�F�!��K���
��
�(E�F�F�F�F���!�!�!� �	
!�
!�
!�
!�
!�
!�
!�
!�
!�!����G�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!��
�ts5�B�,A-�,B�-
B�7B�B�B�B	�B	c��tj��}t�d��tj��|z
|k�r|���stjd���Dt�d��d|�dd�|d���d�}t
jtj|tj|�	��S#tj	$rF|���r�t�d
��tjd��YnwxYwtj��|z
|k��td���)z�Wait for apt install to complete.

        short_cmd: Name of command like "upgrade" or "install"
        subp_kwargs: kwargs to pass to subp
        zWaiting for apt lock�zapt lock availablezapt-z [� rL�])�logfunc�msg�funcrMz*Another process holds apt lock. Waiting...zCould not get apt lock)�timer5r6ry�sleep�joinr�log_timer�ProcessExecutionError�TimeoutError)r!�	short_cmd�subp_kwargs�timeout�
start_time�log_msgs      r%�_wait_for_apt_commandzDistro._wait_for_apt_command�sP���Y�[�[�
��	�	�(�)�)�)��i�k�k�J�&��0�0��+�+�-�-�
��
�1�
�
�
���I�I�*�+�+�+�
��I�I��H�H�[��0�1�1�1�1����}��I����&�	������-�
�
�
��+�+�-�-����	�	�F�G�G�G��
�1�
�
�
�
�
�
����#�i�k�k�J�&��0�0�@�3�4�4�4s�A
C�AD/�.D/c�>�|�g}tj���}d|d<|�dt��}t|�dtd��|�dtd����}|�t|�dt������|r+t|t��r|�|��n,|r*t|t��r|�|��|}|dkr|�d	d
��}|�|��tjd|��}|�|��|�|||dd
����dS)aYRun the given package command.

        On Debian, this will run apt-get (unless APT_GET_COMMAND is set).

        command: The command to run, like "upgrade" or "install"
        args: Arguments passed to apt itself in addition to
              any specified in APT_GET_COMMAND
        pkgs: Apt packages that the command will apply to
        N�noninteractive�DEBIAN_FRONTEND�apt_get_wrapperr
r�apt_get_command�upgrade�apt_get_upgrade_subcommandzdist-upgradez%s=%sF)rL�env�capture)r�r�)r0�environ�copy�
get_option�APT_GET_WRAPPER�_get_wrapper_prefix�get�extend�list�APT_GET_COMMAND�
isinstancerU�appendr�expand_package_listr�)	r!r
rLrB�e�wcfg�cmd�subcmdrEs	         r%rDzDistro.package_command�s����<��D��J�O�O����/��
�����0�/�B�B��!��H�H�Y��	� :�;�;��H�H�Y��	� :�;�;�
�
��
	�
�
�4����(9�?�K�K�L�L�M�M�M��	�J�t�S�)�)�	��J�J�t�����
�	�j��t�,�,�	��J�J�t�������i����_�_�,�n���F�	�
�
�6�����*�7�D�9�9���
�
�7�����"�"��!$�Q�5�A�A�	#�	
�	
�	
�	
�	
r&c�X�|j�d|jdgt���dS)Nzupdate-sources�update)�freq)r�runrDr	r)s r%rCzDistro.update_package_sources$s<�������� �
�J��		�	
�	
�	
�	
�	
r&c�(�tj��SrH)r�get_dpkg_architecturer)s r%�get_primary_archzDistro.get_primary_arch,s���)�+�+�+r&c�x�tj�|||||��|�dd��dS)N�restartz
console-setup)rr�
set_keymap�manage_service)r!�layout�model�variant�optionss     r%r�zDistro.set_keymap/s>����!�!�$���w��H�H�H�	
���I��7�7�7�7�7r&)Nr+rH)NN)�__name__�
__module__�__qualname__r\�network_conf_fn�NETWORK_FILE_HEADER�renderer_configsrr*r?rFrKrYr^rQr[rfrlry�APT_LOCK_WAIT_TIMEOUTr�rDrCr�r��
__classcell__)rNs@r%rr<s��������&��8�4���O�(��.�-�
�
�
,�I�6�1��
�
�
�
��"�"�"�

�

�

�"&�"&�"&�"&�H6�6�6�=�=�=�=�=�4�4�4�5�5�5����
	�	�	�	����H�H�H�����&/D�*5�*5�*5�*5�X,
�,
�,
�,
�\
�
�
�,�,�,�8�8�8�8�8�8�8r&rc�
�t|t��rt|��g}tj|��sGt|�����dkr$|drtj|d��r|SgS)Nrr)r�rUr�is_truer3r�which)r��modes  r%r�r�7st���#�s�����3�x�x�j���|�D�����D�	�	�����V�#�#��A��#�4�:�c�!�f�3E�3E�#��
��	r&�"/etc/network/interfaces.d/eth0.cfgc�p�tj�|��sdSd}	tj|��}ddg}d�|���D��}||krtj|��d|z}n|d|zz}n#t$r|d|zz}YnwxYwt�	|��dS)	aOUbuntu 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 dhcpc�`�g|]+}|�d���|�����,S)�#)�
startswith�strip)�.0�fs  r%�
<listcomp>z-_maybe_remove_legacy_eth0.<locals>.<listcomp>UsA��
�
�
��A�L�L��<M�<M�
�
�G�G�I�I�
�
�
r&zremoved %s with known contentsz* '%s' exists with user configured content.z" %s exists, but could not be read.)
r0r1r2rr`�
splitlines�del_file�	Exceptionr5�warning)r1�bmsg�contents�known_contents�linesrs      r%rIrICs����7�>�>�$������5�D�A��>�$�'�'��%�'=�>��
�
�'�2�2�4�4�
�
�
���N�"�"��M�$����2�T�9�C�C��E��L�L�C����A�A�A��9�D�@�@����A�����K�K������s�AB�B�Br+c���d}|std|z���tj�|��r>t	j|��}t	j|��}|�|d��}|S)z.Read system default locale setting, if presentrPzInvalid path: %s)r/r0r1r2rr`�load_shell_contentr�)�sys_pathr-�sys_val�locale_content�sys_defaultss     r%r(r(csr���G��8��+�h�6�7�7�7�	�w�~�~�h���0����1�1���.�~�>�>���"�"�7�B�/�/���Nr&c��t�d|||��tjdd|z|�d|��gd���dS)zUpdate system locale configz%Updating %s with locale setting %s=%sz
update-localez--locale-file=�=F�r�N)r5r6r�r8r�r-s   r%r7r7qsi���I�I�/��7�F����	�I���x�'��w�w���'�	
�
�
�����r&c���|���dvrt�d||��dSt�d|��tjd|gd���dS)z�
    Run locale-gen for the provided locale and set the default
    system variable `keyname` appropriately in the provided `sys_path`.

    )�czc.utf-8�posixz$%s=%s does not require rengenerationNzGenerating locales for %sz
locale-genFr�)r3r5r6rr�s   r%r4r4�sk���|�|�~�~�2�2�2��	�	�8�'�6�J�J�J����I�I�)�6�2�2�2��I�|�V�$�e�4�4�4�4�4�4r&)r�)r+)rqr0r��	cloudinitrrr�loggingrr�"cloudinit.distros.parsers.hostnamer�cloudinit.settingsr	�	getLoggerr�r5r�r�r�r��NETWORK_CONF_FNr.rorr�rIr(r7r4rer&r%�<module>r�s���
����	�	�	�	�����&�&�&�&�&�&�&�&�$�$�$�$�$�$� � � � � � � � �;�;�;�;�;�;�+�+�+�+�+�+��g���!�!�����������
��<��&������x8�x8�x8�x8�x8�W�^�x8�x8�x8�v	�	�	�����@!/����������5�5�5�5�5�5r&