количество отсчетов количества файлов и каталогов

Выполняя команду apt (install|remove|update), первая строка всегда (Reading database ... 266505 files and directories currently installed.)

Мне было любопытно узнать, какая команда на самом деле вызывает этот подсчет? Попытки, которые я сделал до сих пор:

cnt=0;for pkg in $(apt list --installed | tail -n +4 | cut -d '/' -f 1);do cnt=$(($cnt+$(dpkg --listfiles $pkg | wc -l)-1));done find /usr/ \( -type f -or -type d \) | wc -l Конечно, изменяя путь к /usr и /etc, только / и т. Д.

Ни один из совпадений не совпадает с этим. Поэтому мои вопросы:

cnt=0;for pkg in $(apt list --installed | tail -n +4 | cut -d '/' -f 1);do cnt=$(($cnt+$(dpkg --listfiles $pkg | wc -l)-1));done Этот счетчик где-то хранится? например в /var/cache/apt-xapian-inedx/

- Майк

3
задан 8 June 2017 в 17:59

2 ответа

Самый близкий результат, который я мог получить, - это:

cat /var/lib/dpkg/info/*.list | sort | uniq | wc -l

Информация об установленных пакетах находится по адресу: /var/lib/dpkg/info/. Каждый пакет имеет файл pkg-name.list, который содержит список файлов, расположенных в этом пакете. мы можем подсчитать их номер строки.

2
ответ дан 18 July 2018 в 11:58

Самый близкий результат, который я мог получить, - это:

cat /var/lib/dpkg/info/*.list | sort | uniq | wc -l

Информация об установленных пакетах находится по адресу: /var/lib/dpkg/info/. Каждый пакет имеет файл pkg-name.list, который содержит список файлов, расположенных в этом пакете. мы можем подсчитать их номер строки.

2
ответ дан 24 July 2018 в 19:53
  • 1
    Этот номер совпадает с номером, который я вычисляю, используя первую команду в исходном сообщении. Вы можете воспроизвести его с помощью apt -reinstall install SOME_PKG, а затем посмотреть на первую строку. – Mike V.D.C. 8 June 2017 в 18:11
  • 2
    Я уже тестировал его с помощью --reinstall, однако он не дал мне никакого вывода :) – Ravexina 8 June 2017 в 18:12
  • 3
    наконец, найти его;) Я не обращал внимания в первый раз. – Ravexina 8 June 2017 в 18:13
  • 4
    Вот мой вывод: root@my-laptop:~# apt-get install --reinstall bluez Reading package lists... Done Building dependency tree Reading state information... Done OUTPUT_TRUNCATED After this operation, 0 B of additional disk space will be used. (Reading database ... 266505 files and directories currently installed.) Preparing to unpack .../bluez_5.43-0ubuntu1_amd64.deb ... Unpacking bluez (5.43-0ubuntu1) over (5.43-0ubuntu1) ... OUTPUT_TRUNCATED Setting up bluez (5.43-0ubuntu1) ... Я говорю о строке, начинающейся с (Reading... – Mike V.D.C. 8 June 2017 в 18:17
  • 5
    Невозможно воспроизвести ваши результаты, для меня apt сообщает о 400k файлах, а wc подсчитывает около 1.3M файлов ... – Byte Commander 8 June 2017 в 18:21

Другие вопросы по тегам:

Похожие вопросы: