ʻUbuntu 20.04est obtenu à partir du Microsoft Store, et après l'installation,sudo apt update et sudo apt upgrade` ont été exécutés, ainsi que l'environnement sur WSL2.
> cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"
Tout d'abord, j'ai compté le nombre de commandes (fichiers d'exécution) dans le chemin. (Il semble y avoir différents binaires avec le même nom, mais pour le moment, le même nombre)
> echo $PATH | sed "s/:/\n/g" | grep -v "^\/mnt" | while read d; do ls -1 "$d"; done | sort | uniq | wc -l
1339
1339 ... Il faudra plusieurs années pour me souvenir d'une commande que je ne connais pas un jour, alors j'ai décidé de renoncer à essayer de comprendre toutes les commandes (Frustration 1).
Même si vous abandonnez la commande, vous voulez savoir quels packages sont installés.
> apt list --installed | wc -l
608
608!?. Déraisonnable (frustration 2). Par conséquent, je pensais que les packages référencés par divers packages seraient d'une grande importance en raison des dépendances de packages, j'ai donc compté grossièrement les dépendances inverses des packages et regardé le classement.
> 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 était le premier, mais quand j'ai vérifié les fichiers extraits par le paquet avec dpkg-query -L libc6, il n'y avait que des objets statiques développés dans le répertoire lib, et il n'y avait pas de répertoires liés à bin. En premier lieu, de nombreux paquets commençant par lib ne semblent pas être étendus dans le répertoire bin (à l'exception de libc-bin, libpam-modules-bin, libglib2.0-bin, libcap2-bin, libperl5.30, libpam-runtime) .. Maintenant, commençons par le paquet perl, qui est classé haut.
> 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
Il y a beaucoup de choses que je n'ai jamais vues. J'ai décidé de reconsidérer que ce serait bien d'apprendre quand cela était nécessaire (frustration 3).
J'aurais peut-être dû le faire avec une installation un peu plus minimale. En premier lieu, j'ai perdu la trace de ce que je visais.
J'ai senti qu'il serait préférable de commencer par apprendre les commandes incluses dans les paquets coreutils, bsdutils et ʻutil-linux`.
Recommended Posts