
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:
- Edite el archivo / etc / apk / repositories, ejecute: vi / etc / apk / repositories
- Cambie el número de lectura a mano. Por ejemplo, Alpine 3.12 a 3.13
- Guarde y cerradura el archivo
- Obtenga el índice más fresco ejecutando el puesta al día de apk
- Actualice todos sus paquetes de Alpine Linux: puesta al día de apk - adecuado && sync
- 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/.