관리-도구
편집 파일: apt.cpython-39.opt-1.pyc
a '�Dg� � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZmZm Z m Z mZmZm Z d dlmZmZmZ d dlmZmZ d dlmZmZ e�e�ZdZg d�ZdZee e e d �d d�Z G dd � d e�Z!dS )� N)�Any�Iterable�List�Mapping�Optional�Sequence�cast)�helpers�subp�util)�PackageManager�UninstalledPackages)� PER_ALWAYS�PER_INSTANCE)zapt-getz(--option=Dpkg::Options::=--force-confoldz*--option=Dpkg::options::=--force-unsafe-ioz--assume-yesz--quiet)z/var/lib/dpkg/lock-frontendz/var/lib/dpkg/lockz/var/cache/apt/archives/lockz/var/lib/apt/lists/lock� )�cfg�returnc C s� | sd}dg}n8| � d�}| � d�}t|t�r6|g}nt|t�sHtd��t�|�stt|��� dkr�|r�t� |d �r�t tt |�S g S dS )a9 Parse the 'apt_get_wrapper' section of cloud-config. apt_get_wrapper may be defined in cloud-config: apt_get_wrapper: enabled: true command: ["eatmydata"] The function takes the value of "apt_get_wrapper" and returns the list of arguments to prefix to the apt-get command. �autoZ eatmydata�enabled�commandz,apt_wrapper command must be a string or listr N)�get� isinstance�str�list� TypeErrorr Zis_true�lowerr �whichr r )r r r � r �L/usr/lib/python3.9/site-packages/cloudinit/distros/package_management/apt.py�get_apt_wrapper) s$ ���r c s� e Zd ZdZdddd�ejee eee ee d�� fdd�Z e ejed d�d d ��Ze d�dd �Zdd�dd�Zejdd�dd� �Zee d�dd�Zeed�dd�Zd"dd�Zdd� Zefd d!�Z� ZS )#�AptZaptr N��apt_get_wrapper_command�apt_get_command�apt_get_upgrade_subcommand)�runnerr"