LINUX.ORG.RU

Next generation Funtoo

 ,


0

7

Непонятно, что послужило причиной для Drobbins'а, то ли поломаный обновлением до 1.19 xorg-server на его ноутбуке, то ли конференция хакеров во Львове, а может и то и другое вместе взятое, но изменения теперь касаются всех пользователей дистрибутива.

Что же прошло вместе с летом и пришло с осенью, две основных новости:

  • Стильно-модно-молодежно — отказ от funtoo-stable и funtoo-stable-hardened сборок. Связано это с переходом к «next generation of Funtoo Linux». Все усилия сосредоточены на новых фишках, которые будут представлены по мере готовности.
  • Версия дерева ports-2012 больше не обновляется.

Взамен мы получаем новую версию дерева ports-2017 и концепцию «kits» (наборы, комплекты?).

Как говорит сам Drobbins, наборы — это логические части дерева портежей Gentoo, превращенные в оверлеи, с целью поддержания стабильности. Это логические наборы пакетов, реальные оверлеи в системе, смысл которых в большей гибкости по манипулированию стабильным и экспериментальным кодом.

Таким образом можно иметь последнюю версию gimp и стабильный xorg-server, не меняя всё дерево в целом на funtoo-stable.

Мантра нового подхода: «Если моя система становится нестабильной, то это только из-за моего желания использовать экспериментальный софт, а не из-за того, что я делаю регулярно emerge -auDN @world

Переключение на новый мета-репозиторий:

# install -d /var/git
# cd /var/git
# git clone https://github.com/funtoo/meta-repo.git
# cd meta-repo
# git submodule init
# git submodule update
# rm /usr/share/portage/config/repos.conf
# mv /etc/portage/repos.conf /etc/portage/repos.conf.bak
# ln -s /var/git/meta-repo/repos.conf /etc/portage/repos.conf
# chown -R portage:portage /var/git/meta-repo

Для управления бранчами используется мета-инструмент app-admin/ego. Пример /etc/ego.conf:

[kits]

python-kit = 3.6-prime
xorg-kit = 1.19-prime

Из-за изменения способа обработки PYTHON_TARGETS есть проблемы с мультиплексированием Python для отдельных пакетов.

Ссылки на оригинальные новости:

  1. New Ports-2017 tree and Kits
  2. Kits are Go (Switch to Them!)
  3. meta-repo

>>> Funtoo Linux News

★★

Проверено: Pinkbyte ()

Прикольно это всё... а можно на это как-то переползти с gentoo, не пересобирая мир? Ну и не собирая с нуля, или со stage3/4. Насколько ключевые отличия? Помню, что calculate/sabayon в gentoo превращаются относительно легко.

BattleCoder ★★★★★ ()

Реально не понимаю, в чем смысл Funtoo. Вот в чем смысл Calculate, я понимаю: они хотят сделать бинарный Gentoo с человеческим лицом. А в чем смысл Funtoo?

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

Funtoo это просто вариант Gentoo. С регулярными сборками stage3 под разные платформы.

Из отличий, вот своё дерево и ряд инструментов, как упомянутый уже app-admin/ego, конфигуратор загрузчика sys-boot/boot-update, скрипты настройки сети и т.п.

http://www.funtoo.org/Install

vvn_black ★★ ()
Ответ на: комментарий от r3lgar

Я про то, что ports-2012 больше не обновляются узнал, вернее почувствовал, когда заметил, что gentoo-sources-4.13.0 до сих пор нет. Посмотрел новости, а там вот это началось ещё весной.

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

Небольшие уточнения новость номер 1 устаревшая http://www.funtoo.org/News:New_Ports-2017_tree_and_Kits. ports-2017 - это прототип meta-repo, который сейчас используется. И да, в основном идея возникла после поломки иксов. Во Львове был создан прототип того как вообще можно дерево portage разбить на логические части (типа микро-оверлей). Это было в достаточной степени fun. :)

vyingnarcnet ()
Ответ на: комментарий от LongLiveUbuntu

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

grem ★★★★★ ()
Ответ на: комментарий от grem

Внутри такого микрооверлея только минорные версии будут обновляться

Как я понял мейнтейнеры решают что в данном наборе является на данный момент «стабильным» и этот бранч будет по умолчанию, но при этом будет и бранч с ебилдами целиком и полностью подтянутыми из дерева Gentoo, который пользователь может активировать сам. Ну или создать свой бранч с нужной версией.

vvn_black ★★ ()
Ответ на: комментарий от vvn_black

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

grem ★★★★★ ()
Ответ на: комментарий от grem

дерево зависимостей генерируется каждый раз во время emerge -auND @world (каждый раз!). portage берет system+world пакеты (просто по app-foo/bar совпадениям) потом ищет совпадения установленных пакетов на диске, затем добавляет в список всех runtime зависимостей на диске и компонует полный depgraph. т.е имеет место значительный I/O overhead и тот факт что portage делает это с нуля при каждом emerge -auND @world.

