Готовим свой Linux на базе Gentoo



Многие любят Gentoo за ее универсальность. Используя портежи, можно сделать инструмент под любые задачи. И пускай вас не смущает то, что секретарь никогда не будет компилировать Firefox — Боже упаси ей дать возможность ставить софт! Что может быть лучше дистрибутива, установив который вам больше ничего не понадобится с ним делать! Представьте себе — 5-10 минут времени и вы получаете систему с необходимым набором софта, собранного, настроенного и оптимизированного по вашим предпочтениям.

В этой статье я опишу процесс создания своей версии дистрибутива на основе Gentoo при помощи утилит Calculate 2.2. На выходе вы получите гибридный ISO диск для записи на CD/DVD или USB-Flash, полностью совместимый с Gentoo, поддерживающий установку на USB-HDD, USB-Flash, HDD с поддержкой LVM и Raid, файловой системой ext4, ext3, ext2, reiserfs, btrfs, xfs, jfs, nilfs2 или fat32.

Статья в первую очередь адресована всем любителям Gentoo, системным администраторам, преподавателям компьютерных классов школ и вузов, а также всем любителям Linux. Все операции выполняются с правами пользователя root из консоли.

1. То что нам понадобится


Разумеется, у вас уже должен быть установлен Gentoo, либо любой Gentoo-based дистрибутив и настроен доступ к сети интернет. Все операции я выполнял из Calculate Linux Desktop 11.9 KDE 64 бит.

Для начала установите пакеты calculate-assemble и calculate-builder. В Gentoo для этого понадобится подключить оверлей Calculate:

emerge layman
layman -a calculate
emerge calculate-assemble calculate-builder


Теперь определитесь с тем, какую систему вы хотите собрать. Перед вами выбор базовых образов:
  1. Gentoo Stage3 — прожиточный минимум для начала сборки системы;
  2. Calculate Scratch Server (CSS) — по сути тот же Gentoo Stage3 с ядром, драйверами, загрузчиком, портежами и утилитами Calculate.
  3. Calculate Linux Scratch (CLS) — CSS + Xorg + wireless.
  4. Calculate Linux Desktop с рабочим столом KDE, Gnome или XFCE (CLD, CLDG, CLDX) либо Calculate Directory Server (CDS).


В зависимости от задачи, загрузите последний Stage-архив Gentoo или Stage-образ Calculate и поместите в директории /var/calculate/remote/stages и /var/calculate/linux соответственно:

cd /var/calculate/remote/stages
wget mirror.yandex.ru/gentoo-distfiles/releases/x86/current-stage3/stage3-i686-20111018.tar.bz2


или

cd /var/calculate/linux
wget mirror.cnet.kz/calculate/CLDX/stages/i686/cldx-20111024-i686.iso


Stage образ Calculate Linux включает дерево портежей. По сути это одно из основных отличий образа Calculate от Gentoo Stage4. Собирая систему из Gentoo Stage, вам также понадобится загрузить портежи в директорию /var/calculate/remote/snapshots:

cd /var/calculate/remote/snapshots
wget mirror.yandex.ru/gentoo-distfiles/snapshots/portage-20111024.tar.bz2


Обратите внимание, версии фалов постоянно обновляются.
В этой статье я остановлю свой выбор на CLDX 32 бит по следующим причинам:

  • Дистрибутив уже содержит большинство необходимых программ;
  • Нет привязки к Gnome/KDE;
  • XFCE включает несколько небольших пакетов и при желании быстро удаляется.


2. Подготовим систему к сборке


Для подготовки системы к сборке служит утилита cl-assemble. Вы можете воспользоваться любым из доступных профилей. В профилях Calculate Linux флаги подобраны с учётом используемого рабочего стола. CLD оптимизирован с учётом использования Qt/KDE, CLDG — Gtk/Gnome, XFCE — Gtk. Профиль CLDX идеально подойдет, если вы не хотите использовать ни KDE, ни Gnome.

Если в качестве профиля указать «CLDX», программа попросит более точно ввести его название:



Вам также понадобится указать раздел для установки. Это может быть либо раздел жесткого диска (10-15 Гб), либо директория. В случае использования директории, будет тратиться дополнительное время на удаление старых файлов. По умолчанию утилита использует Gentoo Stage3 образ и свежие портежи:



