8.2.34 | Linux | www-data (uid:33)
πŸ‘ View: deb-systemd-helper
πŸ“ //snap/core18/3084/usr/bin/deb-systemd-helper
#!/usr/bin/env perl # vim:ts=4:sw=4:expandtab # Β© 2013-2014 Michael Stapelberg <stapelberg@debian.org> # # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # * Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # * Neither the name of Michael Stapelberg nor the # names of contributors may be used to endorse or promote products # derived from this software without specific prior written permission. # . # THIS SOFTWARE IS PROVIDED BY Michael Stapelberg ''AS IS'' AND ANY # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL Michael Stapelberg BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. =head1 NAME deb-systemd-helper - subset of systemctl for machines not running systemd =head1 SYNOPSIS B<deb-systemd-helper> enable | disable | purge | mask | unmask | is-enabled | was-enabled | debian-installed | update-state | reenable S<I<unit file> ...> =head1 DESCRIPTION B<deb-systemd-helper> is a Debian-specific helper script which re-implements the enable, disable, is-enabled and reenable commands from systemctl. The "enable" action will only be performed once (when first installing the package). On the first "enable", an state file is created which will be deleted upon "purge". The "mask" action will keep state on whether the service was enabled/disabled before and will properly return to that state on "unmask". The "was-enabled" action is not present in systemctl, but is required in Debian so that we can figure out whether a service was enabled before we installed an updated service file. See http://bugs.debian.org/717603 for details. The "debian-installed" action is also not present in systemctl. It returns 0 if the state file of at least one of the given units is present. The "update-state" action is also not present in systemctl. It updates B<deb-systemd-helper>'s state file, removing obsolete entries (e.g. service files that are no longer shipped by the package) and adding new entries (e.g. new service files shipped by the package) without enabling them. B<deb-systemd-helper> is intended to be used from maintscripts to enable systemd unit files. It is specifically NOT intended to be used interactively by users. Instead, users should run systemd and use systemctl, or not bother about the systemd enabled state in case they are not running systemd. =head1 ENVIRONMENT =over 4 =item B<_DEB_SYSTEMD_HELPER_DEBUG> If you export _DEB_SYSTEMD_HELPER_DEBUG=1, deb-systemd-helper will print debug messages to stderr (thus visible in dpkg runs). Please include these when filing a bugreport. =back =cut use strict; use warnings; use File::Path qw(make_path); # in core since Perl 5.001 use File::Basename; # in core since Perl 5 use File::Temp qw(tempfile); # in core since Perl 5.6.1 use Getopt::Long; # in core since Perl 5 # Make Data::Dumper::Dumper available if present (not present on systems that # only have perl-base, not perl). eval { require Data::Dumper; } or *Data::Dumper::Dumper = sub { "no Data::Dumper" }; my $quiet = 0; my $enabled_state_dir = '/var/lib/systemd/deb-systemd-helper-enabled'; my $masked_state_dir = '/var/lib/systemd/deb-systemd-helper-masked'; # Globals are bad, but in this specific case, it really makes things much # easier to write and understand. my $changed_sth; my $has_systemctl = -x "/bin/systemctl"; sub error { print STDERR "$0: error: @_\n"; exit (1); } sub debug { my ($msg) = @_; return if !defined($ENV{_DEB_SYSTEMD_HELPER_DEBUG}) || $ENV{_DEB_SYSTEMD_HELPER_DEBUG} != 1; print STDERR "(deb-systemd-helper DEBUG) $msg\n"; } sub is_purge { return (defined($ENV{_DEB_SYSTEMD_HELPER_PURGE}) && $ENV{_DEB_SYSTEMD_HELPER_PURGE} == 1) } sub find_unit { my ($scriptname) = @_; my $service_path = $scriptname; if (-f "/etc/systemd/system/$scriptname") { $service_path = "/etc/systemd/system/$scriptname"; } elsif (-f "/lib/systemd/system/$scriptname") { $service_path = "/lib/systemd/system/$scriptname"; } return $service_path; } sub dsh_state_path { my ($scriptname) = @_; return $enabled_state_dir . '/' . basename($scriptname) . '.dsh-also'; } sub state_file_entries { my ($dsh_state) = @_; debug "Reading state file $dsh_state"; my @entries; if (open(my $fh, '<', $dsh_state)) { @entries = map { chomp; $_ } <$fh>; close($fh); } return @entries; } # Writes $service_link into $dsh_state unless it’s already in there. sub record_in_statefile { my ($dsh_state, $service_link) = @_; # Appending a newline makes the following code simpler; we can skip # chomp()ing and appending newlines in every print. $service_link .= "\n"; make_path(dirname($dsh_state)); my $line_exists; my ($outfh, $tmpname) = tempfile('.stateXXXXX', DIR => dirname($dsh_state), SUFFIX => '.tmp', UNLINK => 0); chmod(0644, $tmpname); if (-e $dsh_state) { open(my $infh, '<', $dsh_state) or error("unable to read from $dsh_state"); while (<$infh>) { $line_exists = 1 if $_ eq $service_link; print $outfh $_; } close($infh); } print $outfh $service_link unless $line_exists; close($outfh); debug "Renaming temp file $tmpname to state file $dsh_state"; rename($tmpname, $dsh_state) or error("Unable to move $tmpname to $dsh_state"); } # Gets the transitive closure of links, i.e. all links that need to be created # when enabling this service file. Not straight-forward because service files # can refer to other service files using Also=. sub get_link_closure { my ($scriptname, $service_path) = @_; my @links; my $unit_name = basename($service_path); # The keys parsed from the unit file below can only have unit names # as values. Since unit names can't have whitespace in systemd, # simply use split and strip any leading/trailing quotes. See # systemd-escape(1) for examples of valid unit names. open my $fh, '<', $service_path or error("unable to read $service_path"); while (my $line = <$fh>) { chomp($line); my $service_link; if ($line =~ /^\s*(WantedBy|RequiredBy)=(.+)$/i) { for my $value (split(/\s+/, $2)) { $value =~ s/^(["'])(.*)\g1$/$2/; my $wants_dir = "/etc/systemd/system/$value"; $wants_dir .= '.wants' if $1 eq 'WantedBy'; $wants_dir .= '.requires' if $1 eq 'RequiredBy'; push @links, { dest => $service_path, src => "$wants_dir/$scriptname" }; } } if ($line =~ /^\s*Also=(.+)$/i) { for my $value (split(/\s+/, $1)) { $value =~ s/^(["'])(.*)\g1$/$2/; if ($value ne $unit_name) { push @links, get_link_closure($value, find_unit($value)); } } } if ($line =~ /^\s*Alias=(.+)$/i) { for my $value (split(/\s+/, $1)) { $value =~ s/^(["'])(.*)\g1$/$2/; if ($value ne $unit_name) { push @links, { dest => $service_path, src => "/etc/systemd/system/$1" }; } } } } close($fh); return @links; } sub all_links_installed { my ($scriptname, $service_path) = @_; my @links = get_link_closure($scriptname, $service_path); my @missing_links = grep { ! -l $_->{src} } @links; return (@missing_links == 0); } sub no_link_installed { my ($scriptname, $service_path) = @_; my @links = get_link_closure($scriptname, $service_path); my @existing_links = grep { -l $_->{src} } @links; return (@existing_links == 0); } sub enable { my ($scriptname, $service_path) = @_; if ($has_systemctl) { # We use systemctl preset on the initial installation only # On upgrade, we manually add the missing symlinks only if # the service already has some links installed. my $create_links = 0; if (debian_installed($scriptname)) { $create_links = 1 unless no_link_installed($scriptname, $service_path); } else { debug "Using systemctl preset to enable $scriptname"; system("/bin/systemctl", "--preset-mode=enable-only", "preset", $scriptname) == 0 or error("systemctl preset failed on $scriptname: $!"); } make_systemd_links($scriptname, $service_path, create_links => $create_links); } else { # We create all the symlinks ourselves make_systemd_links($scriptname, $service_path); } } sub make_systemd_links { my ($scriptname, $service_path, %opts) = @_; $opts{'create_links'} //= 1; my $dsh_state = dsh_state_path($scriptname); my @links = get_link_closure($scriptname, $service_path); for my $link (@links) { my $service_path = $link->{dest}; my $service_link = $link->{src}; record_in_statefile($dsh_state, $service_link); my $statefile = $service_link; $statefile =~ s,^/etc/systemd/system/,$enabled_state_dir/,; next if -e $statefile; if ($opts{'create_links'} && ! -l $service_link) { make_path(dirname($service_link)); symlink($service_path, $service_link) or error("unable to link $service_link to $service_path: $!"); $changed_sth = 1; } # Store the fact that we ran enable for this service_path, # so that we can skip enable the next time. # This allows us to call deb-systemd-helper unconditionally # and still only enable unit files on the initial installation # of a package. make_path(dirname($statefile)); open(my $fh, '>>', $statefile); close($fh); } } # In contrary to make_systemd_links(), which only modifies the state file in an # append-only fashion, update_state() can also remove entries from the state # file. # # The distinction is important because update_state() should only be called # when the unit file(s) are guaranteed to be on-disk, e.g. on package updates, # but not on package removals. sub update_state { my ($scriptname, $service_path) = @_; my $dsh_state = dsh_state_path($scriptname); my @links = get_link_closure($scriptname, $service_path); debug "Old state file contents: " . Data::Dumper::Dumper([ state_file_entries($dsh_state) ]); make_path(dirname($dsh_state)); my ($outfh, $tmpname) = tempfile('.stateXXXXX', DIR => dirname($dsh_state), SUFFIX => '.tmp', UNLINK => 0); chmod(0644, $tmpname); for my $link (@links) { print $outfh $link->{src} . "\n"; } close($outfh); debug "Renaming temp file $tmpname to state file $dsh_state"; rename($tmpname, $dsh_state) or error("Unable to move $tmpname to $dsh_state"); debug "New state file contents: " . Data::Dumper::Dumper([ state_file_entries($dsh_state) ]); } sub was_enabled { my ($scriptname) = @_; my @entries = state_file_entries(dsh_state_path($scriptname)); debug "Contents: " . Data::Dumper::Dumper(\@entries); for my $link (@entries) { if (! -l $link) { debug "Link $link is missing, considering $scriptname was-disabled."; return 0; } } debug "All links present, considering $scriptname was-enabled."; return 1; } sub debian_installed { my ($scriptname) = @_; return -f dsh_state_path($scriptname); } sub remove_links { my ($service_path) = @_; my $dsh_state = dsh_state_path($service_path); my @entries = state_file_entries($dsh_state); debug "Contents: " . Data::Dumper::Dumper(\@entries); if (is_purge()) { unlink($dsh_state) if -e $dsh_state; } # Also disable all the units which were enabled when this one was enabled. for my $link (@entries) { # Delete the corresponding state file: # β€’ Always when purging # β€’ If the user did not disable (= link still exists) the service. # If we don’t do this, the link will be deleted a few lines down, # but not re-created when re-installing the package. if (is_purge() || -l $link) { my $link_state = $link; $link_state =~ s,^/etc/systemd/system/,$enabled_state_dir/,; unlink($link_state); } next unless -l $link; unlink($link) or print STDERR "$0: unable to remove '$link': $!\n"; $changed_sth = 1; } # Read $service_path, recurse for all Also= units. # This might not work when $service_path was already deleted, # i.e. after apt-get remove. In this case we just return # silently in order to not confuse the user about whether # disabling actually worked or not β€” the case is handled by # dh_installsystemd generating an appropriate disable # command by parsing the service file at debhelper-time. open(my $fh, '<', $service_path) or return; while (my $line = <$fh>) { chomp($line); my $service_link; if ($line =~ /^\s*Also=(.+)$/i) { remove_links(find_unit($1)); } } close($fh); } # Recursively deletes a directory structure, if all (!) components are empty, # e.g. to clean up after purging. sub rmdir_if_empty { my ($dir) = @_; debug "rmdir_if_empty $dir"; rmdir_if_empty($_) for (grep { -d } <$dir/*>); if (!rmdir($dir)) { debug "rmdir($dir) failed ($!)"; } } sub mask_service { my ($scriptname, $service_path) = @_; my $mask_link = '/etc/systemd/system/' . basename($service_path); if (-e $mask_link) { # If the link already exists, don’t do anything. return if -l $mask_link && readlink($mask_link) eq '/dev/null'; # If the file already exists, the user most likely copied the .service # file to /etc/ to change it in some way. In this case we don’t need to # mask the .service in the first place, since it will not be removed by # dpkg. debug "$mask_link already exists, not masking."; return; } make_path(dirname($mask_link)); # clean up after possible leftovers from Alias= to self (LP#1439793) unlink($mask_link); symlink('/dev/null', $mask_link) or error("unable to link $mask_link to /dev/null: $!"); $changed_sth = 1; my $statefile = $mask_link; $statefile =~ s,^/etc/systemd/system/,$masked_state_dir/,; # Store the fact that we masked this service, so that we can unmask it on # installation time. We cannot unconditionally unmask because that would # interfere with the user’s decision to mask a service. make_path(dirname($statefile)); open(my $fh, '>>', $statefile); close($fh); } sub unmask_service { my ($scriptname, $service_path) = @_; my $mask_link = '/etc/systemd/system/' . basename($service_path); # Not masked? Nothing to do. return unless -e $mask_link; if (! -l $mask_link || readlink($mask_link) ne '/dev/null') { debug "Not unmasking $mask_link because it is not a link to /dev/null"; return; } my $statefile = $mask_link; $statefile =~ s,^/etc/systemd/system/,$masked_state_dir/,; if (! -e $statefile) { debug "Not unmasking $mask_link because the state file $statefile does not exist"; return; } unlink($mask_link) or error("unable to remove $mask_link: $!"); $changed_sth = 1; unlink($statefile); } my $result = GetOptions( "quiet" => \$quiet, ); my $action = shift; if (!defined($action)) { # Called without arguments. Explain that this script should not be run interactively. print "$0 is a program which should be called by dpkg maintscripts only.\n"; print "Please do not run it interactively, ever. Also see the manpage deb-systemd-helper(1).\n"; exit 0; } if (!$ENV{DPKG_MAINTSCRIPT_PACKAGE}) { print STDERR "$0 was not called from dpkg. Exiting.\n"; exit 1; } if ($action eq 'purge') { $ENV{_DEB_SYSTEMD_HELPER_PURGE} = 1; $action = 'disable'; } debug "is purge = " . (is_purge() ? "yes" : "no"); my $rc = 0; if ($action eq 'is-enabled' || $action eq 'was-enabled' || $action eq 'debian-installed') { $rc = 1; } for my $scriptname (@ARGV) { my $service_path = find_unit($scriptname); debug "action = $action, scriptname = $scriptname, service_path = $service_path"; if ($action eq 'is-enabled') { my $enabled = all_links_installed($scriptname, $service_path); print STDERR ($enabled ? "enabled\n" : "disabled\n") unless $quiet; $rc = 0 if $enabled; } # was-enabled is the same as is-enabled, but only considers links recorded # in the state file. This is useful after package upgrades, to determine # whether the unit file was enabled before upgrading, even if the unit file # has changed and is not entirely enabled currently (due to a new Alias= # line for example). # # If all machines were running systemd, this issue would not be present # because is-enabled would query systemd, which would not have picked up # the new unit file yet. if ($action eq 'was-enabled') { my $enabled = was_enabled($scriptname); print STDERR ($enabled ? "enabled\n" : "disabled\n") unless $quiet; $rc = 0 if $enabled; } if ($action eq 'update-state') { update_state($scriptname, $service_path); } if ($action eq 'debian-installed') { $rc = 0 if debian_installed($scriptname); } if ($action eq 'reenable') { remove_links($service_path); make_systemd_links($scriptname, $service_path); } if ($action eq 'disable') { remove_links($service_path); # Clean up the state dir if it’s empty, or at least clean up all empty # subdirectories. Necessary to cleanly pass a piuparts run. rmdir_if_empty('/var/lib/systemd/deb-systemd-helper-enabled'); # Same with directories below /etc/systemd, where we create symlinks. # If systemd is not installed (and no other package shipping service # files), this would make piuparts fail, too. rmdir_if_empty($_) for (grep { -d } </etc/systemd/system/*>); } if ($action eq 'enable') { enable($scriptname, $service_path); } if ($action eq 'mask') { mask_service($scriptname, $service_path); } if ($action eq 'unmask') { unmask_service($scriptname, $service_path); # Clean up the state dir if it’s empty, or at least clean up all empty # subdirectories. Necessary to cleanly pass a piuparts run. rmdir_if_empty('/var/lib/systemd/deb-systemd-helper-masked'); } } # If we changed anything and this machine is running systemd, tell # systemd to reload so that it will immediately pick up our # changes. if ($changed_sth && -d "/run/systemd/system") { system("systemctl", "daemon-reload"); } exit $rc; =head1 AUTHOR Michael Stapelberg <stapelberg@debian.org> =cut
← Back
πŸ’» Terminal
πŸ“€ Upload
πŸ“‚
Click or Drag & Drop
πŸ“ //snap/core18/3084/usr/bin
NameSizePermModifiedActions
[50.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
aa-enabled22.2K07552023-06-13 14:19πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
aa-exec22.2K07552023-06-13 14:19πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
addpart22.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
apt77B07552026-09-01 05:19πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
apt-cache77B07552026-09-01 05:19πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
apt-get77B07552026-09-01 05:19πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
arch34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
awk122.5K07552018-04-03 12:34πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
b2sum54.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
base3238.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
base6438.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
basename34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
bashbug6.9K07552022-04-18 15:08πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
bootctl34.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
busctl66.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
c_rehash6.6K07552026-08-17 14:15πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
captoinfo82.1K07552026-06-30 21:25πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
catchsegv3.3K07552026-01-30 08:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
cautious-launcher853B07552016-07-15 12:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
chage70.1K27552024-02-06 12:31πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
chardet3389B07552017-06-18 21:51πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
chardetect3389B07552017-06-18 21:51πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
chattr14K07552022-06-02 14:37πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
chcon62.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
chfn74.7K47552024-02-06 12:31πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
chrt30.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
chsh43.5K47552024-02-06 12:31πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
cksum34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
clear10K07552026-06-30 21:25πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
clear_console10.1K07552022-04-18 15:08πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
cloud-id396B07552025-06-25 21:46πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
cloud-init400B07552025-06-25 21:46πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
cloud-init-per2.1K07552023-04-20 21:31πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
cmp46.1K07552026-08-26 18:34πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
comm38.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
compose17.7K07552016-07-15 12:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
console-conf2.9K07552020-07-22 14:34πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
core-sshd-host-keygen1.5K07552026-09-01 05:17πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
csplit50.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ctstat22.4K07552021-01-26 13:33πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
cut42.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dbus-cleanup-sockets10K07552022-10-25 13:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dbus-daemon231K07552022-10-25 13:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dbus-monitor22K07552022-10-25 13:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dbus-run-session10K07552022-10-25 13:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dbus-send26K07552022-10-25 13:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dbus-update-activation-environment14K07552022-10-25 13:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dbus-uuidgen10K07552022-10-25 13:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
deb-systemd-helper19.7K07552017-10-25 15:38πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
deb-systemd-invoke4.3K07552017-10-25 15:38πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
delpart22.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dh_bash-completion2.5K07552018-04-02 02:16πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
diff142.3K07552026-08-26 18:34πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
diff362.2K07552026-08-26 18:34πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dircolors46.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dirname30.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dpkg-deb150.3K07552022-05-25 11:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
du98.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ec2metadata7.1K07552018-04-13 13:07πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
edit17.7K07552016-07-15 12:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
editor1.1M07552026-08-24 22:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
env34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ex1.1M07552026-08-24 22:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
expand38.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
expiry22.3K27552024-02-06 12:31πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
expr46.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
factor74.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
faillog18.3K07552024-02-06 12:31πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
fallocate26.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
finalrd2.1K07552020-09-10 14:54πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
find232.5K07552017-11-05 17:16πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
flock30.2K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
fmt42.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
fold34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
free18.1K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
gdbserver645.5K07552024-06-13 03:15πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
getconf30.1K07552026-01-30 08:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
getent30.5K07552026-01-30 08:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
getopt14.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
gpasswd74K47552024-02-06 12:31πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
gpgv431K07552026-01-06 11:28πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
groups34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
growpart21.4K07552018-04-13 13:07πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
head42.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
helpztags2.5K07552024-08-27 05:37πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
hostid30.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
hostnamectl18.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
i38618.3K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
iconv62.3K07552026-01-30 08:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
id42.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
infocmp58.1K07552026-06-30 21:25πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
infotocap82.1K07552026-06-30 21:25πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
install142.3K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ionice26.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ipcmk26.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ipcrm26.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ipcs50.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
iptables-xmlB01970-01-01 00:00πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ischroot10K07552017-12-30 18:15πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
join46.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
jsondiff1018B07552017-10-28 20:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
jsonpatch3.6K07552017-10-28 20:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
jsonpointer1.3K07552016-05-01 23:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
jsonschema398B07552017-11-15 19:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
kernel-install4.4K07552018-01-28 15:58πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
last42.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lastb42.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lastlog18.1K07552024-02-06 12:31πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lcf7.6K07552018-02-26 00:58πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ldd5.3K07552026-01-30 08:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
less194.4K07552024-04-27 20:32πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lessecho14.3K07552024-04-27 20:32πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lessfile8.8K07552021-12-28 19:39πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lesskey23.7K07552024-04-27 20:32πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lesspipe8.8K07552021-12-28 19:39πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
link30.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
linux3218.3K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
linux6418.3K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lnstat22.4K07552021-01-26 13:33πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
locale49.4K07552026-01-30 08:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
locale-check10K07552024-01-02 17:19πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
localectl22.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
localedef330.8K07552026-01-30 08:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
logger46.7K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
logname30.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lsattr10K07552022-06-02 14:37πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lscpu70.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lsipc70.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lslocks34.4K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lslogins62.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lsmem42.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lsns38.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
mawk122.5K07552018-04-03 12:34πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
mcookie30.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
md5sum42.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
md5sum.textutils42.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
mesg10.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
miniterm34.3K07552018-04-09 11:57πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
mkfifo62.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
mksquashfs185K07552021-09-14 08:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
mkswapfile865B07552026-09-01 05:17πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
namei26.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
nawk122.5K07552018-04-03 12:34πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
newgrp39.4K47552024-02-06 12:31πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
nice34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
nl42.3K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
no-apt77B07552026-09-01 05:19πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
nohup34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
nproc34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
nsenter30.3K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
nstat26.1K07552021-01-26 13:33πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
numfmt62.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
od66.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
openssl707K07552026-08-17 14:15πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pager166.8K07552024-04-28 11:42πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
partx86.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
passwd58.2K47552024-02-06 12:31πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
paste34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pathchk34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pdb359.9K07552026-03-03 11:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pdb3.659.9K07552026-03-03 11:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
perl2M07552026-08-18 21:25πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
perl5.26.12M07552026-08-18 21:25πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pgrep26.1K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pinky38.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pkill26.1K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pldd14.2K07552026-01-30 08:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pmap30.1K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pr70.3K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
print17.7K07552016-07-15 12:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
printenv30.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
printf50.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
prlimit34.6K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
probert2.1K07552018-10-15 10:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ptx70.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pwdx10.1K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
py3clean7.6K07552018-10-25 11:11πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
py3compile11.8K07552018-10-25 11:11πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
py3versions11.4K07552018-10-25 11:11πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pydoc379B07552026-03-03 11:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pydoc3.679B07552026-03-03 11:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pygettext321K07552026-03-03 11:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pygettext3.621K07552026-03-03 11:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pyjwt3372B07552026-03-26 18:25πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
python34.3M07552026-03-03 11:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
python3-jsondiff1018B07552017-10-28 20:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
python3-jsonpatch3.6K07552017-10-28 20:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
python3-jsonpointer1.3K07552016-05-01 23:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
python3-jsonschema398B07552017-11-15 19:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
python3.64.3M07552026-03-03 11:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
python3.6m4.3M07552026-03-03 11:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
python3m4.3M07552026-03-03 11:10πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
rcp98.1K07552025-02-18 13:44πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
rdma26.1K07552021-01-26 13:33πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
realpath46.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
rename.ul14.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
renice14.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
reset22K07552026-06-30 21:25πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
resizepart38.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
rev10.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
rgrep30B07552017-07-11 13:19πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
rlogin710.8K07552025-02-18 13:44πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
routef208B07552021-01-26 13:33πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
routel1.6K07552021-01-26 13:33πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
rsh710.8K07552025-02-18 13:44πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
rtstat22.4K07552021-01-26 13:33πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
run-mailcap17.7K07552016-07-15 12:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
runcon34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
rview1.1M07552026-08-24 22:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
savelog10.2K07552017-12-30 18:15πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
scp98.1K07552025-02-18 13:44πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
script30.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
scriptreplay26.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sdiff50.1K07552026-08-26 18:34πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
see17.7K07552016-07-15 12:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
select-editor2.4K07552018-03-12 10:17πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sensible-browser1.2K07552018-03-12 10:17πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sensible-editor1.1K07552018-03-12 10:17πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sensible-pager433B07552018-03-12 10:17πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
seq46.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
setarch18.3K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
setsid10.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
setterm42.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sftp150.4K07552025-02-18 13:44πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sg39.4K47552024-02-06 12:31πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sha1sum46.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sha224sum54.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sha256sum54.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sha384sum58.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sha512sum58.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
shred58.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
shuf54.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
skill26.1K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
slabtop18.1K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
slogin710.8K07552025-02-18 13:44πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
snap33.7M07552026-09-03 10:37πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
snapctlB01970-01-01 00:00πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
snice26.1K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sort110.5K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
split54.6K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ssh710.8K07552025-02-18 13:44πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ssh-add338.1K07552025-02-18 13:44πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ssh-agent354.1K27552025-02-18 13:44πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ssh-argv01.4K07552022-03-30 13:17πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ssh-copy-id10.4K07552017-10-02 19:34πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ssh-keygen410.2K07552025-02-18 13:44πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ssh-keyscan414.2K07552025-02-18 13:44πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
stat78.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
stdbuf46.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sudo145.6K47552025-06-25 20:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sudoedit145.6K47552025-06-25 20:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sudoreplay54.8K07552025-06-25 20:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sum38.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
systemd-analyze1.5M07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
systemd-cat10.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
systemd-cgls14.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
systemd-cgtop30.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
systemd-delta22.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
systemd-detect-virt10.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
systemd-mount42.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
systemd-path10.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
systemd-resolve86.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
systemd-run42.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
systemd-socket-activate18.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
systemd-stdio-bridge14.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
systemd-umount42.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tabs14K07552026-06-30 21:25πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tac38.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tail66.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
taskset30.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tee34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
test46.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tic82.1K07552026-06-30 21:25πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
timedatectl815B07552026-09-01 05:19πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
timedatectl.real22.1K07552026-03-13 19:06πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
timeout38.6K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tload14.1K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
toe14K07552026-06-30 21:25πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
top105.8K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
touch90.5K07552026-08-25 15:12πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tput18K07552026-06-30 21:25πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tr46.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
truncate38.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tset22K07552026-06-30 21:25πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tsort34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tty30.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tzselect15K07552026-01-30 08:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ucf39.7K07552018-02-26 00:58πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ucfq18.9K07552018-02-26 00:58πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ucfr10.5K07552018-02-26 00:58πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
unexpand38.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
uniq42.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
unlink30.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
unshare18.3K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
unsquashfs99.7K07552021-09-14 08:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
update-alternatives46K07552022-05-25 11:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
uptime10.1K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
users34.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
utmpdump22.1K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
vcs-run6.8K07552018-04-13 13:07πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
vi1.1M07552026-08-24 22:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
view1.1M07552026-08-24 22:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
vim.tiny1.1M07552026-08-24 22:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
vmstat34.1K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
w18.1K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
w.procps18.1K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
wall30.1K27552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
watch22.4K07552023-10-31 11:35πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
wc42.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
whereis26.5K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
which946B07552022-03-23 13:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
who50.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
whoami30.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
wpa_passphrase62K07552024-08-05 14:28πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
x86_6418.3K07552020-09-16 18:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
xargs70.2K07552017-11-05 17:16πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
xdg-open38B07552026-09-01 05:19πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
xdg-settings1.7K07552026-09-01 05:19πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
xxd18.1K07552026-08-24 22:14πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
yes30.2K07552018-01-18 09:43πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
zdump18.1K07552026-01-30 08:03πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del