vyingnarcnet ()
Ответ на: комментарий от loz

но никс все же превосходит все дистрибутивы по возможностям и гарантиям.

Хотел его попробовать сперва в Qemu, но в нем используется системд, который так и не смог нормально запустить графическую сессию NixOS live: зависает на полпути, медленно запускает сервисы.

RedEyedMan4 ★★★★ ()
Ответ на: комментарий от vvn_black

Funtoo это просто вариант Gentoo. С регулярными сборками stage3 под разные платформы.

спасибо. единственный, кто просто рассказал обычным людям о том, что это такое.

gray ★★★★★ ()
Ответ на: комментарий от vvn_black

конфигуратор загрузчика а также скрипты настройки сети что нельзя было в gentoo portage включить. почитал про funtoo и не понял в чём его смысл. копия gentoo практически точная. напоминает историю как какой то школьник поменял обои и позиционировал как новую ос не помню как называется.

iluha16 ()
Ответ на: комментарий от grem

В итоге у тебя получается свалка ебилдов из разных веток, которая неизвестно как себя поведет при следующем крупном обновлении. Знаю, плавал. Здесь же current - это что-то среднее по экстремальности между стейблом и тестингом Генты.

LongLiveUbuntu ★★★★★ ()
Ответ на: комментарий от gray

Ну, а чего сочинять то, если так оно и есть, http://www.funtoo.org/Welcome:

Funtoo Linux is a Linux-based operating system that is a variant of Gentoo Linux. Funtoo Linux is a meta-distribution that builds packages automatically from source code. Installation images are optimized for the best possible performance on the latest Intel and AMD hardware.

vvn_black ★★ ()
Ответ на: комментарий от iluha16

почитал про funtoo и не понял в чём его смысл. копия gentoo практически точная. напоминает историю как какой то школьник поменял обои и позиционировал как новую ос не помню как называется

Школьники, они разные бывают, некоторые успевают основать Gentoo, уйти из проекта, по моему даже в Microsoft, а потом в 2008 году сделать свою версию Gentoo, с разными интересными ништяками, которых на тот момент в основном дистрибутиве и близко не было, назвав созвучно - Funtoo. Ну да, обои нескушные добавить он не догадался.

А смысл Funtoo? Дистрибутиву скоро 10 лет, наверное, есть какой-то.

vvn_black ★★ ()
Последнее исправление: vvn_black (всего исправлений: 1)
# git clone https://github.com/funtoo/meta-repo.git
# cd meta-repo
# git submodule init
# git submodule update

По идее можно же сразу сделать

git clone --recurse-submodules https://github.com/funtoo/meta-repo.git

Radjah ★★★★ ()
Ответ на: комментарий от Radjah

я ставлю funtoo в очередной раз. как я понял, для новой установки сразу подхватывается новое дерево портежей. версия ego нигде не описана (ни в мануале emerge, ни в мануале ego), но вот тут она отображается:

