Actualizaciones
Slackware Linux incorpora a slackpkg, un programa escrito en Bash que se encarga principalmente de:
- Descargar una lista de actualizaciones disponibles de paquetes para la versión de Slackware Linux en uso.
- Determinar las actualizaciones de paquetes y descargarlas.
- Actualizar los paquetes oficiales actualmente instalados en el sistema operativo
- Instalar o reinstalar paquetes oficiales.
Para determinar la versión de Slackware Linux en uso se puede ver el contenido del archivo /etc/slackware-version
:
root@servidor:~# cat /etc/slackware-version
Slackware 14.2
Para determinar la arquitectura (o tipo de procesador) de la computadora se puede ejecutar el comando lscpu
:
root@servidor:~# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
Vendor ID: GenuineIntel
CPU family: 6
...
Model name: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
...
Virtualization: VT-x
...
En base a la versión de Slackware Linux uno podrá encontrar el archivo ChangeLog.txt en donde se anuncian las actualizaciones así como el porque de las mismas: http://ftp.osuosl.org/pub/slackware/slackware64-14.2/ChangeLog.txt
slackpkg
En ocasiones uno puede encontrarse en una Red de Área Local que impida el uso de un programa que no sea un navegador web
para la descarga de archivos, tal puede ser el caso de ciertas universidades, empresas o edificios gubernamentales y progamas como
wget
o curl
. Una posible solución sería agregar la opción -U firefox
a la variable
WGETFLAGS
definida en el archivo de configuración de slackpkg: /etc/slackpkg/slackpkg.conf
.
En cuanto a las actualizaciones se procede a realizar lo siguiente para configurar a slackpkg
:
Accede a
/etc/slackpkg
, el directorio de archivos de configuración deslackpkg
:root@servidor:~# cd /etc/slackpkg root@servidor:/etc/slackpkg# ls -1 blacklist mirrors slackpkg.conf templates/
Selecciona un mirror (o servidor espejo) en el archivo
mirrors
a partir de la versión de Slackware Linux en uso.root@servidor:/etc/slackpkg# mv mirrors mirrors.dist root@servidor:/etc/slackpkg# ls -1 blacklist mirrors.dist slackpkg.conf templates/ root@servidor:/etc/slackpkg# grep osuosl.*14.2 mirrors.dist > mirrors root@servidor:/etc/slackpkg# cat mirrors # ftp://ftp.osuosl.org/.2/slackware/slackware64-14.2/ # http://ftp.osuosl.org/.2/slackware/slackware64-14.2/
Se ha seleccionado el mirror
http://ftp.osuosl.org/.2/slackware/slackware64-14.2/
en base a la versión de Slackware Linux y la arquitectura de la computadora en uso. Edita el archivomirrors
para reflejar lo anterior:root@servidor:/etc/slackpkg# cat mirrors http://ftp.osuosl.org/.2/slackware/slackware64-14.2/
Edita el archivo
slackpkg.conf
(archivo de configuración deslackpkg
), haciendo previamente un respaldo del mismo:root@servidor:/etc/slackpkg# cp slackpkg.conf slackpkg.conf.dist
Modifica la línea donde se define a
POSTINST
(línea 100 aprox.), deon
cambialo aoff
.POSTINST=off
Descarga la llave de cifrado-firma (
GPG-KEY
) de Slackware Linux:root@servidor:/etc/slackpkg# slackpkg update gpg Downloading http://ftp.osuosl.org/.2/slackware/slackware64-14.2/GPG-KEY... --2016-08-18 01:41:04-- http://ftp.osuosl.org/.2/slackware/slackware64-14.2/GPG-KEY Resolving ftp.osuosl.org (ftp.osuosl.org)... 64.50.233.100, 64.50.236.52, 140.211.166.134 Connecting to ftp.osuosl.org (ftp.osuosl.org)|64.50.233.100|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1572 (1.5K) Saving to: ‘/tmp/slackpkg.Zqaot6/gpgkey’ /tmp/slackpkg.Zqaot6/gpgke 100%[=====================================>] 1.54K --.-KB/s in 0s 2016-08-18 01:41:04 (98.1 MB/s) - ‘/tmp/slackpkg.Zqaot6/gpgkey’ saved [1572/1572] Slackware Linux Project's GPG key added
La llave de cifrado-firma de Slackware Linux es una forma de verificar que el paquete o las actualizaciones descargadas sean realmente creadas por Patrick Volkerding y evitar problema alguno de suplantación (instalar paquetes que comprometan el sistema operativo).
OBSERVACIÓN: la llave de cifrado-firma de Slackware Linux ha sido descargado desde el mirror indicado en el archivo
/etc/slackpkg/mirrors
editado en el paso 2.
Es importante llevar a cabo lo siguiente si se está haciendo uso de una memoria USB para iniciar a Slackware Linux.
Se impedirá que slackpkg
actualice al kernel Linux mediante el archivo blacklist
.
Edita el archivo blacklist
y descomenta (borra el carácter #
al inicio) las líneas que contengan a kernel-
, quedando de la
siguiente forma:
root@servidor:/etc/slackpkg# grep kernel- blacklist
kernel-firmware
kernel-generic
kernel-generic-smp
kernel-headers
kernel-huge
kernel-huge-smp
kernel-modules
kernel-modules-smp
kernel-source
Los anteriores pasos, una vez llevados a cabo con exito, son realizados una sola vez.
Los siguientes pasos son para realizar la actualización propia del sistema operativo:
Descarga la lista de actualizaciones disponibles:
root@servidor:/etc/slackpkg# slackpkg update Updating the package lists... ... Downloading http://ftp.osuosl.org/.2/slackware/slackware64-14.2/ChangeLog.txt... --2016-08-18 01:41:37-- http://ftp.osuosl.org/.2/slackware/slackware64-14.2/ChangeLog.txt Resolving ftp.osuosl.org (ftp.osuosl.org)... 140.211.166.134, 64.50.236.52, 64.50.233.100 Connecting to ftp.osuosl.org (ftp.osuosl.org)|140.211.166.134|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 347396 (339K) [text/plain] Saving to: ‘/tmp/slackpkg.NLwbHG/ChangeLog.txt’ /tmp/slackpkg.NLwbHG/Chang 100%[=====================================>] 339.25K 368KB/s in 0.9s 2016-08-18 01:41:38 (368 KB/s) - ‘/tmp/slackpkg.NLwbHG/ChangeLog.txt’ saved [347396/347396] ... ... ... ... ... Downloading http://ftp.osuosl.org/.2/slackware/slackware64-14.2/testing/PACKAGES.TXT... --2016-08-18 01:41:59-- http://ftp.osuosl.org/.2/slackware/slackware64-14.2/testing/PACKAGES.TXT Resolving ftp.osuosl.org (ftp.osuosl.org)... 64.50.233.100, 140.211.166.134, 64.50.236.52 Connecting to ftp.osuosl.org (ftp.osuosl.org)|64.50.233.100|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1975 (1.9K) [text/plain] Saving to: ‘/tmp/slackpkg.NLwbHG/testing-PACKAGES.TXT’ /tmp/slackpkg.NLwbHG/testi 100%[=====================================>] 1.93K --.-KB/s in 0s 2016-08-18 01:41:59 (247 MB/s) - ‘/tmp/slackpkg.NLwbHG/testing-PACKAGES.TXT’ saved [1975/1975] Formatting lists to slackpkg style... Package List: using CHECKSUMS.md5 as source Package descriptions
OBSERVACIÓN: de igual forma que en el paso 4 previamente realizado, la lista de actualizaciones disponibles ha sido descargado del mirror.
Determina las actualizaciones disponibles para Slackware Linux con el comando
slackpkg upgrade-all
:slackpkg
ejecutado el día jueves 11 de agosto del 2016:slackpkg
ejecutado el día miércoles 28 de septiembre del 2016:slackpkg
ejecutado el día jueves 09 de febrero del 2017:
slackpkg
mediante una ventana de confirmación te muestra las actualizaciones disponibles, selecciona la opción OK (apretando la tecla deEnter
) para iniciar la descarga de las actualizaciones:OBSERVACIÓN: este paso puede tardar varios minutos, dependiendo de la cantidad de actualizaciones, el tamaño de los paquetes a actualizar y la velocidad de Internet con el que uno cuente.
Package: bind-9.10.4_P2-x86_64-1_slack14.2.txz Downloading http://ftp.osuosl.org/.2/slackware/slackware64-14.2/./patches/packages/bind-9.10.4_P2-x86_64-1_slack14.2.txz... --2016-08-18 01:46:01-- http://ftp.osuosl.org/.2/slackware/slackware64-14.2/patches/packages/bind-9.10.4_P2-x86_64-1_slack14.2.txz Resolving ftp.osuosl.org (ftp.osuosl.org)... 64.50.236.52, 64.50.233.100, 140.211.166.134 Connecting to ftp.osuosl.org (ftp.osuosl.org)|64.50.236.52|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 2370220 (2.3M) [application/x-troff-man] Saving to: ‘/var/cache/packages/./patches/packages/bind-9.10.4_P2-x86_64-1_slack14.2.txz’ /var/cache/packages/./patc 100%[=====================================>] 2.26M 606KB/s in 4.0s ... ... ... Downloading http://ftp.osuosl.org/.2/slackware/slackware64-14.2/./patches/packages/stunnel-5.35-x86_64-1_slack14.2.txz.asc... --2016-08-18 01:49:49-- http://ftp.osuosl.org/.2/slackware/slackware64-14.2/patches/packages/stunnel-5.35-x86_64-1_slack14.2.txz.asc Resolving ftp.osuosl.org (ftp.osuosl.org)... 64.50.236.52, 64.50.233.100, 140.211.166.134 Connecting to ftp.osuosl.org (ftp.osuosl.org)|64.50.236.52|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 181 [text/plain] Saving to: ‘/var/cache/packages/./patches/packages/stunnel-5.35-x86_64-1_slack14.2.txz.asc’ /var/cache/packages/./patc 100%[=====================================>] 181 --.-KB/s in 0s 2016-08-18 01:49:49 (3.20 MB/s) - ‘/var/cache/packages/./patches/packages/stunnel-5.35-x86_64-1_slack14.2.txz.asc’ saved [181/181] Package bind-9.10.4_P2-x86_64-1_slack14.2.txz is already in cache - not downloading Package curl-7.50.1-x86_64-1_slack14.2.txz is already in cache - not downloading Package gimp-2.8.18-x86_64-1_slack14.2.txz is already in cache - not downloading Package glibc-zoneinfo-2016f-noarch-1_slack14.2.txz is already in cache - not downloading Package libidn-1.33-x86_64-1_slack14.2.txz is already in cache - not downloading Package mozilla-firefox-45.3.0esr-x86_64-1_slack14.2.txz is already in cache - not downloading Package mozilla-thunderbird-45.2.0-x86_64-1_slack14.2.txz is already in cache - not downloading Package openssh-7.3p1-x86_64-1_slack14.2.txz is already in cache - not downloading Package php-5.6.24-x86_64-1_slack14.2.txz is already in cache - not downloading Package samba-4.4.5-x86_64-1_slack14.2.txz is already in cache - not downloading Package stunnel-5.35-x86_64-1_slack14.2.txz is already in cache - not downloading Package bind-9.10.4_P2-x86_64-1_slack14.2.txz is already in cache - not downloading Upgrading bind-9.10.4_P2-x86_64-1_slack14.2... ... ... ... +============================================================================== | Upgrading bind-9.10.4_P1-x86_64-1 package using ./bind-9.10.4_P2-x86_64-1_slack14.2.txz +============================================================================== ... ... ... +============================================================================== | Upgrading curl-7.49.1-x86_64-1 package using ./curl-7.50.1-x86_64-1_slack14.2.txz +============================================================================== ... ... ... +============================================================================== | Upgrading stunnel-5.31-x86_64-1 package using ./stunnel-5.35-x86_64-1_slack14.2.txz +============================================================================== ... ... ...
Flujo de trabajo para actualizaciones
Una vez realizado los pasos en el anterior apartado se mantiene uno en un ciclo:
Se descara la lista de actualizaciones disponibles.
root@servidor:~# slackpkg update
Se determinan las actualizaciones disponibles.
root@servidor:~# slackpkg upgrade-all
Se descargan las actualizaciones disponibles para su instalación, si las hay.
Con respecto al primer punto, es posible en ciertos momentos obtener lo siguiente al llevarlo a cabo:
root@servidor:~# slackpkg update
Updating the package lists...
Downloading...
Downloading http://ftp.osuosl.org/.2/slackware/slackware64-14.2/ChangeLog.txt...
--2016-08-18 21:39:25-- http://ftp.osuosl.org/.2/slackware/slackware64-14.2/ChangeLog.txt
Resolving ftp.osuosl.org (ftp.osuosl.org)... 64.50.233.100, 64.50.236.52, 140.211.166.134
Connecting to ftp.osuosl.org (ftp.osuosl.org)|64.50.233.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 347396 (339K) [text/plain]
Saving to: ‘/tmp/slackpkg.Q7JglF/ChangeLog.txt’
/tmp/slackpkg.Q7JglF/Ch 100%[===============================>] 339.25K 355KB/s in 1.0s
2016-08-18 21:39:26 (355 KB/s) - ‘/tmp/slackpkg.Q7JglF/ChangeLog.txt’ saved [347396/347396]
No changes in ChangeLog.txt between your last update and now.
Do you really want to download all other files (y/N)? n
Lo anterior indica que no existen actualizaciones disponibles o en otras palabras que el sistema operativo ya está
actualizado, por lo que no es necesario descargarla. Se ha respondido con n
ante la pregunta
Do you really want to download all other files (y/N)?.
Actualizaciones en archivos de configuración
Parte de las actualizaciones de un sistema GNU/Linux implica actualizar los archivos de configuración de los
programas instalados, incluyendo aquellos que permiten configurar ciertos aspectos del sistema operativo.
La mayoria de estos archivos se encontrarán dentro del directorio /etc
.
En Slackware Linux uno puede encontrar los nuevos archivos de configuración, creados durante la instalación de alguna
actualización, con el comando find
.
root@servidor:~# find /etc -iname "*.new"
/etc/ssh/sshd_config.new
El archivo /etc/ssh/sshd_config.new
fue creado como parte de una actualización del paquete OpenSSH (ver imagen previa)
y sustituiría al archivo /etc/ssh/sshd_config
. La razón por la que no ha sustituido a /etc/ssh/sshd_config
puede
deberse a:
- El administrador (usuario root) ha realizado modificaciones a
/etc/ssh/sshd_config
de tal forma que se respetan sus modificaciones y se crea a/etc/ssh/sshd_config.new
para que el administrador verifique por su cuenta si hay necesidad que modifique su configuración de OpenSSH. - El archivo
/etc/ssh/sshd_config
no ha sido modificado por el administrador, pero el archivo/etc/ssh/sshd_config.new
tiene diferencias con respecto a este, posiblemente el programa en cuestión ha incorporado nuevas opciones o carácteristicas, de tal forma que es el administrador quien decide que hacer.
En ambos casos planteados es responsabilidad del administrador el determinar que hacer:
- Actualizar su configuración (
/etc/ssh/sshd_config
). - Borrar el archivo
/etc/ssh/sshd_config.new
ya que no está interesado en su contenido.
slackpkg
cuenta con el párametro new-config
para detectar los nuevos archivos de configuación y
de forma interactiva determinar que hacer con ellos.
Ejemplo del uso de slackpkg new-config
con respecto al archivo /etc/ssh/sshd_config.new
:
root@servidor:~# slackpkg new-config
Searching for NEW configuration files
Some packages had new configuration files installed.
You have four choices:
(K)eep the old files and consider .new files later
(O)verwrite all old files with the new ones. The
old files will be stored with the suffix .orig
(R)emove all .new files
(P)rompt K, O, R selection for every single file
What do you want (K/O/R/P)?
p
Se cuestiona que desea hacer uno: K (reconsiderar los nuevos archivo pasa despues), O (sobrescribir los actuales archivos de configuración con los nuevos), R (borrar los nuevos archivos) o bien P (seleccionar que hacer con los nuevos archivos uno por uno). Se ha seleccionado la opción P.
Select what you want file-by-file
/etc/ssh/sshd_config.new - (K)eep
(O)verwrite
(R)emove
(D)iff
(M)erge
d
Se ha detectado al archivo /etc/ssh/sshd_config.new
y cuestiona que hacer con él: K (mantener intacto), O
sobrescribir al actual archivo con configuración), R (borrarlo), D (obtener una diferencia de él y el
archivo /etc/ssh/sshd_config
) o bien M (combinar ambos archivos). Se ha seleccionado D.
--- /etc/ssh/sshd_config 2016-08-18 23:34:10.477790749 -0500
+++ /etc/ssh/sshd_config.new 2016-08-05 11:56:01.000000000 -0500
@@ -1,4 +1,4 @@
-# $OpenBSD: sshd_config,v 1.98 2016/02/17 05:29:04 djm Exp $
+# $OpenBSD: sshd_config,v 1.99 2016/07/11 03:19:44 tedu Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
@@ -34,7 +34,6 @@
#RekeyLimit default none
# Logging
-# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
#LogLevel INFO
/etc/ssh/sshd_config.new - (K)eep
(O)verwrite
(R)emove
(D)iff
(M)erge
o
Muestra la diferencia enre ambos archivos a partir del uso del programa diff
. Se ha seleccionado O para
que sobrescriba al archivo /etc/ssh/sshd_config
con el contenido de /etc/ssh/sshd_config.new
.
Una vez terminado lo anterior la proxima ejecución de slackpkg new-config
indica que no existe algún nuevo archivo
de configuración.
root@servidor:~# slackpkg new-config
Searching for NEW configuration files
No .new files found.
Lecturas
- slackpkg en Mini Tutoriales GNU.
- Cómo actualizar Paquetes en Slackware 13.1 por linuxito.
- Como actualizar Slackware utilizando Slackpkg por Oscar Meza.
- Maravillas de slackware: slackpkg por Eduardo Jiménez (ecoslacker).