Укажем, что мы хотим взять 32-битный образ CLDX, свежую версию которого можно скачать отсюда mirror.cnet.kz/calculate/CLDX/stages/i686/. Для этого понадобится правильно указать профиль и, в случае если мы работаем в 64-битной системе, указать, что мы хотим использовать архитектуру i686:

cl-assemble -p desktop/CLDX/x86/binary -d /dev/sda2 --source=CLDX --march=i686

На моей машине вся подготовка заняла менее 10 минут:



3. Обновим систему


Для сборки системы служит утилита cl-make. Обратите внимание на несколько параметров. Если вы хотите собрать систему со Stage3 — используйте опцию сборки системы "-m" (или "--make"), если из образа Calculate — опцию обновления системы "-u", (или "--update"). Обратите внимание на опцию "-V" (или "--withvideo") для копирования проприетарных видеодрайверов. Копирование без установки пресекает нарушение лицензии GPL, при этом у вас остаётся выбор проприетарного видеодрайвера, который будет инсталлирован в систему во время процесса загрузки.

cl-make -u -V

Выполним обновление:



В приведенном примере я не указывал собираемый профиль. Его следует вводить в случае, если вы ставите на сборку несколько систем одновременно. Например, 32 и 64 битную версии. В этом случае профиль можно ввести как "-p amd64" и "-p x86". Путем сравнения собираемых версий, программа попытается определить нужный профиль.

В моем случае потребовалось обновить около 40 пакетов.

Свои действия утилиты Calculate отписывают в файл /etc/calculate/assemble.env:



Некоторые значения, например rsync-сервер портежей, доступные разделы, можно прописать в переменных утилит. Пример с реального сервера сборки:



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

Я успел написать этот текст пока система обновляется. Мне попались под обновление сразу gtk с python, лучше бы я взял сегодняшний образ. Несмотря на то, что я выбрал бинарный профиль, компиляция идет из исходников. Пойду налью себе кофе :)

4. Внесем изменения


Наконец добрались до самого интересного. Что мы можем изменить:

  • состав пакетов;
  • флаги сборки;
  • настройки программ;
  • настройки рабочего стола пользователей;
  • темы и т.п.


Как вы могли заметить, образ развернулся в директорию /mnt/calculate-desktop-CLDX-x86-binary/. Используйте этот путь для внесения изменений. На скриншотах видно, что с развернутой системой производится некоторая настройка. Собственно все шаблоны настройки можно посмотреть в директории /usr/share/calculate/templates/assemble/. Важно вносить изменения так, чтобы не вызывать конфликт настроек. Где-то можно создать свои шаблоны изменений, где-то использовать альтернативные файлы. Рассмотрим теперь подробней.

4.1. Флаги сборки

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

  • ускорить выполнение программ;
  • повысить защищенность системы;
  • избавиться от лишних зависимостей;
  • уменьшить требование к дисковому пространству.


Давайте посмотрим на содержимое переменной USE. Для этого в собираемой системе нужно выполнить следующую команду:

linux32 chroot /mnt/calculate-desktop-CLDX-x86-binary /bin/bash -c "emerge --info"

Обратите внимание, я использовал вызов chroot через утилиту linux32, т.к. я выполняю сборку 32-битной системы из-под 64-битной. В противном случае в утилите linux32 нет необходимости.

Флагов будет великое множество. Более подробно о них можно узнать, почитав следующие описания: общие — /usr/portage/profiles/use.desc и индивидуальные — /usr/portage/profiles/use.local.desc.

Для внесения изменений в флаги применительно ко всем пакетам сразу используется файл make.conf. В процессе сборки содержимое файла /etc/make.conf будет переписываться, поэтому для внесения изменений, мы рекомендуем использовать альтернативный путь — /etc/portage/make.conf.

В качестве примера, давайте исключим поддержку адресации ipv6 во всех пакетах, для этого добавьте в файл /mnt/calculate-desktop-CLDX-x86-binary/etc/portage/make.conf следующую строчку:

USE="-ipv6"

Посмотрим что получится. В этот раз запустим обновление с флагом "-U", вместо "-u". Это позволит сэкономить время на синхронизацию портежей. Выполним 'cl-make -U -V':



