Server IP : 209.38.156.173 / Your IP : 216.73.216.122 [ Web Server : Apache/2.4.52 (Ubuntu) System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.1.2-1ubuntu2.22 Disable Function : NONE Domains : 2 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/sos/report/__pycache__/ |
Upload File : |
o ���b�( � @ s6 d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlZd dlZd dl m Z mZmZm Z mZmZmZ d dlmZ d dlZd dlmZmZ d dlZd dlmZ d dlmZ d dlmZ d dlZd d lmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( d d l)m*Z* ej+ej,fZ-dd d�Z.dd� Z/g d�Z0G dd� de�Z1dS )� N)�datetime)�ImporterHelper�SoSTimeoutError�bold�sos_get_command_output�TIMEOUT_DEFAULT�listdir� is_executable)�rmtree)�ThreadPoolExecutor�TimeoutError)�_sos)�__version__)�SoSComponent) �Report�Section�Command� CopiedFile�CreatedFile�Alert�Note�PlainTextReport� JSONReport� HTMLReport)� SoSCleanerF�, c C s� g }| }|r t | �d }nd}|D ]}t |�t |� t |� dkr(|�|� |}|| | }q|t |� d � |krC|d t |� � }|�|� |S )N� � �H )�len�append)� first_line�items�indent�sep�lines�line�newline�item� r) �5/usr/lib/python3/dist-packages/sos/report/__init__.py�_format_list) s r+ c C s t �d�| �d�S )z� This function will format --since arg to append 0s if enduser didn't. It's used in the _get_parser. This will also be a good place to add human readable and relative date parsing (like '2 days ago') in the future z{:<014s}z%Y%m%d%H%M%S)r �strptime�format)�dater) r) r* � _format_since; s r/ )�auto�always�neverc sb e Zd ZdZdZdZi dd�dd�dd�dd �d d�dd�d d�dd�dd �dg �dg �dd�dd�dd�dg �dg �dd�i dg �dd �dd�dd�dd�dd�d d!�d"g �d#g �d$g �d%d�d&d�d'd�d(d�d)d�d*d �d+g ��i d,d�d-e�d.e�d/g �d0d�d1d�d2d�d3g �d4d�d5d�d6d�d7d�d8d�d9d�d:d�d;d�d<d ��d=d i�Z� fd>d?�Ze d@dA� �Z e dBdC� �ZdDdE� ZdFdG� Z dHdI� ZdJdK� ZdLdM� ZdNdO� ZdPdQ� ZdRdS� ZdTdU� Zd�dVdW�ZdXdY� ZdZd[� Zd\d]� Zd^d_� Zd`da� Zdbdc� Zddde� Zedfdg� �Zd�dhdi�Zdjdk� Z dldm� Z!dndo� Z"dpdq� Z#drds� Z$dtdu� Z%d�dwdx�Z&dydz� Z'd{d|� Z(d}d~� Z)dd�� Z*d�d�� Z+d�d�� Z,d�d�� Z-d�d�� Z.d�d�� Z/d�d�� Z0d�d�� Z1d�d�d��Z2d�d�� Z3d�d�� Z4d�d�� Z5d�d�� Z6d�d�� Z7d�d�� Z8d�d�� Z9d�d�� Z:d�d�� Z;d�d�� Z<d�d�� Z=d�d�� Z>d�d�� Z?d�d�� Z@d�d�� ZAd�d�� ZBd�d�� ZCd�d�� ZDd�d�� ZEd�d�� ZF� ZGS )�� SoSReportzaRun a set of commands and file collections and save them to a report for future analysis z.Collect files and command output in an archiveT� alloptionsF�all_logs�build�case_idr �chrootr0 �clean�container_runtime�keep_binary_files�desc�domains�disable_parsers�dry_run� estimate_only�experimental�enable_plugins�keywords�keyword_fileN�plugopts�label�list_plugins�list_presets� list_profiles�log_size� �map_file� /etc/sos/cleaner/default_mapping� skip_commands� skip_files�skip_plugins� namespaces� no_report�no_env_vars�no_postproc� no_update�note�only_plugins�preset�plugin_timeout�cmd_timeout�profiles�since�verify�allow_system_changes� usernames�upload� upload_url�upload_directory�upload_user�upload_pass� upload_method�upload_no_ssl_verify�upload_protocol� add_preset� del_presetc s� t t| ��|||� g | _g | _g | _t� | _d | _|| _ d| _ d | _i | _| � � | �� | j�� | _| jj�d�| _| jj| jd kre| j�| jj�| _| jsetj�d| jj � | j�� | _d| j_| jsn| j�� | _| j�| jj� | �| j�| _t | jjd�r�| jjj!dkr�t"d� | �#� | �$� d }| jj | _ | jj r�d }n | j�%� r�| j t&j'kr�d}| j(�)d| j |f � | jj*t+vr�| j(�,d | jj* � t-�.� | j/�0� | �1d� | �2� | �3� | �4� d S )N�/�reportrX zUnknown preset: '%s' T� verbosityr z~ WARNING: It is not recommended to set verbosity via the preset as it might have unforseen consequences for your report logs. �default�cmdline�policyzset sysroot to '%s' (%s)zinvalid chroot mode: %s� )5�superr3 �__init__�loaded_plugins�skipped_plugins�all_options�set�env_vars�archive�_args�sysrootrX �estimated_plugsizes�print_header� _set_debugro �is_root�_is_root�manifest� components�add_section� report_md�opts�arg_defaults�find_preset�sys�stderr�write�probe_presetrH �merge�apply_options_from_cmdline�hasattrrl �print�_setup_logging�_set_directories�in_container�osr$ �soslog�debugr8 �chroot_modes�error�logging�shutdown� tempfile_utilr9 �_exit�_check_container_runtime�_get_namespaces�_get_hardware_devices)�self�parser�argsrn �msg�� __class__r) r* rr � sZ � zSoSReport.__init__c C s& |� dd�}|jddddddd � |jd ddddd � |jd ddd tdd� |jdddddd � |jddddd� |jddddddd � |jdddd � |jd!d"tdd#d$d%� |jd&dd'd(� |jd)dd*d(� |jd+dd,dd-d � |jd.d/d0d1td2g d3� |jd4d5d6d0d7td8g d3� |jd9d:dd;d<d� |jd=d>dd?dd@d � |jdAddBd(� |jdCddDddEd � |jdFddGtdHdIdJ� |jdKd dLd � |jdMdNd0dOtdPg d3� |jdQddRddSd � |jdTddUddVd � |jdWddXddYdZ� |jd[tdd#d\d%� |jd]d^d0d_td`g d3� |jdadtdbddc� |jddd ded � |jdfd dgd � |jdhdidjd0dktg dldJ� |jdmg d0dndodp� |jdqg d0drdsdp� |jdtdduddvd � |jdwddxddyd � |jdzddd{d|� |jd}d d~d � |jdd d�d � |jd�d d�d � |jd�d d�d � |jd�dg d��d�d�� |jd�ddd�d�� |jd�dg d��d�d�� |�� }|jd�tdd�d�� |jd�tdd�d�� |� d�d��}|jd�d�d�d�ddd�d�� |jd�d�g d0d�d�� |jd�d0g d�d�d�� |jd�d0g d�d�d�� |jd�d d�d�d�� |jd�ddd�d�d�� |jd�d�d�d�d�� |jd�ddd�d�dp� |jd�d�g d0d�d�� d S )�NzReport Optionsz.These options control how report collects dataz-az--alloptions� store_truer4 Fz%enable all options for loaded plugins)�action�destrm �helpz --all-logsr5 z-collect all available logs regardless of sizez--since�storer\ zbEscapes archived files older than date. This will also affect --all-logs. Format: YYYYMMDD[HHMMSS])r� r� rm �typer� z--buildr6 z;preserve the temporary directory and do not package resultsz --case-idr7 zspecify case identifier)r� r� r� z-cz--chrootr8 r0 zHchroot executed commands to SYSROOT [auto, always, never] (default=auto)z--container-runtimezLDefault container runtime to use for collections. 'auto' for policy control.)rm r� z--descz --descriptionr zDescription for a new preset)r� r� rm r� z --dry-runz#Run plugins but do not collect data)r� r� z--estimate-onlyzzApproximate disk space requirements for a real sos run; disables --clean and --collect, sets --threads=1 and --no-postprocz--experimentalrA zenable experimental pluginsz-ez--enable-plugins�extendrB zenable these plugins)r� r� r� r� rm z-kz--plugin-optionz --plugoptsrE z7plugin options in plugname.option=value format (see -l)z--labelz--namerF z"specify an additional report labelz-lz--list-pluginsrG z)list plugins and available plugin optionsz--list-presetsz#display a list of available presetsz--list-profilesrI zBdisplay a list of available profiles and plugins that they includez --log-sizerJ rK z)limit the size of collected logs (in MiB))r� r� r� rm r� z--namespaceszDlimit number of namespaces to collect output for - 0 means unlimitedz-nz--skip-pluginsrP zdisable these pluginsz--no-reportrR z disable plaintext/HTML reportingz --no-env-varsrS z$Do not collect environment variablesz --no-postprocrT zDisable all post-processing)rm r� r� r� z--notezBehaviour notes for new presetz-oz--only-pluginsrW zenable these plugins onlyz--presetzA preset identifier)r� r� r� rm z--plugin-timeoutzset a timeout for all pluginsz --cmd-timeoutz%set a command timeout for all pluginsz-pz --profilez --profilesr[ z)enable plugins used by the given profilesz--skip-commandsrN zdo not execute these commands)rm r� r� r� z--skip-filesrO zdo not collect these filesz--verifyr] z+perform data verification during collectionz--allow-system-changesr^ zJRun commands even if they can change the system (e.g. load kernel modules)z--uploadz+Upload archive to a policy-default location)r� rm r� z--upload-urlz&Upload the archive to specified serverz--upload-directoryz$Specify upload directory for archivez --upload-userz'Username to authenticate to server withz --upload-passz'Password to authenticate to server withz--upload-method)r0 �put�postz HTTP method to use for uploading)rm �choicesr� z--upload-no-ssl-verifyz'Disable SSL verification for upload url)rm r� r� z--upload-protocol)r0 �https�ftp�sftpz$Manually specify the upload protocol�--add-presetz#Add a new named command line preset)r� r� r� z--del-presetz$Delete the named command line presetzCleaner/Masking Optionsz7These options control how data obfuscation is performedz--cleanz --cleanerz--maskr9 zObfuscate sensitive information)r� rm r� r� z --domainsr= z$Additional domain names to obfuscatez--disable-parsersr>