Сколько времени может занять сборка пользовательского пространства и ядра NetBSD?

Ни aptitude , ни ] apt-get может отображать эту информацию в представлениях пакетов, потому что это не часть информации, которую обрабатывают эти программы. Доступна информация, содержащаяся в индексах пакетов (что не подразумевает загрузку отдельных пакетов); вы можете найти их в / var / lib / apt / lists , и они включают следующую информацию для каждого пакета:

  • его имя
  • его имя исходного пакета
  • его версия
  • его установленный размер
  • его сопровождающий
  • его архитектура
  • его зависимости (всех типов, с их переводами)
  • его описание
  • его домашняя страница
  • его теги
  • его раздел
  • его приоритет
  • его имя файла
  • его размер пакета
  • его контрольные суммы

Дата пакета задается последней записью в его журнале изменений, который хранится внутри пакета, и поэтому его можно обнаружить только путем загрузки пакет, или найдя его на трекере или панели запуска . Вы можете просмотреть его после установки пакета, проверив самую верхнюю запись в / usr / share / doc / $ {package} /changelog.Debian.gz или / usr / share / doc /${package}/changelog.Debian.${arch}.gz, если последней сборкой пакета был binNMU (в Debian; насколько мне известно, в Ubuntu этого не происходит).

3
20.04.2016, 00:20
4 ответа

Я бы посоветовал любой достойный не очень современный сервер x86_64 true выполнить полную сборку за пару часов или, может быть, меньше, включая xsrc.

Мой текущий сервер сборки NetBSD представляет собой Xen domU с 8 ГБ ОЗУ и 8 виртуальных ЦП, работающих на 8-ядерном Dell PE2950 (Xeon E5440 @ 2,83 ГГц) с 32 ГБ ОЗУ и достаточно быстрым набором дисков SAS на встроенном PERC. 6 / i (с выводом сборки на раздел RAID-0). Эта машина обошлась мне всего в 650 долларов [нас], конечно же, бывшая в употреблении. Он может выполнять сборку NetBSD-5 / i386 всего до окончательных ISO, со всем статическим связыванием (т.е. требующим гораздо большего объема дискового ввода-вывода и памяти компоновщика, чем сборка с динамической связью) из источников, смонтированных с NFS на другом domU на тот же сервер менее чем за 2 часа (с -j12). Сборка ядра (amd64 GENERIC) после перезагрузки (ничего не кэшируется) занимает менее 5 минут (с -j12).

На данный момент мой раздел / build имеет 102 ГБ и содержит объекты, двоичные файлы и ISO для трех текущих сборок (amd64, i386, evbarm) и двух сборок 5.x (amd64 и i386) . Имейте в виду, что все двоичные файлы с статической связью отдельно - сборки с динамической связью намного меньше. Полная установка со статической связью (то есть с xsrc, comp и всем остальным) занимает около 6,6 ГБ.

3
27.01.2020, 21:09

У меня уходит примерно день на создание 5 или около того различных архитектур в виде полных сборок выпуска (также называемых тарболами и образами ISO). Я использую относительно небольшой объем памяти (512 МБ), Виртуальная машина i386 с использованием сценария, который также проверяет исходные коды и выполняет несколько настроек для build.sh.

Если у вас более одного процессора / ядра, вы можете ускорить процесс, установив уровень параллелизма равным количеству процессоров / ядер или даже вдвое большему количеству процессоров / ядер, если в сборке преобладает I / O связана.

4
27.01.2020, 21:09

Возможно, на сборку ядра уйдет больше 90 минут. Чтобы ускорить Чтобы ускорить процесс компиляции, нам нужно использовать параметр -j , например, если у вас 2 ядра, вы можете ввести:

fakeroot make-kpkg..... -j 2

или

make -j 2

, вы можете ускорить процесс компиляции X2 (45 мин), (8 ядро менее 10 минут)

Также вы можете использовать переменную CONCURRENCY_LEVEL , например, если у вас 2 ядра, вы можете ввести:

