404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@18.118.12.199: ~ $
# 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 UbuntuPlugin
from sos.policies.distros.debian import DebianPolicy

from sos.policies.package_managers.snap import SnapPackageManager
from sos.policies.package_managers.dpkg import DpkgPackageManager
from sos.policies.package_managers import MultiPackageManager

import os


class UbuntuPolicy(DebianPolicy):
    distro = "Ubuntu"
    vendor = "Canonical"
    vendor_urls = [
        ('Community Website', 'https://www.ubuntu.com/'),
        ('Commercial Support', 'https://www.canonical.com')
    ]
    PATH = "/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" \
           + ":/usr/local/sbin:/usr/local/bin:/snap/bin"
    _upload_url = "https://files.support.canonical.com/uploads/"
    _upload_user = "ubuntu"
    _upload_password = "ubuntu"
    _upload_method = 'put'

    def __init__(self, sysroot=None, init=None, probe_runtime=True,
                 remote_exec=None):
        super(UbuntuPolicy, self).__init__(sysroot=sysroot, init=init,
                                           probe_runtime=probe_runtime,
                                           remote_exec=remote_exec)

        self.package_manager = MultiPackageManager(
            primary=DpkgPackageManager,
            fallbacks=[SnapPackageManager],
            chroot=self.sysroot,
            remote_exec=remote_exec)

        try:
            if self.package_manager.pkg_by_name(
                    'sosreport')['pkg_manager'] == 'snap':
                self.sos_bin_path = '/snap/bin'
        except TypeError:
            # Use the default sos_bin_path
            pass

        self.valid_subclasses += [UbuntuPlugin]

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

        if remote:
            return cls.distro in remote

        try:
            with open('/etc/lsb-release', 'r') as fp:
                return "Ubuntu" in fp.read()
        except IOError:
            return False

    def dist_version(self):
        """ Returns the version stated in DISTRIB_RELEASE
        """
        try:
            with open('/etc/lsb-release', 'r') as fp:
                lines = fp.readlines()
                for line in lines:
                    if "DISTRIB_RELEASE" in line:
                        return float(line.split("=")[1].strip())
            return False
        except (IOError, ValueError):
            return False

    def get_upload_https_auth(self):
        if self.upload_url.startswith(self._upload_url):
            return (self._upload_user, self._upload_password)
        else:
            return super(UbuntuPolicy, self).get_upload_https_auth()

    def get_upload_url_string(self):
        if self.upload_url.startswith(self._upload_url):
            return "Canonical Support File Server"
        else:
            return self.get_upload_url()

    def get_upload_url(self):
        if not self.upload_url or self.upload_url.startswith(self._upload_url):
            if not self.upload_archive_name:
                return self._upload_url
            fname = os.path.basename(self.upload_archive_name)
            return self._upload_url + fname
        return super(UbuntuPolicy, self).get_upload_url()

# 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