Tutoriales

Cómo poner al día Alpine Linux 3.12 a 3.13

I Estoy usando Alpine Linux v3.11 o v3.12 con mi servidor LXD. ¿Cómo actualizo Alpine Linux v3.11 a Alpine Linux v3.13? ¿Cómo puedo poner al día Alpine Linux v3.12 a Alpine Linux v3.13?

Ayer de escribir cualquiera de los siguientes comandos, asegúrese de tener una copia de seguridad de sus datos importantes ayer de continuar con la puesta al día de su sistema. Es importante que mantenga una copia de seguridad completa de su sistema. Alpine Linux se zócalo en musl libc y busybox. Esto lo hace más pequeño y más eficaz en bienes que las distribuciones tradicionales de GNU / Linux. Un contenedor no requiere más de 8 MB y una instalación mínima en el disco requiere aproximadamente de 130 MB de almacenamiento. No solo obtiene un entorno Linux completo, sino una gran selección de paquetes del repositorio. Incluso es consumado para Docker.

Figura 01: Modernización de una instalación de disco duro de Alpine Linux

Alpine Linux fue diseñado pensando en la seguridad. El kernel está parcheado con un puerto no oficial de grsecurity / PaX, y todos los binarios del radio de becario se compilan como ejecutables independientes de la posición (PIE) con protección contra la rotura de pilas. Estas características de seguridad proactiva evitan la explotación de clases enteras de vulnerabilidades de día cero y otras. Cuando se instala Alpine Linux en el disco duro o como LXD VM, la puesta al día a una lectura estable más fresco es sencilla.



Cómo poner al día Alpine Linux

Cuando Alpine Linux está instalado en el disco duro o en un servidor en la abundancia, poner al día a una lectura estable más fresco es sencillo:

  1. Edite el archivo / etc / apk / repositories, ejecute: vi / etc / apk / repositories
  2. Cambie el número de lectura a mano. Por ejemplo, Alpine 3.12 a 3.13
  3. Guarde y cerradura el archivo
  4. Obtenga el índice más fresco ejecutando el puesta al día de apk
  5. Actualice todos sus paquetes de Alpine Linux: puesta al día de apk - adecuado && sync
  6. Reinicie el sistema, ejecute: reiniciar

Veamos todos los comandos y ejemplos en detalle.

Haga una copia de seguridad de su contenedor LXD

Escriba el posterior comando para crear instantáneas de contenedor:
$ lxc snapshot alpine-www01 "JAN162021"
Verifíquelo:
$ lxc info alpine-www01
Panorama de muestra:

Name: alpine-www01
Remote: unix://
Architecture: x86_64
Created: 2019/01/04 06:25 UTC
Status: Running
Type: persistent
Profiles: default
Pid: 28917
Ips:
  lo:	inet	127.0.0.1
  lo:	inet6	::1
  eth0:	inet	10.105.28.45	vethJ4APTV
  eth0:	inet6	fe80::216:3eff:fee6:6afa	vethJ4APTV
Resources:
  Processes: 34
  CPU usage:
    CPU usage (in seconds): 3
  Memory usage:
    Memory (current): 201.15MB
    Memory (peak): 203.21MB
  Network usage:
    eth0:
      Bytes received: 87.31kB
      Bytes sent: 435.99kB
      Packets received: 384
      Packets sent: 333
    lo:
      Bytes received: 17.74kB
      Bytes sent: 17.74kB
      Packets received: 30
      Packets sent: 30
Snapshots:
  Feb-03-2019 (taken at 2019/02/02 18:38 UTC) (stateless)
  mar-04-2019 (taken at 2019/03/04 16:23 UTC) (stateless)
  may-04-2019 (taken at 2019/05/03 21:56 UTC) (stateless)
  June-21-2019 (taken at 2019/06/20 19:58 UTC) (stateless)
  June-24-2019 (taken at 2019/06/23 20:29 UTC) (stateless)
  DEC232019 (taken at 2019/12/23 18:20 UTC) (stateless)
  JUN052020 (taken at 2020/06/05 10:45 UTC) (stateless)
  JAN162021 (taken at 2021/01/16 06:13 UTC) (stateless)

