Обновление всей системы

Здравствуйте.
А как лучше и без проблем обновлять ядро системы, портаж ну в общем всю систему?
Как предотвратить перед этим различные блокировки и прочие подводные камни?
В общем есть ли самый оптимальный способ обновления ядра и всей системы?

чо к чему, вопроса не понял..

чо к чему, вопроса не понял..

Пара советов

1. Перво-наперво:
# emerge-webrsync

так обновляем дерево портежей

2. Потом
# emerge -upv system

получишь список пакетов, которые portage собирается обновить в группе system, в конце могут появиться "блокировки" и прочее. Смотрим, изучаем, читаем HandBook в поисках путей "разруливания" ситуаций.

3. Потом
# emerge -u system

4. Потом

# emerge -upv world
получишь список пакетов, которые portage собирается обновить в группе world, в конце могут появиться "блокировки" и прочее. Смотрим, изучаем, читаем HandBook в поисках путей "разруливания" ситуаций.

3. Потом
# emerge -u world

В общем - где-то так... ;)

Есть ещё есть "revdep-rebuild" и другие волшебные слова...

emerge Your world
Gentoogle

*

Все понятно... спасибо за ответ... вы действительно хорошо разбираетесь в вопросе обновления системы Gentoo Linux.
Возможно я напишу глупость, и уж простите меня за это, ибо опыта в этом вообще -0, но хотелось бы порядок действий именно для обновления всей системы с автоматической установкой нового ядра и с последующей перезагрузкой системы с обновленными программами портажем и ядром.
Я тут просто недавно обновил систему, но далось мне все это трудновато но успешно в конце концов, в фак-е вообще ни сном ни духом не задета тема безопасного обновления всей системы с ядром, и хочу если уж не поместят в наш FAQ этот ДРАГОЦЕННЫЙ и ВОЛШЕБНЫЙ порядок действий я просто скопирую в текстовый файл и распечатаю и напишу HOW TO UPGRADE WORLD.
Я тут почитал форум и увидел очень много способов обновления вышесказанного, и практически они не повторяются, масса ключей и разнообразие опций, и я просто напросто в них потерялся и не знаю что же из всего для себя как новичка принять, чтобы было максимально без проблем а результат был тот что ожидаешь.
Еще раз прошу прощения если я написал глупость и не ругайте меня пожалуйста, знаю я некомпетентен и я только учусь, будьте снисходительны.

Автоматическое обновление

Автоматическое обновление системы это бред =) Так же как и автоматическое обновление ядра.
Вообще про обнвление генту все есть в handbook прочитайте его все таки не по диагонали а вдумчиво =)

ЗЫ я не вижу смысла выносить в FAQ то что уже освещено в hanbook.

___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

*

есть ли ссылка на handbook?
И мне тогда не ясно для чего такое разнообразие опций и ключей при обновлении всей системы?
Есть ли одна опция с ключами которая если и не сделает процесс автоматическим то уж максимально его упростит?

OMG =) Ты же в теме про рейд

OMG =)
Ты же в теме про рейд говорил что его читал?
http://www.gentoo.ru/node/12668#comment-87492
Видимо наврал. Ищи в FAQ
Конкретно http://www.gentoo.ru/node/12725

Как я уже написал выше: Автоматическое обновление - ЗЛО

___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

*

alexxy написал(а):
OMG =)
Ты же в теме про рейд говорил что его читал?
http://www.gentoo.ru/node/12668#comment-87492
Видимо наврал. Ищи в FAQ
Конкретно http://www.gentoo.ru/node/12725

Как я уже написал выше: Автоматическое обновление - ЗЛО

я думал handbook есть отдельно по обновлению.

В хендбуке описано обновление

В хендбуке описано обновление =)
Не внимательно вы его читаете. И это видно по предыдущей теме

___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

по-видимому, это клиника

по-видимому, это клиника

включить автоматическое

