Gentoo или arch linux

Arch compared to other distributions (Русский)

Эта страница написана с целью показать сходства и различия между Arch Linux и другими популярными дистрибутивами GNU/Linux, а также Unix-подобными операционными системами. Здесь приведены краткие описания, которые могут помочь определиться, подходит ли Arch Linux для определённых целей или нет. Тем не менее, лучший способ сравнить дистрибутивы между собой — установить и попробовать их самому.

Также в данной статье с другими дистрибутивами сравнивается только Arch Linux. Проекты сообщества, поддерживающие архитектуры отличные от x86_64, приведены на странице Arch-based distributions.

Contents

Source-based

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

  • CRUX — легковесный дистрибутив, основанный на принципе KISS. CRUX вдохновил Джадда Винета (Judd Vinet) на создание Arch.
  • CRUX использует скрипты инициализации в стиле BSD, тогда как Arch использует systemd.
  • В Arch используется модель разработки ПО роллинг-релиз, CRUX же выпускает релиз примерно раз в год.
  • Оба дистрибутива используют похожие на порты системы (ports-like systems) и, как и *BSD, предоставляют базовое окружение для дальнейшей работы.
  • В Arch предлагается pacman, который управляет бинарными пакетами и безупречно интегрируется в систему сборки Arch. CRUX использует поддерживаемую сообществом систему prt-get, которая, в сочетании с собственной системой портов, обрабатывает разрешение зависимостей, но собирает все пакеты из исходных кодов (однако базовая установка CRUX поставляется в бинарном виде).
  • И Arch, и CRUX официально поддерживают только архитектуру x86_64.
  • Arch располагает широким набором репозиториев с бинарными пакетами, а также пользовательским репозиторием Arch. В CRUX предлагается упрощённая официально поддерживаемая система портов в дополнение к относительно скромному репозиторию сообщества.
  • LFS (Linux From Scratch) существует в виде документации, где описан процесс получения исходного кода с базовым набором пакетов для создания работоспособной системы GNU/Linux. Также описаны процессы компиляции вручную, наложения патчей и настройки с нуля. LFS крайне минималистичен и предлагает подробный процесс обучения сборки и персонализации базовой системы.
  • LFS поставляется без онлайн-репозиториев: исходные коды скачиваются вручную, а компилируются и устанавливаются с помощью make. Тем не менее, существует несколько способов управления пакетами вручную, которые описаны в «LFS Hints» (подсказках LFS).
  • Базовая установка Arch включает в себя тот же самый набор пакетов (но уже скомпилированный под x86_64), а также systemd, несколько дополнительных утилит и pacman — систему управления пакетами с широкими возможностями. Кроме того, сообщество и разработчики Arch поддерживают тысячи бинарных пакетов доступных для установки с помощью pacman и сборочные скрипты PKGBUILD для использования с Arch Build System. Также Arch поставляется с утилитой makepkg для сборки или настройки пакетов, которые можно установить с помощью pacman.
  • Джадд Винет (Judd Vinet) создал Arch с нуля, после чего написал pacman на языке C. Исторически Arch иногда описывался как «Linux с приятной системой управления пакетами».

Gentoo/Funtoo Linux

  • И Arch Linux, и Gentoo Linux используют модель разработки ПО роллинг-релиз, обновляя пакеты в ближайшее время после их официального релиза.
  • Пакеты и базовая система Gentoo собираются из исходного кода с применением указанных пользователем USE-флагов. Arch предоставляет похожую на порты систему (ports-like system) сборки пакетов из исходного кода, однако базовая система Arch разработана с расчётом на установку в уже собранном (бинарном) виде на архитектуру x86_64, что позволяет Arch быстрее устанавливаться и обновляться, а Gentoo быть более настраиваемой.
  • Arch поддерживает только архитектуру x86_64, тогда как Gentoo официально поддерживает x86 (i486/i686), x86_64, PPC/PPC64, SPARC, Alpha, ARM, MIPS, HPPA, S/390 и Itanium.
  • Официальные инструменты управления пакетами и системой Gentoo, как правило, сложнее и имеют более широкие возможности. Также у некоторых привычных возможностей Gentoo (USE-флаги, SLOT и т.д.) нет прямых аналогов в Arch Linux, так как Arch, в основном, бинарный дистрибутив и, в соответствии с философией дизайна, придерживается простой архитектуры и избегает чрезмерных технических усложнений.
  • И Arch, и Gentoo считаются очень настраиваемыми, так как включают в себя только базовые пакеты. Также пользователи Gentoo легко освоятся со многими аспектами Arch, если они привыкли к systemd.

