ʻ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