Поиск по сайту:

Как обновить Alpine Linux до последней версии

Команда разработчиков Alpine Linux объявила о выпуске последней стабильной версии Alpine Linux 3.15.0 24 ноября 2021 г. В этом пошаговом руководстве объясняется, как обновить Alpine Linux до последней доступной стабильной версии или непрерывной версии.

Что нового в Alpine Linux 3.15?

Alpine Linux 3.15.0 — первый выпуск в серии стабильных версий v3.15. Он поставляется с последней версией Linux Kernel 5.15 LTS.

Версия Alpine Linux 3.15.0 поставляется со многими важными обновлениями и изменениями. Некоторые заметные изменения:

  • Модули ядра теперь сжимаются с помощью gzip.
  • Драйверы фреймбуфера отключены в ядре и заменены на simpledrm.
  • qt5-qtwebkit и связанные пакеты были удалены из-за отсутствия поддержки исходных версий.
  • Порт MIPS64 снят с производства.

Другие важные обновления:

  • лвм 12
  • nodejs 16.13 (LTS)/nodejs-current 17.0
  • постгреск 14
  • openldap 2.6
  • рубин 3.0
  • ржавчина 1.56
  • openjdk 17
  • кеа 2.0
  • xorg-сервер 21.1
  • ГНОМ 41
  • KDE Plasma 5.23/Приложения KDE 21.08/Plasma Mobile Gear 21.10
  • Поддержка шифрования диска в установщике
  • Поддержка внешних модулей ядра через AKMS (на основе DKMS).
  • Начальная поддержка безопасной загрузки UEFI на x86_64.

Команда разработчиков Alpine также объявила, что sudo будет заменен на doas. Начиная с Alpine Linux 3.16, «sudo» будет перенесено в сообщество.

Теперь давайте обновимся до Alpine Linux 3.15 со старых версий. Хотите верьте, хотите нет, но обновить Alpine Linux очень просто, быстро и понятно.

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

Обновите Альпийский Linux

Давайте проверим установленную на данный момент версию Alpine Linux с помощью команды:

cat /etc/alpine-release 

Пример вывода:

3.12.9

Проверьте версию Alpine Linux

Как видите, текущая установленная версия Alpine Linux — 3.12.9. Давайте обновим его до последней версии, т. е. версии Alpine Linux — 3.15.0.

Затем обновите список доступных пакетов и обновите установленные пакеты до последних доступных версий, выполнив одну за другой следующие команды Apk:

sudo apk update
sudo apk upgrade

Альтернативно вы можете объединить обе команды в одну, как показано ниже:

sudo apk -U upgrade

Или,

sudo apk --update-cache upgrade

Что ж, мы обновили все установленные пакеты в Alpine Linux. Пришло время начать обновление!

Alpine Linux доступен в двух редакциях: стабильная версия и постоянная версия.

Сначала мы увидим, как обновить Alpine Linux до стабильной версии.

1. Обновите Alpine Linux до последней стабильной версии.

В этом разделе показано, как выполнить обновление с Alpine 3.x.x до последней версии. Я предполагаю, что на данный момент у вас установлена версия 3.x.x.

1.1. Обновите репозитории Alpine Linux.

Отредактируйте файл /etc/apk/repositories с помощью команды:

sudo setup-apkrepos

Вам будет представлен список доступных зеркал и три варианта выбора предпочтительного. Первый вариант — выбрать одно зеркало из данного списка.

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

И третий вариант — отредактировать файл /etc/apk/repositories, чтобы обновить список репозиториев.

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

Чтобы обновить репозитории, введите e и нажмите клавишу ENTER:

Available mirrors:
1) dl-cdn.alpinelinux.org
2) uk.alpinelinux.org
3) dl-4.alpinelinux.org
4) dl-5.alpinelinux.org
5) mirror.yandex.ru
.
.
.
53) mirror.kumi.systems
54) mirror.sabay.com.kh
55) alpine.northrepo.ca
56) alpine.bardia.tech
57) mirrors.ocf.berkeley.edu
58) mirrors.pardisco.co

r) Add random from the above list
f) Detect and add fastest mirror from above list
e) Edit /etc/apk/repositories with text editor

Enter mirror number (1-58) or URL to add (or r/f/e/done) [f]: e

Редактировать список репозиториев Alpine Linux