Общие

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

Debian

  • Debian — крупнейший «апстрим»-дистрибутив Linux, предлагающий стабильное (Stable), тестовое (Testing) и нестабильное (Unstable) ответвления, более 148 000 пакетов и большее сообщество. Официально в Arch насчитывается заметно меньше пакетов, однако с учётом AUR количество пакетов становится сопоставимым.
  • Debian более жёстко относится к несвободным пакетам, но включает их в отдельные несвободные репозитории. Arch более снисходителен к таким пакетам.
  • Debian фокусируется на тщательном тестировании стабильного ответвления, которое «замораживается» и поддерживается до пяти лет. Пакеты в Arch новее, чем в Debian Stable, и больше сравнимы с ответвлениями Debian Testing и Unstable, а также не придерживаются определённого графика релизов.
  • Debian поддерживает множество архитектур, включая Alpha, ARM, HPPA, i386, x86_64, IA-64, m68k, MIPS, MIPSel, PowerPC, S/390 и SPARC, тогда как Arch поддерживает только x86_64.
  • Arch предлагает более удобные средства для создания собственных пакетов из внешних источников, в частности, похожую на порты систему (ports-like systems) сборки. В Debian отсутствует система портов, а расчёт сделан на большие бинарные репозитории.
  • Установочная система Arch прозрачна и предлагает только базовый набор пакетов, тогда как применяемые в Debian методы, например, использование задач («tasks») apt для установки заранее выбранных групп пакетов, позволяют установить систему в более автоматизированном режиме, а также использовать несколько альтернативных методов установки.
  • В Arch пакеты библиотек программного обеспечения, как правило, включают в себя заголовочные файлы, тогда как в Debian их обычно приходится загружать отдельно.
  • Arch старается избегать применения патчей, чтобы исключить проблемы, которые невозможно проверить в основном репозитории программы. Debian же часто применяет патчи для получения более широкой аудитории.
Читайте также:  Linux заполнить неиспользуемое место нулями

Fedora

  • Fedora — проект, разрабатываемый сообществом, а также поддерживаемый Red Hat. Его модель разработки часто описывается как экспериментальная, так как пакеты и проекты Fedora переходят в RHEL, а также используются в других дистрибутивах. В Arch отсутствует определённый график релизов и он не является экспериментальным ответвлением других дистрибутивов.
  • Fedora использует формат RPM и систему управления пакетами DNF. Arch использует pacman для управления пакетами.
  • Fedora специализируется только на свободном программном обеспечении и отказывается включать несвободное ПО в официальные репозитории. Стоит отметить, что пакеты с несвободным ПО доступны в сторонних репозиториях. Arch более снисходителен к таким пакетам и оставляет выбор пользователю.
  • Fedora предлагает различные способы установки системы, включая графический установщик и минималистичный вариант. Также имеются сборки («spins») Fedora, которые предоставляют различные среды рабочего стола со своим набором приложений по умолчанию. С другой стороны, в Arch присутствуют лишь несколько скриптов, которые облегчают процесс установки базовой системы.
  • В Fedora применяется определённый график обновлений, но отдельные («discrete») обновления официально поддерживаются с помощью утилиты FedUp. В Arch используется модель разработки ПО роллинг-релиз.
  • В отличии от Fedora, в Arch имеется система портов.
  • И Arch, и Fedora ориентированы на опытных пользователей и разработчиков, а также настоятельно рекомендуют вносить свой вклад в развитие проектов.
  • Fedora получила общественное признание за интеграцию SELinux, скомпилированные с помощью GCJ пакеты (в целях устранения необходимости в JRE от Oracle) и активный вклад в «апстрим» — разработчики Red Hat и Fedora привносят наибольшую часть кода в ядро Linux, по сравнению с другими проектами.
  • Arch Linux предоставляет вики-ресурс, который широко признается наиболее исчерпывающим среди вики-ресурсов дистрибутивов. Вики Fedora используется в первоначальном смысле слова «вики», т.е. для быстрого обмена информацией между разработчиками, тестировщиками и пользователями. В отличии от вики Arch, она не служит для централизации знаний пользователей и напоминает систему отслеживания ошибок или корпоративный вики-ресурс.

