Как обновить 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