включить автоматическое обновление (по дефолту в 3-00)

Советую читать вот это

Советую читать вот это http://www.gentoo.org/doc/ru/ , сверяясь с англоязычными версиями (они новей). Там затронуты и обновление всей системы, и обновления ядра (ему выделяется отдельное внимание), ну и вообще полезная информация по Генту. Если всё же страшно - можно сделать копию системы (просто скопировав системные разделы на другой раздел или жёсткий диск, или пока просто не обновляться. Это не так критично, для домашней машины. Лучше вдумчиво изучить инструкцию перед тем, как что-либо делать. Я, прийдя в мир Генту, тоже мало что знал, но теперь уж ничего не страшно. ) Удачи и вам.

винда умеет на автомате

винда умеет на автомате обновляться :) даже когда ее не просишь :(

P.S.: Linux - это красная таблетка :-) Windows - синяя...

Aladdin написал(а): винда

Aladdin написал(а):
винда умеет на автомате обновляться :) даже когда ее не просишь :(

Ядро как-то так... Выбираете нужное ядро командой kernel-config list, затем kernel-config set цифра с нужной версией ядра, но тоже можно автоматизировать до последней...
upgrade_kenel

#!/bin/bash

cd /usr/src/linux && \
cp /proc/config.gz . && \
gunzip -f config.gz && \
cp -f config .config && \
make && \
mount /boot && \
make modules_install && make install || \
exit

REVISION="`kernel-config list|grep \*|sed 's/\ *\[[0-9]*\]\ *linux-//; s/\ *\*//'`"
sed -i "s/\/boot\/vmlinuz-2[\.|0-9|A-z|\-]*/\/boot\/vmlinuz-$REVISION/g" /boot/grub/grub.conf

umount /boot

система так upgrade:

#!/bin/bash

emerge --sync && emerge --oneshot portage && \
emerge -uDN world && revdep-rebuild && \
emerge -uDN world && clean

, где clean:

#!/bin/bash

emerge -avc && emerge --depclean && revdep-rebuild && \
rm -rf /var/tmp/portage/*

а вот полная пересборка системы rebuild:

#!/bin/bash

emerge -1 sys-libs/glibc sys-devel/binutils sys-devel/gcc && \
emerge -e system && \
emerge -e world

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

Автоматика - в разумных пределах

Автоматика без участия человека может натворить ТАКОГО!!!
Как пример: после автоматического обновления парень запускает иксы, а в них ни клава, ни мышь не работают...
Или пресловутый переход с png12 на png14...
Или, скажем, неверно скачаный, или просто недоработаный ebuild могут доставить немало увлекательных диалогов с начальством, коллегами по работе или домочадцами...
В общем - полное обновление только под надзором.
А автоматом... Ну можно, конечно, наваять скрипты, которые будут обновлять только _нужные_ пакеты.
Но для этого нужно хорошо понимать _какие_именно_ и каким именно образом.

emerge Your world
Gentoogle

GoodWin

GoodWin написал(а):
Автоматика без участия человека может натворить ТАКОГО!!!
Как пример: после автоматического обновления парень запускает иксы, а в них ни клава, ни мышь не работают...
Или пресловутый переход с png12 на png14...
Или, скажем, неверно скачаный, или просто недоработаный ebuild могут доставить немало увлекательных диалогов с начальством, коллегами по работе или домочадцами...
В общем - полное обновление только под надзором.
А автоматом... Ну можно, конечно, наваять скрипты, которые будут обновлять только _нужные_ пакеты.
Но для этого нужно хорошо понимать _какие_именно_ и каким именно образом.

Совершенно с Вами не согласен, GoodWin, уж простите... На счёт "ТАКОГО!!!" - не более, чем может сотворить человек или то, что он написал.
Вы можете, если у Вас сеть из компьютеров настроить уведомление по почте, если важно знать о результатах обновления. С помощью bash можно сделать ТАКОЕ!!!
Переход с png12 на png14 - для таких случаев существует package.mask, keywords, можно это делать массово для группы компьютеров.
"Неверно скачанный" - не встречался с такой проблемой, а против недоработанных ebuild-ов можно отказаться от ~amd64, ~x86 и диалогов удастся избежать.
Важен контроль ошибок в скриптах, вот и всё... А в случае неудачи уведомления по почте, смс и т.п., кому что удобнее.

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

Чтобы не быть голословным, приведу решение Вашей проблемы с "клава, мышь, видео", в качестве видео выбрана Nvidia.

upgrade

#!/bin/bash

. functions.sh

SYNC_RESULT=`(run_cmd "emerge -q --sync") | tail -n 128|grep -i An\ update\ to\ portage\ is\ available`

if [[ "$SYNC_RESULT" != "" ]];
then
  run_cmd "emerge -q --oneshot portage"
fi

OLD_XSERVER=`equery list xorg-xserver`

run_cmd "emerge -quDN world"
if [[ "$OLD_XSERVER" != "`equery list xorg-xserver`" ]]; then
  run_cmd "emerge -q --oneshot `qlist -IC xf86-input xorg-drivers`"
fi

run_cmd "revdep-rebuild -q"
run_cmd "emerge -quDN world"
run_cmd clean

upgrade2last_kernel

#!/bin/bash

. functions.sh

LAST=`kernel-config list|tail -n1|sed 's/^.*\[//;s/\].*$//'`
kernel-config set $LAST
run_cmd upgrade_kernel

upgrade_kernel

#!/bin/bash

. functions.sh

cd /usr/src/linux
if [[ "$?" != "0" ]]; then
  echo /usr/src/linux doesn\'t exist
  exit 1
fi

run_cmd "cp /proc/config.gz ."
run_cmd "gunzip -qf config.gz"
run_cmd "cp -f config .config"
run_cmd make
run_cmd "mount -o remount,rw /boot"
make -s install
if [[ "$?" != "0" ]]; then
  mount -o remount,ro /boot
  echo "make install failed" >&2
  exit 2
fi

REVISION="`kernel-config list|grep \*|sed 's/\ *\[[0-9]*\]\ *linux-//; s/\ *\*//'`"
sed -i "s/\/boot\/vmlinuz-2[\.|0-9|A-z|\-]*/\/boot\/vmlinuz-$REVISION/g" /boot/grub/grub.conf

mount -o remount,ro /boot

emerge -q `qlist -IC nvidia-drivers`

clean

#!/bin/bash

. functions.sh

run_cmd "emerge -q --depclean"
run_cmd "revdep-rebuild -q"
run_cmd "eclean -q distfiles"
run_cmd "rm -rf /var/tmp/portage/*"

functions.sh

#!/bin/bash

function run_cmd()
{
  err_code=$(($err_code+1))
  if [[ "$1" == "" ]]; then
    echo "Error:Need command to run_cmd() function!"
    exit -1
  fi
  $1
  if [[ "$?" != "0" ]]; then
    echo \"$1\" error >&2
    exit $err_code
  fi
}

rebuild

#!/bin/bash

. functions.sh

run_cmd "emerge -q --oneshot sys-libs/glibc sys-devel/binutils sys-devel/gcc"
run_cmd "emerge -qe system"
run_cmd "emerge -qe world"

А понимать нужно, да...

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

Ещё раз: Автоматика без

Ещё раз:

Автоматика без участия человека может натворить ТАКОГО!!!

Справиться можно с любыми проблемами.
Задача в другом. Задача - снизить количество возникаемых проблем до разумного минимума.
При обнаружении ошибки исправить её как правило не сложно. Ещё со времён работы радиомехаником знаком.
Плохо то, что иногда ошибки проявляются _после_ или _в_процессе_ проведения обновления (в обсуждаемом случае). Исправить можно, но предусмотреть _случайности_... Что ж! Математика и тервер вам в руки! :)

emerge Your world
Gentoogle

Ещё раз не согласен

GoodWin написал(а):
Ещё раз:

Автоматика без участия человека может натворить ТАКОГО!!!

Справиться можно с любыми проблемами.
Задача в другом. Задача - снизить количество возникаемых проблем до разумного минимума.

Ну Вы, как бывший радиотехник, знаете, что при испытаниях проводятся выборки. Ну и что Вам мешает выделить парочку старых никем не используемых компьютеров, которые будут по расписанию на пару-тройку часов раньше выполнять обновление, чем все остальные компьютеры в сети, а если что не так, уведомлять по СМС?

GoodWin написал(а):
При обнаружении ошибки исправить её как правило не сложно. Ещё со времён работы радиомехаником знаком.

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

Цитата:
Плохо то, что иногда ошибки проявляются _после_ или _в_процессе_ проведения обновления (в обсуждаемом случае). Исправить можно, но предусмотреть _случайности_... Что ж! Математика и тервер вам в руки! :)

ну... решение я Вам дал =), а дискуссии - это уже не проблема, а цель .)

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

Мы терверов не изучамши, мы

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

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga написал(а): Мы

slepnoga написал(а):
Мы терверов не изучамши, мы шишки набивамши на энтом деле. Свои обычно, иногда чужие.
Патаму генту по если обновляем по крону, то токмо со свово бинхоста

Это Ваше личное дело!
Если Вы предпочитаете лень системному подходу, то такими действиями Вы можете разрушить систему даже на своём "бинхосте".
И видимо, Вы не уловили основной идеи:

# тестовый комп
upgrade
if [[ "$?" != "0" ]]; then
    echo 1 > SharedData/DoNotUpgradeLocalNetPCs_flag
fi

А теорию вероятностей - мало изучать, во всём нужна практика! Особенно, это относится к освоению синтаксиса русского языка.
Тот, кто ценит своё личное время, может взять эти скрипты за основу для своей системы, сети.
А если Вам, Андрей, нечего предложить, так лучше промолчать, этим Вы сэкономите как своё личное, так и время других. Цените его, Мы все не вечны!

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

Сколько эмоций на столь

Сколько эмоций на столь простую тему. А, скажите, говоря про много-машин: вы существующие системы автоматизации настройки и установки пакетов пробовали? Не троллинга ради, прошу заметить, просто любопытно.

NightNord написал(а): Сколько

NightNord написал(а):
Сколько эмоций на столь простую тему.

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

Цитата:
А, скажите, говоря про много-машин: вы существующие системы автоматизации настройки и установки пакетов пробовали?

Если под системой автоматизации работы с ПО Вы, Андрей, имеете в виду использование deb/rpm, написание spec-файлов и сборку rpm-дистрибутивов, то ответ будет положительным.
Если речь идёт о чём-то вроде Active Directory, ответ будет отрицательным.
Если вопрос заключается в том, почему бы не использовать бинарные дистрибутивы, то скажу, что в измерительных/вычислительных сетях реального времени быстродействие является критическим фактором и буть ошибка по времени больше нескольких долей миллисекунды, мягко говоря, "мало не покажется", отчего и требуется тонкая настройка гетерогенной системы компьютеров.
Если Вас интересует - администратор лвс ли я, отвечу честно - нет, я не администратор лвс, но в ближайшее время придётся решать массу вопросов, связанных с администрированием.
Ещё вопросы на личную тематику, не связанные с основной темой будут?

Если Вас интересует, зачем, по-моему мнению, нужен bash, если "всё уже написано за нас", то предложу воспроизвести в мыслях модель одной очень-очень умной системы, которая думает и принимает решения за Вас. Вы до конца не уверены в том, что система делает то, что нужно. Кто-то лучше Вас знает, как эта система работает и пользуется ошибками, основанными на Вашем не всеобъемлющем знании этой системы. О таких системах автоматизации управления Вы говорите? Что в данном случае критичнее? То, что у тёти Маши интерфейс libpng изменился раз в год или то, что у Вас взломали систему автоматизации?

Цитата:
Не троллинга ради, прошу заметить, просто любопытно.

А похоже на троллинг. Не знаю - как Некоторые, но кое-кто работает не только в будни и днём, а поэтому привык ценить своё время! Оказала ли Вам какую-то пользу информация о моей персоне?

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

1) Норд конечно в 3-м

1) Норд конечно в 3-м приближении тоже Андрей, но не тот. Вы кому отвечали ?

2)


Если Вас интересует, зачем, по-моему мнению, нужен bash, если "всё уже написано за нас", то предложу воспроизвести в мыслях модель одной очень-очень умной системы, которая думает и принимает решения за Вас. Вы до конца не уверены в том, что система делает то, что нужно. Кто-то лучше Вас знает, как эта система работает и пользуется ошибками, основанными на Вашем не всеобъемлющем знании этой системы. О таких системах автоматизации управления Вы говорите? Что в данном случае критичнее? То, что у тёти Маши интерфейс libpng изменился раз в год или то, что у Вас взломали систему автоматизации?

Вы это про какую конкретно ?

П.С Русский езика - он очень разный

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga написал(а): 1) Норд

slepnoga написал(а):
1) Норд конечно в 3-м приближении тоже Андрей, но не тот. Вы кому отвечали ?

Виноват! Просто сложилось асчушчение, будто пишет один и тот же человек... Наверное, это уже паранойя...

Цитата:
2)


Если Вас интересует, зачем, по-моему мнению, нужен bash, если "всё уже написано за нас", то предложу воспроизвести в мыслях модель одной очень-очень умной системы, которая думает и принимает решения за Вас. Вы до конца не уверены в том, что система делает то, что нужно. Кто-то лучше Вас знает, как эта система работает и пользуется ошибками, основанными на Вашем не всеобъемлющем знании этой системы. О таких системах автоматизации управления Вы говорите? Что в данном случае критичнее? То, что у тёти Маши интерфейс libpng изменился раз в год или то, что у Вас взломали систему автоматизации?

Вы это про какую конкретно ?

Ну если назову что-то конкретное, понабежит народ, оно это надо? Просто некая сложная модель.

Цитата:
П.С Русский езика - он очень разный

=)

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

И все таки вы существующие

И все таки

 вы существующие системы автоматизации настройки и установки пакетов пробовали?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Цитата: run_cmd "cp

Цитата:
run_cmd "cp /proc/config.gz ."
run_cmd "gunzip -qf config.gz"
run_cmd "cp -f config .config"

run_cmd "zcat /proc/config.gz > .config"

sudo eselect kernel set

sudo eselect kernel set `eselect kernel list |grep '\['|awk '{print $1}'|sed -e "s/\[//g"|sed -e "s/\]//g"|tail -n 1`;

оу. а я так переводил версию ядра на последнюю (установленную)

erzengel написал(а): sudo

erzengel написал(а):
sudo eselect kernel set `eselect kernel list |grep '\['|awk '{print $1}'|sed -e "s/\[//g"|sed -e "s/\]//g"|tail -n 1`;

оу. а я так переводил версию ядра на последнюю (установленную)

Ну вот же оно, движение мысли! Приятно читать! =)

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

ну я просто решил делать

ну я просто решил делать средствами gentoo :)
дописываю универсальный bash-script и для gentoo, и для всех остальных ))
но только сборка ядра ))

haku

haku написал(а):
Цитата:
run_cmd "cp /proc/config.gz ."
run_cmd "gunzip -qf config.gz"
run_cmd "cp -f config .config"

run_cmd "zcat /proc/config.gz > .config"

Страдаю ленью и делаю всё в спешке =)
Первый коммент по существу вопроса! Большое Спасибо!

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".