Slackware

  • В Slackware используются скрипты инициализации в стиле BSD, тогда как в Arch применяется systemd.
  • В Arch имеется система управления пакетами pacman, которая, в отличии от стандартных утилит Slackware, предлагает автоматическое разрешение зависимостей и позволяет обновлять систему в более автоматизированном режиме. Пользователи Slackware обычно предпочитают ручное разрешение зависимостей, так как это даёт больший контроль над системой и в дистрибутиве уже предустановлены важные библиотеки и зависимости.
  • Arch следует модели разработки ПО роллинг-релиз. Slackware более консервативен касаемо цикла обновлений и предпочитает проверенные, стабильные пакеты. Arch же считается более современным в этой области.
  • В Arch Linux предлагаются тысячи бинарных пакетов в официальных репозиториях, тогда как количество пакетов в официальных репозиториях Slackware более скромное.
  • В Arch имеется похожая на порты система (ports-like systems) Arch Build System, а также AUR — огромная коллекция PKGBUILD-файлов пользователей. В Slackware предлагается схожая, но менее наполненная система на сайте slackbuilds.org — полуофициальном репозитории файлов Slackbuild, аналога PKGBUILD в Arch. Также пользователи Slackware легко освоятся со многими аспектами Arch.

Дружественные к новичкам

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

Ubuntu

  • Ubuntu — популярный дистрибутив на основе Debian, разработку которого спонсирует компания Canonical Ltd. Arch разрабатывается независимо от других компаний и дистрибутивов.
  • Эти два проекта расходятся в целях и ориентированы на разную аудиторию. Так, Arch создан для пользователей, желающих самостоятельно собирать и настраивать систему, тогда как Ubuntu преднастроена по умолчанию. Arch придерживается более простого дизайна начиная с базовой установки, оставляя пользователю решение о персонализации под необходимые требования. Также многие пользователи Arch начинали с Ubuntu, но позже переходили на Arch.
  • Arch одинаково ориентирован на все поддерживаемые сообществом графические интерфейсы, а не один определённый. Более того, коммерческий характер Canonical приводил к таким спорным решениям, как реклама в главном меню Unity и сбор пользовательских данных. Arch — независимый, поддерживаемый сообществом проект без коммерческих целей.
  • Ubuntu придерживается 6-ти месячного цикла разработки, тогда как в Arch используется модель разработки ПО роллинг-релиз.
  • Arch предоставляет похожую на порты систему (ports-like system) сборки пакетов, а также Пользовательский репозиторий Arch, где пользователи могут поделиться скриптами для сборки и установки пакетов с помощью системы управления пакетами pacman. В Ubuntu используется более сложный apt, а также разрешено распространение бинарных пакетов с помощью Персональных архивов пакетов (PPA).
  • В некоторых отношениях отличаются и сообщества. Сообщество Arch заметно меньше и ему настоятельно рекомендуется вносить свой вклад в развитие дистрибутива. Напротив, сообщество Ubuntu относительно большое и допускает значительно большее количество пользователей, не вносящих свой вклад в разработку дистрибутива или поддержку репозиториев.
Читайте также:  Tor прокси для windows

Linux Mint

  • Linux Mint был создан в качестве ответвления Ubuntu, но позже был также добавлен LMDE (Linux Mint Debian Edition), основанный на #Debian. С другой стороны, Arch — независимый дистрибутив, использующий собственные систему сборки и репозитории.
  • Mint включает в себя MintTools — несколько графических утилит для лёгкого обслуживания системы. Arch предоставляет только простые утилиты командной строки вроде pacman, оставляя управление системой пользователю.
  • Новые версии Mint выпускаются каждые шесть месяцев, примерно на месяц позже Ubuntu. Каждый релиз основан на последнем выпуске Ubuntu LTS и поддерживается пять лет. Linux Mint Debian Edition (LMDE) основан на Debian Stable и получает только обновления безопасности и пакетов Mint. В Arch, напротив, используется модель разработки ПО роллинг-релиз.

openSUSE

Дистрибутив openSUSE сосредоточен вокруг пакетов в формате RPM и хорошо зарекомендовавшего себя графического инструмента настройки — YaST2. Arch не предоставляет подобных средств. Исходя из этого, openSUSE больше подходит для пользователей, которым сразу необходима полностью функционирующая среда с графическим интерфейсом и автоматической конфигурацией, при этом позволяющая тонко настроить систему.

