404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@18.118.198.191: ~ $
# This file is part of the sos project: https://github.com/sosreport/sos
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# version 2 of the GNU General Public License.
#
# See the LICENSE file in the source distribution for further information.

from sos.report.plugins import DebianPlugin
from sos.policies.distros import LinuxPolicy
from sos.policies.package_managers.dpkg import DpkgPackageManager

import os


class DebianPolicy(LinuxPolicy):
    distro = "Debian"
    vendor = "the Debian project"
    vendor_urls = [('Community Website', 'https://www.debian.org/')]
    name_pattern = 'friendly'
    valid_subclasses = [DebianPlugin]
    PATH = "/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" \
           + ":/usr/local/sbin:/usr/local/bin"
    sos_pkg_name = 'sosreport'

    deb_versions = {
        'squeeze':  6,
        'wheezy':   7,
        'jessie':   8,
        'stretch':  9,
        'buster':   10,
        'bullseye': 11,
        'bookworm': 12,
        'trixie':   13,
        'forky':    14,
        }

    def __init__(self, sysroot=None, init=None, probe_runtime=True,
                 remote_exec=None):
        super(DebianPolicy, self).__init__(sysroot=sysroot, init=init,
                                           probe_runtime=probe_runtime,
                                           remote_exec=remote_exec)
        self.package_manager = DpkgPackageManager(chroot=self.sysroot,
                                                  remote_exec=remote_exec)
        self.valid_subclasses += [DebianPlugin]

    def _get_pkg_name_for_binary(self, binary):
        # for binary not specified inside {..}, return binary itself
        return {
            "xz": "xz-utils"
        }.get(binary, binary)

    @classmethod
    def check(cls, remote=''):
        """This method checks to see if we are running on Debian.
           It returns True or False."""

        if remote:
            return cls.distro in remote

        return os.path.isfile('/etc/debian_version')

    def dist_version(self):
        try:
            with open('/etc/os-release', 'r') as fp:
                rel_string = ""
                lines = fp.readlines()
                for line in lines:
                    if "VERSION_CODENAME" in line:
                        rel_string = line.split("=")[1].strip()
                        break
                if rel_string in self.deb_versions:
                    return self.deb_versions[rel_string]
            return False
        except IOError:
            return False

# vim: set et ts=4 sw=4 :

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
__init__.py File 39.11 KB 0644
amazon.py File 1.32 KB 0644
anolis.py File 1.48 KB 0644
azure.py File 1.56 KB 0644
circle.py File 1.54 KB 0644
cos.py File 2.03 KB 0644
debian.py File 2.6 KB 0644
opencloudos.py File 1.39 KB 0644
openeuler.py File 1.4 KB 0644
redhat.py File 24.15 KB 0644
rocky.py File 1.69 KB 0644
suse.py File 3.12 KB 0644
ubuntu.py File 3.55 KB 0644
uniontechserver.py File 1.33 KB 0644