Ищете инструменты для создания минимального рабочего стола Linux


13

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

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

Менеджер пакетов не помешает, но я ищу дистрибутив, который фокусируется на расширенной предварительной конфигурации вместо огромного хранилища пакетов

Я рассмотрел различные минимальные дистрибутивы рабочего стола, но все они, похоже, решают разные проблемы, например, предназначены для работы на старом оборудовании или запускаются с компакт-диска / флешки / ramfs. Но я не хочу минимального распространения, потому что у меня старое оборудование, а потому, что я хочу знать, для чего нужны разные части. Запуск из основной памяти тоже не помогает, я хочу что-то минимальное и простое.

Поскольку, похоже, нет дистрибутивов, разработанных для такого минимализма, который я имею в виду, очевидным выбором будет сборка Linux From Scratch . Однако, несмотря на то, что я хочу, чтобы процесс сборки был максимально адаптирован, его также необходимо автоматизировать, потому что мне придется запускать его довольно много раз, пока у меня не появится система, которой я доволен.

Хотя существует инструмент для lfs, который может автоматизировать процесс сборки, он на самом деле не является неотъемлемой частью. В основном он извлекает шаги, необходимые для сборки системы, из документации, а затем делает это автоматически. Я ищу что-то более надежное и продвинутое, а также не хочу редактировать XML.

После небольшого поиска я нашел Buildroot, который предназначен для сборки встроенных дистрибутивов, но также позволяет установить X11. Перед сборкой инструментария, а затем rootfs сборка может быть настроена с использованием make menuconfigточно так же, как в Linux. Это похоже на то, что я имел в виду, за исключением того, что оно предназначено для кросс-компиляции для встроенных систем.

В настоящее время я имею в виду использование buildroot, но сначала вырываю все встроенные специфические части, заменяя их соответствующими частями из lfs. Много работы.

Кроме того, есть некоторые проблемы с buildroot, что наиболее важно (как видно из моего ограниченного тестирования), просто включение дополнительного пакета приводит к перестройке дырки с нуля, но для тривиальных изменений я бы хотел этого избежать.

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

Изменить: ответы пока указывают мне на дистрибутивы, такие как, например, Gentoo, который я сейчас использую. Но я ищу альтернативу дистрибутивам, таким как Gentoo, Arch, Debian и т. Д., Поскольку эти дистрибутивы не являются достаточно минимальными. Также необходимо настроить эти дистрибутивы после установки. Я хочу что-то, что можно настроить перед установкой.

Несмотря на то, что все упомянутые дистрибутивы являются отличными, они не являются тем, что я ищу. То, что я ищу, это "buildroot для рабочего стола" . Если вы не знаете, что такое buildroot, вы, вероятно, не сможете дать ответ, который меня устраивает.

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

Ответы:


5

Вы можете использовать что-то вроде Kickstart , которая является функцией anacondaустановщика Fedora, CentOS, RHEL и производных дистрибутивов, которая позволяет полностью настроить установку по своему вкусу. Вы можете выбрать, какие пакеты вы хотите установить, схему разделов, конфигурацию сети, репозитории пакетов, пароль root и многое другое. Вы также можете создавать сценарии до и после установки, которые будут делать все, что вы захотите. Вы можете запустить установку полностью автоматически или выбрать то, что вы хотите, чтобы он запрашивал. Все настройки определены в одном простом (не XML) текстовом файле, который вы можете сделать вручную или с помощью графического system-config-kickstartинструмента.

После того, как вы это соединили, вы можете, если хотите, свернуть свой собственный компакт-диск или указать сетевое расположение в файле кикстарта, который может быть локальным или интернет-зеркалом, через FTP, HTTP или NFS. Ваш файл кикстарта также может находиться в сети, так что вы можете просто записать один установочный диск-заглушку, чтобы запустить установку (или использовать установочный носитель vanilla) и использовать для нее столько разных конфигураций, сколько вы можете выдержать. Вы даже можете загрузить его по сети, полностью исключая сменные носители.

Параметры сети или пользовательские закрученные носители избавляют вас от необходимости «огромного хранилища пакетов», но он все равно будет там, если вы решите, что хотите что-то добавить. Но, если вы хотите пойти целые боры, вы можете создать свой собственный репозиторий , вишневый сбор RPMS от входа, настройки SRPMS по своему вкусу, добавить собственный , или даже взлом make && make installили tar -jxfв пост-скрипт установки.