Mandriva/Mageia

Дистрибутив Mandriva Linux (ранее Mandrake Linux) был создан в 1998 году с целью сделать GNU/Linux доступным каждому. В нём используются RPM-пакеты и система управления пакетами urpmi. Mageia — некоммерческий и поддерживаемый сообществом форк Mandriva, созданный её бывшими работниками, которые выступали против коммерческих целей дистрибутива. В Arch используется более простой подход по сравнению с Mandriva или Mageia, так как предлагается в основном текстовый интерфейс и ручная настройка, а сам дистрибутив ориентирован на пользователей с опытом.

Источник

Gentoo. Попытка № 2

Ранее был написан пост об установке gentoo, было это больше полутора лет назад и тогда эта замечательная ОС долго не продержалась на моём десктопе, уступив место archlinux’у. Не так давно в сознание начали закрадываться предательские мысли о смене дистрибутива. Связано это было с отходом команды разработчиков от традиций и философии archlinux. Несогласие с майнтейнерами в пути развития дистрибутива, ощущение того, что арч уже

«не торт» не K.I.S.S., досада от того, что фактически разработчики не оставляют большого выбора, а просто навязывают свою волю.

Перебарывать это и искать обходные пути в то время, когда хотелось бы просто работать? Не думаю. Кроме того, стало появляться чувство, что пользователь в арче всё больше начинает походить на бета-тестера.

В то же время в философии gentoo можно найти такие строки:

«Из исходников» — важный и ключевой аспект Gentoo, который был и останется необходимым, но не единственный и не главный. Основополагающая задача — создание технологии, позволяющей как нам, так и другим делать то, что хочется, без ограничений.

Отлично звучит, хотя на практике всё немного иначе. Из исходников — основополагающий аспект, как ни крути. Собственно, поэтому gentoo пока не стал моим основным дистрибутивом (это ещё не решено). Да, есть возможность создать свои локальные оверлеи, да есть бинхосты, но. действительно ли это выход? Разумеется, можно обновлять (читай — пересобирать) пакеты раз в день, затратив на это несколько минут, а можно раз в несколько месяцев, затратив на это куда больше времени. Это уже зависит от личных предпочтений каждого. Вопрос в том, можно ли в gentoo просто жить, а не посвящать всего себя системе. Поживём — увидим.

Что же, распускать сопли дальше не имеет смысла, давайте лучше посмотрим, как можно более или менее быстро создать на основе свежеустановленной генты рабочий десктоп. Все шаги описываться не будут — это есть в документации — лишь моменты, которые заставили автора задуматься и прикинуть как сделать лучше/быстрее.

Итак, некоторые подводные камни и методы их обхода:

Споткнулись раз. Две видеокарты и vgaswitcheroo + неработающий wi-fi

В archlinux стоило лишь подмонтировать debugfs и отключить одну из карточек, а теперь не нужно и этого: дискретная карта по-умолчанию выключена. В gentoo, поскольку ядро мы собираем сами, нужно сделать чуть больше телодвижений.

Читайте также:  Активация windows 10 за 1 минуту

Это для владельцев видеокарт ATI + Intel. Владельцы карт NVidia должны шаманить с NOUVEAU. Правим конфиг /etc/genkernel.conf , включив в нём:

В /etc/portage/make.conf определяем свои карточки. Например:

Собираем ядро с genkernel:

А после установки grub, добавляем в конец строки загрузчика:

И вносим debugfs в /etc/fstab :

Попросим grub2 перечитать настройки и после перезагрузки системы убедимся, что на дискретную карту не поступает питание:

Касаемо оборудования, стоило бы также отметить, что у автора изначально не определялась wi-fi карточка: не было интерфейса wlan0. К счастью, это решается даже проще:

Для данной железки в ядре должно быть включено:

И установлена прошивка:

Если возникли проблемы, владельцам карт от broadcom предлагается просмотреть информацию о драйверах bcrm80211 и b43 в зависимости от используемого вами и действовать по предложенной там инструкции. Если ваша карта есть в списке и поддерживается — не всё потеряно.

Споткнулись два. Сборка chromium? Нет, binhost!

Привычным браузером у автора является хромиум, ну и в gentoo захотелось его собрать, только вот собирается он не меньше двух часов, и здесь возникает вполне себе закономерная мысль: фиг с ними, с USE-флагами, поставим из бинарного пакета.

