403Webshell
Server IP : 3.96.16.70  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3.9/site-packages/cfnbootstrap/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.9/site-packages/cfnbootstrap/__pycache__/apt_tool.cpython-39.opt-1.pyc
a

��0i��@s^ddlmZddlmZddlmZddlZddlZddlZee�	d��Z
Gdd�de�ZdS)�)�
ProcessHelper)�	CfnLogger)�	ToolErrorNzcfn.initc@s2eZdZdZddd�Zdd�Zdd�Zd	d
�ZdS)�AptToolz$
    Installs packages via APT

    Nc
sPg}|st�d�|Stgd����}|jrFt�d|j�td|j��g}|D]x�|�r�t|�t	�r|d�|�fg}q��fdd�|�D�}n�g}��fdd�|D�}|rN|�
|�|���qN|s�t�d	�gSt�d
|�t
tj�}d|d<tgd
�||d���}	|	j�r2t�d|	j�td|	j��t�d|�t�d|	j�|S)aL
        Install a set of packages via APT, returning the packages actually installed or updated.

        Arguments:
        action -- a dict of package name to version; version can be empty, a single string or a list of strings

        Exceptions:
        ToolError -- on expected failures (such as a non-zero exit code)
        zNo packages specified for APT)�	apt-cache�-qZ	gencacheszAPT gencache failed. Output: %szCould not create apt cache�%s=%scs g|]}|rd�|fn��qS)r�)�.0Zver)�pkg_namer	�9/usr/lib/python3.9/site-packages/cfnbootstrap/apt_tool.py�
<listcomp>>�z!AptTool.apply.<locals>.<listcomp>csg|]}��|��r|�qSr	)�_pkg_filter)r
Zpkg_key�r�selfr	rr
Brz'All APT packages were already installedz Attempting to install %s via APTZnoninteractiveZDEBIAN_FRONTEND)zapt-getrz-yZinstall)�envzapt-get failed. Output: %sz+Could not successfully install APT packageszAPT installed %szAPT output: %s)�log�debugr�call�
returncode�error�stdoutr�
isinstance�str�extend�append�info�dict�os�environ)
r�actionZauth_configZpkgs_changedZcache_resultZ	pkg_specsZpkg_keysZ
pkgs_filteredr�resultr	rr�apply s@



z
AptTool.applycCsH|�||�rt�d|�dS|�|�s@t�d|�td|��ndSdS)Nz1%s will not be installed as it is already presentFz#%s is not available to be installedz/APT does not have %s available for installationT)�_pkg_installedrr�_pkg_availablerr)r�pkgrr	r	rr[s
zAptTool._pkg_filtercCstddd|g���}|jdkS)NrrZshowr)rrr)rr&r"r	r	rr%eszAptTool._pkg_availablecCsbtdddd|gtjd���}|js(|js,dS|j���d�\}}}|�d�d	d
krXdS|�	|�S)a
        Test if a package is installed (exact version match if version is specified), returning a boolean.

        Arguments:
        pkg -- the full package specification (including version if specified) in pkg=version format
        pkg_name -- the name of the package
        z
dpkg-queryz-fz${Status}|${Package}=${Version}z-W)�stderrF�|� �Z	installed)
r�
subprocess�PIPErrr�strip�	partition�
rpartition�
startswith)rr&rr"ZstatusZdivider�specr	r	rr$js	zAptTool._pkg_installed)N)�__name__�
__module__�__qualname__�__doc__r#rr%r$r	r	r	rrs

;
r)
Zcfnbootstrap.utilrZcfnbootstrap.cfn_loggingrZ cfnbootstrap.construction_errorsrZloggingrr+Z	getLoggerr�objectrr	r	r	r�<module>s

Youez - 2016 - github.com/yon3zu
LinuXploit