%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /snap/core18/2887/usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/
Upload File :
Create Path :
Current File : //snap/core18/2887/usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/bsd.cpython-36.pyc

3

�Ad��@s�ddlZddlmZmZddlmZmZddlmZddlm	Z	m
Z
mZddlm
Z
ddlmZeje�ZGdd	�d	ej�ZdS)
�N)�List�Optional)�distros�helpers)�log)�net�subp�util)�	bsd_utils)�
BSDNetworkingcs�eZdZUeZdZdZdZdddd�ZgZ	e
e	gZe
egZ
e
e
dZee
edZee
e�fdd	�Zd
d�Zd#dd
�Zdd�Zdd�Zd$dd�Zdd�Zdd�Zdd�Zd%dd�Zdd�Zd&dd�Zeed �d!d"�Z�Z S)'�BSDz/etc/rc.confz
root:wheelz-Hz-pz-r)ZhaltZpoweroffZrebootNcs6t�j|||�tj|�|_d|d<tj�j�|_dS)NZsshdZssh_svcname)	�super�__init__rZRunnersZ_runner�platform�system�lowerZosfamily)�self�nameZcfg�paths)�	__class__��7/usr/lib/python3/dist-packages/cloudinit/distros/bsd.pyrszBSD.__init__cCs|j|j�}|j|fS)N)�_read_hostname�hostname_conf_fn)rZsys_hostnamerrr�_read_system_hostname(szBSD._read_system_hostnamecCs
tjd�S)N�hostname)r
Zget_rc_config_value)r�filename�defaultrrrr,szBSD._read_hostnamecCstd��dS)Nz&Return list cmd to add member to group)�NotImplementedError)r�member_nameZ
group_namerrr�_get_add_member_to_group_cmd/sz BSD._get_add_member_to_group_cmdcCstjd|dd�dS)Nrz/etc/rc.conf)�fn)r
Zset_rc_config_value)rrrrrr�_write_hostname2szBSD._write_hostnamecCs�tj|�rtjd|�nJ|j|g}ytj|�tjd|�Wn"tk
r`tjtd|�YnX|sjg}xp|D]h}tj	|�s�tjd||�qpy$tj|j
||��tjd||�Wqptk
r�tjtd||�YqpXqpWdS)Nz(Skipping creation of existing group '%s'zCreated new group %szFailed to create group %szCUnable to add group member '%s' to group '%s'; user does not exist.zAdded user '%s' to group '%s'z%Failed to add user '%s' to group '%s')r	Zis_group�LOGZwarning�group_add_cmd_prefixr�info�	ExceptionZlogexcZis_userr )rr�membersZ
group_add_cmd�memberrrr�create_group5s.



zBSD.create_groupcCsFgdd�}x6tj�j�D]&\}}|djd||ddigd��qW|S)N�)�config�versionr+Zphysical�typeZdhcp)r-rZmac_addressZsubnets)rZget_interfaces_by_mac�items�append)rZnconfZmacrrrr�generate_fallback_configSs
zBSD.generate_fallback_configcCs|j�|jd|d�dS)N�install)�pkgs)Zupdate_package_sources�package_command)r�pkglistrrr�install_packages`szBSD.install_packagescCstd��dS)z?Return environment vars used in *BSD package_command operationsz(BSD subclasses return a dict of env varsN)r)rrrr�_get_pkg_cmd_environdszBSD._get_pkg_cmd_environcCs�|dkrg}|dkr|j}nB|dkr,|j}n2|dkrF|js>dS|j}n|dkr^|jsXdS|j}|rxt|t�rx|j|�n|r�t|t�r�|j|�t	j
d|�}|j|�tj||j�dd�dS)Nr1�remove�updateZupgradez%s-%sF)�envZcapture)
�pkg_cmd_install_prefix�pkg_cmd_remove_prefix�pkg_cmd_update_prefix�pkg_cmd_upgrade_prefix�
isinstance�strr/�list�extendr	Zexpand_package_listrr6)rZcommand�argsr2�cmdr4rrrr3hs*

zBSD.package_commandcCstj||j|�d�dS)N)�tzZtz_file)rZset_etc_timezoneZ
_find_tz_file)rrDrrr�set_timezone�szBSD.set_timezonecCstjd�dS)NzCannot set the locale.)r#�debug)rZlocaleZout_fnrrr�apply_locale�szBSD.apply_locale)�plist_in�hashedcCs&x |D]\}}|j|||d�qWdS)N)rI)Z
set_passwd)rrHrIrZpasswordrrr�chpasswd�szBSD.chpasswd)N)N)NN)N)!�__name__�
__module__�__qualname__rZnetworking_clsrZ
rc_conf_fnZ
default_ownerZshutdown_options_mapr$rr?r:r;r<rr=rrrr r"r)r0r5r6r3rErGr@�boolrJ�
__classcell__rr)rrr
s.
	




r)rZtypingrrZ	cloudinitrrrZloggingrrr	Zcloudinit.distrosr
Zcloudinit.distros.networkingrZ	getLoggerrKr#ZDistrorrrrr�<module>s


Zerion Mini Shell 1.0