export CONCURRENCY_LEVEL=3

обычно:

export CONCURRENCY_LEVEL= the number of cores +1
3
27.01.2020, 21:09

Для справки, ./build.sh -U -j 12 -O /Users/mbelleau/netbsd/obj_amd64 -m amd64 release (без X11) на MacBook Air i7 1.7GHz 8GB RAM, NetBSD-7. 0-release, заняло примерно 2 часа:

===> Summary of results:
     build.sh command:    ./build.sh -U -j 12 -O /Users/mbelleau/netbsd/obj_amd64 -m amd64 release
     build.sh started:    Thu May 26 23:51:30 EDT 2016
     NetBSD version:      7.0
     MACHINE:             amd64
     MACHINE_ARCH:        x86_64
     Build platform:      Darwin 15.4.0 x86_64
     HOST_SH:             /bin/sh
     No $TOOLDIR/bin/nbmake, needs building.
     Bootstrapping nbmake
     MAKECONF file:       /etc/mk.conf (File not found)
     TOOLDIR path:        /Users/mbelleau/netbsd/obj_amd64/tooldir.Darwin-15.4.0-x86_64
     DESTDIR path:        /Users/mbelleau/netbsd/obj_amd64/destdir.amd64
     RELEASEDIR path:     /Users/mbelleau/netbsd/obj_amd64/releasedir
     Created /Users/mbelleau/netbsd/obj_amd64/tooldir.Darwin-15.4.0-x86_64/bin/nbmake
     Updated makewrapper: /Users/mbelleau/netbsd/obj_amd64/tooldir.Darwin-15.4.0-x86_64/bin/nbmake-amd64
     Successful make release
     build.sh ended:      Fri May 27 01:43:58 EDT 2016
===> .

И для использования пространства:

$ du -sh /Users/mbelleau/netbsd/*
129M    /Users/mbelleau/netbsd/gnusrc.tgz
3.7G    /Users/mbelleau/netbsd/obj_amd64
7.1M    /Users/mbelleau/netbsd/sharesrc.tgz
137M    /Users/mbelleau/netbsd/src.tgz
 48M    /Users/mbelleau/netbsd/syssrc.tgz
2.9G    /Users/mbelleau/netbsd/usr
158M    /Users/mbelleau/netbsd/xsrc.tgz

Последующие (обновления) сборки релиза должны быть быстрее; я обновил с помощью CVS до тега 7.0-stable (cvs update -r netbsd-7-0 -Pd) и пересобрал, заняло примерно час:

===> Summary of results: 
     build.sh command:    ./build.sh -U -u -j 12 -O /Users/mbelleau/netbsd/obj_amd64 -m amd64 release
     build.sh started:    Fri May 27 09:08:10 EDT 2016
     NetBSD version:      7.0.1_PATCH
     MACHINE:             amd64
     MACHINE_ARCH:        x86_64
     Build platform:      Darwin 15.4.0 x86_64
     HOST_SH:             /bin/sh
     No $TOOLDIR/bin/nbmake, needs building.
     Bootstrapping nbmake
     MAKECONF file:       /etc/mk.conf (File not found)
     TOOLDIR path:        /Users/mbelleau/netbsd/obj_amd64/tooldir.Darwin-15.4.0-x86_64
     DESTDIR path:        /Users/mbelleau/netbsd/obj_amd64/destdir.amd64
     RELEASEDIR path:     /Users/mbelleau/netbsd/obj_amd64/releasedir
     Created /Users/mbelleau/netbsd/obj_amd64/tooldir.Darwin-15.4.0-x86_64/bin/nbmake
     Updated makewrapper: /Users/mbelleau/netbsd/obj_amd64/tooldir.Darwin-15.4.0-x86_64/bin/nbmake-amd64
     Successful make release
     build.sh ended:      Fri May 27 10:11:14 EDT 2016
===> .
2
27.01.2020, 21:09

Теги

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