Файл откроется в текстовом редакторе по умолчанию, например vi. Если вы установили другой $EDITOR в свой ` PATH, файл откроется в этом редакторе. Мой редактор по умолчанию — vi.

Вот исходное содержимое моего файла /etc/apk/repositories:

https://sjc.edge.kernel.org/alpine/v3.12/main
https://sjc.edge.kernel.org/alpine/v3.12/community

Измените номер версии 3.12, чтобы он соответствовал последней версии 3.15.

Для этого нажмите "i", чтобы войти в режим вставки и обновить номер версии (например, 3.15), а затем нажмите ESC и введите :wq, чтобы сохранить файл и выйти.

После обновления номера версии файл должен выглядеть следующим образом:

https://sjc.edge.kernel.org/alpine/v3.15/main
https://sjc.edge.kernel.org/alpine/v3.15/community

Обновите репозитории Alpine Linux до последней стабильной версии 3.15.

Если вы не знаете точный номер последней версии, просто замените v3.x на latest-stable, как показано ниже:

https://sjc.edge.kernel.org/alpine/latest-stable/main     
https://sjc.edge.kernel.org/alpine/latest-stable/community

Измените репозитории Alpine Linux на последнюю стабильную версию.

Нажмите ESC и введите :wq, чтобы сохранить файл и выйти.

При выходе индексы репозитория обновятся автоматически. Вы также можете сделать это вручную с помощью команды:

sudo apk update

Пример вывода:

fetch https://sjc.edge.kernel.org/alpine/latest-stable/main/x86_64/APKINDEX.tar.gz
fetch https://sjc.edge.kernel.org/alpine/latest-stable/community/x86_64/APKINDEX.tar.gz
v3.15.0-11-g233c924df0 [https://sjc.edge.kernel.org/alpine/latest-stable/main]
v3.15.0-11-g233c924df0 [https://sjc.edge.kernel.org/alpine/latest-stable/community]
OK: 15920 distinct packages available

1.2. Начать обновление Alpine Linux

Теперь выполните следующую команду, чтобы обновить Alpine Linux до последней доступной стабильной версии:

sudo apk upgrade --available

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

Пример вывода:

Upgrading critical system libraries and apk-tools:
(1/2) Upgrading musl (1.1.24-r10 -> 1.2.2-r7)
(2/2) Upgrading apk-tools (2.10.8-r0 -> 2.12.7-r3)
Executing busybox-1.31.1-r21.trigger
Continuing the upgrade transaction with new apk-tools:
(1/92) Replacing acct (6.6.4-r0 -> 6.6.4-r0)
(2/92) Upgrading busybox (1.31.1-r21 -> 1.34.1-r3)
Executing busybox-1.34.1-r3.post-upgrade
(3/92) Upgrading alpine-baselayout (3.2.0-r7 -> 3.2.0-r18)
Executing alpine-baselayout-3.2.0-r18.pre-upgrade
Executing alpine-baselayout-3.2.0-r18.post-upgrade
(4/92) Installing ifupdown-ng (0.11.3-r0)
(5/92) Upgrading libcrypto1.1 (1.1.1l-r0 -> 1.1.1l-r7)
.
.
.
(90/92) Upgrading wget (1.20.3-r1 -> 1.21.2-r2)
(91/92) Purging libtls-standalone (2.9.1-r1)
(92/92) Purging libgcc (9.3.0-r2)
Executing busybox-1.34.1-r3.trigger
Executing kmod-29-r2.trigger
Executing ca-certificates-20191127-r7.trigger
Executing mkinitfs-3.6.0-r0.trigger
==> initramfs: creating /boot/initramfs-virt
Executing syslinux-6.04_pre1-r9.trigger
/boot is device /dev/vda1
OK: 131 MiB in 91 packages

Обновите Alpine Linux до последней версии

Наконец, перезапустите все обновленные службы и перезагрузите систему, выполнив следующие команды:

sudo sync
sudo reboot

После входа в систему проверьте, обновлен ли Alpine Linux до последней версии:

cat /etc/alpine-release 
3.15.0

Проверьте работающую версию ядра:

uname -r
5.15.4-0-virt

Отображение версии Alpine Linux и сведений о ядре

Да, это! Как вы видите на скриншоте выше, я использую стабильную версию Alpine Linux 3.15.0 с версией ядра 5.15.4.

2. Преобразование стабильной версии Alpine Linux в скользящую версию.

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

Для этого отредактируйте файл /etc/apk/repositories с помощью команды:

sudo setup-apkrepos

Введите "e" и нажмите ENTER, чтобы отредактировать файл репозитория.

Измените номер версии на edge:

https://sjc.edge.kernel.org/alpine/edge/main         
https://sjc.edge.kernel.org/alpine/edge/community   

Сохраните файл и выйдите.

Обновите индекс репозитория и начните обновление стабильной версии Alpine Linux до повторяющейся версии, выполнив следующую команду:

sudo apk upgrade --update-cache --available

Или,

sudo apk upgrade -U -a

После завершения задачи обновления перезагрузите систему:

sudo sync
sudo reboot

Проверьте версию Alpine Linux и ядро, используя следующие команды:

Отображение текущей версии Alpine Linux и сведений о ядре.

Как вы можете видеть в приведенном выше выводе, последняя версия скользящего выпуска на момент обновления этого руководства — 3.15.0, а последняя версия ядра — 5.15.4.

Стабильная и постоянная версии здесь одинаковы, поскольку стабильная версия Alpine Linux выпущена только что. Через пару дней скользящая версия будет выше стабильной.

3. Обновление с Alpine Linux 2.x до Alpine Linux 3.x.

Некоторые из вас, возможно, все еще используют Alpine Linux версии 2.x.x. Если да, то в этой части объясняется, как выполнить обновление с Alpine Linux 2.x до последней версии 3.x.

Прежде всего обновите репозитории и обновите все установленные пакеты в вашей системе Alpine:

sudo apk update
sudo apk upgrade

Затем установите статически связанную версию busybox и apk-tools. Это следует сделать перед обновлением системы, поскольку старая версия musl перестанет работать после изменения libc.

sudo apk add busybox-static apk-tools-static

Пример вывода:

fetch https://sjc.edge.kernel.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch https://sjc.edge.kernel.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
(1/2) Installing apk-tools-static (2.10.1-r0)
(2/2) Installing busybox-static (1.28.4-r3)
Executing busybox-1.28.4-r3.trigger
OK: 148 MiB in 80 packages

Затем измените репозитории, как показано в 1.1. Обновите раздел репозиториев Alpine Linux.

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

sudo apk.static upgrade --no-self-upgrade --available --simulate

Если ошибок нет, выполните следующую команду, чтобы обновить Alpine Linux 2.x до версии 3.x:

sudo apk.static upgrade --no-self-upgrade --available

После завершения процесса обновления перезапустите все обновляемые службы и перезагрузите систему:

sudo sync
sudo reboot

Надеюсь это поможет.

Ресурс:

  • Вики-сайт Alpine Linux

Связанное чтение:

  • Добавление, удаление и предоставление привилегий Sudo пользователям в Alpine Linux

Статьи по данной тематике