7.4.33 | Linux x86_64
Server128.199.10.0
Userwww-data (uid:33)
PHP7.4.33 (apache2handler)
Terminal
Upload
Files: //bin
View: perlthanks
#!/usr/bin/perl eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if 0; # ^ Run only under a shell my $config_tag1 = '5.34.0 - Tue Jun 23 08:11:00 UTC 2026'; my $patchlevel_date = 1782202260; my @patches = Config::local_patches(); my $patch_tags = join "", map /(\S+)/ ? "+$1 " : (), @patches; BEGIN { pop @INC if $INC[-1] eq '.' } use warnings; use strict; use Config; use File::Spec; # keep perlbug Perl 5.005 compatible use Getopt::Std; use File::Basename 'basename'; $Getopt::Std::STANDARD_HELP_VERSION = 1; sub paraprint; BEGIN { eval { require Mail::Send;}; $::HaveSend = ($@ eq ""); eval { require Mail::Util; } ; $::HaveUtil = ($@ eq ""); # use secure tempfiles wherever possible eval { require File::Temp; }; $::HaveTemp = ($@ eq ""); eval { require Module::CoreList; }; $::HaveCoreList = ($@ eq ""); eval { require Text::Wrap; }; $::HaveWrap = ($@ eq ""); }; our $VERSION = "1.42"; #TODO: # make sure failure (transmission-wise) of Mail::Send is accounted for. # (This may work now. Unsure of the original author's issue -JESSE 2008-06-08) # - Test -b option my( $file, $usefile, $cc, $address, $thanksaddress, $filename, $messageid, $domain, $subject, $from, $verbose, $ed, $outfile, $fh, $me, $body, $andcc, %REP, $ok, $thanks, $progname, $Is_MSWin32, $Is_Linux, $Is_VMS, $Is_OpenBSD, $report_about_module, $category, $severity, %opt, $have_attachment, $attachments, $has_patch, $mime_boundary ); my $running_noninteractively = !-t STDIN; my $perl_version = $^V ? sprintf("%vd", $^V) : $]; my $config_tag2 = "$perl_version - $Config{cf_time}"; Init(); if ($opt{h}) { Help(); exit; } if ($opt{d}) { Dump(*STDOUT); exit; } if ($running_noninteractively && !$opt{t} && !($ok and not $opt{n})) { paraprint <<"EOF"; Please use $progname interactively. If you want to include a file, you can use the -f switch. EOF die "\n"; } Query(); Edit() unless $usefile || ($ok and not $opt{n}); NowWhat(); if ($address) { Send(); if ($thanks) { print "\nThank you for taking the time to send a thank-you message!\n\n"; paraprint <<EOF Please note that mailing lists are moderated, your message may take a while to show up. EOF } else { print "\nThank you for taking the time to file a bug report!\n\n"; paraprint <<EOF Please note that mailing lists are moderated, your message may take a while to show up. Please consider submitting your report directly to the issue tracker at https://github.com/Perl/perl5/issues EOF } } else { save_message_to_disk($outfile); } exit; sub ask_for_alternatives { # (category|severity) my $name = shift; my %alts = ( 'category' => { 'default' => 'core', 'ok' => 'install', # Inevitably some of these will end up in RT whatever we do: 'thanks' => 'thanks', 'opts' => [qw(core docs install library utilities)], # patch, notabug }, 'severity' => { 'default' => 'low', 'ok' => 'none', 'thanks' => 'none', 'opts' => [qw(critical high medium low wishlist none)], # zero }, ); die "Invalid alternative ($name) requested\n" unless grep(/^$name$/, keys %alts); my $alt = ""; my $what = $ok || $thanks; if ($what) { $alt = $alts{$name}{$what}; } else { my @alts = @{$alts{$name}{'opts'}}; print "\n\n"; paraprint <<EOF; Please pick a $name from the following list: @alts EOF my $err = 0; do { if ($err++ > 5) { die "Invalid $name: aborting.\n"; } $alt = _prompt('', "\u$name", $alts{$name}{'default'}); $alt ||= $alts{$name}{'default'}; } while !((($alt) = grep(/^$alt/i, @alts))); } lc $alt; } sub HELP_MESSAGE { Help(); exit; } sub VERSION_MESSAGE { print "perlbug version $VERSION\n"; } sub Init { # -------- Setup -------- $Is_MSWin32 = $^O eq 'MSWin32'; $Is_VMS = $^O eq 'VMS'; $Is_Linux = lc($^O) eq 'linux'; $Is_OpenBSD = lc($^O) eq 'openbsd'; # Thanks address $thanksaddress = 'perl-thanks@perl.org'; # Defaults if getopts fails. $outfile = (basename($0) =~ /^perlthanks/i) ? "perlthanks.rep" : "perlbug.rep"; $cc = $::Config{'perladmin'} || $::Config{'cf_email'} || $::Config{'cf_by'} || ''; HELP_MESSAGE() unless getopts("Adhva:s:b:f:F:r:e:SCc:to:n:T:p:", \%opt); # This comment is needed to notify metaconfig that we are # using the $perladmin, $cf_by, and $cf_time definitions. # -------- Configuration --------- if (basename ($0) =~ /^perlthanks/i) { # invoked as perlthanks $opt{T} = 1; $opt{C} = 1; # don't send a copy to the local admin } if ($opt{T}) { $thanks = 'thanks'; } $progname = $thanks ? 'perlthanks' : 'perlbug'; # Target address $address = $opt{a} || ($thanks ? $thanksaddress : ""); # Users address, used in message and in From and Reply-To headers $from = $opt{r} || ""; # Include verbose configuration information $verbose = $opt{v} || 0; # Subject of bug-report message $subject = $opt{s} || ""; # Send a file $usefile = ($opt{f} || 0); # File to send as report $file = $opt{f} || ""; # We have one or more attachments $have_attachment = ($opt{p} || 0); $mime_boundary = ('-' x 12) . "$VERSION.perlbug" if $have_attachment; # Comma-separated list of attachments $attachments = $opt{p} || ""; $has_patch = 0; # TBD based on file type for my $attachment (split /\s*,\s*/, $attachments) { unless (-f $attachment && -r $attachment) { die "The attachment $attachment is not a readable file: $!\n"; } $has_patch = 1 if $attachment =~ m/\.(patch|diff)$/; } # File to output to $outfile = $opt{F} || "$progname.rep"; # Body of report $body = $opt{b} || ""; # Editor $ed = $opt{e} || $ENV{VISUAL} || $ENV{EDITOR} || $ENV{EDIT} || ($Is_VMS && "edit/tpu") || ($Is_MSWin32 && "notepad") || "editor"; # Not OK - provide build failure template by finessing OK report if ($opt{n}) { if (substr($opt{n}, 0, 2) eq 'ok' ) { $opt{o} = substr($opt{n}, 1); } else { Help(); exit(); } } # OK - send "OK" report for build on this system $ok = ''; if ($opt{o}) { if ($opt{o} eq 'k' or $opt{o} eq 'kay') { my $age = time - $patchlevel_date; if ($opt{o} eq 'k' and $age > 60 * 24 * 60 * 60 ) { my $date = localtime $patchlevel_date; print <<"EOF"; "perlbug -ok" and "perlbug -nok" do not report on Perl versions which are more than 60 days old. This Perl version was constructed on $date. If you really want to report this, use "perlbug -okay" or "perlbug -nokay". EOF exit(); } # force these options unless ($opt{n}) { $opt{S} = 1; # don't prompt for send $opt{b} = 1; # we have a body $body = "Perl reported to build OK on this system.\n"; } $opt{C} = 1; # don't send a copy to the local admin $opt{s} = 1; # we have a subject line $subject = ($opt{n} ? 'Not ' : '') . "OK: perl $perl_version ${patch_tags}on" ." $::Config{'archname'} $::Config{'osvers'} $subject"; $ok = 'ok'; } else { Help(); exit(); } } # Possible administrator addresses, in order of confidence # (Note that cf_email is not mentioned to metaconfig, since # we don't really want it. We'll just take it if we have to.) # # This has to be after the $ok stuff above because of the way # that $opt{C} is forced. $cc = $opt{C} ? "" : ( $opt{c} || $::Config{'perladmin'} || $::Config{'cf_email'} || $::Config{'cf_by'} ); if ($::HaveUtil) { $domain = Mail::Util::maildomain(); } elsif ($Is_MSWin32) { $domain = $ENV{'USERDOMAIN'}; } else { require Sys::Hostname; $domain = Sys::Hostname::hostname(); } # Message-Id - rjsf $messageid = "<$::Config{'version'}_${$}_".time."\@$domain>"; # My username $me = $Is_MSWin32 ? $ENV{'USERNAME'} : $^O eq 'os2' ? $ENV{'USER'} || $ENV{'LOGNAME'} : eval { getpwuid($<) }; # May be missing $from = $::Config{'cf_email'} if !$from && $::Config{'cf_email'} && $::Config{'cf_by'} && $me && ($me eq $::Config{'cf_by'}); } # sub Init sub Query { # Explain what perlbug is unless ($ok) { if ($thanks) { paraprint <<'EOF'; This program provides an easy way to send a thank-you message back to the authors and maintainers of perl. If you wish to generate a bug report, please run it without the -T flag (or run the program perlbug rather than perlthanks) EOF } else { paraprint <<"EOF"; This program provides an easy way to generate a bug report for the core perl distribution (along with tests or patches). To send a thank-you note to $thanksaddress instead of a bug report, please run 'perlthanks'. The GitHub issue tracker at https://github.com/Perl/perl5/issues is the best place to submit your report so it can be tracked and resolved. Please do not use $0 to report bugs in perl modules from CPAN. Suggestions for how to find help using Perl can be found at https://perldoc.perl.org/perlcommunity.html EOF } } # Prompt for subject of message, if needed if ($subject && TrivialSubject($subject)) { $subject = ''; } unless ($subject) { print "First of all, please provide a subject for the report.\n"; if ( not $thanks) { paraprint <<EOF; This should be a concise description of your bug or problem which will help the volunteers working to improve perl to categorize and resolve the issue. Be as specific and descriptive as you can. A subject like "perl bug" or "perl problem" will make it much less likely that your issue gets the attention it deserves. EOF } my $err = 0; do { $subject = _prompt('','Subject'); if ($err++ == 5) { if ($thanks) { $subject = 'Thanks for Perl'; } else { die "Aborting.\n"; } } } while (TrivialSubject($subject)); } $subject = '[PATCH] ' . $subject if $has_patch && ($subject !~ m/^\[PATCH/i); # Prompt for return address, if needed unless ($opt{r}) { # Try and guess return address my $guess; $guess = $ENV{'REPLY-TO'} || $ENV{'REPLYTO'} || $ENV{'EMAIL'} || $from || ''; unless ($guess) { # move $domain to where we can use it elsewhere if ($domain) { if ($Is_VMS && !$::Config{'d_socket'}) { $guess = "$domain\:\:$me"; } else { $guess = "$me\@$domain" if $domain; } } } if ($guess) { unless ($ok) { paraprint <<EOF; Perl's developers may need your email address to contact you for further information about your issue or to inform you when it is resolved. If the default shown is not your email address, please correct it. EOF } } else { paraprint <<EOF; Please enter your full internet email address so that Perl's developers can contact you with questions about your issue or to inform you that it has been resolved. EOF } if ($ok && $guess) { # use it $from = $guess; } else { # verify it $from = _prompt('','Your address',$guess); $from = $guess if $from eq ''; } } if ($from eq $cc or $me eq $cc) { # Try not to copy ourselves $cc = "yourself"; } # Prompt for administrator address, unless an override was given if( $address and !$opt{C} and !$opt{c} ) { my $description = <<EOF; $0 can send a copy of this report to your local perl administrator. If the address below is wrong, please correct it, or enter 'none' or 'yourself' to not send a copy. EOF my $entry = _prompt($description, "Local perl administrator", $cc); if ($entry ne "") { $cc = $entry; $cc = '' if $me eq $cc; } } $cc = '' if $cc =~ /^(none|yourself|me|myself|ourselves)$/i; if ($cc) { $andcc = " and $cc" } else { $andcc = '' } # Prompt for editor, if no override is given editor: unless ($opt{e} || $opt{f} || $opt{b}) { my $description; chomp (my $common_end = <<"EOF"); You will probably want to use a text editor to enter the body of your report. If "$ed" is the editor you want to use, then just press Enter, otherwise type in the name of the editor you would like to use. If you have already composed the body of your report, you may enter "file", and $0 will prompt you to enter the name of the file containing your report. EOF if ($thanks) { $description = <<"EOF"; It's now time to compose your thank-you message. Some information about your local perl configuration will automatically be included at the end of your message, because we're curious about the different ways that people build and use perl. If you'd rather not share this information, you're welcome to delete it. $common_end EOF } else { $description = <<"EOF"; It's now time to compose your bug report. Try to make the report concise but descriptive. Please include any detail which you think might be relevant or might help the volunteers working to improve perl. If you are reporting something that does not work as you think it should, please try to include examples of the actual result and of what you expected. Some information about your local perl configuration will automatically be included at the end of your report. If you are using an unusual version of perl, it would be useful if you could confirm that you can replicate the problem on a standard build of perl as well. $common_end EOF } my $entry = _prompt($description, "Editor", $ed); $usefile = 0; if ($entry eq "file") { $usefile = 1; } elsif ($entry ne "") { $ed = $entry; } } if ($::HaveCoreList && !$ok && !$thanks) { my $description = <<EOF; If your bug is about a Perl module rather than a core language feature, please enter its name here. If it's not, just hit Enter to skip this question. EOF my $entry = ''; while ($entry eq '') { $entry = _prompt($description, 'Module'); my $first_release = Module::CoreList->first_release($entry); if ($entry and not $first_release) { paraprint <<EOF; $entry is not a "core" Perl module. Please check that you entered its name correctly. If it is correct, quit this program, try searching for $entry on https://rt.cpan.org, and report your issue there. EOF $entry = ''; } elsif (my $bug_tracker = $Module::CoreList::bug_tracker{$entry}) { paraprint <<"EOF"; $entry included with core Perl is copied directly from the CPAN distribution. Please report bugs in $entry directly to its maintainers using $bug_tracker EOF $entry = ''; } elsif ($entry) { $category ||= 'library'; $report_about_module = $entry; last; } else { last; } } } # Prompt for category of bug $category ||= ask_for_alternatives('category'); # Prompt for severity of bug $severity ||= ask_for_alternatives('severity'); # Generate scratch file to edit report in $filename = filename(); # Prompt for file to read report from, if needed if ($usefile and !$file) { filename: my $description = <<EOF; What is the name of the file that contains your report? EOF my $entry = _prompt($description, "Filename"); if ($entry eq "") { paraprint <<EOF; It seems you didn't enter a filename. Please choose to use a text editor or enter a filename. EOF goto editor; } unless (-f $entry and -r $entry) { paraprint <<EOF; '$entry' doesn't seem to be a readable file. You may have mistyped its name or may not have permission to read it. If you don't want to use a file as the content of your report, just hit Enter and you'll be able to select a text editor instead. EOF goto filename; } $file = $entry; } # Generate report open(REP, '>:raw', $filename) or die "Unable to create report file '$filename': $!\n"; binmode(REP, ':raw :crlf') if $Is_MSWin32; my $reptype = !$ok ? ($thanks ? 'thank-you' : 'bug') : $opt{n} ? "build failure" : "success"; print REP <<EOF; This is a $reptype report for perl from $from, generated with the help of perlbug $VERSION running under perl $perl_version. EOF if ($body) { print REP $body; } elsif ($usefile) { open(F, '<:raw', $file) or die "Unable to read report file from '$file': $!\n"; binmode(F, ':raw :crlf') if $Is_MSWin32; while (<F>) { print REP $_ } close(F) or die "Error closing '$file': $!"; } else { if ($thanks) { print REP <<'EOF'; ----------------------------------------------------------------- [Please enter your thank-you message here] [You're welcome to delete anything below this line] ----------------------------------------------------------------- EOF } else { print REP <<'EOF'; ----------------------------------------------------------------- [Please describe your issue here] [Please do not change anything below this line] ----------------------------------------------------------------- EOF } } Dump(*REP); close(REP) or die "Error closing report file: $!"; # Set up an initial report fingerprint so we can compare it later _fingerprint_lines_in_report(); } # sub Query sub Dump { local(*OUT) = @_; # these won't have been set if run with -d $category ||= 'core'; $severity ||= 'low'; print OUT <<EFF; --- Flags: category=$category severity=$severity EFF if ($has_patch) { print OUT <<EFF; Type=Patch PatchStatus=HasPatch EFF } if ($report_about_module ) { print OUT <<EFF; module=$report_about_module EFF } print OUT <<EFF; --- EFF print OUT "This perlbug was built using Perl $config_tag1\n", "It is being executed now by Perl $config_tag2.\n\n" if $config_tag2 ne $config_tag1; print OUT <<EOF; Site configuration information for perl $perl_version: EOF if ($::Config{cf_by} and $::Config{cf_time}) { print OUT "Configured by $::Config{cf_by} at $::Config{cf_time}.\n\n"; } print OUT Config::myconfig; if (@patches) { print OUT join "\n ", "Locally applied patches:", @patches; print OUT "\n"; }; print OUT <<EOF; --- \@INC for perl $perl_version: EOF for my $i (@INC) { print OUT " $i\n"; } print OUT <<EOF; --- Environment for perl $perl_version: EOF my @env = qw(PATH LD_LIBRARY_PATH LANG PERL_BADLANG SHELL HOME LOGDIR LANGUAGE); push @env, $Config{ldlibpthname} if $Config{ldlibpthname} ne ''; push @env, grep /^(?:PERL|LC_|LANG|CYGWIN)/, keys %ENV; my %env; @env{@env} = @env; for my $env (sort keys %env) { print OUT " $env", exists $ENV{$env} ? "=$ENV{$env}" : ' (unset)', "\n"; } if ($verbose) { print OUT "\nComplete configuration data for perl $perl_version:\n\n"; my $value; foreach (sort keys %::Config) { $value = $::Config{$_}; $value = '' unless defined $value; $value =~ s/'/\\'/g; print OUT "$_='$value'\n"; } } } # sub Dump sub Edit { # Edit the report if ($usefile || $body) { my $description = "Please make sure that the name of the editor you want to use is correct."; my $entry = _prompt($description, 'Editor', $ed); $ed = $entry unless $entry eq ''; } _edit_file($ed) unless $running_noninteractively; } sub _edit_file { my $editor = shift; my $report_written = 0; while ( !$report_written ) { my $exit_status = system("$editor $filename"); if ($exit_status) { my $desc = <<EOF; The editor you chose ('$editor') could not be run! If you mistyped its name, please enter it now, otherwise just press Enter. EOF my $entry = _prompt( $desc, 'Editor', $editor ); if ( $entry ne "" ) { $editor = $entry; next; } else { paraprint <<EOF; You can edit your report after saving it to a file. EOF return; } } return if ( $ok and not $opt{n} ) || $body; # Check that we have a report that has some, eh, report in it. unless ( _fingerprint_lines_in_report() ) { my $description = <<EOF; It looks like you didn't enter a report. You may [r]etry your edit or [c]ancel this report. EOF my $action = _prompt( $description, "Action (Retry/Cancel) " ); if ( $action =~ /^[re]/i ) { # <R>etry <E>dit next; } elsif ( $action =~ /^[cq]/i ) { # <C>ancel, <Q>uit Cancel(); # cancel exits } } # Ok. the user did what they needed to; return; } } sub Cancel { 1 while unlink($filename); # remove all versions under VMS print "\nQuitting without generating a report.\n"; exit(0); } sub NowWhat { # Report is done, prompt for further action if( !$opt{S} ) { while(1) { my $send_to = $address || 'the Perl developers'; my $menu = <<EOF; You have finished composing your report. At this point, you have a few options. You can: * Save the report to a [f]ile * [Se]nd the report to $send_to$andcc * [D]isplay the report on the screen * [R]e-edit the report * Display or change the report's [su]bject * [Q]uit without generating the report EOF retry: print $menu; my $action = _prompt('', "Action (Save/Send/Display/Edit/Subject/Quit)", $opt{t} ? 'q' : ''); print "\n"; if ($action =~ /^(f|sa)/i) { # <F>ile/<Sa>ve if ( SaveMessage() ) { exit } } elsif ($action =~ /^(d|l|sh)/i ) { # <D>isplay, <L>ist, <Sh>ow # Display the message print _read_report($filename); if ($have_attachment) { print "\n\n---\nAttachment(s):\n"; for my $att (split /\s*,\s*/, $attachments) { print " $att\n"; } } } elsif ($action =~ /^su/i) { # <Su>bject my $reply = _prompt( "Subject: $subject", "If the above subject is fine, press Enter. Otherwise, type a replacement now\nSubject"); if ($reply ne '') { unless (TrivialSubject($reply)) { $subject = $reply; print "Subject: $subject\n"; } } } elsif ($action =~ /^se/i) { # <S>end # Send the message if (not $thanks) { print <<EOF To ensure your issue can be best tracked and resolved, you should submit it to the GitHub issue tracker at https://github.com/Perl/perl5/issues EOF } my $reply = _prompt( "Are you certain you want to send this report to $send_to$andcc?", 'Please type "yes" if you are','no'); if ($reply =~ /^yes$/) { $address ||= 'perl5-porters@perl.org'; last; } else { paraprint <<EOF; You didn't type "yes", so your report has not been sent. EOF } } elsif ($action =~ /^[er]/i) { # <E>dit, <R>e-edit # edit the message Edit(); } elsif ($action =~ /^[qc]/i) { # <C>ancel, <Q>uit Cancel(); } elsif ($action =~ /^s/i) { paraprint <<EOF; The command you entered was ambiguous. Please type "send", "save" or "subject". EOF } } } } # sub NowWhat sub TrivialSubject { my $subject = shift; if ($subject =~ /^(y(es)?|no?|help|perl( (bug|problem))?|bug|problem)$/i || length($subject) < 4 || ($subject !~ /\s/ && ! $opt{t})) { # non-whitespace is accepted in test mode print "\nThe subject you entered wasn't very descriptive. Please try again.\n\n"; return 1; } else { return 0; } } sub SaveMessage { my $file = _prompt( '', "Name of file to save report in", $outfile ); save_message_to_disk($file) || return undef; return 1; } sub Send { # Message has been accepted for transmission -- Send the message # on linux certain "mail" implementations won't accept the subject # as "~s subject" and thus the Subject header will be corrupted # so don't use Mail::Send to be safe eval { if ( $::HaveSend && !$Is_Linux && !$Is_OpenBSD ) { _send_message_mailsend(); } elsif ($Is_VMS) { _send_message_vms(); } else { _send_message_sendmail(); } }; if ( my $error = $@ ) { paraprint <<EOF; $0 has detected an error while trying to send your message: $error. Your message may not have been sent. You will now have a chance to save a copy to disk. EOF SaveMessage(); return; } 1 while unlink($filename); # remove all versions under VMS } # sub Send sub Help { print <<EOF; This program is designed to help you generate bug reports (and thank-you notes) about perl5 and the modules which ship with it. In most cases, you can just run "$0" interactively from a command line without any special arguments and follow the prompts. Advanced usage: $0 [-v] [-a address] [-s subject] [-b body | -f inpufile ] [ -F outputfile ] [-r returnaddress] [-e editor] [-c adminaddress | -C] [-S] [-t] [-h] [-p patchfile ] $0 [-v] [-r returnaddress] [-ok | -okay | -nok | -nokay] Options: -v Include Verbose configuration data in the report -f File containing the body of the report. Use this to quickly send a prepared report. -p File containing a patch or other text attachment. Separate multiple files with commas. -F File to output the resulting report to. Defaults to '$outfile'. -S Save or send the report without asking for confirmation. -a Send the report to this address, instead of saving to a file. -c Address to send copy of report to. Defaults to '$cc'. -C Don't send copy to administrator. -s Subject to include with the report. You will be prompted if you don't supply one on the command line. -b Body of the report. If not included on the command line, or in a file with -f, you will get a chance to edit the report. -r Your return address. The program will ask you to confirm this if you don't give it here. -e Editor to use. -t Test mode. -T Thank-you mode. The target address defaults to '$thanksaddress'. -d Data mode. This prints out your configuration data, without mailing anything. You can use this with -v to get more complete data. -ok Report successful build on this system to perl porters (use alone or with -v). Only use -ok if *everything* was ok: if there were *any* problems at all, use -nok. -okay As -ok but allow report from old builds. -nok Report unsuccessful build on this system to perl porters (use alone or with -v). You must describe what went wrong in the body of the report which you will be asked to edit. -nokay As -nok but allow report from old builds. -h Print this help message. EOF } sub filename { if ($::HaveTemp) { # Good. Use a secure temp file my ($fh, $filename) = File::Temp::tempfile(UNLINK => 1); close($fh); return $filename; } else { # Bah. Fall back to doing things less securely. my $dir = File::Spec->tmpdir(); $filename = "bugrep0$$"; $filename++ while -e File::Spec->catfile($dir, $filename); $filename = File::Spec->catfile($dir, $filename); } } sub paraprint { my @paragraphs = split /\n{2,}/, "@_"; for (@paragraphs) { # implicit local $_ s/(\S)\s*\n/$1 /g; write; print "\n"; } } sub _prompt { my ($explanation, $prompt, $default) = (@_); if ($explanation) { print "\n\n"; paraprint $explanation; } print $prompt. ($default ? " [$default]" :''). ": "; my $result = scalar(<>); return $default if !defined $result; # got eof chomp($result); $result =~ s/^\s*(.*?)\s*$/$1/s; if ($default && $result eq '') { return $default; } else { return $result; } } sub _build_header { my %attr = (@_); my $head = ''; for my $header (keys %attr) { $head .= "$header: ".$attr{$header}."\n"; } return $head; } sub _message_headers { my %headers = ( To => $address || 'perl5-porters@perl.org', Subject => $subject ); $headers{'Cc'} = $cc if ($cc); $headers{'Message-Id'} = $messageid if ($messageid); $headers{'Reply-To'} = $from if ($from); $headers{'From'} = $from if ($from); if ($have_attachment) { $headers{'MIME-Version'} = '1.0'; $headers{'Content-Type'} = qq{multipart/mixed; boundary=\"$mime_boundary\"}; } return \%headers; } sub _add_body_start { my $body_start = <<"BODY_START"; This is a multi-part message in MIME format. --$mime_boundary Content-Type: text/plain; format=fixed Content-Transfer-Encoding: 8bit BODY_START return $body_start; } sub _add_attachments { my $attach = ''; for my $attachment (split /\s*,\s*/, $attachments) { my $attach_file = basename($attachment); $attach .= <<"ATTACHMENT"; --$mime_boundary Content-Type: text/x-patch; name="$attach_file" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="$attach_file" ATTACHMENT open my $attach_fh, '<:raw', $attachment or die "Couldn't open attachment '$attachment': $!\n"; while (<$attach_fh>) { $attach .= $_; } close($attach_fh) or die "Error closing attachment '$attachment': $!"; } $attach .= "\n--$mime_boundary--\n"; return $attach; } sub _read_report { my $fname = shift; my $content; open( REP, "<:raw", $fname ) or die "Couldn't open file '$fname': $!\n"; binmode(REP, ':raw :crlf') if $Is_MSWin32; # wrap long lines to make sure the report gets delivered local $Text::Wrap::columns = 900; local $Text::Wrap::huge = 'overflow'; while (<REP>) { if ($::HaveWrap && /\S/) { # wrap() would remove empty lines $content .= Text::Wrap::wrap(undef, undef, $_); } else { $content .= $_; } } close(REP) or die "Error closing report file '$fname': $!"; return $content; } sub build_complete_message { my $content = _build_header(%{_message_headers()}) . "\n\n"; $content .= _add_body_start() if $have_attachment; $content .= _read_report($filename); $content .= _add_attachments() if $have_attachment; return $content; } sub save_message_to_disk { my $file = shift; if (-e $file) { my $response = _prompt( '', "Overwrite existing '$file'", 'n' ); return undef unless $response =~ / yes | y /xi; } open OUTFILE, '>:raw', $file or do { warn "Couldn't open '$file': $!\n"; return undef}; binmode(OUTFILE, ':raw :crlf') if $Is_MSWin32; print OUTFILE build_complete_message(); close(OUTFILE) or do { warn "Error closing $file: $!"; return undef }; print "\nReport saved to '$file'. Please submit it to https://github.com/Perl/perl5/issues\n"; return 1; } sub _send_message_vms { my $mail_from = $from; my $rcpt_to_to = $address; my $rcpt_to_cc = $cc; map { $_ =~ s/^[^<]*<//; $_ =~ s/>[^>]*//; } ($mail_from, $rcpt_to_to, $rcpt_to_cc); if ( open my $sff_fh, '|-:raw', 'MCR TCPIP$SYSTEM:TCPIP$SMTP_SFF.EXE SYS$INPUT:' ) { print $sff_fh "MAIL FROM:<$mail_from>\n"; print $sff_fh "RCPT TO:<$rcpt_to_to>\n"; print $sff_fh "RCPT TO:<$rcpt_to_cc>\n" if $rcpt_to_cc; print $sff_fh "DATA\n"; print $sff_fh build_complete_message(); my $success = close $sff_fh; if ($success ) { print "\nMessage sent\n"; return; } } die "Mail transport failed (leaving bug report in $filename): $^E\n"; } sub _send_message_mailsend { my $msg = Mail::Send->new(); my %headers = %{_message_headers()}; for my $key ( keys %headers) { $msg->add($key => $headers{$key}); } $fh = $msg->open; binmode($fh, ':raw'); print $fh _add_body_start() if $have_attachment; print $fh _read_report($filename); print $fh _add_attachments() if $have_attachment; $fh->close or die "Error sending mail: $!"; print "\nMessage sent.\n"; } sub _probe_for_sendmail { my $sendmail = ""; for (qw(/usr/lib/sendmail /usr/sbin/sendmail /usr/ucblib/sendmail)) { $sendmail = $_, last if -e $_; } if ( $^O eq 'os2' and $sendmail eq "" ) { my $path = $ENV{PATH}; $path =~ s:\\:/:; my @path = split /$Config{'path_sep'}/, $path; for (@path) { $sendmail = "$_/sendmail", last if -e "$_/sendmail"; $sendmail = "$_/sendmail.exe", last if -e "$_/sendmail.exe"; } } return $sendmail; } sub _send_message_sendmail { my $sendmail = _probe_for_sendmail(); unless ($sendmail) { my $message_start = !$Is_Linux && !$Is_OpenBSD ? <<'EOT' : <<'EOT'; It appears that there is no program which looks like "sendmail" on your system and that the Mail::Send library from CPAN isn't available. EOT It appears that there is no program which looks like "sendmail" on your system. EOT paraprint(<<"EOF"), die "\n"; $message_start Because of this, there's no easy way to automatically send your report. A copy of your report has been saved in '$filename' for you to send to '$address' with your normal mail client. EOF } open( SENDMAIL, "|-:raw", $sendmail, "-t", "-oi", "-f", $from ) || die "'|$sendmail -t -oi -f $from' failed: $!"; print SENDMAIL build_complete_message(); if ( close(SENDMAIL) ) { print "\nMessage sent\n"; } else { warn "\nSendmail returned status '", $? >> 8, "'\n"; } } # a strange way to check whether any significant editing # has been done: check whether any new non-empty lines # have been added. sub _fingerprint_lines_in_report { my $new_lines = 0; # read in the report template once so that # we can track whether the user does any editing. # yes, *all* whitespace is ignored. open(REP, '<:raw', $filename) or die "Unable to open report file '$filename': $!\n"; binmode(REP, ':raw :crlf') if $Is_MSWin32; while (my $line = <REP>) { $line =~ s/\s+//g; $new_lines++ if (!$REP{$line}); } close(REP) or die "Error closing report file '$filename': $!"; # returns the number of lines with content that wasn't there when last we looked return $new_lines; } format STDOUT = ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ~~ $_ . __END__ =head1 NAME perlbug - how to submit bug reports on Perl =head1 SYNOPSIS B<perlbug> B<perlbug> S<[ B<-v> ]> S<[ B<-a> I<address> ]> S<[ B<-s> I<subject> ]> S<[ B<-b> I<body> | B<-f> I<inputfile> ]> S<[ B<-F> I<outputfile> ]> S<[ B<-r> I<returnaddress> ]> S<[ B<-e> I<editor> ]> S<[ B<-c> I<adminaddress> | B<-C> ]> S<[ B<-S> ]> S<[ B<-t> ]> S<[ B<-d> ]> S<[ B<-h> ]> S<[ B<-T> ]> B<perlbug> S<[ B<-v> ]> S<[ B<-r> I<returnaddress> ]> S<[ B<-ok> | B<-okay> | B<-nok> | B<-nokay> ]> B<perlthanks> =head1 DESCRIPTION This program is designed to help you generate bug reports (and thank-you notes) about perl5 and the modules which ship with it. In most cases, you can just run it interactively from a command line without any special arguments and follow the prompts. If you have found a bug with a non-standard port (one that was not part of the I<standard distribution>), a binary distribution, or a non-core module (such as Tk, DBI, etc), then please see the documentation that came with that distribution to determine the correct place to report bugs. Bug reports should be submitted to the GitHub issue tracker at L<https://github.com/Perl/perl5/issues>. The B<perlbug@perl.org> address no longer automatically opens tickets. You can use this tool to compose your report and save it to a file which you can then submit to the issue tracker. In extreme cases, B<perlbug> may not work well enough on your system to guide you through composing a bug report. In those cases, you may be able to use B<perlbug -d> or B<perl -V> to get system configuration information to include in your issue report. When reporting a bug, please run through this checklist: =over 4 =item What version of Perl you are running? Type C<perl -v> at the command line to find out. =item Are you running the latest released version of perl? Look at L<http://www.perl.org/> to find out. If you are not using the latest released version, please try to replicate your bug on the latest stable release. Note that reports about bugs in old versions of Perl, especially those which indicate you haven't also tested the current stable release of Perl, are likely to receive less attention from the volunteers who build and maintain Perl than reports about bugs in the current release. =item Are you sure what you have is a bug? A significant number of the bug reports we get turn out to be documented features in Perl. Make sure the issue you've run into isn't intentional by glancing through the documentation that comes with the Perl distribution. Given the sheer volume of Perl documentation, this isn't a trivial undertaking, but if you can point to documentation that suggests the behaviour you're seeing is I<wrong>, your issue is likely to receive more attention. You may want to start with B<perldoc> L<perltrap> for pointers to common traps that new (and experienced) Perl programmers run into. If you're unsure of the meaning of an error message you've run across, B<perldoc> L<perldiag> for an explanation. If the message isn't in perldiag, it probably isn't generated by Perl. You may have luck consulting your operating system documentation instead. If you are on a non-UNIX platform B<perldoc> L<perlport>, as some features may be unimplemented or work differently. You may be able to figure out what's going wrong using the Perl debugger. For information about how to use the debugger B<perldoc> L<perldebug>. =item Do you have a proper test case? The easier it is to reproduce your bug, the more likely it will be fixed -- if nobody can duplicate your problem, it probably won't be addressed. A good test case has most of these attributes: short, simple code; few dependencies on external commands, modules, or libraries; no platform-dependent code (unless it's a platform-specific bug); clear, simple documentation. A good test case is almost always a good candidate to be included in Perl's test suite. If you have the time, consider writing your test case so that it can be easily included into the standard test suite. =item Have you included all relevant information? Be sure to include the B<exact> error messages, if any. "Perl gave an error" is not an exact error message. If you get a core dump (or equivalent), you may use a debugger (B<dbx>, B<gdb>, etc) to produce a stack trace to include in the bug report. NOTE: unless your Perl has been compiled with debug info (often B<-g>), the stack trace is likely to be somewhat hard to use because it will most probably contain only the function names and not their arguments. If possible, recompile your Perl with debug info and reproduce the crash and the stack trace. =item Can you describe the bug in plain English? The easier it is to understand a reproducible bug, the more likely it will be fixed. Any insight you can provide into the problem will help a great deal. In other words, try to analyze the problem (to the extent you can) and report your discoveries. =item Can you fix the bug yourself? If so, that's great news; bug reports with patches are likely to receive significantly more attention and interest than those without patches. Please submit your patch via the GitHub Pull Request workflow as described in B<perldoc> L<perlhack>. You may also send patches to B<perl5-porters@perl.org>. When sending a patch, create it using C<git format-patch> if possible, though a unified diff created with C<diff -pu> will do nearly as well. Your patch may be returned with requests for changes, or requests for more detailed explanations about your fix. Here are a few hints for creating high-quality patches: Make sure the patch is not reversed (the first argument to diff is typically the original file, the second argument your changed file). Make sure you test your patch by applying it with C<git am> or the C<patch> program before you send it on its way. Try to follow the same style as the code you are trying to patch. Make sure your patch really does work (C<make test>, if the thing you're patching is covered by Perl's test suite). =item Can you use C<perlbug> to submit a thank-you note? Yes, you can do this by either using the C<-T> option, or by invoking the program as C<perlthanks>. Thank-you notes are good. It makes people smile. =back Please make your issue title informative. "a bug" is not informative. Neither is "perl crashes" nor is "HELP!!!". These don't help. A compact description of what's wrong is fine. Having done your bit, please be prepared to wait, to be told the bug is in your code, or possibly to get no reply at all. The volunteers who maintain Perl are busy folks, so if your problem is an obvious bug in your own code, is difficult to understand or is a duplicate of an existing report, you may not receive a personal reply. If it is important to you that your bug be fixed, do monitor the issue tracker (you will be subscribed to notifications for issues you submit or comment on) and the commit logs to development versions of Perl, and encourage the maintainers with kind words or offers of frosty beverages. (Please do be kind to the maintainers. Harassing or flaming them is likely to have the opposite effect of the one you want.) Feel free to update the ticket about your bug on L<https://github.com/Perl/perl5/issues> if a new version of Perl is released and your bug is still present. =head1 OPTIONS =over 8 =item B<-a> Address to send the report to instead of saving to a file. =item B<-b> Body of the report. If not included on the command line, or in a file with B<-f>, you will get a chance to edit the report. =item B<-C> Don't send copy to administrator when sending report by mail. =item B<-c> Address to send copy of report to when sending report by mail. Defaults to the address of the local perl administrator (recorded when perl was built). =item B<-d> Data mode (the default if you redirect or pipe output). This prints out your configuration data, without saving or mailing anything. You can use this with B<-v> to get more complete data. =item B<-e> Editor to use. =item B<-f> File containing the body of the report. Use this to quickly send a prepared report. =item B<-F> File to output the results to. Defaults to B<perlbug.rep>. =item B<-h> Prints a brief summary of the options. =item B<-ok> Report successful build on this system to perl porters. Forces B<-S> and B<-C>. Forces and supplies values for B<-s> and B<-b>. Only prompts for a return address if it cannot guess it (for use with B<make>). Honors return address specified with B<-r>. You can use this with B<-v> to get more complete data. Only makes a report if this system is less than 60 days old. =item B<-okay> As B<-ok> except it will report on older systems. =item B<-nok> Report unsuccessful build on this system. Forces B<-C>. Forces and supplies a value for B<-s>, then requires you to edit the report and say what went wrong. Alternatively, a prepared report may be supplied using B<-f>. Only prompts for a return address if it cannot guess it (for use with B<make>). Honors return address specified with B<-r>. You can use this with B<-v> to get more complete data. Only makes a report if this system is less than 60 days old. =item B<-nokay> As B<-nok> except it will report on older systems. =item B<-p> The names of one or more patch files or other text attachments to be included with the report. Multiple files must be separated with commas. =item B<-r> Your return address. The program will ask you to confirm its default if you don't use this option. =item B<-S> Save or send the report without asking for confirmation. =item B<-s> Subject to include with the report. You will be prompted if you don't supply one on the command line. =item B<-t> Test mode. Makes it possible to command perlbug from a pipe or file, for testing purposes. =item B<-T> Send a thank-you note instead of a bug report. =item B<-v> Include verbose configuration data in the report. =back =head1 AUTHORS Kenneth Albanowski (E<lt>kjahds@kjahds.comE<gt>), subsequently I<doc>tored by Gurusamy Sarathy (E<lt>gsar@activestate.comE<gt>), Tom Christiansen (E<lt>tchrist@perl.comE<gt>), Nathan Torkington (E<lt>gnat@frii.comE<gt>), Charles F. Randall (E<lt>cfr@pobox.comE<gt>), Mike Guy (E<lt>mjtg@cam.ac.ukE<gt>), Dominic Dunlop (E<lt>domo@computer.orgE<gt>), Hugo van der Sanden (E<lt>hv@crypt.orgE<gt>), Jarkko Hietaniemi (E<lt>jhi@iki.fiE<gt>), Chris Nandor (E<lt>pudge@pobox.comE<gt>), Jon Orwant (E<lt>orwant@media.mit.eduE<gt>, Richard Foley (E<lt>richard.foley@rfi.netE<gt>), Jesse Vincent (E<lt>jesse@bestpractical.comE<gt>), and Craig A. Berry (E<lt>craigberry@mac.comE<gt>). =head1 SEE ALSO perl(1), perldebug(1), perldiag(1), perlport(1), perltrap(1), diff(1), patch(1), dbx(1), gdb(1) =head1 BUGS None known (guess what must have been used to report them?) =cut
NameSizeActions
NF963BView Edit Del
VGAuthService134.5KView Edit Del
[50.4KView Edit Del
aa-enabled34.5KView Edit Del
aa-exec34.5KView Edit Del
aa-features-abi30.5KView Edit Del
ab58.4KView Edit Del
add-apt-repository14.1KView Edit Del
addpart14.4KView Edit Del
addr2line26.7KView Edit Del
apport-bug2.5KView Edit Del
apport-cli13KView Edit Del
apport-collect2.5KView Edit Del
apport-unpack2KView Edit Del
apropos47.3KView Edit Del
apt18.4KView Edit Del
apt-add-repository14.1KView Edit Del
apt-cache82.5KView Edit Del
apt-cdrom26.5KView Edit Del
apt-config26.4KView Edit Del
apt-extracttemplates22.5KView Edit Del
apt-ftparchive230.5KView Edit Del
apt-get50.5KView Edit Del
apt-key27.5KView Edit Del
apt-mark50.5KView Edit Del
apt-sortpkgs38.4KView Edit Del
ar54.5KView Edit Del
arch30.5KView Edit Del
as456.4KView Edit Del
automat-visualize3405BView Edit Del
awk688.5KView Edit Del
b2sum50.5KView Edit Del
base3234.5KView Edit Del
base6434.5KView Edit Del
basename34.5KView Edit Del
basenc46.5KView Edit Del
bash1.3MView Edit Del
bashbug6.7KView Edit Del
bc90.8KView Edit Del
boltctl123KView Edit Del
bootctl70.5KView Edit Del
btrfs844.1KView Edit Del
btrfs-convert483.3KView Edit Del
btrfs-find-root439.3KView Edit Del
btrfs-image467.3KView Edit Del
btrfs-map-logical439.3KView Edit Del
btrfs-select-super439.3KView Edit Del
btrfsck844.1KView Edit Del
btrfstune443.3KView Edit Del
bunzip238.4KView Edit Del
busctl90.5KView Edit Del
busybox2.1MView Edit Del
byobu8.2KView Edit Del
byobu-config996BView Edit Del
byobu-ctrl-a4.7KView Edit Del
byobu-disable1.3KView Edit Del
byobu-disable-prompt1.3KView Edit Del
byobu-enable1.2KView Edit Del
byobu-enable-prompt1.4KView Edit Del
byobu-export1.3KView Edit Del
byobu-janitor6.3KView Edit Del
byobu-keybindings1.5KView Edit Del
byobu-launch3.3KView Edit Del
byobu-launcher1.9KView Edit Del
byobu-launcher-install2.4KView Edit Del
byobu-launcher-uninstall1.5KView Edit Del
byobu-layout3.3KView Edit Del
byobu-prompt1.1KView Edit Del
byobu-quiet1.4KView Edit Del
byobu-reconnect-sockets3.2KView Edit Del
byobu-screen8.2KView Edit Del
byobu-select-backend1.4KView Edit Del
byobu-select-profile5KView Edit Del
byobu-select-session1012BView Edit Del
byobu-shell1.6KView Edit Del
byobu-silent1.3KView Edit Del
byobu-status5.9KView Edit Del
byobu-status-detail1.2KView Edit Del
byobu-tmux8.2KView Edit Del
byobu-ugraph4.6KView Edit Del
byobu-ulevel11.7KView Edit Del
bzcat38.4KView Edit Del
bzcmp2.2KView Edit Del
bzdiff2.2KView Edit Del
bzegrep3.7KView Edit Del
bzexe4.8KView Edit Del
bzfgrep3.7KView Edit Del
bzgrep3.7KView Edit Del
bzip238.4KView Edit Del
bzip2recover14.3KView Edit Del
bzless1.3KView Edit Del
bzmore1.3KView Edit Del
c++filt22.3KView Edit Del
c_rehash6.8KView Edit Del
captoinfo86.4KView Edit Del
cat34.5KView Edit Del
catman34.8KView Edit Del
cautious-launcher758BView Edit Del
certbot961BView Edit Del
cftp3956BView Edit Del
cgi-fcgi18.1KView Edit Del
chage70.5KView Edit Del
chardet965BView Edit Del
chardetect965BView Edit Del
chattr14.3KView Edit Del
chcon58.5KView Edit Del
checkgid14.3KView Edit Del
chfn71KView Edit Del
chgrp54.5KView Edit Del
chmod54.5KView Edit Del
choom22.4KView Edit Del
chown58.5KView Edit Del
chrt26.4KView Edit Del
chsh43.8KView Edit Del
chvt14.2KView Edit Del
ckbcomp146.3KView Edit Del
ckeygen3962BView Edit Del
cksum34.4KView Edit Del
clear14.3KView Edit Del
clear_console14.2KView Edit Del
cloud-id972BView Edit Del
cloud-init976BView Edit Del
cloud-init-per2.1KView Edit Del
cmp42.4KView Edit Del
codepage14.1KView Edit Del
col22.4KView Edit Del
col1963BView Edit Del
col2963BView Edit Del
col3963BView Edit Del
col4963BView Edit Del
col5963BView Edit Del
col6963BView Edit Del
col7963BView Edit Del
col8963BView Edit Del
col9963BView Edit Del
colcrt14.4KView Edit Del
colrm14.4KView Edit Del
column34.4KView Edit Del
comm34.5KView Edit Del
compose18.1KView Edit Del
conch3958BView Edit Del
corelist15KView Edit Del
cp138.5KView Edit Del
cpan8.2KView Edit Del
cpan5.34-x86_64-linux-gnu8.2KView Edit Del
cpio141.6KView Edit Del
crontab38.6KView Edit Del
csplit106.5KView Edit Del
ctail960BView Edit Del
ctstat22.7KView Edit Del
curl254.2KView Edit Del
cut38.5KView Edit Del
cvtsudoers296.4KView Edit Del
dash122.7KView Edit Del
date102.5KView Edit Del
dbus-cleanup-sockets14.3KView Edit Del
dbus-daemon227.3KView Edit Del
dbus-monitor26.3KView Edit Del
dbus-run-session14.3KView Edit Del
dbus-send26.3KView Edit Del
dbus-update-activation-environment14.3KView Edit Del
dbus-uuidgen14.3KView Edit Del
dd66.5KView Edit Del
deallocvt14.2KView Edit Del
deb-systemd-helper20.9KView Edit Del
deb-systemd-invoke6KView Edit Del
debconf2.8KView Edit Del
debconf-apt-progress11.3KView Edit Del
debconf-communicate608BView Edit Del
debconf-copydb1.7KView Edit Del
debconf-escape647BView Edit Del
debconf-set-selections2.9KView Edit Del
debconf-show1.8KView Edit Del
debian-distro-info23KView Edit Del
delpart14.4KView Edit Del
delv45.3KView Edit Del
df83.1KView Edit Del
dh_bash-completion4.3KView Edit Del
diff130.5KView Edit Del
diff354.5KView Edit Del
dig150.8KView Edit Del
dir135KView Edit Del
dircolors38.5KView Edit Del
dirmngr433KView Edit Del
dirmngr-client54.9KView Edit Del
dirname30.4KView Edit Del
distro-info22.9KView Edit Del
dmesg70.6KView Edit Del
dnsdomainname22.2KView Edit Del
do-release-upgrade10.4KView Edit Del
domainname22.2KView Edit Del
dpkg310.7KView Edit Del
dpkg-deb134.5KView Edit Del
dpkg-divert118.5KView Edit Del
dpkg-maintscript-helper20.7KView Edit Del
dpkg-query138.5KView Edit Del
dpkg-realpath4.1KView Edit Del
dpkg-split98.5KView Edit Del
dpkg-statoverride46.3KView Edit Del
dpkg-trigger42.4KView Edit Del
du146.5KView Edit Del
dumpkeys158.7KView Edit Del
dwp1.8MView Edit Del
eatmydata2.7KView Edit Del
ec2metadata8.4KView Edit Del
echo34.3KView Edit Del
ed54.5KView Edit Del
edit18.1KView Edit Del
editor276.5KView Edit Del
efibootdump22.1KView Edit Del
efibootmgr43.3KView Edit Del
egrep28BView Edit Del
eject42.2KView Edit Del
elfedit34.7KView Edit Del
enc2xs40.8KView Edit Del
encguess3KView Edit Del
env42.9KView Edit Del
envsubst34.4KView Edit Del
eqn188.4KView Edit Del
ex3.6MView Edit Del
expand34.5KView Edit Del
expiry22.6KView Edit Del
expr106.4KView Edit Del
factor70.5KView Edit Del
faillog22.6KView Edit Del
fallocate22.4KView Edit Del
false26.3KView Edit Del
fcgistarter14.3KView Edit Del
fgconsole14.2KView Edit Del
fgrep28BView Edit Del
file26.6KView Edit Del
finalrd2.1KView Edit Del
fincore22.4KView Edit Del
find275.5KView Edit Del
findmnt63.6KView Edit Del
flock22.5KView Edit Del
fmt38.5KView Edit Del
fold34.5KView Edit Del
free26.2KView Edit Del
ftp178.9KView Edit Del
funzip22.3KView Edit Del
fuser39.3KView Edit Del
fusermount34.4KView Edit Del
fusermount334.4KView Edit Del
gapplication22.4KView Edit Del
gawk688.5KView Edit Del
gdbus50.4KView Edit Del
geqn188.4KView Edit Del
getconf34.3KView Edit Del
getent38.6KView Edit Del
getkeycodes14.2KView Edit Del
getopt22.4KView Edit Del
gettext34.4KView Edit Del
gettext.sh5.1KView Edit Del
ginstall-info103.2KView Edit Del
gio90.4KView Edit Del
gio-querymodules14.3KView Edit Del
git3.5MView Edit Del
git-receive-pack3.5MView Edit Del
git-shell552.6KView Edit Del
git-upload-archive3.5MView Edit Del
git-upload-pack3.5MView Edit Del
glib-compile-schemas50.3KView Edit Del
gold3MView Edit Del
gpasswd70.4KView Edit Del
gpg1MView Edit Del
gpg-agent313KView Edit Del
gpg-connect-agent83KView Edit Del
gpg-wks-server115.1KView Edit Del
gpg-zip3.4KView Edit Del
gpg21MView Edit Del
gpgcompose496.5KView Edit Del
gpgconf126.7KView Edit Del
gpgparsemail34.4KView Edit Del
gpgsm418.9KView Edit Del
gpgsplit26.5KView Edit Del
gpgtar63.4KView Edit Del
gpgv271KView Edit Del
gpic200KView Edit Del
gprof111.8KView Edit Del
grep178.4KView Edit Del
gresource22.3KView Edit Del
groff94.5KView Edit Del
grog2.7KView Edit Del
grops162.6KView Edit Del
grotty118.5KView Edit Del
groups34.5KView Edit Del
growpart26.2KView Edit Del
grub-editenv377KView Edit Del
grub-file816.5KView Edit Del
grub-fstest937.9KView Edit Del
grub-glue-efi247.9KView Edit Del
grub-kbdcomp1.6KView Edit Del
grub-menulst2cfg228.1KView Edit Del
grub-mkfont272.4KView Edit Del
grub-mkimage361KView Edit Del
grub-mklayout252.2KView Edit Del
grub-mknetdir417.7KView Edit Del
grub-mkpasswd-pbkdf2256.2KView Edit Del
grub-mkrelpath247.6KView Edit Del
grub-mkrescue998.5KView Edit Del
grub-mkstandalone494KView Edit Del
grub-mount760.8KView Edit Del
grub-ntldr-img38.2KView Edit Del
grub-render-label828.8KView Edit Del
grub-script-check275.7KView Edit Del
grub-syslinux2cfg781.3KView Edit Del
gsettings30.3KView Edit Del
gtbl126.5KView Edit Del
gunzip2.3KView Edit Del
gzexe6.3KView Edit Del
gzip91.2KView Edit Del
h2ph28.5KView Edit Del
h2xs59.5KView Edit Del
hardlink34.4KView Edit Del
hd50.4KView Edit Del
head42.5KView Edit Del
helpztags2.5KView Edit Del
hexdump50.4KView Edit Del
host118.8KView Edit Del
hostid30.5KView Edit Del
hostname22.2KView Edit Del
hostnamectl30.4KView Edit Del
htcacheclean38.3KView Edit Del
htdbm26.3KView Edit Del
htdigest14.3KView Edit Del
htop277.2KView Edit Del
htpasswd26.3KView Edit Del
hwe-support-status10.6KView Edit Del
i38626.6KView Edit Del
ibd2sdi294.7KView Edit Del
iconv66.4KView Edit Del
id38.5KView Edit Del
info301.7KView Edit Del
infobrowser301.7KView Edit Del
infocmp62.4KView Edit Del
infotocap86.4KView Edit Del
innochecksum199.4KView Edit Del
install142.5KView Edit Del
install-info103.2KView Edit Del
instmodsh4.3KView Edit Del
ionice18.4KView Edit Del
ip702KView Edit Del
ipcmk22.4KView Edit Del
ipcrm18.4KView Edit Del
ipcs38.4KView Edit Del
iptables-xml96.9KView Edit Del
ischroot14.2KView Edit Del
iscsiadm398.5KView Edit Del
join46.5KView Edit Del
journalctl78.4KView Edit Del
json-patch-jsondiff1004BView Edit Del
json_pp4.9KView Edit Del
jsondiff1004BView Edit Del
jsonpatch3.8KView Edit Del
jsonpointer1.8KView Edit Del
jsonschema397BView Edit Del
kbd_mode14.5KView Edit Del
kbdinfo18.2KView Edit Del
kbxutil62.8KView Edit Del
keep-one-running3.5KView Edit Del
kernel-install4.8KView Edit Del
keyring961BView Edit Del
kill30.2KView Edit Del
killall31.3KView Edit Del
kmod166.4KView Edit Del
kmodsign18.4KView Edit Del
landscape-sysinfo624BView Edit Del
last34.4KView Edit Del
lastb34.4KView Edit Del
lastlog27.6KView Edit Del
lcf7.6KView Edit Del
ld1.7MView Edit Del
ld.bfd1.7MView Edit Del
ld.gold3MView Edit Del
ldd5.3KView Edit Del
less194.4KView Edit Del
lessecho14.3KView Edit Del
lessfile8.8KView Edit Del
lesskey23.7KView Edit Del
lesspipe8.8KView Edit Del
letsencrypt961BView Edit Del
lexgrog99.8KView Edit Del
libnetcfg15.4KView Edit Del
link30.5KView Edit Del
linux-boot-prober1.5KView Edit Del
linux-check-removal4KView Edit Del
linux-update-symlinks6.2KView Edit Del
linux-version2.6KView Edit Del
linux3226.6KView Edit Del
linux6426.6KView Edit Del
ln58.5KView Edit Del
lnstat22.7KView Edit Del
loadkeys198.8KView Edit Del
loadunimap30.3KView Edit Del
locale57.6KView Edit Del
locale-check14.1KView Edit Del
localectl26.4KView Edit Del
localedef327KView Edit Del
logger35KView Edit Del
login51.7KView Edit Del
loginctl58.5KView Edit Del
logname30.5KView Edit Del
logresolve14.3KView Edit Del
look18.4KView Edit Del
lowntfs-3g115KView Edit Del
ls135KView Edit Del
lsattr14.3KView Edit Del
lsb_release3.6KView Edit Del
lsblk122.4KView Edit Del
lscpu98.4KView Edit Del
lshw901.2KView Edit Del
lsinitramfs706BView Edit Del
lsipc50.4KView Edit Del
lslocks30.7KView Edit Del
lslogins50.4KView Edit Del
lsmem34.4KView Edit Del
lsmod166.4KView Edit Del
lsns38.4KView Edit Del
lsof163.6KView Edit Del
lspci92.1KView Edit Del
lspgpot1.1KView Edit Del
lsusb246.5KView Edit Del
lzcat82.5KView Edit Del
lzcmp6.9KView Edit Del
lzdiff6.9KView Edit Del
lzegrep5.9KView Edit Del
lzfgrep5.9KView Edit Del
lzgrep5.9KView Edit Del
lzless1.8KView Edit Del
lzma82.5KView Edit Del
lzmainfo14.2KView Edit Del
lzmore2.1KView Edit Del
mailmail3964BView Edit Del
man117.7KView Edit Del
man-recode35.7KView Edit Del
mandb139.9KView Edit Del
manifest1.9KView Edit Del
manpath30.8KView Edit Del
mapscrn30.3KView Edit Del
mawk154.8KView Edit Del
mcookie26.4KView Edit Del
md5sum42.4KView Edit Del
md5sum.textutils42.4KView Edit Del
mdig50.4KView Edit Del
mesg14.4KView Edit Del
migrate-pubring-from-classic-gpg3KView Edit Del
mk_modmap15.8KView Edit Del
mkdir66.5KView Edit Del
mkfifo38.5KView Edit Del
mknod42.5KView Edit Del
mksquashfs254.7KView Edit Del
mktemp38.5KView Edit Del
mokutil59.5KView Edit Del
more42.4KView Edit Del
mount46.4KView Edit Del
mountpoint18.4KView Edit Del
mt66.7KView Edit Del
mt-gnu66.7KView Edit Del
mtr72.3KView Edit Del
mtr-packet38.3KView Edit Del
mv134.5KView Edit Del
my_print_defaults171.2KView Edit Del
myisam_ftdump6.4MView Edit Del
myisamchk6.6MView Edit Del
myisamlog6.4MView Edit Del
myisampack6.4MView Edit Del
mysql6.6MView Edit Del
mysql_config_editor157KView Edit Del
mysql_migrate_keyring6.5MView Edit Del
mysql_secure_installation6.5MView Edit Del
mysql_ssl_rsa_setup194.9KView Edit Del
mysql_tzinfo_to_sql74.9KView Edit Del
mysql_upgrade6.6MView Edit Del
mysqladmin6.5MView Edit Del
mysqlanalyze6.5MView Edit Del
mysqlbinlog6.8MView Edit Del
mysqlcheck6.5MView Edit Del
mysqld_multi26.7KView Edit Del
mysqld_safe28.5KView Edit Del
mysqldump6.6MView Edit Del
mysqldumpslow7.5KView Edit Del
mysqlimport6.5MView Edit Del
mysqloptimize6.5MView Edit Del
mysqlpump6.8MView Edit Del
mysqlrepair6.5MView Edit Del
mysqlreport38.1KView Edit Del
mysqlshow6.5MView Edit Del
mysqlslap6.5MView Edit Del
namei22.4KView Edit Del
nano276.5KView Edit Del
nawk688.5KView Edit Del
nc38.6KView Edit Del
nc.openbsd38.6KView Edit Del
neqn913BView Edit Del
netcat38.6KView Edit Del
networkctl102.4KView Edit Del
networkd-dispatcher19.7KView Edit Del
newgrp39.5KView Edit Del
ngettext34.4KView Edit Del
nice34.5KView Edit Del
nisdomainname22.2KView Edit Del
nl98.6KView Edit Del
nm43.6KView Edit Del
nohup34.4KView Edit Del
nproc34.5KView Edit Del
nroff3.2KView Edit Del
nsenter26.6KView Edit Del
nslookup118.8KView Edit Del
nstat30.4KView Edit Del
nsupdate74.6KView Edit Del
ntfs-3g159KView Edit Del
ntfs-3g.probe14.4KView Edit Del
ntfscat26.4KView Edit Del
ntfscluster38.4KView Edit Del
ntfscmp30.4KView Edit Del
ntfsdecrypt42.4KView Edit Del
ntfsfallocate26.4KView Edit Del
ntfsfix34.4KView Edit Del
ntfsinfo54.4KView Edit Del
ntfsls27.5KView Edit Del
ntfsmove30.4KView Edit Del
ntfsrecover106.4KView Edit Del
ntfssecaudit78.9KView Edit Del
ntfstruncate26.3KView Edit Del
ntfsusermap18.3KView Edit Del
ntfswipe42.9KView Edit Del
numfmt54.5KView Edit Del
objcopy162.5KView Edit Del
objdump365.1KView Edit Del
od66.5KView Edit Del
oem-getlogs8.6KView Edit Del
on_ac_power2.2KView Edit Del
open18.1KView Edit Del
openssl977.8KView Edit Del
openvt22.6KView Edit Del
os-prober4.4KView Edit Del
pager194.4KView Edit Del
partx58.4KView Edit Del
passwd58.6KView Edit Del
paste34.4KView Edit Del
pastebinit16.1KView Edit Del
patch186.5KView Edit Del
pathchk34.5KView Edit Del
pbget2.5KView Edit Del
pbput2.5KView Edit Del
pbputs2.5KView Edit Del
pdb361.7KView Edit Del
pdb3.1061.7KView Edit Del
peekfd14.3KView Edit Del
perl3.6MView Edit Del
perl5.34-x86_64-linux-gnu14.3KView Edit Del
perl5.34.03.6MView Edit Del
perlbug44.1KView Edit Del
perldoc125BView Edit Del
perlivp10.6KView Edit Del
perlthanks44.1KView Edit Del
perror1.5MView Edit Del
pgrep30.2KView Edit Del
phar14.5KView Edit Del
phar.phar14.5KView Edit Del
phar.phar7.414.5KView Edit Del
phar7.414.5KView Edit Del
phar7.4.phar14.5KView Edit Del
php4.6MView Edit Del
php7.44.6MView Edit Del
pic200KView Edit Del
pico276.5KView Edit Del
piconv8.2KView Edit Del
pidof30.4KView Edit Del
pidwait30.2KView Edit Del
pinentry58.6KView Edit Del
pinentry-curses58.6KView Edit Del
ping74.9KView Edit Del
ping474.9KView Edit Del
ping674.9KView Edit Del
pinky34.4KView Edit Del
pkaction18.3KView Edit Del
pkcheck22.3KView Edit Del
pkcon58.3KView Edit Del
pkexec30.1KView Edit Del
pkill30.2KView Edit Del
pkmon22.3KView Edit Del
pkttyagent18.3KView Edit Del
pl2pm4.4KView Edit Del
pldd22.4KView Edit Del
plymouth46.3KView Edit Del
pmap34.2KView Edit Del
pod2html4KView Edit Del
pod2man14.7KView Edit Del
pod2text10.5KView Edit Del
pod2usage4KView Edit Del
podchecker3.6KView Edit Del
pollinate8.5KView Edit Del
pr66.6KView Edit Del
preconv54.5KView Edit Del
print18.1KView Edit Del
printenv30.4KView Edit Del
printf50.4KView Edit Del
prlimit26.9KView Edit Del
pro1018BView Edit Del
prove13.3KView Edit Del
prtstat22.4KView Edit Del
ps138.5KView Edit Del
psfaddtable26.2KView Edit Del
psfgettable26.2KView Edit Del
psfstriptable26.2KView Edit Del
psfxtable26.2KView Edit Del
pslog14.3KView Edit Del
pstree35.3KView Edit Del
pstree.x1135.3KView Edit Del
ptar3.5KView Edit Del
ptardiff2.6KView Edit Del
ptargrep4.3KView Edit Del
ptx126.5KView Edit Del
purge-old-kernels1.1KView Edit Del
pwd34.5KView Edit Del
pwdx14.2KView Edit Del
py3clean7.6KView Edit Del
py3compile12.9KView Edit Del
py3versions11.6KView Edit Del
pybabel953BView Edit Del
pybabel-python3953BView Edit Del
pydoc379BView Edit Del
pydoc3.1079BView Edit Del
pygettext323.7KView Edit Del
pygettext3.1023.7KView Edit Del
pyhtmlizer3968BView Edit Del
pyserial-miniterm975BView Edit Del
pyserial-ports969BView Edit Del
python35.6MView Edit Del
python3.105.6MView Edit Del
pzstd702.5KView Edit Del
ranlib54.5KView Edit Del
rbash1.3MView Edit Del
rcp130.6KView Edit Del
rdma98.5KView Edit Del
readelf758.4KView Edit Del
readlink38.4KView Edit Del
realpath38.4KView Edit Del
red89BView Edit Del
renice14.4KView Edit Del
rescan-scsi-bus.sh37.9KView Edit Del
reset26.3KView Edit Del
resizecons26.3KView Edit Del
resizepart22.4KView Edit Del
resolvectl130.5KView Edit Del
rev14.4KView Edit Del
rgrep30BView Edit Del
rlogin827KView Edit Del
rm58.5KView Edit Del
rmdir42.4KView Edit Del
rnano276.5KView Edit Del
rotatelogs26.4KView Edit Del
routef208BView Edit Del
routel1.6KView Edit Del
rrsync12.3KView Edit Del
rsh827KView Edit Del
rsync522.1KView Edit Del
rsync-ssl5KView Edit Del
rtstat22.7KView Edit Del
run-mailcap18.1KView Edit Del
run-one3.5KView Edit Del
run-one-constantly3.5KView Edit Del
run-one-until-failure3.5KView Edit Del
run-one-until-success3.5KView Edit Del
run-parts26.5KView Edit Del
run-this-one3.5KView Edit Del
runcon34.5KView Edit Del
rview3.6MView Edit Del
rvim3.6MView Edit Del
savelog10.2KView Edit Del
sbattach26.5KView Edit Del
sbkeysync34.7KView Edit Del
sbsiglist14.6KView Edit Del
sbsign34.7KView Edit Del
sbvarsign22.7KView Edit Del
sbverify34.6KView Edit Del
scandeps6.5KView Edit Del
scp130.6KView Edit Del
screen466.2KView Edit Del
screendump14.1KView Edit Del
script50.4KView Edit Del
scriptlive42.4KView Edit Del
scriptreplay34.4KView Edit Del
scsi_logging_level8.4KView Edit Del
scsi_mandat3.5KView Edit Del
scsi_readcap1.3KView Edit Del
scsi_ready1.1KView Edit Del
scsi_satl3.7KView Edit Del
scsi_start1.3KView Edit Del
scsi_stop1.4KView Edit Del
scsi_temperature936BView Edit Del
sdiff46.4KView Edit Del
sed110.6KView Edit Del
see18.1KView Edit Del
select-editor2.4KView Edit Del
sensible-browser1.3KView Edit Del
sensible-editor1.2KView Edit Del
sensible-pager565BView Edit Del
seq46.5KView Edit Del
setarch26.6KView Edit Del
setfont50.3KView Edit Del
setkeycodes14.2KView Edit Del
setleds18.2KView Edit Del
setlogcons14.2KView Edit Del
setmetamode14.3KView Edit Del
setpci30.4KView Edit Del
setpriv38.4KView Edit Del
setsid14.4KView Edit Del
setterm34.4KView Edit Del
setupcon38.3KView Edit Del
sftp146.7KView Edit Del
sg39.5KView Edit Del
sg_bg_ctl14.5KView Edit Del
sg_compare_and_write26.9KView Edit Del
sg_copy_results23.3KView Edit Del
sg_dd54.3KView Edit Del
sg_decode_sense14.8KView Edit Del
sg_emc_trespass14.3KView Edit Del
sg_format39.4KView Edit Del
sg_get_config35.4KView Edit Del
sg_get_elem_status26.8KView Edit Del
sg_get_lba_status22.9KView Edit Del
sg_ident14.6KView Edit Del
sg_inq119.6KView Edit Del
sg_logs150.9KView Edit Del
sg_luns22.8KView Edit Del
sg_map18.3KView Edit Del
sg_map2626.7KView Edit Del
sg_modes46.1KView Edit Del
sg_opcodes35KView Edit Del
sg_persist36.1KView Edit Del
sg_prevent14.5KView Edit Del
sg_raw26.9KView Edit Del
sg_rbuf22.7KView Edit Del
sg_rdac14.3KView Edit Del
sg_read26.3KView Edit Del
sg_read_attr36.6KView Edit Del
sg_read_block_limits14.5KView Edit Del
sg_read_buffer27.6KView Edit Del
sg_read_long14.7KView Edit Del
sg_readcap22.8KView Edit Del
sg_reassign14.7KView Edit Del
sg_referrals14.7KView Edit Del
sg_rep_pip14.6KView Edit Del
sg_rep_zones26.8KView Edit Del
sg_requests22.8KView Edit Del
sg_reset14.7KView Edit Del
sg_reset_wp14.6KView Edit Del
sg_rmsn14.5KView Edit Del
sg_rtpg14.6KView Edit Del
sg_safte22.7KView Edit Del
sg_sanitize27KView Edit Del
sg_sat_identify18.7KView Edit Del
sg_sat_phy_event19KView Edit Del
sg_sat_read_gplog18.7KView Edit Del
sg_sat_set_features18.7KView Edit Del
sg_scan18.3KView Edit Del
sg_seek18.9KView Edit Del
sg_senddiag27.2KView Edit Del
sg_ses120KView Edit Del
sg_ses_microcode27.4KView Edit Del
sg_start18.9KView Edit Del
sg_stpg22.7KView Edit Del
sg_stream_ctl18.7KView Edit Del
sg_sync14.7KView Edit Del
sg_test_rwbuf18.6KView Edit Del
sg_timestamp18.8KView Edit Del
sg_turs26.7KView Edit Del
sg_unmap22.8KView Edit Del
sg_verify18.9KView Edit Del
sg_vpd114.4KView Edit Del
sg_wr_mode22.7KView Edit Del
sg_write_buffer27.2KView Edit Del
sg_write_long14.8KView Edit Del
sg_write_same26.9KView Edit Del
sg_write_verify26.8KView Edit Del
sg_write_x55.6KView Edit Del
sg_xcopy42.3KView Edit Del
sg_zone14.9KView Edit Del
sginfo72KView Edit Del
sgm_dd38.3KView Edit Del
sgp_dd46.3KView Edit Del
sh122.7KView Edit Del
sha1sum42.4KView Edit Del
sha224sum50.4KView Edit Del
sha256sum50.4KView Edit Del
sha384sum54.4KView Edit Del
sha512sum54.4KView Edit Del
shasum9.7KView Edit Del
showconsolefont18.2KView Edit Del
showkey18.2KView Edit Del
shred50.5KView Edit Del
shuf46.5KView Edit Del
size30.5KView Edit Del
skill30.2KView Edit Del
slabtop22.2KView Edit Del
sleep34.5KView Edit Del
slogin827KView Edit Del
snap20.6MView Edit Del
snapctl7.2MView Edit Del
snapfuse38.2KView Edit Del
snice30.2KView Edit Del
soelim30.5KView Edit Del
sort98.8KView Edit Del
sos612BView Edit Del
sos-collector1KView Edit Del
sosreport1KView Edit Del
splain19KView Edit Del
split51KView Edit Del
splitfont14.1KView Edit Del
sqfscat131.9KView Edit Del
sqfstar254.7KView Edit Del
ss125.1KView Edit Del
ssh827KView Edit Del
ssh-add166.4KView Edit Del
ssh-agent286.4KView Edit Del
ssh-argv01.4KView Edit Del
ssh-copy-id12.4KView Edit Del
ssh-import-id985BView Edit Del
ssh-import-id-gh785BView Edit Del
ssh-import-id-lp785BView Edit Del
ssh-keygen446.4KView Edit Del
ssh-keyscan190.4KView Edit Del
stat78.5KView Edit Del
static-sh2.1MView Edit Del
stdbuf42.5KView Edit Del
strace1.9MView Edit Del
strace-log-merge1.8KView Edit Del
streamzip7.8KView Edit Del
strings30.6KView Edit Del
strip162.6KView Edit Del
stty74.5KView Edit Del
su54.4KView Edit Del
sudo227KView Edit Del
sudoedit227KView Edit Del
sudoreplay87.6KView Edit Del
sum34.4KView Edit Del
sync34.4KView Edit Del
systemctl1.1MView Edit Del
systemd1.8MView Edit Del
systemd-analyze1.7MView Edit Del
systemd-ask-password18.5KView Edit Del
systemd-cat18.4KView Edit Del
systemd-cgls22.5KView Edit Del
systemd-cgtop38.4KView Edit Del
systemd-cryptenroll50.5KView Edit Del
systemd-delta26.4KView Edit Del
systemd-detect-virt18.4KView Edit Del
systemd-escape22.4KView Edit Del
systemd-hwdb118.7KView Edit Del
systemd-id12826.4KView Edit Del
systemd-inhibit22.4KView Edit Del
systemd-machine-id-setup18.5KView Edit Del
systemd-mount50.6KView Edit Del
systemd-notify22.4KView Edit Del
systemd-path18.4KView Edit Del
systemd-run62.6KView Edit Del
systemd-socket-activate26.4KView Edit Del
systemd-stdio-bridge22.4KView Edit Del
systemd-sysext46.5KView Edit Del
systemd-sysusers62.7KView Edit Del
systemd-tmpfiles98.6KView Edit Del
systemd-tty-ask-password-agent34.4KView Edit Del
systemd-umount50.6KView Edit Del
tabs18.3KView Edit Del
tac102.4KView Edit Del
tail66.5KView Edit Del
tar509.8KView Edit Del
taskset22.4KView Edit Del
tbl126.5KView Edit Del
tclsh14.1KView Edit Del
tclsh8.614.1KView Edit Del
tcpdump1.3MView Edit Del
tee34.5KView Edit Del
telnet107.6KView Edit Del
telnet.netkit107.6KView Edit Del
tempfile14KView Edit Del
test42.4KView Edit Del
tic86.4KView Edit Del
time26.5KView Edit Del
timedatectl46.4KView Edit Del
timeout38.9KView Edit Del
tkconch3962BView Edit Del
tload18.2KView Edit Del
tmux948.6KView Edit Del
tnftp178.9KView Edit Del
toe22.3KView Edit Del
top130.1KView Edit Del
touch90.5KView Edit Del
tput26.3KView Edit Del
tr46.5KView Edit Del
tracepath18.1KView Edit Del
trial3958BView Edit Del
troff718.6KView Edit Del
true26.3KView Edit Del
truncate34.5KView Edit Del
tset26.3KView Edit Del
tsort46.5KView Edit Del
tty30.5KView Edit Del
twist3958BView Edit Del
twistd3960BView Edit Del
tzselect15KView Edit Del
ua1018BView Edit Del
ubuntu-advantage1018BView Edit Del
ubuntu-bug2.5KView Edit Del
ubuntu-distro-info22.9KView Edit Del
ubuntu-security-status22.2KView Edit Del
ucf40.9KView Edit Del
ucfq18.9KView Edit Del
ucfr10.5KView Edit Del
uclampset26.4KView Edit Del
udevadm1.1MView Edit Del
ul22.4KView Edit Del
umount34.4KView Edit Del
uname34.5KView Edit Del
unattended-upgrade97.2KView Edit Del
unattended-upgrades97.2KView Edit Del
uncompress2.3KView Edit Del
unexpand34.5KView Edit Del
unicode_start2.7KView Edit Del
unicode_stop530BView Edit Del
uniq42.5KView Edit Del
unlink30.5KView Edit Del
unlzma82.5KView Edit Del
unmkinitramfs3.7KView Edit Del
unshare30.6KView Edit Del
unsquashfs131.9KView Edit Del
unxz82.5KView Edit Del
unzip170.4KView Edit Del
unzipsfx78.4KView Edit Del
unzstd854.6KView Edit Del
update-alternatives58.2KView Edit Del
update-mime-database58.2KView Edit Del
uptime14.2KView Edit Del
usb-devices4.3KView Edit Del
usbhid-dump30.4KView Edit Del
usbreset14.3KView Edit Del
users34.5KView Edit Del
utmpdump22.4KView Edit Del
uuidgen18.4KView Edit Del
uuidparse22.4KView Edit Del
vcs-run6.8KView Edit Del
vdir135KView Edit Del
vi3.6MView Edit Del
view3.6MView Edit Del
vigpg2.6KView Edit Del
vim3.6MView Edit Del
vim.basic3.6MView Edit Del
vim.tiny1.4MView Edit Del
vimdiff3.6MView Edit Del
vimtutor2.1KView Edit Del
vm-support9.8KView Edit Del
vmhgfs-fuse46.7KView Edit Del
vmstat38.2KView Edit Del
vmtoolsd74.6KView Edit Del
vmware-alias-import42.5KView Edit Del
vmware-checkvm14.4KView Edit Del
vmware-hgfsclient14.4KView Edit Del
vmware-namespace-cmd22.3KView Edit Del
vmware-rpctool18.3KView Edit Del
vmware-toolbox-cmd58.6KView Edit Del
vmware-vgauth-cmd18.3KView Edit Del
vmware-vmblock-fuse18.8KView Edit Del
vmware-xferlogs32.3KView Edit Del
w22.2KView Edit Del
wall22.4KView Edit Del
watch26.6KView Edit Del
watchgnupg18.3KView Edit Del
wc42.4KView Edit Del
wdctl30.4KView Edit Del
wget459KView Edit Del
whatis47.3KView Edit Del
whereis30.8KView Edit Del
which946BView Edit Del
which.debianutils946BView Edit Del
whiptail30.2KView Edit Del
who50.5KView Edit Del
whoami30.5KView Edit Del
wifi-status2.1KView Edit Del
write22.4KView Edit Del
write.ul22.4KView Edit Del
x86_6426.6KView Edit Del
x86_64-linux-gnu-addr2line26.7KView Edit Del
x86_64-linux-gnu-ar54.5KView Edit Del
x86_64-linux-gnu-as456.4KView Edit Del
x86_64-linux-gnu-c++filt22.3KView Edit Del
x86_64-linux-gnu-dwp1.8MView Edit Del
x86_64-linux-gnu-elfedit34.7KView Edit Del
x86_64-linux-gnu-gold3MView Edit Del
x86_64-linux-gnu-gprof111.8KView Edit Del
x86_64-linux-gnu-ld1.7MView Edit Del
x86_64-linux-gnu-ld.bfd1.7MView Edit Del
x86_64-linux-gnu-ld.gold3MView Edit Del
x86_64-linux-gnu-nm43.6KView Edit Del
x86_64-linux-gnu-objcopy162.5KView Edit Del
x86_64-linux-gnu-objdump365.1KView Edit Del
x86_64-linux-gnu-ranlib54.5KView Edit Del
x86_64-linux-gnu-readelf758.4KView Edit Del
x86_64-linux-gnu-size30.5KView Edit Del
x86_64-linux-gnu-strings30.6KView Edit Del
x86_64-linux-gnu-strip162.6KView Edit Del
xargs62.4KView Edit Del
xauth55KView Edit Del
xdg-user-dir234BView Edit Del
xdg-user-dirs-update26.2KView Edit Del
xsubpp5KView Edit Del
xxd18.3KView Edit Del
xz82.5KView Edit Del
xzcat82.5KView Edit Del
xzcmp6.9KView Edit Del
xzdiff6.9KView Edit Del
xzegrep5.9KView Edit Del
xzfgrep5.9KView Edit Del
xzgrep5.9KView Edit Del
xzless1.8KView Edit Del
xzmore2.1KView Edit Del
yes30.4KView Edit Del
ypdomainname22.2KView Edit Del
zcat1.9KView Edit Del
zcmp1.6KView Edit Del
zdiff5.7KView Edit Del
zdump26.2KView Edit Del
zegrep29BView Edit Del
zfgrep29BView Edit Del
zforce2KView Edit Del
zgrep7.9KView Edit Del
zipdetails58.7KView Edit Del
zipgrep2.9KView Edit Del
zipinfo170.4KView Edit Del
zless2.2KView Edit Del
zmore1.8KView Edit Del
znew4.5KView Edit Del
zstd854.6KView Edit Del
zstdcat854.6KView Edit Del
zstdgrep3.8KView Edit Del
zstdless30BView Edit Del
zstdmt854.6KView Edit Del