LINUX.ORG.RU

Объём исходников типичной «базовой» системы Linux

 


0

3

Нашёл за сегодня много интересного, например,

https://sources.debian.org/stats/#sloc_current

https://dwheeler.com/sloc/redhat71-v1/redhat71sloc.html

Но теперь пытаюсь решить такую задачу: есть типичная голая десктопная инсталляция современного линукса, скажем, Убунты.

Сколько строк кода в её исходниках?

Нигде не нашёл инфы, скачиваю пакеты исходников для всех пакетов, поставленных в моей подходящей виртуалке, с тем, чтобы их потом подходящей программкой (cloc) подчитать, но боюсь, что виртуалка + дачный интернет = fail.

★★★★★

прикинь примерно сколько потребно сишных строк на килобайт, потом прикинь сколько там килобайт бинарного кода в «обычной инсталяции» и перемножь два числа.

alysnix ★★★
()
Последнее исправление: alysnix (всего исправлений: 1)
Ответ на: комментарий от alysnix

Это не нужно, есть cloc. Меня другое смущает, было 1281 пакетов (ubuntu 20.04 + lxde), а скачалось с помощью apt-get source только 773 архива .orig.

Простыню я частично залистнул, да и что в ней искать - не знаю.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)

Следует помнить, что cloc довольно кривой и многое анализирует неправильно.

Например, исходные файлы компилятора GCC (который давно уже на C++) он помечает как сишные, просто потому что разработчики GCC по каким-то одним только им известным причинам пишут код на C++ в файлах с расширением *.c, что сбивает cloc с толку.

https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/passes.c;h=6ff31ec37d7fd9f21bfa49a3102c112cebd0cbe0;hb=HEAD

Хотя наверное в современных версиях этого компилятора они перешли наконец-то на правильное расширение.

В общем, подобных проблем много, поэтому все эти SLOC’и вещь относительная.

EXL ★★★★★
()

Есть же отличный язык программирования Хѣръ или как-то так, там счетчик LOC пишется за пять минут.

Ну и прочие такой же важности задачи тоже легко решаются.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от den73

А оно расжимает из bzImage или во что там ядро сжато?

Маловато как-то получается.

Точно. Забыл про сжатие. Два миллиона строк - это несерьёзный энтерпрайз.

> ndisasm -b 64 /boot/vmlinuz-5.15.19 | wc -l

2048436

> ndisasm -b 64 /usr/src/linux-5.15.19/arch/x86/boot/compressed/vmlinux.bin | wc

13305288 49347980 515526648 # wc - print newline, word, and byte counts

> echo 'scale=213305288/2048436' | bc -q 

6.49
Mirage1_
()