Я предлагаю, чтобы Вы смотрели на ipxe.
Возможно настроить ipxe, чтобы взять определенный IP-адрес и затем загрузиться из Интернета.
Их раздел в качестве примера довольно обширен, я, не может гарантировать, что Вы найдете точно, в чем Вы нуждаетесь, но можно, вероятно, работать оттуда. Существует документация относительно того, как создать Ваше собственное pxeboot.0
ядро и даже ПЗУ начальной загрузки для Вашего NIC.
Вы Можно рассчитать его самостоятельно для вашей системы с помощью простой команды
$ find /usr/share/man/ -type f -exec ls -S {} + 2>/dev/null | head | while \
read -r file; do printf "%-40s" "$file"; \
man "$file" 2>/dev/null | wc -lwm; done | sort -nrk 4
, которая возвращает на мою коробку
(file) (lines) (words) (chars)
/usr/share/man/man1/zshall.1.bz2 27017 186394 1688174
/usr/share/man/man1/cmake.1.bz2 22477 106148 1004288
/usr/share/man/man1/cmake-gui.1.bz2 21362 100055 951110
/usr/share/man/man1/perltoc.1.bz2 18179 59783 780134
/usr/share/man/man1/cpack.1.bz2 9694 48264 458528
/usr/share/man/man1/cmakemodules.1.bz2 10637 42022 419127
/usr/share/man/man5/smb.conf.5.bz2 8306 49991 404190
/usr/share/man/man1/perlapi.1.bz2 8548 43873 387237
/usr/share/man/man1/perldiag.1.bz2 5662 37910 276778
/usr/share/man/e 1518 5919 58630
, где столбцы представляют собой количество строк, слов и символов соответственно. Ряды (команды) отсортированы по последнему столбцу.
Мы можем сделать подобную вещь для информационных страниц, но мы должны иметь в виду, что это содержимое может пролиться над многими файлами. Таким образом, мы будем использовать преимущество ЗШ
, чтобы держать выше однострочник в компактной форме:
$ for inf in ${(u)$(echo /usr/share/info/**/*(.:t:r:r))}; do \
printf "%-40s" "$inf"; \
info "$inf" 2>/dev/null | wc -lwm; done | sort -nrk 4
, что дает
(info title) (lines) (words) (chars)
elisp 72925 457537 3379403
libc 69813 411216 3066817
lispref 62753 374938 2806412
emacs 47507 322194 2291425
calc 33716 244394 1680763
internals 32221 219772 1549305
zsh 34932 206851 1544909
gsl-ref 32493 179954 1518248
gnus 31723 180613 1405064
gawk 27150 167135 1203395
xemacs 25734 170403 1184250
Информационные страницы огромны в основном для Gnu связанных вещей, что понятно, но я нахожу интересным, что Например, ZSH имеет больше линий и слов, но меньшего размера, чем на страницах человека. Интересно, потому что на первый взгляд содержимое одинаково, просто форматирование немного отличается.
Объяснение ЗШ трюков в выборе файлов для цикла: для инф в $ {(и) $ (эхо /usr/share/info/**/*(.:t:r:r ))}; Сделайте
Цель состоит в том, чтобы создать список уникальных имен файлов из / usr / share / info directory и всех подкаталогов. Файлы должны быть отделены от Dirname, Extenstions и всех чисел. Выше фрагмент код можно переписать в виде $ {(и) $ (эхо /usr/share/info/**/*(.)):t:r:r}
, что дает тот же результат, но использует, вероятно, более приличный синтаксис, а именно:
** / *
: спуск во все подкаталоги и отметьте все есть
(.): выберите только обычные файлы : т
: Удалить компоненты Pathname (работает как BaseName
) : R
: Удалить расширение (все после последней точки, включая точку). Он применяется дважды, чтобы удалить также ненужную строку и номер (например, .info-6
из файла ZSH.Info-6.bz2
) (u)
: показать Только уникальные слова (после предыдущих операций есть много одинаковых слов - разные файлы / главы для одной и той же информации о информации)
Man-страницы хранятся в файле /usr/share/man/manX
, где X
является разделом (описанным в man
). Они сжаты в формате gzip, поэтому давайте предположим, что больший сжатый файл означает больший manpage.
Проверяяя /usr/share/man/man1
(раздел 1: Исполняемые программы или команды оболочки) командой gzip -l *. gz | sort -n -k2
, я понял это (что, вероятно, будет варьироваться от дистрибутива к дистрибутиву, это было на Arch Linux системе с кучей пакетов), где первая колонка - размер сжатого файла, а вторая - размер несжатого файла:
161077 607106 73.5% ffprobe-all.1
198943 757155 73.7% ffserver-all.1
217339 792577 72.6% msp430-g++.1
217339 792577 72.6% msp430-gcc.1
209129 794118 73.7% ffmpeg-all.1
261778 972719 73.1% avr-g++.1
261778 972719 73.1% avr-gcc.1
262154 975423 73.1% g++.1
262154 975423 73.1% gcc.1
227830 1123043 79.7% perltoc.1perl
Альтернатива методам, предоставленным @rinan и @jimmij. Выходом Wireshark-фильтр
Большой победитель в моей системе.
for i in {1..9}; do du -sh man"$i"/*.gz | grep -v "^..0K" | grep -v "^0\|^12K\|^16K\|^[0-9][0-9]K" ; done
На основании того, что я сделал открыл каждую из крупнейших записей с человеком
и проверил количество строк в конце файла с помощью : f
и придумал:
wireshark-filter = 245016 lines
gcc = 8341 lines
perlfunc = 5132 lines
Пример @jimmij интересен, но неверен, поскольку возвращает результаты только из одного подкаталога. Запустив этот сценарий (на моем Debian 7), я получаю следующее:
/usr/share/man/man3/DBI.3pm.gz 6182 35812 271206
/usr/share/man/man8/openvpn.8.gz 4021 24702 202032
/usr/share/man/pt/man1/nmap.1.gz 2563 21214 159284
/usr/share/man/man8/lsof.8.gz 2714 18670 142698
/usr/share/man/man3/pcrepattern.3.gz 2579 18631 131204
/usr/share/man/man3/pcreapi.3.gz 2382 16966 123349
/usr/share/man/man8/iptables.8.gz 2631 14844 114354
/usr/share/man/man8/ip6tables.8.gz 2465 13619 105283
/usr/share/man/man3/CPAN.3perl.gz 2142 12346 98823
/usr/share/man/man8/mount.8.gz 2136 12059 97407
Вот небольшая версия, которая устраняет эту проблему:
find /usr/share/man/ -type f -ls | \
awk '{ printf "%s %s\n", $7, $11; }' | \
sort -r -n 2>/dev/null | \
awk '{ printf "%s\n", $2; }' 2>/dev/null | head -n 20 |
while \
read -r file; do printf "%-40s" "$file"; \
man "$file" 2>/dev/null | wc -lwm; done | sort -nrk 4
В моей системе Debian 7, которая дает
/usr/share/man/man1/cmake.1.gz 19264 86499 803021
/usr/share/man/man1/perltoc.1.gz 18755 62738 657990
/usr/share/man/man1/fvwm2.1.gz 8942 57060 462861
/usr/share/man/man1/cmakemodules.1.gz 9843 37965 376314
/usr/share/man/man1/perlfunc.1.gz 7535 47684 370246
/usr/share/man/man5/smb.conf.5.gz 8303 49962 359329
/usr/share/man/man1/cpack.1.gz 8037 38214 342264
/usr/share/man/man1/bash.1.gz 5465 42031 320015
/usr/share/man/man1/perlapi.1.gz 7074 36791 309196
/usr/share/man/man1/xterm-dev.1.gz 6242 34747 297639
/usr/share/man/man3/DBI.3pm.gz 6182 35812 271206
/usr/share/man/man1/xterm.1.gz 5238 29434 253526
/usr/share/man/man1/zshcompsys.1.gz 4502 31336 244115
/usr/share/man/man1/perldiag.1.gz 4939 33200 237882
/usr/share/man/man1/tcsh.1.gz 4355 29640 226498
/usr/share/man/ru/man1/nmap.1.gz 3048 21396 187181
/usr/share/man/hu/man1/nmap.1.gz 3020 21519 186431
/usr/share/man/de/man1/nmap.1.gz 2965 21384 182926
/usr/share/man/man1/nmap.1.gz 3005 24785 179485
/usr/share/man/ru/man1/mc.1.gz 3571 19200 173292
Что бы это ни было, в / usr / share / man
на этой машине (ymmv).