Дистрибутивы, поддерживающие компиляцию из исходного кода

21

Давным-давно я использовал FreeBSD со своей системой портов, а затем Gentoo для portage, чтобы устанавливать приложения через компиляцию из исходного кода. Я сделал это для того, чтобы напрямую нацелить мою систему.

Есть ли другие дистрибутивы, которые поддерживают такую ​​конфигурацию? Кажется, я помню, что в Slackware было что-то похожее.

нищий
источник
из вопроса не ясно, идет ли речь о компиляции всей системы из исходного кода или компиляции отдельных пакетов. Кроме того, под дистрибутивами вы имеете в виду ОС на базе Linux, все бесплатные Unix-подобные ОС или что-то еще? Если ваш вопрос ограничен бесплатными Unix-подобными дистрибутивами, то по определению все они могут устанавливать пакеты, компилируя их из исходного кода, но сравнительно немного (Gentoo и более неизвестных родственников, таких как Sourcemage для ОС на базе Linux) и, возможно, некоторые из BSD ( Я не настолько знаком с ними) когда дело доходит до компиляции всей системы.
Фахим Митха
Все дистрибутивы Linux позволяют вам скомпилировать материал, а также вы можете создавать свои собственные двоичные пакеты и устанавливать их. По сути, именно это делают дистрибутивы для создания новых версий дистрибутива.
vonbrand

Ответы:

8

Я не знаю о полном инструменте «построить систему из исходного кода» для Debian, но он поддерживает его в прямом и обратном направлении apt-src, который загрузит и соберет пакет, а затем установит получившуюся сборку.

Эйвери Пэйн
источник
2
Есть подходящая сборка. packages.debian.org/search?keywords=apt-build
Даниэль Джеймс,
О, «построить систему», я не уверен, что она сделает всю систему за вас.
Даниэль Джеймс
Оба из них интересны. Я обязательно попробую это. Благодарность!
нищий
8

Есть несколько дистрибутивов, которые поддерживают как бинарные, так и скомпилированные пакеты - теоретически Gentoo поддерживает это, но я не думаю, что есть слишком много бинарных пакетов. Arch также поддерживает сборку из исходного кода в дополнение к бинарным пакетам через Arch Build System (ABS), хотя у меня нет никакого опыта с этим.