Примечание. Так как при обновлении пакетов был пересобран Xorg сервер, в конце программа выполнит пересборку его модулей. Если вы будете запускать несколько сборок подряд, анализируя файл emerge.log, программа будет каждый раз пересобирать драйвера Xorg-сервера. Чтобы этого не происходило, вы можете удалить файл var/log/emerge.log в директории собираемой системы. Во время запаковки системы в образ, этот файл будет в любом случае удален.

4.2. Флаги и маски пакетов

Для изменения флагов и масок используются следующие пути: etc/portage/package.use, etc/portage/package.keywords, etc/portage/package.mask, etc/portage/package.unmask. Менеджер пакетов emerge 2.2 умеет размаскировывать зависимости.

Рассмотрим размаскировку пакетов, на примере браузера Firefox. Для начала сменим корневой каталог:

linux32 chroot /mnt/calculate-desktop-CLDX-x86-binary
env-update && source /etc/profile


Определим правильное название пакета firefox и узнаем список доступных версий:

eix firefox
* www-client/firefox
Available versions: *3.6.12 3.6.20 ~3.6.21 ~3.6.22 ~7.0.1-r1


Стабильная версия пакета 3.6.20. Размаскируем версию 7.0.1-r1:



Для обновления настроек используем утилиту dispatch-conf вместо etc-update:



Утилита обновит маски и USE-флаги. В обоих случаях нажмите «u» для принятия изменений.



Здесь же вы можете проверить и выписать названия других пакетов, необходимых для сборки. В конце, чтобы проверить все зависимости, выполните:

emerge -p пакет1 пакет2 ..

4.3. Добавление пакетов

Все устанавливаемые пакеты, за исключением зависимостей, прописываются в файле 'world'. Если вы ставите пакет, он, вместе с зависимыми библиотеками, устанавливается в систему. Если какие-либо библиотеки в последствии пакету уже не понадобятся, команда 'emerge --depclean' их удалит. Поэтому важно, чтобы все пакеты (без зависимостей), которые вы установили дополнительно, были прописаны в файле 'world'. Удалить их можно опять же командой 'emerge --unmerge' с указанием пакета(ов) или вручную, отредактировав файл и выполнив 'emerge --depclean'.

Для построения дерева зависимостей утилиты Calculate используют мета-пакеты, в основе которых лежит app-misc/calculate-meta. Посредством USE-флагов строятся всё дерево зависимостей. Так как в процессе сборки вы могли устанавливать для проверки софт, файл var/lib/portage/world перед запаковкой будет содержать только один этот мета-пакет.

Для того, чтобы добавить свои пакеты в дистрибутив, в портежах есть замечательный инструмент — сеты. При помощи сетов вы сможете подготовить свои тематические подборки программ. Сеты поддерживают вложения, что тоже очень удобно. Вы можете отредактировать свой список пакетов, воспользоваться сетом custom, находящемся в фале /etc/portage/sets/custom@, вписав в него строчку:

www-client/firefox

Либо создать новый сет с другим именем, например 'web', вписав в него пакет, а в файле 'custom' указать ссылку на него:

@web

Таким образом, сет может содержать как вложенные сеты, так и пакеты.

Во время обновления системы программы из сета будут установлены, т.к. сет прописан в своем world-файле, находящемся в /var/lib/portage/world_sets.

4.4. Удаление пакетов

Если очистить файл world и выполнить 'emerge --depclean', мы получим Stage3-образ. Т.е. прожиточный минимум всё же имеется и называется он 'system'. Обновить его можно командой 'emerge system', либо используя сет — 'emerge @system'. Мета-пакет calculate-meta строит зависимости исходя из выбранного профиля. Используя USE-флаги calculate_nowireless, calculate_nonetwork, calculate_noxfce и т.п., можно исключить часть зависимостей. Полный список флагов можно посмотреть в файле /var/lib/layman/calculate/profiles/desc/calculate.desc. Для примера, давайте отключим поддержку беспроводных устройств. Для этого отредактируете файл /etc/portage/make.conf, вписав в него:

CALCULATE="nowireless"

5. Сохраним изменения


Мы добавили браузер firefox, удалили поддержку беспроводных устройств, давайте теперь обновим образ:

cl-make -U -V

Пакет firefox будет установлен, а лишние зависимости удалены:



5. Создадим новый образ


Для создания образа используйте утилиту cl-image:

cl-image --live iso



