| Current Path : /usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/ |
| Current File : //usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/debian.cpython-38.pyc |
U
�Adp5 � @ s� d dl Z d dlZd dlZd dlmZmZ d dlmZ d dlmZm Z d dl
mZ d dlm
Z
e�e�ZdZdZd d
d�ZdZd
ZdZddddgZG dd� dej�Zdd� Zd!dd�Zedfdd�Zd"dd�Zd#dd �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--quietZ 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/localez/var/lib/dpkg/lock-frontendz/var/lib/dpkg/lockz/var/cache/apt/archives/lockz/var/lib/apt/lists/lockc s� e Zd ZdZddd�Zed ed�ed edd �d�Zd
d� Zdd
� Zd.dd�Z dd� Z
� fdd�Zdd� Zdd� Z
dd� Zd/dd�Zdd� Zd d!� Zd0d"d#�Zefd$d%�Zd1d&d'�Zd(d)� Zd*d+� Zd,d-� Z� ZS )2�Distroz
/etc/hostnamer
z/etc/netplan/50-cloud-init.yaml)�eni�netplanr )Zeni_pathZ
eni_headerr T)Znetplan_pathZnetplan_headerZpostcmdsc C s4 t j�| |||� t�|�| _d| _d| _d | _d S )NZdebianzen_US.UTF-8) r r �__init__r ZRunners�_runnerZosfamily�default_locale�
system_locale)�self�nameZcfg�paths� r �:/usr/lib/python3/dist-packages/cloudinit/distros/debian.pyr N s
zDistro.__init__c C s | j st� | _ | j r| j S | jS )z9Return the default locale if set, else use default locale)r �read_system_localer �r r r r �
get_localeX s �zDistro.get_localeN�LANGc C s� |st }|std��| �� }tj�|�}| jr2dnd}|�� |�� kpN| pN|}| p\|p\|}|rrt|||d� nt �
d|| j|� |r�t|||d� d| _dS )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 �localeZout_fnr Z
distro_localeZconf_fn_existsZsys_locale_unsetZ
need_regenZ need_confr r r �apply_localed s0 ���zDistro.apply_localec C s | � � | jd|d� d S )N�install)�pkgs)�update_package_sources�package_command)r �pkglistr r r �install_packages� s zDistro.install_packagesc s t � t� j||�S �N)�_maybe_remove_legacy_eth0�super�_write_network_state)r �args�kwargs�� __class__r r r4 � s zDistro._write_network_statec C sT d }z| � |�}W n tk
r& Y nX |s4td�}|�|� t�|t|�d� d S )N� i� )�_read_hostname_conf�IOErrorr Zset_hostnamer Z
write_file�str)r �hostname�filename�confr r r �_write_hostname� s
zDistro._write_hostnamec C s | � | j�}| j|fS r1 )�_read_hostname�hostname_conf_fn)r Zsys_hostnamer r r �_read_system_hostname� s zDistro._read_system_hostnamec C s t t�|��}|�� |S r1 )r r � load_file�parse)r r>