Вообще, надо сказать, что при обновлении ситуация повторится, поэтому лучше отдать предпочтение лёгким браузерам, таким как uzbl, или ставить готовые бинарные пакеты: google-chrome, firefox-bin. Но давайте для примера таки поработаем с binhost.

В качестве бинхоста будем использовать http://calculate.freeside.ru/CLD/grp/ , там можно найти достаточно много пакетов под свою архитектуру. Естественно, лучше ставить из исходников со своими USE-флагами. Так же естественно, что автор не несёт ответственности, если при использовании бинарных пакетов из CLD у вас что-то отвалится 😉

Снова идём в /etc/portage/make.conf :

ccache следует сначала установить, он окажет неоценимую услугу при перекомпиляции пакетов, подробнее читаем на gentoo wiki.

Что касается binhost’а здесь вы указываете откуда ставить пакеты с учётом своей архитектуры. Затем следует указание места, куда будут складываться эти пакеты. Ставим chromium:

Заглядываем в /var/binpackages/ :

Споткнулись три. А сколько ждать-то? Сборка пакетов из-под live cd.

Также после первоначальной установки можно доставить все пакеты, загрузившись с какого-нибудь live cd и чрутнувшись в gentoo. У автора на то был рабочий арчлинукс, gentoo ставился на внешний HDD. Повторюсь, вполне можно использовать для этого любой live cd/live usb. Загружаемся с него, монтируем нужные разделы, ставим компиляцию сразу нескольких пакетов, а сами в это время сидим в jabber или читаем gentoo handbook в привычном окружении.

Кроме того, позволяет ускорить время компиляции вынос /var/tmp/portage в tmpfs:

В остальном с настройкой всё просто. При желании можете ознакомиться с настройками acpi, одинаковыми для всех дистрибутивов.

В заключение или краткое сравнение возможностей arch и gentoo

Держи мир в чистоте

Принцип обоих дистрибутивов, хотя в gentoo это выражено ярче. Сразу о полезном: полезно иметь под рукой список установленных пакетов для быстрого восстановления системы. В gentoo таким списком является файл /var/lib/portage/world , куда вносятся записи об установленных программах.

В archlinux нет такого файла, но его можно получить. Арчевики по этому поводу нам выдаст следующее:

Если ваша система «упала» и её сложно восстановить, pacman может легко переустановить эти пакеты. Сначала, сохраните в список пакетов (доступных в репозитории):

Безопасная, но и более сложная альтернатива (во избежание удаления частичных совпадений)

Сохраните этот файл на флешке или на другом носителе. Скопируйте файл pkglist в новую систему, перейдите в эту папку. Для восстановления используйте команду:

Сборка из исходного кода

Возможна в обоих дистрибутивах. В archlinux для этого есть такая вкусная вещь как ABS. С Gentoo и так всё ясно — по умолчанию.

Ставим бинарные пакеты

Арч — бинарный дистрибутив и возможность ставить готовые пакеты, а не компилировать всё из исходников, заложена по-умолчанию.

В gentoo есть возможность ставить бинарные пакеты, как правило, лишь для очень больших приложений (оно и понятно).

Гибкость менеджера управлением пакетов

И pacman, и emerge хороши. Но emerge — инструмент куда более гибкий (и куда более медленный).

Обновление конфигурационных файлов системы

В арче делается ручками. Большинство арчеводов активно испольуют программку diff для сравнения изменившихся конфигурационных файлов и их последующей (ручной) правки. Не особенно удобно.

Gentoo предлагает использовать команду etc-update , что очень удобно.

Разнообразие софта

Обычно имеющихся пакетов хватает как в случае с archlinux, так и в случае с gentoo. Но если нужной программы нет, это тоже не большая беда.

Арч предоставляет для установки пакетов, не входящих в основной репозиторий, репозиторий пользовательский — AUR, отличная вещь.

В Gentoo для подобных нужд есть оверлеи и связанная с ними программа layman . Так что от недостатка программного обеспечения страдать в любом случае не придётся.

Честно сказать, автору так и не удалось ответить на главный для себя вопрос: Arch или Gentoo? Оба дистрибутива по-своему хороши, оба имеют свои недостатки. И — да — оба неидеальны. От подобных мыслей линуксоиды обычно спасались созданием дистрибутива собственного 😉

Источник

Оцените статью