Опция "--live" позволит выиграть несколько секунд при загрузке с LiveCD или USB-Flash. Используйте эту опцию, если вы используете свежий Stage-образ Calculate Linux.

6. Завершение сборки


В случае необходимости, либо по завершению установки можно прервать сборку выполнив:

cl-make --break



7. Итог


Для эксперимента я выбрал дистрибутив Calculate Linux Desktop XFCE и воспользовался бинарным профилем CLDX. Все дальнейшие обновления системы я буду выполнять с учётом своих USE-флагов, командой 'emerge -uDNa world'. В случае, если флаги будут полностью совпадать, пакет будет установлен из бинарного репозитория, если будут различия — пакет соберется на моей машине.

Я получил образ с необходимым мне набором программного обеспечения. Не все из описанных возможностей я задействовал. Например в дистрибутиве можно подготовить шаблоны настройки рабочего стола пользователя (см. habrahabr.ru/blogs/linux/129658/).

В следующей статье, если будет достаточный интерес, я опишу как можно получить тот же результат более наглядно и без использования жесткого диска ;-)
+58
26 октября 2011, 11:52
172
Lautre 8,0

комментарии (64)

0
anarx #
Подскажите, каков в Gentoo штатный механизм обновления того же Firefox для секретаря?
0
Lautre #
Вы работали на предприятии или простой интерес?
0
anarx #
Простой интерес. Пользовался Gentoo в качестве сервера (досталась пара таких в наследство). Думаю, может быть есть какая-то графическая утилита для критических обновлений пользовательского ПО.
+2
Lautre #
>Думаю, может быть есть какая-то графическая утилита для критических обновлений пользовательского ПО.

Которой будет управлять секретарша?!
0
smind #
почему нет? что сложного в кнопке [Обновить систему]?
+1
Lautre #
Если нужно только её нажать — есть крон, как уже успели здесь заметить. Это лучше кнопки хотя бы потому, что исключает человеческий фактор. Плюс снижает нагрузку на мозг офисного сотрудника, у которого вообще-то другие задачи. Или Вы планируете обучить блондинку выполнять ещё какие-то функции, кроме нажатия, например ставить Вас об этом в известность? :)
0
smind #
но человек может не нажимать кнопку если у него что то срочное, а крону пофигу. А обновления могут иногда привести к частичной или полной недееспособности ОС.
+1
Lautre #
Вот… об этом я и хочу сказать. Если есть хоть какая-то опасность, Вы не должны поручать выполнять эту операцию секретарю.
+3
josser #
Вы наверно шутите про Gentoo для секретаря?
+1
anarx #
Обратите внимание на первые три предложения. В статье предлагается запретить пользователю компилировать ПО самостоятельно. Я лишь поинтересовался, как обстоят дела с уязвимостями ПО в Gentoo и обновлением такого ПО без вмешательства квалифицированного айтишника.
0
jov #
Gentoo для секретарши — явный перебор! Компьютер секретаря должен обслуживать штатный эникейщик, чей уровень компетентности не предполагает тонкого манипулирования зависимостями в gentoo.
+3
SergMarkov #
То то гентушники ищут со свечкой портеж со вторым гномом :-)
+2
GloooM #
Гентушники обычно ищутждут ебилд или оверлей ))
+2
IamCPA3Y #
Секретарши бывают разные ))

Начальник — секретарю:
— Катенька, дорогая, перепиши месячную отчетность нашим партнерам,
они сейчас к тебе подойдут.

— Добрый день, это вам переписать oтчетность?
— Добрый день, да, будьте так любезны, вот чистая дискета, можно на нее.
— Да, конечно.

Вставляет в дисковод. И…

# mkfs -t vfat -c /dev/fd0h1440
# mount -t vfat -o iocharset=koi8-r,codepage=866 /dev/fd0 /mnt/floppy
# find / -noleaf -type f -name Otchet_april. [a-zA-Z "> -exec cp '{ }'; /mnt/floppy \;
# ls -la /mnt/floppy/Otchet_april. [a-z ">[A-Z "> && sync && sleep 3

— Возьмите пожалуйста!
Партнеры.
— Них… себе!!!