Ahora inicie sesión en su Alpine Linux box / LXD VM usando el comando ssh o el comando lxc.

Descubra su lectura de Alpine Linux

Escriba el posterior comando:
$ cat /etc/alpine-release
3.12.3

Aplicar todas las actualizaciones pendientes para 3.12.xx

Simplemente ejecute el comando apk:
# apk update
# apk upgrade


fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
v3.12.3-63-g6bd01a05ab [http://dl-cdn.alpinelinux.org/alpine/v3.12/main]
v3.12.3-62-gebf75fec7d [http://dl-cdn.alpinelinux.org/alpine/v3.12/community]

Cómo poner al día a la última lectura

Edite el archivo / etc / apk / repositories, ingrese:
# vi /etc/apk/repositories
Cambie el número de lectura a mano. Por ejemplo, la entrada predeterminada para 3.4 es como sigue:
http://dl-3.alpinelinux.org/alpine/v3.4/main
Para poner al día a 3.5.xx, ingrese:
http://dl-3.alpinelinux.org/alpine/v3.5/main
Cambie el número de lectura a mano. Por ejemplo, la entrada predeterminada para 3,5 es como sigue:
http://dl-3.alpinelinux.org/alpine/v3.5/main
Para poner al día a 3.5.xx, ingrese:
http://dl-3.alpinelinux.org/alpine/v3.6/main
Por ejemplo, 3.12.xx es el posterior:
http://dl-cdn.alpinelinux.org/alpine/v3.12/main
Así que hazlo de la posterior forma para 3.12.xx poner al día, ingrese:
http://dl-cdn.alpinelinux.org/alpine/v3.13/main
Guarde y cerradura el archivo. Aquí está mi archivo de configuración de muestra que se muestra usando el comando cat:
# cat /etc/apk/repositories
Aquí está mi archivo actualizado:

http://dl-cdn.alpinelinux.org/alpine/v3.13/main
http://dl-cdn.alpinelinux.org/alpine/v3.13/community

Incluso es posible la última lectura estable en el archivo del repositorio:

http://dl-3.alpinelinux.org/alpine/latest-stable/main
http://dl-3.alpinelinux.org/alpine/latest-stable/community

Evito configurar la última lectura estable cuando actualizo mi flota de Alpine Linux usando Ansible. Entonces necesito realizar manualmente.

Modernización de alpine Linux

A continuación, tome el postrer índice usando el comando apk:
# apk update
Panorama de muestra:

fetch http://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz
v3.13.0-2-gc6c2cd54a0 [http://dl-cdn.alpinelinux.org/alpine/v3.13/main]
v3.13.0-5-g974ef030d3 [http://dl-cdn.alpinelinux.org/alpine/v3.13/community]
OK: 13931 distinct packages available

Intente detectar problemas de puesta al día simulando el procedimiento para evitar el tiempo de inactividad. Por lo tanto, pase las siguientes opciones:
# apk upgrade --no-self-upgrade --available --simulate
Salida de funcionamiento en seco:

(1/66) Upgrading musl (1.1.24-r10 -> 1.2.2-r0)
(2/66) Upgrading busybox (1.31.1-r19 -> 1.32.1-r0)
(3/66) Upgrading alpine-baselayout (3.2.0-r7 -> 3.2.0-r8)
(4/66) Installing ifupdown-ng (0.10.2-r2)
(5/66) Upgrading openrc (0.42.1-r11 -> 0.42.1-r19)
(6/66) Upgrading alpine-conf (3.9.0-r1 -> 3.11.0-r2)
(7/66) Replacing libcrypto1.1 (1.1.1i-r0 -> 1.1.1i-r0)
(8/66) Replacing libssl1.1 (1.1.1i-r0 -> 1.1.1i-r0)
(9/66) Upgrading ca-certificates-bundle (20191127-r4 -> 20191127-r5)
(10/66) Replacing libtls-standalone (2.9.1-r1 -> 2.9.1-r1)
.....
.......
..

Si no se encuentran problemas o a posteriori de resolverlos, inicie el procedimiento de puesta al día adecuado. Por lo tanto, escriba cualquiera de los siguientes comandos para poner al día todos sus paquetes, ejecute el comando apk:
# apk upgrade --available
O
# apk upgrade --purge
Esté atento a los mensajes y advertencias:

Upgrading critical system libraries and apk-tools:
(1/2) Upgrading musl (1.1.24-r10 -> 1.2.2-r0)
(2/2) Upgrading apk-tools (2.10.5-r1 -> 2.12.0-r4)
Executing busybox-1.31.1-r19.trigger
Continuing the upgrade transaction with new apk-tools:
(1/64) Upgrading busybox (1.31.1-r19 -> 1.32.1-r0)
Executing busybox-1.32.1-r0.post-upgrade
(2/64) Upgrading alpine-baselayout (3.2.0-r7 -> 3.2.0-r8)
Executing alpine-baselayout-3.2.0-r8.pre-upgrade
Executing alpine-baselayout-3.2.0-r8.post-upgrade
(3/64) Installing ifupdown-ng (0.10.2-r2)
(4/64) Upgrading openrc (0.42.1-r11 -> 0.42.1-r19)
Executing openrc-0.42.1-r19.post-upgrade
(5/64) Upgrading alpine-conf (3.9.0-r1 -> 3.11.0-r2)
(6/64) Replacing libcrypto1.1 (1.1.1i-r0 -> 1.1.1i-r0)
(7/64) Replacing libssl1.1 (1.1.1i-r0 -> 1.1.1i-r0)
(8/64) Upgrading ca-certificates-bundle (20191127-r4 -> 20191127-r5)
(9/64) Replacing libtls-standalone (2.9.1-r1 -> 2.9.1-r1)
(10/64) Upgrading ssl_client (1.31.1-r19 -> 1.32.1-r0)
(11/64) Replacing zlib (1.2.11-r3 -> 1.2.11-r3)
(12/64) Upgrading busybox-suid (1.31.1-r19 -> 1.32.1-r0)
(13/64) Replacing busybox-initscripts (3.2-r2 -> 3.2-r2)
Executing busybox-initscripts-3.2-r2.post-upgrade
(14/64) Upgrading scanelf (1.2.6-r0 -> 1.2.8-r0)
(15/64) Upgrading musl-utils (1.1.24-r10 -> 1.2.2-r0)
(16/64) Replacing libc-utils (0.7.2-r3 -> 0.7.2-r3)
(17/64) Replacing alpine-keys (2.2-r0 -> 2.2-r0)
(18/64) Upgrading alpine-base (3.12.3-r0 -> 3.13.0-r0)
(19/64) Upgrading ca-certificates (20191127-r4 -> 20191127-r5)
(20/64) Upgrading brotli-libs (1.0.9-r1 -> 1.0.9-r3)
(21/64) Upgrading nghttp2-libs (1.41.0-r0 -> 1.42.0-r1)
(22/64) Upgrading libcurl (7.69.1-r3 -> 7.74.0-r0)
(23/64) Upgrading curl (7.69.1-r3 -> 7.74.0-r0)
(24/64) Replacing pcre (8.44-r0 -> 8.44-r0)
(25/64) Upgrading nginx (1.18.0-r1 -> 1.18.0-r13)
Executing nginx-1.18.0-r13.post-upgrade
*
* The default and preferred location for nginx vhost configs has been changed
* from /etc/nginx/conf.d to /etc/nginx/http.d. Although we did our best to not
* break existing setups by this upgrade, we strongly recommend to verify it.
*
(26/64) Installing nginx-openrc (1.18.0-r13)
(27/64) Upgrading php7-common (7.3.26-r0 -> 7.4.14-r0)
(28/64) Replacing argon2-libs (20190702-r1 -> 20190702-r1)
(29/64) Upgrading ncurses-terminfo-base (6.2_p20200523-r0 -> 6.2_p20210109-r0)
(30/64) Upgrading ncurses-libs (6.2_p20200523-r0 -> 6.2_p20210109-r0)
(31/64) Upgrading libedit (20191231.3.1-r0 -> 20191231.3.1-r1)
(32/64) Upgrading pcre2 (10.35-r0 -> 10.36-r0)
(33/64) Replacing xz-libs (5.2.5-r0 -> 5.2.5-r0)
(34/64) Upgrading libxml2 (2.9.10-r5 -> 2.9.10-r6)
(35/64) Upgrading php7 (7.3.26-r0 -> 7.4.14-r0)
(36/64) Upgrading php7-curl (7.3.26-r0 -> 7.4.14-r0)
(37/64) Upgrading php7-fpm (7.3.26-r0 -> 7.4.14-r0)
(38/64) Replacing libxau (1.0.9-r0 -> 1.0.9-r0)
(39/64) Replacing libbsd (0.10.0-r0 -> 0.10.0-r0)
(40/64) Replacing libxdmcp (1.1.3-r0 -> 1.1.3-r0)
(41/64) Replacing libxcb (1.14-r1 -> 1.14-r1)
(42/64) Upgrading libx11 (1.6.12-r0 -> 1.7.0-r0)
(43/64) Replacing libxext (1.3.4-r0 -> 1.3.4-r0)
(44/64) Replacing libice (1.0.10-r0 -> 1.0.10-r0)
(45/64) Upgrading libuuid (2.35.2-r0 -> 2.36.1-r1)
(46/64) Replacing libsm (1.2.3-r0 -> 1.2.3-r0)
(47/64) Replacing libxt (1.2.0-r0 -> 1.2.0-r0)
(48/64) Replacing libxpm (3.5.13-r0 -> 3.5.13-r0)
(49/64) Replacing libbz2 (1.0.8-r1 -> 1.0.8-r1)
(50/64) Replacing libpng (1.6.37-r1 -> 1.6.37-r1)
(51/64) Upgrading freetype (2.10.4-r0 -> 2.10.4-r1)
(52/64) Upgrading libjpeg-turbo (2.0.5-r0 -> 2.0.6-r0)
(53/64) Replacing libwebp (1.1.0-r0 -> 1.1.0-r0)
(54/64) Upgrading php7-gd (7.3.26-r0 -> 7.4.14-r0)
(55/64) Upgrading libintl (0.20.2-r0 -> 0.20.2-r2)
(56/64) Upgrading php7-gettext (7.3.26-r0 -> 7.4.14-r0)
(57/64) Upgrading php7-json (7.3.26-r0 -> 7.4.14-r0)
(58/64) Upgrading php7-openssl (7.3.26-r0 -> 7.4.14-r0)
(59/64) Upgrading php7-mysqlnd (7.3.26-r0 -> 7.4.14-r0)
(60/64) Upgrading php7-mysqli (7.3.26-r0 -> 7.4.14-r0)
(61/64) Upgrading php7-opcache (7.3.26-r0 -> 7.4.14-r0)
(62/64) Upgrading php7-phar (7.3.26-r0 -> 7.4.14-r0)
(63/64) Upgrading php7-session (7.3.26-r0 -> 7.4.14-r0)
(64/64) Upgrading php7-simplexml (7.3.26-r0 -> 7.4.14-r0)
Executing busybox-1.32.1-r0.trigger
Executing ca-certificates-20191127-r5.triggerOK: 34 MiB in 66 packages

Reinicie el servidor / contenedor VM:
# sync
# reboot

Verifíquelo:
$ cat /etc/alpine-release
3.13.0

Tenga en cuenta que, en algunos casos, es posible que / etc / alpine-release no se actualice, así que consulte:
sagaz /etc/alpine-release.apk-new

Otra alternativa es consultar / etc / issue:
# cat /etc/issue

Welcome to Alpine Linux 3.13
Kernel r on an m (l)


Así es como se ve verdaderamente:

Welcome to Alpine Linux 3.13
Kernel 5.4.0-1035-aws on an x86_64 (/dev/console)

alpine-www01 login: 

Conclusión: actualice Alpine Linux

Y ahí lo tiene, Alpine Linux actualizado de la lectura 3.12 a la 3.13. Para obtener más información, consulte https://alpinelinux.org/.



Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba