Debian では、Perl 用にどれだけのコードが書かれていますか?

Debian では、Perl 用にどれだけのコードが書かれていますか?

私のDebianオペレーティングシステム:

cat   /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye

Debian WoodyにはPerlで書かれた計算コード用のコードがありますが、 オペレーティングシステムのコード計算

たとえば、Debian Woody では約 400-500 Mbs です。以下を試してください。

size=0
for i in `grep -A 1 -B 1 "^Section: base" /var/lib/dpkg/available | grep -A 2 "^Priority: required" |grep "^Installed-Size" |cut -d : -f 2
`; do size=$(($size+$i)); done
echo $size
 47762

すべてのコードをコピーしてOSで実行します。

debian@debian:~$ size=0
debian@debian:~$ for i in `grep -A 1 -B 1 "^Section: base" /var/lib/dpkg/available |
  grep -A 2 "^Priority: required" |grep "^Installed-Size" |cut -d : -f 2
  `; do size=$(($size+$i)); done
debian@debian:~$ echo $size
0

サイズが0の理由は何ですか?

答え1

エラーコード

リンクをクリックすると、コードは次のようになります。

for i in /bin/* /sbin/* /usr/bin/* /usr/sbin/*; do
    [ -f $i ] && {
        type=`file $i | grep -il perl`
        [ -n "$type" ] && echo $i;
    }
done

grepまた、あなたの試み(上記の図を参照)でファイルのセクションを試していますが、base私のDebianと同様に、そのセクションが存在しないため、結果がゼロであることが正常です。

解決策

#!/bin/bash

size=0
for i in /bin/* /sbin/* /usr/bin/* /usr/sbin/*; do
    [[ -x $i ]] &&
    file -i $i |
    grep -q perl &&
    ds=$(du $i | awk '{print $1}')
    ((size+=ds))
done
echo "$((size/1024)) MiB"

関連情報