— Что такое?!.. Я опять отмонтировать забыла?!
0
Eddy_Em #
Поставьте обновление по cron'у критических пакетов на ночь.
+2
kaliy #
Что такого в «atratsevskiy linux#», что его надо было замазывать?
–1
Lautre #
уже :)
0
SergMarkov #
Иногда хочется собрать из своей слаки что то подобное licecd, но не представляю как :-)
0
ulego #
Здесь есть руководство для слаки:
0
ulego #
0
SergMarkov #
Спасибо!
+20
mifistor #
image
+1
cc4t #
Дикий [:|||:] же! Но до сих пор смешно. =)
+8
Scraelos #
Я вот как-то в ходе своих экспериментов с гентой сломал иксы. А ко мне девушка пришла фильм посмотреть. Пришлось с ней всякой фигнёй заниматься.
+2
Lautre #
Ну не фильм же смотреть ;)
+4
ulego #
А я как-то в ходе своих экспериментов с гентой спалил монитор (разгонял частоту) и сломал клавиатуру (после того как спалил монитор).
+1
gnomeby #
Я для таких случаев научился бы из консоли mplayer запускать.
0
ENargit #
Вы имеете ввиду mplayer -vo aa и видео Ascii-Art_ом? Или может быть есть какой-то способ настроить фреймбуфер в консоли?
+1
gnomeby #
+2
Scraelos #
да я то умел…
+2
fanex #
В оригинале там был D&D Dungeon Master Guide, но так тоже ничего.
0
cc4t #
Ещё кое-что откопал. image
+2
ulego #
«Что может быть лучше дистрибутива, установив который вам больше ничего не понадобится с ним делать!»
Ага, да!
Знакомо очень: "… вот закончу установку и всё, идеаль! Буду сидеть и радоваться и ничего с ним не делать! Только вот… щас откомпилю новое ядро..." )
+1
doctornkz #
Мануал для подготовки рабочего места секретаря на 11 листах. Лопни мои глаза
0
Lautre #
Я старался :) На самом деле некоторые вещи хотелось подробней описать. Если Вы посмотрите сколько в итоге нужно выполнить команд, вам сразу полегчает.
+4
rPman #
с gentoo проблемы появляются не когда надо установить… а когда ее нужно обновить (еще больший ужас, если обновлений не выполнялось с пол года-год).

конечно, решений там для этого существует не мало… но даже без возникающих проблем, когда в сотый раз, после обновления запускаешь etc-update и контролируешь, не затрет ли он он нужные тебе конфиги… или в очередной раз структура зависимостей поменялась и необходимо что то добавить в USE флаги или не дай бог поставить стабильную версию и маяться с постоянной размаскировкой пакетов… а ведь не ясно, когда и как нужно чистить файлы /etc/portage от устаревших записей, кроме как полностью их удалить и заново при обновлении выполнить квест 'настрой все как надо'. Помню в позапрошлом году на сервере маялся с блокировками, лучшее решение что я тогда нашел… удалить большую половину софта, обновить систему и установить заново.

p.s. но при этом gentoo остается единственным дистрибутивом, в котором собирать свой linux можно как хочется универсально и максимально удобным способом одновременно.
0
Lautre #
Ну вот для того, чтобы не бояться, что конфиги что-то потрут, USE флаги будут соответствовать новым реалиям и существует калька…
0
cc4t #
А зачем для этого Gentoo/Calculate? Есть Ubuntu, которым может пользоваться секретарша, обладающая элементарной компьютерной грамотностью. Тоже можно создать диск с определенным набором программ. Даже какая-то утилита с графическим интерфейсом вроде для это есть.
А эти «оптимизации», это просто чтобы потешить свое ЧСВ. На современных компьютерах вряд ли кто-либо невооруженным глазом заметит разницу между скоростью работы Gentoo и Ubuntu. Лишние зависимости тоже ерунда. Винт большой, лежат себе и никому не мешают.
Сам пользовался Gentoo. Постоянные перекомпиливания при обновлениях, а иногда ещё что-то ломается. Зачем?
–1
cc4t #
И ещё один большой минус. В Debian/Ubuntu пакеты идут вместе с рабочими конфигами. Т.е. можно установить пакет, и в большинстве случаев стандартного конфига будет достаточно, чтобы программа работала. А в Gentoo не так, нет. Либо вы имеете нерабочий конфиг, либо его вообще нет. И вы идете читать gentoo-wiki. =)
0
Lautre #
Все познается в сравнении. Боюсь это отдельная тема, которую лучше перенести в форум или чат.
В Calculate есть и бинарные репозитории для каждого дистрибутива и настройка конфигов по мере установки программ. Про оптимизацию, заметьте, в статье я не написал ни слова.
0
cc4t #
набором софта, собранного, настроенного и оптимизированного по вашим предпочтениям

