CasperSecurity

Current Path : /lib/python3/dist-packages/cloudinit/distros/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/cloudinit/distros/__pycache__/opensuse.cpython-310.pyc

o

쑛h�'�@s|ddlZddlZddlmZmZmZmZddlmZddlm	Z
ddlmZddl
mZmZe�e�ZGdd�dej�ZdS)	�N)�distros�helpers�subp�util)�PackageList)�	rhel_util)�HostnameConf)�
PER_ALWAYS�PER_INSTANCEc@s�eZdZdZdZdgZdZdZdZdZ	dZ
d	d
ddd
ddd�d�iZdd�Zd/dd�Z
defdd�Zd0dd�Zdd�Zdd�dd �Zd/d!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zed-d.��ZdS)1�Distroz/etc/sysconfig/clockz
/etc/HOSTNAME�servicez/etc/sysconfig/languagez/etc/sysconfig/network/configz
/etc/hostnamez/etc/locale.confz/etc/localtime�	sysconfigzetc/sysconfig/network/config�susez%(base)s/network/ifcfg-%(name)sz3etc/udev/rules.d/85-persistent-net-cloud-init.rulesz!%(base)s/network/ifroute-%(name)s)�ipv4�ipv6)�control�flavor�iface_templates�
netrules_path�route_templatescCsXtj�||||�t�|�|_d|_d|_d|_d|d<|�	�r*dg|_
d|d<dSdS)NrF�sshd�ssh_svcname�	systemctlzsshd.service)rr�__init__r�Runners�_runner�osfamily�
update_method�read_only_root�uses_systemd�init_cmd)�self�name�cfg�paths�r%�</usr/lib/python3/dist-packages/cloudinit/distros/opensuse.pyr/s�zDistro.__init__NcCs>|��r|s	|j}d|i}n	|s|j}d|i}t�||�dS)N�LANG�RC_LANG)r�systemd_locale_conf_fn�locale_conf_fn�rhutil�update_sysconfig_file)r!�locale�out_fn�
locale_cfgr%r%r&�apply_locale:s
zDistro.apply_locale�pkglistcCs|jdd|d�dS)N�installz--auto-agree-with-licenses)�args�pkgs)�package_command)r!r1r%r%r&�install_packagesEs
�zDistro.install_packagescCs|durg}|��|jr|jdkst�d�dS|jdkr#ddg}ngd�}|dkr-d}|s>|jdkr>|dkr>d}gd	�}|d
krFddg}|�|�|rXt|t�rX|�|�n|rdt|t�rd|�	|�t
�d|�}|�	|�tj|dd
�|jdkr�t�
d�dSdS)N�
transactionalzUPackage operation requested but read only root without btrfs and transactional-updata�zypper�--non-interactive)�transactional-updater9�--drop-if-no-change�pkg�upgrade�update�up)r:r9r;�refreshz%s-%sF)�capturez8To use/activate the installed packages reboot the system)�_set_update_methodrr�LOG�error�append�
isinstance�str�list�extendr�expand_package_listr�info)r!�commandr3r4�cmdr1r%r%r&r5JsD�

�




��zDistro.package_commandcCs\|�|�}|��rt�|j�t�||j�dSdt|�i}t�|j	|�t�
||j�dS)N�TIMEZONE)�
_find_tz_filerr�del_file�tz_local_fn�sym_linkrGr+r,�
clock_conf_fn�copy)r!�tz�tz_file�	clock_cfgr%r%r&�set_timezone�s
�zDistro.set_timezoneF)�forcecCs$|jjd|jdg|rtntd�dS)Nzupdate-sourcesr@)�freq)r�runr5r	r
)r!rYr%r%r&�update_package_sources�s

�zDistro.update_package_sourcescCs||��r|�d�rt�|���S|��r$t�dg�\}}t|�r"|S|Sz
|�|�}|j}Wn	t	y7Ynw|s<|S|S)N�/previous-hostname�hostname)
r�endswithr�load_text_file�stripr�len�_read_hostname_confr^�IOError)r!�filename�default�out�_err�confr^r%r%r&�_read_hostname�s 

�zDistro._read_hostnamecCsdS)Nz	127.0.1.1r%)r!r%r%r&�_get_localhost_ip�szDistro._get_localhost_ipcCstt�|��}|��|S�N)rrr`�parse)r!rerir%r%r&rc�szDistro._read_hostname_confcCs$|��r|j}n|j}||�|�fSrl)r�systemd_hostname_conf_fn�hostname_conf_fnrj)r!�host_fnr%r%r&�_read_system_hostname�szDistro._read_system_hostnamecCs�|jdurZt�d�}d}|rP|\}}}t�d��d�}|D]}|�|�r9|��}|d|kr/q|d�d�|_nq|��d	krKtj	�
d
�rKd|_dSd|_dSt�d
�d|_dSdS)z7Decide if we want to use transactional-update or zypperN�/�z/proc/mounts�
���ro�btrfsz/usr/sbin/transactional-updater7r8z7Could not determine filesystem type of '/' using zypper)
rr�get_mount_infor`�split�
startswithr�lower�os�path�existsrCrK)r!�result�fs_type�devpth�mount_point�mounts�mount�
mount_infor%r%r&rB�s0



��

�
�zDistro._set_update_methodcCs�t�|jdd�}|��r|�d�rt�||�dS|��r8|r+t�ddt|�g�dSt�dddt|�g�dSd}z|�|�}Wnt	yU|rKnt
�d�YdSYnw|s\td�}|�
|�t�|t|�d	�dS)
N�create_hostname_fileTr]�hostnamectlzset-hostnamez--transientz7create_hostname_file is False; hostname file notcreatedrsi�)r�get_cfg_option_bool�_cfgrr_�
write_filerrGrcrdrCrKr�set_hostname)r!r^rer�rir%r%r&�_write_hostname�s>���	���	
zDistro._write_hostnamecCsx|js9t��d}|d}t|d�d�d�}|dkr d|vs,|dkr4d|vr4|dkr4gd�|_|jSgd	�|_|jS)
z5The preferred ntp client is dependent on the version.�distrru�.��openSUSE�*)�chrony�systemd-timesyncd�ntp)r�r�r�)�_preferred_ntp_clientsr�system_info�intrz)r!�distro_infor"�	major_verr%r%r&�preferred_ntp_clientss

�zDistro.preferred_ntp_clientsrl)NN)�__name__�
__module__�__qualname__rSror r*�network_conf_fnrnr)rQ�renderer_configsrr0rr6r5rXr\rjrkrcrqrBr��propertyr�r%r%r%r&rsB���

=
&r)�loggingr}�	cloudinitrrrr�cloudinit.distrosrrr+�"cloudinit.distros.parsers.hostnamer�cloudinit.settingsr	r
�	getLoggerr�rCrr%r%r%r&�<module>s


Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY