LINUX.ORG.RU

Обновление Gentoo

 , ,


1

1

Привет.

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

В интернете статьи от 2011г. как то не очень). Хочется свежей информации, и желательно понять, что делается и зачем).

Короче) Мир я обновлял. С этим проблем нет. Интересует обновление ядра.

Как правильно?


Так же, как и устанавливал. Если хочешь оставаться в рамках portage, то https://wiki.gentoo.org/wiki/Project:Distribution_Kernel . Не знаю, готов ли. Сам через genkernel собираю и прописываю в переменных efi. Подчищаю старые ядра.

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

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

В интернете статьи от 2011г. как то не очень).

А, Вы, товарищ на основании чего порешили что «не очень»? Думаете за 10 лет что-то изменилось, нет это не из чего не следует и истиной не является. Thread/0 👍

erfea ★★★★★ ()
Ответ на: комментарий от anonymous-angler

Или руками:

# Устанавливаешь исходники
emerge -av gentoo-sources

# Смотришь, какие есть версии
eselect kernel list

# Выбираешь самую новую
eselect kernel set 1

# Переходишь в директорию с исходниками
cd /usr/src/linux

# Копирушь конфиг ядра
zcat /proc/config.gz > .config

# Выбираешь что делать с новыми опциями
make oldconfig

# И/ИЛИ конфигурируешь что нужно руками
make menuconfig

# Собираешь
make -j9

# Устанавливаешь ядро в /boot
make install

# Устанавливаешь модули
make modules_install

# Собираешь initramfs
dracut -f --kver "новая версия ядра"

# Обновляешь конфиг GRUB-а
grub-mkconfig -o /boot/grub/grub.cfg

# Перезугружаешься
reboot

anonymous-angler ()

Не надо искать статьи в интернете. Есть официальный handbook. Только описание локализации консоли там сложно найти.

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

За 10-15 лет становишься осень ленивым ;)

grem ★★★★★ ()
Ответ на: комментарий от anonymous-angler
# Устанавливаешь исходники
emerge -av gentoo-sources

# Смотришь, какие есть версии
eselect kernel list

# Выбираешь самую новую
eselect kernel set 1

Просто ставишь gentoo-sources с USE=symlink

eternal_sorrow ★★★★★ ()

cp /usr/src/linux-oldversion/.config /usr/src/linux-newversion

genkernel --no-clean all

grub-mkconfig -o /boot/grub/grub.cfg

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

Кстати, если кто будет искать про локализацию консоли, то вот рецепт:

Раскомментировать ru_RU.UTF-8 в /etc/locale.gen, сгенерировать locale-gen и выбрать через eselect locale list / eselect locale set.

В /etc/conf.d/consolefont поменять шрифт на cyr-sun16 и добавить в runlevel boot: rc-update add consolefont boot

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

Еще как изменилось, тот же layman вышел из употребления, но мелькает в каждой статье 2010х

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

Ну в общем установил этот gentoo-kernel-bin.

Но что не понятно. На комманду «uname -a» выдаёт.

Linux 5.4.97-gentoo-x86_64 #1

Но при этом же, показывает в «eselect kernel list»

[1]   linux-5.4.97-gentoo
[2]   linux-5.4.105-gentoo-dist *

Такое возможно??

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

команда установки выглядела так:

sudo emerge -v gentoo-kernel-bin

И он же все таки установил что то..

boot

-rw-r--r-- 1 root root   210304 апр  3 18:46 config-5.4.105-gentoo-dist
-rw-r--r-- 1 root root   210304 апр  3 18:29 config-5.4.105-gentoo-dist.old
drwxr-xr-x 5 root root     4096 мар 23 08:42 grub
-rw-r--r-- 1 root root 31500173 апр  3 18:46 initramfs-5.4.105-gentoo-dist.img
-rw-r--r-- 1 root root 31499276 апр  3 18:29 initramfs-5.4.105-gentoo-dist.img.old
-rw-r--r-- 1 root root 11252732 мар 23 02:51 initramfs-5.4.97-gentoo-x86_64.img
drwx------ 2 root root    16384 мар 22 19:19 lost+found
-rw-r--r-- 1 root root  4415835 апр  3 18:46 System.map-5.4.105-gentoo-dist
-rw-r--r-- 1 root root  4415835 апр  3 18:29 System.map-5.4.105-gentoo-dist.old
-rw-r--r-- 1 root root  3925490 мар 22 22:15 System.map-5.4.97-gentoo-x86_64
-rw-r--r-- 1 root root  8812928 апр  3 18:46 vmlinuz-5.4.105-gentoo-dist
-rw-r--r-- 1 root root  8812928 апр  3 18:29 vmlinuz-5.4.105-gentoo-dist.old
-rw-r--r-- 1 root root  8579392 мар 22 22:17 vmlinuz-5.4.97-gentoo-x86_64

А вот и конец той установки.

Started emerge on: апр 03, 2021 18:35:46
1617464147:  *** emerge --regex-search-auto=y --verbose gentoo-kernel-bin
1617464168:  >>> emerge (1 of 1) sys-kernel/gentoo-kernel-bin-5.4.105 to /
1617464168:  === (1 of 1) Cleaning (sys-kernel/gentoo-kernel-bin-5.4.105::/var/db/repos/gentoo/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin>
1617464170:  === (1 of 1) Compiling/Merging (sys-kernel/gentoo-kernel-bin-5.4.105::/var/db/repos/gentoo/sys-kernel/gentoo-kernel-bin/gentoo-k>
1617464621:  === (1 of 1) Merging (sys-kernel/gentoo-kernel-bin-5.4.105::/var/db/repos/gentoo/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin->
1617464687:  >>> AUTOCLEAN: sys-kernel/gentoo-kernel-bin:5.4.105
RuttY ()

Короче) Мир я обновлял. С этим проблем нет.

Надеюсь, это было не просто emerge -avuND @world?

Для тех, кто думает перейти на Gentoo (комментарий)

Плюс нужно почаще делать emerge --depclean иначе система превратится в мускору, будет пухнуть, а там и до блокировок недалеко.

Плюс важно чистить distfiles хотябы тем же eclean distfiles. Иначе свободное место быстро закончится (а ведь у тебя distfiles на корневом разделе, так?).

Плюс нужно помнить, что

  • обновление python может потребовать eselect python cleanup и изменение основной версии с помощью eselect: https://wiki.gentoo.org/wiki/Python#Version_upgrade
  • обновление perl может потребовать perl-cleaner и изменение основной версии с помощью eselect: https://wiki.gentoo.org/wiki/Perl#TL.3BDR:_Blockers
  • обновление gcc в некоторых случаях не очень тривиально, и может потребовать пересборку мира; кроме того должна быть выбрана основная версия с помощью gcc-config: https://wiki.gentoo.org/wiki/Upgrading_GCC
  • обновление ядра тоже не тривиальная штука; как минимум забывают 1) про emerge @module-rebuild 2) про то, что исходники ядра занимают очень много места (одна версия - более 1 Гб), а потому важно удалять исходники старых версий если они не нужны). Даже есть отдельная статья, которая это всё описывает: https://wiki.gentoo.org/wiki/Kernel/Upgrade

В Gentoo нужно обновляться почаще, лучше для этого написать скрипт.

Но при этом не нужно гнаться за циферками. Так что ядро, gcc, python, perl нужно исключать из ежедневного обновления и обновлять их как можно реже и только лишь тогда, когда ты чётко понимаешь чего конкретно ты хочешь достичь.

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

Да спс, с этим разберемся.

Осталось понять, почему ядро не становится.

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

Все есть, и всё понятно. Кроме этого перла.

Рассказываю.

/etc/portage/make.conf
USE="perl"
emerge -uDNav --with-bdeps=y --backtrack=100 --autounmask-keep-masks=y @world
perl-cleaner --all 
*  dev-lang/perl
      Latest version available: 5.30.3
      Latest version installed: 5.30.3
      Size of files: 12 208 KiB
      Homepage:      https://www.perl.org/
      Description:   Larry Wall's Practical Extraction and Report Language
      License:       || ( Artistic GPL-1+ )
eselect perl --list
eselect perl show
!!! Error: Can't load module perl
exiting

Почему с python-ом это работает, а с perl-ом нет??:

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

Почему с python-ом это работает, а с perl-ом нет??:

Потому, что для eselect нет модуля для perl. Всё, что есть, можно вывести запустив eselect без параметров.

Очевидно потому, что не требуется поддержка одновременно нескольких версий perl в системе.

Читайте официальные доки: https://wiki.gentoo.org/wiki/Perl

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

Начинает слегка плавится голова, но здесь это нормально?

Т.е вы хотите сказать, что у меня уже стоит перл.. и я поставил еще один??

И по eselect правда, никакого перла нет.

Ну тогда всё норм)

RuttY ()
Последнее исправление: RuttY (всего исправлений: 2)
Ограничение на отправку комментариев: только для зарегистрированных пользователей