А здесь вы, видимо, что-то другое имели в виду?
0
Lautre #
Да, здесь я имел ввиду USE флаги, строящие зависимости. Я думаю это даёт больший выхлоп в производительности, нежели компиляция под определенный процессор. Хотя одно другому не мешает.
+1
Gorthauer87 #
Соседний топик с 20% приростом с кастомным ядром не согласен. Да и дело скорее не в скорости работы, а в том как быстро новые версии софта попадают в дерево. На Убунте надо по полгода ждать- не вариант для разработчика!
–2
cc4t #
Ну да, ну да. Если кто-то прогнал на своем ноутбуке какие-то тесты, то это, конечно, уже исследование достойное доверия. И, конечно же, кастомные ядра такие стабильные-стабильные и с ними не возникает никаких проблем.
А зачем, позвольте полюбопытствовать, вам самые последние версии и каких программ?
Я вот тоже разработчик, пользуюсь Ubuntu 10.04 с подключенными дополнительными репозиториями. Не так уж много пакетов, для которых мне важно иметь последнюю версию. Кое-что я ставлю в свою домашнюю директорию. Ну, зачем иметь Python 3, если он не используется на серверах? Зачем новые иксы, если старые хорошо работают? Зачем Java 7, если вирт. машина падает? Вам так нравится иметь все самое новое, самое последнее, передовое (прямо как нашему президенту), но вы, скорее всего, не понимаете для чего вам это. Для некой абстрактной «скорости»?
ИМХО, самые последние версии ПО нужны только бета-тестерам или в ознакомительных целях (например, Andoid 4)
0
Lautre #
Я знал одного программиста, мужичек такой лет 40. Он делал сайт для одной компании, занимающейся продажей подшипников. Наняли разработчика в период волны популярности интернет сайтов. Он им естественно все делал под виндой. Говорил, нафиг что-то другое — вот же, проверенное, работает.

>Для некой абстрактной «скорости»?

Не так давно мы обновили passenger до 3-й версии, сайт на redmine ускорился в разы. Это по поводу обновлений.
0
cc4t #
Я знал одного программиста,… Он им естественно все делал под виндой. Говорил, нафиг что-то другое — вот же, проверенное, работает.

Cool story, bro. И чо?
Не так давно мы обновили passenger до 3-й версии, сайт на redmine ускорился в разы.

Так происходит со всем что вы обновляете? firefox 7 тоже в разы ускорился?
Вы плохо читали мой комментарий. Я ЗА обновления там, где это оправдано. Но если использовать всё самое новое, то работа за компьютером превращается в бета-тестирование. Если вам это нравится, то пожалуйста.
А на сервере это ещё и угроза безопасности. Вы же не хотите сказать, что Gentoo/Calculate может сравниться с Debian/CentOS?
+1
Lautre #
>Так происходит со всем что вы обновляете? firefox 7 тоже в разы ускорился?

Я не использую Firefox, а в Gentoo и Calculate стабильная версия 3.6.20.

>Но если использовать всё самое новое, то работа за компьютером превращается в бета-тестирование.

Полностью поддерживаю Вашу точку зрения. Именно поэтому в Gentoo и соответственно Calculate — 5 версий упомянутого passenger: 2.2.15 ~2.2.15-r1 ~3.0.7 ~3.0.8 ~3.0.9, стабильная из которых 2.2.15. По сути я взял на себя все риски тестирования ради ощутимого прироста в скорости. Этим мне и нравится Gentoo — свободой выбора без рисков потерять стабильность. Я сам выбрал 3-ку, я же и уделяю ей внимание больше, чем остальным службам. И так со всеми пакетами.

>Cool story, bro. И чо?

