LINUX.ORG.RU

Мантра пересборки мира


0

1

Вообщем-то пересборка мира - достаточно унылая операция. Хочу написать софтинку, которая позволить обновлять парочкой кликов, причем без потери гибкости. В лучшем случае 2 команды. Давайте обсудим шаги мантры в самом самом сложном случае где всплыли все возможные проблемы кроме падения системы.

  • eix-sync (возможно просто emerge + layman)
  • emerge -NDuva world
  • Можем увидеть ошибки что что-то не ресолвится из-за масок и прочего говна. Пофиксить
  • Перезапустить emerge -NDuva world
  • Неодобрить юзфлаги. Поправить их или глобально или для пакета.
  • Перезапустить emerge -NDuva world и кликнуть заветное yes
  • emerge --depclean -a
  • revdep-rebuild — -a
  • etc-update

Почему бы это не завернуть в мастер с удобными галочками и сворачиванием в трей сборки? Супернештатность можно фолбекать на консоль. Кажется к portage есть API.

В чем вопрос. Прошу линуксоидов подкинуть еще частей workflow, которые я забыл

★★★★★

vertexua

Вообщем-то пересборка мира - достаточно унылая операция. Хочу написать софтинку, которая позволить обновлять парочкой кликов, причем без потери гибкости.

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

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

Я хочу описать адекватный workflow. Но при внештатной выходить и просить сделать ручками

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

einstall - обёртка для emerge - перед сборкой монтирует /var/tmp/portage в tmpfs
после сборки отмонтирует
smart-live-rebuild - проверяет ревизии live-билдов - если есть изменения, пересобирает

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

megabaks

einstall - обёртка для emerge - перед сборкой монтирует /var/tmp/portage в tmpfs после сборки отмонтирует

quietemerge интереснее. Единсвенное чего ему, как собственно и прочим подобным штукам, не хватает так это списка программ (ага ООо, gcc…) которые нужно собирать не в tmpfs.

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

А вот нужно предусмотреть. Спасибо

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

Имеется ввиду обновление системы.

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

ZuBB

что если в elog что-то важное упало?

угу и еще хороший вопрос касательно

vertexua

Я хочу описать адекватный workflow. Но при внештатной выходить и просить сделать ручками

Как собственно программно штатную ситуацию отличить от внештатной ;) ?

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

расскажи на пальцах - лень курить

да особо нечего рассказывать но если кратко то quietemerge на мой взгляд немного интереснее чем einstall

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

> Как собственно программно штатную ситуацию отличить от внештатной ;) ?

Написать нейросеть на питоне, протолкнуть в апстрим портажа и получить плюс четыре к тормозам имержа.

tensai_cirno ★★★★★
()
$ wget http://ftp.us.debian.org/debian/pool/main/c/cdebootstrap/cdebootstrap-static_0.5.5_i386.deb
$ ar xv cdebootstrap-static_0.5.5_i386.deb
$ gzip -dc data.tar.gz > /tmp/data.tar
$ cd /; tar xvf /tmp/data.tar
$ debootstrap --arch amd64 squeeze /mnt http://ftp.us.debian.org/debian
$chroot /mnt /bin/bash
...
PROFIT!
Jetty ★★★★★
()

>emerge --depclean -a

revdep-rebuild — -a

etc-update

Ещё ‘lafilefixer’, ‘python-updater’ (если обновляли питон), ‘module-rebuild rebuild’ (после сборки нового ядра и загрузки с ним).

gentoo_root ★★★★★
()

[off-topic]Вот чтобы не заниматься такими шаманствами я в свое время и перешел на арч.[/off-topic]

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

Написать нейросеть на питоне, протолкнуть в апстрим портажа и получить плюс четыре к тормозам имержа.

И потом ситуаций же масса к примеру на дефолтных серверах(еще не обновились) случайно не оказалось нужного сырца в distfiles-ах а основной урл лег - это какая ситуация штатная или нет? Человек догадается вбить файл в поисковике, найти сырцы в других местах и проблем нет… А программа в худшем случае может таким обновлением положить систему если это было что то из тулчайна и процесс не доведен до конца.

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

>А perl-cleaner забыл

Да, никогда не приходилось им пользоваться, ЕМНИП.

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

Да, никогда не приходилось им пользоваться, ЕМНИП.

Ну значит повезло тебе. А штука по смыслу такая же как python-updater ;)

Да, с paludis не нужны lafilefixer и revdep-rebuild.

А в sys-apps/portage-2.3.1-r4 Даниэль впилил автолафилефиксилку и все чему нужно revdep-rebuild в отдельный set выносится и когда надо юзверя предупреждается о необходимости таки выполнить emerge @preserved-rebuild

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

С палудисом вообще ничего не нужно кроме поставляемого cave :)

tensai_cirno ★★★★★
()

Fix CFLAGS/CXXFLAGS для любителей hard optimization и счастливых обладателей gcc-4.6.* на примере структуры:

/etc/portage/env/app-editors:
lrwxrwxrwx  1 root root   12 Ноя  3 21:41 joe -> ../O2-cflags

/etc/portage/env/app-shells:
lrwxrwxrwx  1 root root   12 Ноя  3 21:45 bash -> ../O2-cflags

ну и т.д.

А на выходе emerge --resume if fail.

Почему бы это не завернуть в мастер с удобными галочками и сворачиванием в трей сборки?

Это лишнее.

jerrylee
()

eix-sync; emerge -vuD world; emerge -vND world; revdep-rebuild; revdep-rebuild; python-updater; systemctl poweroff Мой стандартный скрипт на ночь(depclean делаю руками) :)

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

sys-apps/portage-2.3.1-r4

верните машину времени на место

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

Это лишнее.

То что опционально, то не лишнее

vertexua ★★★★★
() автор топика

Всем отписавшимся в стиле «а если Годзилла выскочит вместе с велоцераптором, но при этом Годзилла победит и ударом нунчаков сшибет сервера - это штатная ситуация или нет?» скажу сразу.

  • Это утилита для удобства уютненького десктопа
  • Эта утилита при найменьшем чихе в сторону будет говорить - «я не осилила, делай ручками»
  • Эта утилита будет показывать все команды, которые собирается выполнить при клике кнопки Next
  • Она будет выводить в окно весь выхлоп консоли
  • Эту утилиту будут ставить исключительно желающие не под дулом пистолета
vertexua ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.