BR
источник
+1 за Арку (хотя вы могли бы дать ссылку на
главную
Gentoo - мой любимый дистрибутив +1
Крис Хуан-Ливер
Я бы дал больше ссылок, но я подумал, что мне нужно иметь больше чем <x> повторений (более 100 в любом случае), чтобы добавить более одной ссылки, как это имело место в StackOverflow. Я вижу, что это не тот случай, поэтому ссылки добавляются!
BR
3

Gentoo - ваш лучший выбор, что плохого в том, чтобы использовать его для своих нужд?

Грег К.Х.
источник
1
Я просто фанат дистрибутивов, и мне нравится устанавливать и пробовать все это. Gentoo всегда была моей любимой, но с женой, детьми и бизнесом количество времени, которое мне приходится тратить, заботясь об установке gentoo, значительно снизилось.
нищий
3

Большинство дистрибутивов Linux поддерживают сборку пакетов из исходного кода. Вам просто нужно установить необходимые пакеты разработки из репозиториев дистрибутива вместе с любыми конкретными требованиями пакета, который вы собираете. Если вы хотите построить систему как можно ближе к нулю, Linux из Scratch - это модель, но вы несете большую ответственность за отслеживание обновлений безопасности, исправлений и т. Д. Я выбрал дистрибутив Arch Linux, потому что он позволяет вам собирать из источник и предоставляет источники для обновлений и исправлений и т. д. Arch имеет действительно хорошую поддержку пользователей и множество документации, когда дело доходит до решения проблем установки и конфигурации.

onemystic
источник
2

Многие основанные на RPM дистрибутивы имеют исходные RPM-пакеты. Debian и Ubuntu также имеют исходные версии. Вы ищете другие дистрибутивы, которые в основном построены из исходных кодов или просто дистрибутивы, в которых доступны исходные пакеты. Если это последнее, ответ «многие / большинство» из них.

kbyrd
источник
2

Некоторые вспоминают , что я лично использовал: LFS (очевидно), SourceMage , а кто-то сделал один из make-файлов LNX-BBC, сейчас я не могу его найти. Но я считаю, что Debian достаточно хорош для самостоятельной компиляции пакетов, если мне это нужно.

Вам также следует проверить, что список предоставлен дистрибутивами на основе исходного кода DistroWatch :

Elmarco
источник
2

Если вы хотите попробовать что-то немного другое, есть GoboLinux и NixO .

Дэниел Джеймс
источник
Nixосторожен в отслеживании зависимостей, в аккуратном описании процесса сборки как чисто функциональных вещей, в которых все зависимости явны. Это должно дать пользователю больше гибкости в смелом комбинировании и настройке, а также уверенности в том, что результат не будет неправильным.
imz - Иван Захарьящев
2

В ALTLinux много усилий уделяется поддержанию точных спецификационных файлов для пакетов, и что сборка пакетов точно воспроизводима в текущем состоянии хранилища пакетов. Регулярно проверяется, что каждый пакет в репозитории (называемый Sisyphus ) в настоящее время может быть перестроен - отчет о состоянии теста перестроения , журналы последнего теста перестроения для каждого пакета .

Чтобы быть уверенным в точной воспроизводимости сборок пакетов, используются специальные инструменты для изоляции системы сборки от хост-системы: хешер и окружающие инструменты инфраструктуры сборки (например, Сборка пакетов с оборудованием ).

Таким образом, хотя ALTLinux не предназначен для установки вашей системы путем сборки, можно быть уверенным, что пакет, который он получит из репозитория, будет легко перестраиваться на его хост-системе без дополнительных проблем, которые формально не отслеживались спецификацией.

ALTLinux посвящен тому, чтобы быть источником для пользовательских репозиториев пакетов и дистрибутивов, которые - с помощью системы сборки ALTLinux и связанных инструментов - могут быть легко настроены и перестроены независимо от ALTLinux и безопасно (т.е. изолированы от вашей хост-системы). Итак, если кто-то хочет создать свой собственный дистрибутив, ALTLinux Sisyphus может стать основой для этого дистрибутива, который будет легко использовать в его работе: введение в создание собственного дистрибутива (на русском языке) .

imz - Иван Захарящев
источник
Вот еще некоторые подробности о проверках целостности репозитория, выполненных ALTLinux 'girar-builder (инфраструктура сборки), если кому-то будет интересно (хотя это не непосредственно сборка как таковая, а скорее о поддержании согласованного репо получаемых пакетов) : stackoverflow.com/questions/1316716/… .
imz - Иван Захарящев
1

Я скомпилировал Squid в Open SUSE, чтобы дистрибутив его поддерживал.

Джеймс
источник
1

Да, вы правы, slackware использует скрипты сборки для компиляции пакетов. Их много на http://slackbuild.org/ . Существуют также шаблоны для новых сценариев, и вы всегда можете отправить свои сценарии, если хотите.

phunehehe
источник
1

Я не совсем понимаю, к чему вы клоните , но посмотрите на tinycore . Вся цена создания изображения может быть сделана из источников.

Полемон
источник
1

Недавно был задан очень похожий вопрос.

Мой ответ на этот вопрос здесь: Как собрать весь Debian

Теоретически все дистрибутивы могут быть построены из исходного кода. Детали могут незначительно отличаться для каждого дистрибутива, но метод, который я перечислил, является хорошей отправной точкой.

bahamat
источник
0

Это должен быть Linux, или другие юниксы в порядке?

Полная система NetBSD может быть собрана из исходного кода с использованием их системы build.sh . Система, на которой вы работаете, даже не должна быть NetBSD, я сделал это из Linux или OS X. Сборка может привести к установке .iso, так что вам не нужно возиться с загрузчиками, чтобы получить новую ОС Бег.

После того, как базовая система построена и установлена, вы можете легко установить другие пакеты из исходного кода с помощью диспетчера пакетов NetBSD pkgsrc .

Васи
источник