То, что сколько людей столько и мнений.
0
Gorthauer87 #
Ну вот вышла библиотека с исправлениями и новыми плюшками. Мне что-ли её ждать еще полгода? На иксы мне пофиг, я бы с удовольствием вообще их выпилил нахрен в пользу wayland'а ибо тормоза и лес костылей.
Можно конечно всегда сидеть на альфах Убунты, как многие делают, но я не готов к длительным забегам по граблям. Гента в этом плане — золотая середина. Можно часть системы стабильной держать, часть тестовой а часть вообще из гита тянуть. И таки да, я юзаю часто bleeding edge инструменты. И дрова мне на видео нужны самые новые ибо они по умолчанию самые быстрые, что тоже критично.
0
Lautre #
А что, недавно на канал кальки заходил человек, сказал что вышел релиз убунты и ему стало скучно, будет пробовать кальку. Вот когда выйдет первая альфа 12.4 убунты, он снова вернется на этот дистр :)
0
cc4t #
Ну вот вышла библиотека с исправлениями и новыми плюшками. Мне что-ли её ждать еще полгода?

Не надо ждать. Если библиотека нужна мне для разработки, я собираю её из исходников и устанавливаю в домашнюю директорию. И имею последнюю версию библиотеки и систему не засоряю. Надо будет, из домашней папки удалю, и следа не останется.
0
Gorthauer87 #
Ну и да… сторонних ppaшек с нужным мне софтом просто нету а в тех, что были раньше, всегда лютый песец господствовал. Плюс ебилды писать проще, чем собирать deb пакеты.
0
Squier #
Пытался ставить генту раз пять. После установки и настройки сносил через неделю. Не знаю почему, но дебиан лучше для меня. Быстрее устанавливается срочнонеобходимый софт, а прироста скорости в генту не заметил.
Если кто-то переубедит, буду только за.
+3
magzimko #
Мне кажется генту интересна только на момент сборки. Эдакий тайм-киллер. Собрал все с нуля, помучался, настроил. Все. Что с ней дальше делать — непонятно. Руки чешутся еще что-нибудь скомпилить. В конце концов все заканчивается крахом системы ) Потому дебиан лучше для пользователя конечного, поставил — и работай.
–1
vasilisc #
Пока гентушники компилят… можно обогнать самого быстрого пингвина и по-другому.
Занимаем свободную ОЗУ, тюним настройки системы и программ, уменьшаем задержки…
vasilisc.com/speedup_ubuntu
0
SergMarkov #
Хорошая публикация, но вот с этим вы явно перестарались :-)

gtk-menu-popup-delay = 0
gtk-menu-popdown-delay = 0
gtk-menu-bar-popup-delay = 0
gtk-timeout-expand = 0
gtk-timeout-initial = 0

оптимальное значение для всех таких вещей не нуль, а где то 30-50, на нуле как ни странно задержки больше
0
vasilisc #
Я тоже субъективно опасался нуля, НО «тесты» в виде gtk-perf и скрипт-выяснение-кто-быстрее-из-тем
#!/bin/bash
clear
for d in ls /usr/share/themes/*; do
metacity-theme-viewer `basename "$d"`;
echo "-----------------------"
done
exit 0

вроде как не подтверждают опасения… но возможно вы правы…
0
SergMarkov #
gtkperf брали именно по этим вещам — popup(down) bar? Почему спрашиваю, у меня именно на них на нуле было больше
0
ayc #
А кто знает «предельно минимальный» дистрибутив для x86 — не по размеру, а по составу, чтоб только ядро (оно пусть традиционное, как debian), libc, сеть и bash? Чтоб убедиться, что испытуемая там программа не тянет за собой косвенно множество зависимостей от окружения.
0
Konair0s #
Gentoo же?

На выбор ряд ядер, можно ставить оригинальное.
По дефолту сразу после установки в системе по сути нету ничего. Даже всякие rp-pppoe надо вручную ставить.
0
Konair0s #
Э? Кому настолько не понравился пост, может объяснишь что не так?
0
nemckoff #
Читая такие красивые мануалы, понимаешь, что не зря выбрал arch-way. Всё то же самое по сути, только очень сильно экономишь машинное время тем, что пакеты собирают за тебя.
0
Lautre #
В мануале только в одном месте указано время на развертывание перед сборкой. Боюсь что в арче образ распакуется с той же скоростью. Не знаю, что Вас напугало.
0
tiandrey #
>Для обновления настроек используем утилиту dispatch-conf вместо env-update:
Очепятка. etc-update же.
0
Lautre #
Исправил, спасибо.

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