Como todo administrador sabrá, actualizar los servidores linux es una tarea necesaria y obligatoria, especialmente porque cada dia salen nuevas vulnerabilidades para los distintos paquetes que conforman el sistema operativo linux, mucho mas si el servidor tiene contacto con el Internet, como por ejemplo, un servidor de correo electrónico, un servidor web etc.
La configuración del comando apt-get la pueden encontrar en /etc/apt . Dentro del directorio encontraran un archivo llamado sources.list, dentro del archivo encontraran lo siguiente:
rolando@nsx:~$ cat /etc/apt/sources.list
#deb file:///cdrom/ sarge main
deb ftp://mirrors.kernel.org/debian/ stable main
deb-src ftp://mirrors.kernel.org/debian/ stable main
deb http://security.debian.org/ stable/updates main
rolando@nsx:~$
Si se dan cuenta la primera linea la tengo comenatada, lo hice para que el servidor linux debian no busque en el cdrom las actualizaciones, si no que las busque en internet. En el caso de ustedes esto puede tener diferentes servidores, esto es normal, ya que hay muchos “mirrors” de actualizaciones en el Internet.
Confirmando que el apt-get vaya a buscar las actualizaciones a Internet, vamos a ejecutar el siguiente comando:
apt-get update
Que nos desplegara lo siguiente:
rolando@nsx:~$ apt-get update
Get: 1 http://security.debian.org stable/updates Release.gpg [189B]
Get: 2 http://security.debian.org stable/updates Release [37.6kB]
Hit ftp://mirrors.kernel.org stable Release.gpg
Get: 3 ftp://mirrors.kernel.org stable Release [58.2kB]
Ign http://security.debian.org stable/updates/main Packages/DiffIndex
Get: 4 http://security.debian.org stable/updates/main Packages [290kB]
Get: 5 ftp://mirrors.kernel.org stable/main Packages/DiffIndex
Ign ftp://mirrors.kernel.org stable/main Packages/DiffIndex
Get: 6 ftp://mirrors.kernel.org stable/main Sources/DiffIndex
Ign ftp://mirrors.kernel.org stable/main Sources/DiffIndex
Hit ftp://mirrors.kernel.org stable/main Packages
Hit ftp://mirrors.kernel.org stable/main Sources
Fetched 386kB in 2s (166kB/s)
Reading package lists… Done
Aquí ya busco todas las actualizaciones que hay disponibles en el servidor remoto, y también bajo un listado de las actualizaciones que nos hace falta.
En mi caso, después de ejecutar este comando me gusta saber que actualizaciones hay disponibles ANTES de instalarlas, esto lo hago con el siguiente comando:
apt-get -s upgrade
Este comando nos mostrara que paquetes van a ser actualizados con el comando apt-get upgrade, como lo muestro en el siguiente texto:
rolando@nsx:~$ apt-get -s upgrade
Reading package lists… Done
Building dependency tree… Done
The following packages will be upgraded:
libxml2 php-pear php5-common squid squid-common
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Inst squid [2.6.5-6etch1] (2.6.5-6etch4 Debian-Security:4.0/stable) []
Inst squid-common [2.6.5-6etch1] (2.6.5-6etch4 Debian-Security:4.0/stable)
Inst libxml2 [2.6.27.dfsg-4] (2.6.27.dfsg-5 Debian-Security:4.0/stable)
Inst php5-common [5.2.0-8+etch11] (5.2.0-8+etch13 Debian-Security:4.0/stable)
Inst php-pear [5.2.0-8+etch11] (5.2.0-8+etch13 Debian-Security:4.0/stable)
Conf squid-common (2.6.5-6etch4 Debian-Security:4.0/stable)
Conf squid (2.6.5-6etch4 Debian-Security:4.0/stable)
Conf libxml2 (2.6.27.dfsg-5 Debian-Security:4.0/stable)
Conf php5-common (5.2.0-8+etch13 Debian-Security:4.0/stable)
Conf php-pear (5.2.0-8+etch13 Debian-Security:4.0/stable)
rolando@nsx:~$
Procederé con la actualización utilizando el comando:
apt-get upgrade
Al ejecutar este comando nos va a salir que si queremos bajar los archivos, y cuanto espacio ocuparan:
rolando@nsx:~$ apt-get upgrade
Reading package lists… Done
Building dependency tree… Done
The following packages will be upgraded:
libxml2 php-pear php5-common squid squid-common
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2375kB of archives.
After unpacking 217kB disk space will be freed.
Do you want to continue [Y/n]?
Procedemos con la instalacion presionando la tecla Y y luego ENTER.
Do you want to continue [Y/n]? y
Get: 1 http://security.debian.org stable/updates/main squid 2.6.5-6etch4 [655kB]
Get: 2 http://security.debian.org stable/updates/main squid-common 2.6.5-6etch4 [437kB]
Get: 3 http://security.debian.org stable/updates/main libxml2 2.6.27.dfsg-5 [756kB]
Get: 4 http://security.debian.org stable/updates/main php5-common 5.2.0-8+etch13 [214kB]
Get: 5 http://security.debian.org stable/updates/main php-pear 5.2.0-8+etch13 [313kB]
Fetched 2375kB in 5s (436kB/s)
Preconfiguring packages …
(Reading database … 28813 files and directories currently installed.)
Preparing to replace squid 2.6.5-6etch1 (using …/squid_2.6.5-6etch4_i386.deb) …
Unpacking replacement squid …
Preparing to replace squid-common 2.6.5-6etch1 (using …/squid-common_2.6.5-6etch4_all.deb) …
Unpacking replacement squid-common …
Preparing to replace libxml2 2.6.27.dfsg-4 (using …/libxml2_2.6.27.dfsg-5_i386.deb) …
Unpacking replacement libxml2 …
Preparing to replace php5-common 5.2.0-8+etch11 (using …/php5-common_5.2.0-8+etch13_i386.deb) …
Unpacking replacement php5-common …
Preparing to replace php-pear 5.2.0-8+etch11 (using …/php-pear_5.2.0-8+etch13_all.deb) …
Unpacking replacement php-pear …
Setting up squid-common (2.6.5-6etch4) …
Setting up squid (2.6.5-6etch4) …
Restarting Squid HTTP proxy: squid2008/10/15 15:23:22| parseConfigFile: line 23 unrecognized: ‘httpd_accel_host virtual’
2008/10/15 15:23:22| parseConfigFile: line 24 unrecognized: ‘httpd_accel_port 80′
2008/10/15 15:23:22| parseConfigFile: line 25 unrecognized: ‘httpd_accel_with_proxy on’
2008/10/15 15:23:22| parseConfigFile: line 26 unrecognized: ‘httpd_accel_uses_host_header on’
.
Setting up libxml2 (2.6.27.dfsg-5) …
Setting up php5-common (5.2.0-8+etch13) …
Setting up php-pear (5.2.0-8+etch13) …
Installing new version of config file /etc/pear/pear.conf …
rolando@nsx:~$
Nos va a regresar a la linea de comando, y felicitaciones, has actualizado un servidor linux debian con apt-get.