Многие дистрибутивы имеют схожую функциональность, некоторые из которых также понимают файлы Kickstart, даже если они не реализуют весь свой набор функций (например, Debian).


Спасибо за указатель на кикстарт. Я только взглянул на его документацию, поэтому пока не знаю, будет ли он соответствовать моим потребностям, но, безусловно, выглядит интересно. Вы поняли, что я ищу, поздравляю :-) Я пока не "приму" ваш ответ, потому что я все еще хочу поощрять больше ответов. Я все еще ищу строителя, происходящего из минималистского дистрибутива, а не из основного. Последний тоже может сделать это правильно, но я все еще немного верю в первое. Еще раз спасибо.
tarsius

1

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

Вы также можете изучить Lunar Linux или CRUX.


Дело не в том, что я никогда не слышал об этих раздачах, скорее, я исключил их в прошлом. Однако я пересмотрю; на первый взгляд кажется, что по крайней мере это стоит делать. Благодарю.
tarsius

1

Я знаю, что это довольно поздно в игре, чтобы ответить, но вы пытались использовать http://susestudio.com/ ? Вы можете выбрать все пакеты, которые вам нравятся, чтобы сделать его настолько маленьким, насколько вы хотите, без раздувания. Вы можете сделать свой собственный репозиторий. Вы можете загрузить свои собственные пакеты, которые будут доступны в вашем репо. Вам понадобится пара часов, чтобы все получилось так, как вы хотите, но это избавит вас от проблем с buildroot.


1

Вы тоже сталкивались с LFScript ?

Linux From Script (или «LFScript») является неофициальной альтернативой «Automated Linux From Scratch». LFScript включает в себя тщательно протестированные сценарии, сгенерированные из книг LFS и BLFS, с помощью которых вы можете создать полную операционную систему Linux с нуля.

Некоторые дополнительные дистрибутивы Linux (чтобы проверить через википедию) включают:

  • Tiny Core Linux
  • Salix OS
  • SliTaz и Tiny SliTaz
  • Черт, маленький Linux
  • ...

0

Gentoo Linux позволяет создавать именно то, что вы хотите. От практически ничего до полноценного рабочего стола. Это в основном система сборки, которая также позволяет настраивать функции времени сборки.


Я использую Gentoo уже много лет. Я также использовал катализатор, метро и недавно свой собственный скрипт сборки, чтобы создавать свои собственные этапы перед установкой. Когда у меня все еще были установлены мультимедийные приложения, было установлено около 700 пакетов, теперь, после удаления тех, у меня осталось ~ 400. И это после удаления многих флагов использования, приводящих к бесполезным зависимостям и удалению некоторых пакетов, которые, будучи полезными, сопровождаются многими зависимостями. Не минимальный.
tarsius

Итак, вы также собираетесь сделать что-нибудь полезное с этим? ;-)
Кейт

1
Я предпочел бы потратить время на установку вещей, которые по-прежнему отсутствуют, вместо того, чтобы исследовать, что то, что уже установлено, делает только для того, чтобы узнать, что мне это не нужно, но, тем не менее, не могу удалить его, поскольку оно встроено в дистрибутив.
tarsius

0

Есть много вариантов для этого на самом деле, и это попадет в сферу субъективного.

Я лично использую PLD-Linux, который позволяет мне собрать работающую систему linux примерно с дюжиной команд (отформатировать файловую систему, смонтировать ее, установить набор пакетов, настроить загрузчик, задать имя хоста и т. Д.). Когда дело доходит до пакетов, я могу выбрать один пакет, который мне нужен, и моя система выходит только с зависимостями для этого приложения. Если мне нужен apache, я устанавливаю его, и система не предлагает ничего, кроме основ, необходимых для запуска. Если мне нужен Firefox, я устанавливаю его и получаю базовый набор X-зависимостей и ничего больше. У меня есть пара сценариев для дальнейшей автоматизации всего одной или двух команд для создания работающей виртуальной системы с определенной целью.

Некоторые другие дистрибутивы Linux, такие как ArchLinux и Gentoo, специализируются на том, чтобы быть легковесными или адаптированными к вашим потребностям. Если вам нужна более конкретная помощь с одним из них ....

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.