# emerge --info ego
Portage 2.3.8 (python 2.7.13-final-0, funtoo/1.0/linux-gnu/arch/x86-64bit, gcc-5.3.0, glibc-2.23-r4, 4.9.40-std503-amd64 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.9.40-std503-amd64-x86_64-AMD_E1-2100_APU_with_Radeon-TM-_HD_Graphics-with-gentoo-2.2.1
KiB Mem:     3469344 total,    136044 free
KiB Swap:    4194300 total,   4006436 free
sh bash 4.4_p12-r1
ld GNU ld (Gentoo 2.28 p1.2) 2.28
app-shells/bash:          4.4_p12-r1::core-kit
dev-lang/perl:            5.24.0-r2::gentoo
dev-lang/python:          2.7.13::gentoo, 3.4.6::gentoo
sys-apps/baselayout:      2.2.1::gentoo
sys-apps/openrc:          0.23.2::gentoo
sys-apps/sandbox:         2.10-r4::core-kit
sys-devel/autoconf:       2.69-r2::gentoo
sys-devel/automake:       1.13.4-r1::core-kit, 1.14.1-r1::core-kit, 1.15-r2::gentoo
sys-devel/binutils:       2.28-r3::core-kit
sys-devel/gcc:            5.3.0-r1::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r4::core-kit
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.9::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r4::gentoo
Repositories:

nokit
    location: /var/git/meta-repo/kits/nokit
    masters: core-kit
    priority: -500

core-hw-kit
    location: /var/git/meta-repo/kits/core-hw-kit
    masters: core-kit
    priority: 1

core-kit
    location: /var/git/meta-repo/kits/core-kit
    priority: 1
    aliases: gentoo

desktop-kit
    location: /var/git/meta-repo/kits/desktop-kit
    masters: core-kit
    priority: 1

dev-kit
    location: /var/git/meta-repo/kits/dev-kit
    masters: core-kit
    priority: 1

editors-kit
    location: /var/git/meta-repo/kits/editors-kit
    masters: core-kit
    priority: 1

games-kit
    location: /var/git/meta-repo/kits/games-kit
    masters: core-kit
    priority: 1

java-kit
    location: /var/git/meta-repo/kits/java-kit
    masters: core-kit
    priority: 1

kde-kit
    location: /var/git/meta-repo/kits/kde-kit
    masters: core-kit
    priority: 1

media-kit
    location: /var/git/meta-repo/kits/media-kit
    masters: core-kit
    priority: 1

net-kit
    location: /var/git/meta-repo/kits/net-kit
    masters: core-kit
    priority: 1

perl-kit
    location: /var/git/meta-repo/kits/perl-kit
    masters: core-kit
    priority: 1

php-kit
    location: /var/git/meta-repo/kits/php-kit
    masters: core-kit
    priority: 1

python-kit
    location: /var/git/meta-repo/kits/python-kit
    masters: core-kit
    priority: 1

security-kit
    location: /var/git/meta-repo/kits/security-kit
    masters: core-kit
    priority: 1

text-kit
    location: /var/git/meta-repo/kits/text-kit
    masters: core-kit
    priority: 1

xorg-kit
    location: /var/git/meta-repo/kits/xorg-kit
    masters: core-kit
    priority: 1

gnome-kit
    location: /var/git/meta-repo/kits/gnome-kit
    masters: core-kit
    priority: 10

science-kit
    location: /var/git/meta-repo/kits/science-kit
    masters: core-kit
    priority: 10

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA Oracle-BCLA-JavaSE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=btver2 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS=""
DISTDIR="/var/cache/portage/distfiles"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=btver2 -O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/var/cache/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_TMPDIR="/var/tmp"
USE="X acl alsa amd64 automount berkdb branding bzip2 core-kit cracklib crypt cups cxx dbus flv gdbm iconv icu introspection ipv6 jpeg jpg mmx modules mp3 mudflap multilib ncurses networkamanger nls nptl openmp pam pcre png policykit python python2_7 readline resolvconf sse sse2 ssl tcpd udev unicode xattr xfce4-meta xml zlib" ABI_X86="64" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias authn_core authz_core socache_shmcb unixd" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 pc" INPUT_DEVICES="evdev synaptics keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python3_4 python2_7" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby21 ruby22 ruby23 ruby24" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS

=================================================================
                        Package Settings
=================================================================

app-admin/ego-2.0.9::core-kit was built with the following:
USE="-zsh-completion" PYTHON_SINGLE_TARGET="python3_4 -python3_5 -python3_6" PYTHON_TARGETS="python3_4 -python3_5 -python3_6"


честно говоря, не хватает удобной для чтения книжки про funtoo или про gentoo

znavko ()
Ответ на: комментарий от LongLiveUbuntu

А как поведёт? Установит более новую версию пакета, если она стабильная или в соответствии правилами packages.accept_keywords.

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

grem ★★★★★ ()
Ответ на: комментарий от vvn_black

Так по какой причине нельзя было сконцентрировать усилия на основном дистрибутиве. Или надо каждому разработчику по своему форку создать? Или это экспериментальный дистрибутив из которого ништяки бэкпортируются в gentoo? Смысл может и есть только он от меня ускользает. 10 лет говорите но я о нём впервые сегодня узнал.

iluha16 ()
Ответ на: комментарий от iluha16

10 лет говорите но я о нём впервые сегодня узнал.

Дык, это же твои проблемы, не?

Так по какой причине нельзя было сконцентрировать усилия на основном дистрибутиве.

Блин, ну как-то не очень хочется пересказывать историю десятилетней давности, как дроббинс уходил, как возвращался, что его не устроило. Если интересно, думаю, найдёшь обсуждение, в том числе и на ЛОРе.

Повторю ещё раз, на 2008 год в Funtoo было: utf-8 из коробки, дерево в git, установка на GPT/GUID разделы, синхронизация с основным деревом, изменения в дереве и прочие ништяки, которых в Gentoo ещё не было. Ну и плюсом к этому человеческая хаутушка, как всё это установить не потеряв интерес в самом начале.

Соглашусь, что интерес к Funtoo, наверное, за эти 10 лет несколько угас, но дистр жив и пользователи у него есть.

vvn_black ★★ ()
Ответ на: комментарий от vyingnarcnet

Вот и я думаю, что будет, если к каждому срезу portage-DATE будет комплекте идти файл (база данных) с полным деревом для всего дерева (на машине пользователя такое генерить явно очень долго при обновлении дерева? А дальше построение зависимостей будет идти из него + строиться как раньше для оверлеев. Но ускорит ли это хоть сколько или замедлит не знаю.

grem ★★★★★ ()