Ubuntu 20.04
enthalten waren.Eine Umgebung auf WSL2, in der "Ubuntu 20.04" aus dem Microsoft Store bezogen wurde und nach der Installation "sudo apt update" und "sudo apt upgrade" durchgeführt wurden.
> cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"
Zuerst habe ich die Anzahl der Befehle (Ausführungsdateien) im Pfad gezählt. (Es scheint verschiedene Binärdateien mit demselben Namen zu geben, aber vorerst mit derselben Anzahl)
> echo $PATH | sed "s/:/\n/g" | grep -v "^\/mnt" | while read d; do ls -1 "$d"; done | sort | uniq | wc -l
1339
1339 ,, Ich beschloss, das Erfassen aller Befehle aufzugeben, da es mehrere Jahre dauern würde, bis ich mich an einen Befehl pro Tag erinnere, den ich nicht kannte (Frust 1).
Auch wenn Sie den Befehl aufgeben, möchten Sie wissen, welche Pakete installiert sind.
> apt list --installed | wc -l
608
608!?. Unvernünftig (Frustration 2). Daher dachte ich, dass die Pakete, auf die von verschiedenen Paketen verwiesen wird, aufgrund der Paketabhängigkeiten von hoher Bedeutung sein würden, also zählte ich grob die umgekehrten Abhängigkeiten der Pakete und schaute mir das Ranking an.
> apt list --installed | sed "s:\/.*::" | while read p; do n=`apt-cache rdepends "$p" | wc -l`; echo -e "$n\t$p"; done | sort -rn -k1 | head
22107 libc6
6633 libstdc++6
5683 libgcc-s1
4427 perl
3140 libglib2.0-0
2508 zlib1g
2126 python3
1956 libgmp10
1596 libx11-6
1198 dpkg
"Libc6" war die Spitze, aber als ich die vom Paket extrahierten Dateien mit "dpkg-query -L libc6" überprüfte, wurden nur statische Objekte im lib-Verzeichnis erweitert und es gab keine bin-bezogenen Verzeichnisse. Erstens scheinen viele Pakete, die mit "lib" beginnen, nicht in das bin-Verzeichnis erweitert zu werden (mit Ausnahme von "libc-bin, libpam-modules-bin, libglib2.0-bin, libcap2-bin, libperl5.30, libpam-runtime"). .. Beginnen wir nun mit dem "Perl" -Paket, das einen hohen Rang hat.
> dpkg-query -L perl | grep "bin"
/usr/bin
/usr/bin/corelist
/usr/bin/cpan
/usr/bin/enc2xs
/usr/bin/encguess
/usr/bin/h2ph
/usr/bin/h2xs
/usr/bin/instmodsh
/usr/bin/json_pp
/usr/bin/libnetcfg
/usr/bin/perlbug
/usr/bin/perldoc
/usr/bin/perlivp
/usr/bin/perlthanks
/usr/bin/piconv
/usr/bin/pl2pm
/usr/bin/pod2html
/usr/bin/pod2man
/usr/bin/pod2text
/usr/bin/pod2usage
/usr/bin/podchecker
/usr/bin/podselect
/usr/bin/prove
/usr/bin/ptar
/usr/bin/ptardiff
/usr/bin/ptargrep
/usr/bin/shasum
/usr/bin/splain
/usr/bin/xsubpp
/usr/bin/zipdetails
Es gibt viele Dinge, die ich noch nie gesehen habe. Ich beschloss zu überdenken, dass es in Ordnung wäre zu lernen, wann es gebraucht wird (Frustration 3).
Vielleicht hätte ich es mit einer etwas minimaleren Installation machen sollen. Erstens habe ich den Überblick verloren, was ich anstrebte.
Ich war der Meinung, dass es besser wäre, zunächst die Befehle zu lernen, die in den Paketen coreutils
, bsdutils
und util-linux
enthalten sind.
Recommended Posts