Mostrando entradas con la etiqueta ubuntu. Mostrar todas las entradas
Mostrando entradas con la etiqueta ubuntu. Mostrar todas las entradas

Instalación de Debian a un directorio

El uso de máquinas virtuales para comprobar ciertos cambios en probar cosas es algo ya cada vez más habitual. Sin embargo hay ocasiones en las que puede ser necesario instalar un sistema Debian dentro de un directorio de nuestro sistema para hacer pruebas o realizar instalaciones de otra arquitectura diferente.
Por ejemplo, una máquina con Debian de 64bits puede tener otro sistema de 32bits para hacer ciertas pruebas. Para este tipo de tareas, en Debian es muy sencillo instalar un sistema base dentro de un directorio utilizando la herramienta debootstrap.

Instalación

Lo primero es instalar debootstrap.
shell> apt-get install debootstrap

Uso

Una vez tenemos instalada la utilidad, únicamente debemos de crear el directorio sobre el que instalar la nueva máquina, por ejemplo,
shell> mkdir /data/debian-i386
Y luego emplear debootstrap para crear la nueva instalación
shell> debootstrap \
       --arch=i386 \
       wheezy \
       /mnt/debian-i386/ \
       http://ftp.debian.org/debian/
Este proceso tardará un poco y cuando termine nos mostrará un mensaje de que el proceso terminó correctamente.
I: Base system installed successfully.
Y para emplear el nuevo sistema tendremos ahora que 'conectarnos' con chroot a él.
shell> chroot /mnt/debian-i386
Esta nueva consola que acabamos de abrir es en la máquina Debian instalada. Para salir de él, como en cualquier sistema. La ventaja es que no hay que apagarla y podemos copiar ficheros directamente a él, ya que es un directorio en nuestro sistema real.
Leer más

add-apt-repository: command not found

Ubuntu incluyó una forma muy simple de añadir nuevos repositorios de software para disponer de paquetes específicos o más recientes. Esto permite a muchas personas y empresas ofrecer repositorios de fácil instalación en el sistema, para dejar así sus paquetes disponibles. La forma de instalar estos nuevos repositorios es gracias al comando add-apt-repository. Aunque, una vez finalizada la instalación básica del sistema, éste nos puede fallar por que no tiene los paquetes necesarios instalado. Si obtenéis el siguiente error agregando un origen.
shell> add-apt-repository ppa:oisf/suricata-stable
  -su: add-apt-repository: command not found
La solución es sencilla, únicamente hay que instalar el paquete python-software-properties.
shell> apt-get install python-software-properties
Y volver a probar,
shell> add-apt-repository ppa:oisf/suricata-stable
You are about to add the following PPA to your system:
 suricata IDS stable packages
 More info: https://launchpad.net/~oisf/+archive/suricata-stable
Press [ENTER] to continue or ctrl-c to cancel adding it
...
En la última versión de Ubuntu Server, la 14.04, encontré un problema a la hora de usar add-apt-repository e instalar las dependencias para que funcionase. En éste caso, tuve que instalar el paquete software-properties-common,
shell> apt-get install software-properties-common
Y ya luego todo funcionó correctamente.
Leer más

Instalación de Oracle Java en Ubuntu

Una de las tareas que en su época se dio como más tediosa en sistemas GNU/Linux, fue la instalación de Java. Java la versión oficial, no el paquete libre, que ese viene en los repositorios, por lo que su instalación también es sencilla.
Sin embargo, gracias a la expansión de Ubuntu, la gente de Oracle creó una PPA que simplifica y mucho el proceso de instalación de Java. Los pasos a realizar, a continuación.

Instalación del nuevo repositorio

Como ya de dijo, Java está disponible para sistemas Debian desde el Oracle Java PPA, por lo que en primer lugar debemos de importarlo en nuestro sistema.
shell> add-apt-repository -y ppa:webupd8team/java
gpg: keyring `/tmp/tmp6gk849hs/secring.gpg' created
gpg: keyring `/tmp/tmp6gk849hs/pubring.gpg' created
gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmp6gk849hs/trustdb.gpg: trustdb created
gpg: key EEA14886: public key "Launchpad VLC" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK

Actualización de las fuentes

Como hemos añadido un nuevo lugar de fuentes, actualizamos el listado de paquetes,
shell> apt-get update

Instalación de Oracle Java

Ahora ya tenemos disponibles las diferentes versiones de Java que hay en los repositorios,
shell> apt-cache search oracle java
...
oracle-java6-installer - Oracle Java(TM) Development Kit 6
oracle-java6-set-default - Set Oracle JDK 6 as default Java
oracle-jdk7-installer - Oracle JDK7 Installer meta package
oracle-java7-installer - Oracle Java(TM) Development Kit 7
oracle-java7-set-default - Set Oracle JDK 7 as default Java
oracle-java8-installer - Oracle Java(TM) Development Kit 8
oracle-java8-set-default - Set Oracle JDK 8 as default Java
Por lo que seleccionamos la que queremos instalar y el resto será automático. Únicamente debemos de aceptar el acuerdo de licencia.
shell> apt-get install oracle-java7-installer

Comprobación

Cuando finalice la instalación, ya tenemos java y javac, entre otros, disponibles en el sistema
shell> javac -version
javac 1.7.0_72

shell> java -version
java version "1.7.0_72"
Leer más

Soporte VLAN en Debian

El concepto VLAN se emplea para separar através de una misma red física, varias redes virtuales. Esta separación, aunque sencilla de entender, no es tan sencilla a nivel de red. Para dar soporte VLAN, el equipo que se quiere conectar a dicha VLAN, debe marcar aquellos paquetes que se envían por el interfaz de VLAN con el tag correspondiente. A mayores, los equipos intermedios deben también de soportar esta característica, aunque a día de hoy, esto no suele ser ya un problema.

Soporte a VLAN

En sistemas Debian, para añadir el soporte para manejar VLANs, únicamente requiere instalar el paquete vlan.
shell> apt-get install vlan
A continuación necesitamos cargar el módulo que da soporte a VLANs, 8021q.
shell> modprobe 8021q
Y puesto que nos interesa que cada vez que el equipo arranque, dicho soporte exista, hacemos que se cargue.
shell> echo 8021q >> /etc/modules

Creando VLAN

Con el soporte para VLAN añadido, crear una nueva VLAN en el sistema es tan simple como añadir la VLAN y crear el interfaz por el que dar salida a dicha VLAN.
shell> vconfig add eth0 700
shell> ifconfig eth0.700 10.100.10.77/24
Como se puede observar, la VLAN 700, tiene como interfaz asociado el eth0.700, el decir, el interfaz virtual 700. Con esto conseguimos que todos los paquetes que salgan por dicho interfaz se marquen con el tag 700.

Solución estática

Por supuesto, lo escrito hasta aquí hace únicamente que la VLAN esté presente en el sistema hasta que éste se reinicie. Si queremos que este nuevo interfaz quede presente, tendremos que añadirlo al fichero de interfaces, junto con su configuración.
auto eth0.700
iface eth0.700 inet static
 address 10.100.10.77
 netmask 255.255.255.0

Borrando VLAN

Si llegado el momento, por lo que sea debemos de borrar una VLAN, vconfig tiene también forma de hacerlo,
shell> vconfig rem eth0.700
Leer más

dpkg: warning: package not in database

Si tienes un sistema perfectamente instalado y funcionando y con todos los paquetes que necesitas, una de las formas más cómodos que Debian/Ubuntu ofrece para sacar un listado de los paquetes instalados y poder pasárselos a otro sistema para que quede con la mismos es empleando el comando dpkg.
Lo primero es sacar el listado de los paquetes del servidor origen, tal como sigue:
shell> dpkg --get-selections > packages.list
A continuación, en el nuevo servidor los importamos e instalamos,
shell> dpkg --set-selections < packages.list
shell> apt-get dselect-upgrade

Si durante este proceso aparece este error,
dpkg: warning: package not in database
La solución es relativamente sencilla,
shell> apt-get install dselect
shell> dpkg --set-selections < packages.list
shell> apt-get dselect-upgrade
Y ya tenemos una copia de todos los paquetes instalados en el sistema origen en el sistema destino.
Leer más

Instalación de paquetes en GNU/Linux

Por suerte, desde hace ya muchos años instalar o desinstalar paquetes en los diferentes sistemas operativos de base Linux se hizo mucho más sencillo. Al principio de los tiempos, instalar algo era casi para "nativos del código fuente". Aun recuerdo la época en la que había que compilar los binarios con todas sus dependencias. Conseguías más rendimiento, puede ser, si sabías lo que hacías, pero actualizar un paquete era casi misión imposible. El trabajo casi nunca compensaba el esfuerzo.
Por suerte, el mundo Linux avanzó y las principales distribuciones tienen desde hace mucho tiempo repositorios en los que ofrecen software ya compilado y empaquetado. Así, instalar o actualizar un paquete es una tarea muy sencilla. Pero por supuesto, cada distribución, optó por un método diferente y para nada homogéneo, ni de paquetes ni de instrucciones para la instalación.
A continuación os dejo aquí una tabla comparativa de los comandos que cada distribución tiene para hacer la misma tarea. En todos los casos, los paquetes a instalar vienen de los repositorios que estén configurados en cada uno de los sistemas.
Linux OS
search
install
update
remove
Debian
Ubuntu
Linux Mint
apt-cache search [pkg] apt-get install [pkg] apt-get upgrade apt-get remove [pkg]
Fedora
Red Hat
CentOS
yum search [pkg] yum install [pkg] yum update yum remove [pkg]
Mandriva
Mageia
urpmi -y [pkg] urpmi [pkg] urpmi-auto-select urpme [pkg]
OpenSuse zypper search [pkg] zypper install [pkg] zypper update zypper remove [pkg]
Arch pacman -Ss [pkg] pacman -S [pkg] pacman -Syu pacman -R [pkg]
Gentoo emerge -s [pkg] emerge [pkg] emerge -uD [pkg] emerge -C [pkg]
Es muy recomendable tener presente esta chuleta de ayuda siempre que tengáis que manejar más de un sistema de base Linux de una familia diferente.
Leer más

kUbuntu VirtualBox Guest additions fail

Por motivos que todavía desconozco muy bien, terminé instalando un sistema kUbuntu en una máquina virtual. Si bien es cierto que fui usuario de KDE, hace años que lo dejé de lado, ya que cada vez cargaba más y más la máquina, para sacar el mismo provecho que XFCE.
El caso es que tras instalar la máquina, decidí instalar las Guest additions de VirtualBox para que vaya más fluida y pueda intercambiar datos de forma rápida y sencilla con el host anfitrión. Tras hacerlo (y por lo que parece todo terminar correctamente), reinicio la máquina tal como indican las instrucciones y al volver al sistema, no es lo que esperaba, los servicios se han instalado, pero no arrancan. El módulo del kernel no está cargado y además no se puede cargar. Si intento forzar el arranque obtengo lo siguiente:
shell> /etc/init.d/vboxadd start
Starting the VirtualBox Guest Additions ...fail!
(modprobe vboxguest failed)

shell> modprobe vboxguest
FATAL: Module vboxguest not found.
Esto no es desde luego lo esperado. El sistema tiene instalado el software, pero no funciona. Lo vuelvo a instalar y pasa exactamente lo mismo. Está claro que el fallo viene de otro lugar.
La ejecución de VBoxLinuxAdditions.run no está, lo que se dice precisamente depurada, y aunque falten un buen puñado de paquetes instalados, no avisa y lo que es peor, termina aparentemente bien. La solución,
shell> apt-get install dkms
shell> apt-get install build-essential
Tras la instalación de estos paquetes, volvemos a lanzar el instalador de las Guest additions.
shell> ./VBoxLinuxAdditions.run
Y ahora ya podéis reiniciar el sistema y debería de funcionar correctamente :-)

La entrada kUbuntu VirtualBox Guest additions fail la puede leer en Puppet Linux.
Leer más

Clave GPG extras.ubuntu.com

Recién instalada la versión de Ubuntu 12.04 LTS del CD original, cambio los repositorios por lo de la distribución y me encuentro con un ya más que sabido fallo de clave GPG: "Las firmas siguientes no se pudieron verificar...". Aunque sí resulta cuando menos curioso, supongo que hace ya tiempo que dicho CD fue grabado y que no hay nada extraño en los servidores de Ubuntu, así que os explico paso a paso cómo solucionar el fallo.
No tiene mayor complicación, pero buscando por Internet vi a gente que recomendaba borrar carpetas esenciales del sistema apt para luego volver a copiarlas. Es mucho más simple y rápido. Ahí os lo dejo,
shell> apt-get update
...
Descargados 1.363 kB en 2seg. (601 kB/s)             
Leyendo lista de paquetes... Hecho
W: Error de GPG: http://extras.ubuntu.com precise Release: Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 16126D3A3E5C1192
shell> gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16126D3A3E5C1192
...
gpg: key 3E5C1192: public key "Ubuntu Extras Archive Automatic Signing Key ftpmaster@ubuntu.com" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1
shell> gpg --export --armor 16126D3A3E5C1192 | sudo apt-key add -
OK
shell> apt-get update
...
Descargados 72 B en 0seg. (103 B/s)
Leyendo lista de paquetes... Hecho

La entrada Clave GPG extras.ubuntu.com la puede leer en Puppet Linux.
Leer más

Deshabilitar IPv6 en Ubuntu

Las redes IPv6 están ya cada vez más implantadas entre nosotros, sin embargo todavía no han llegado al gran público, por lo que no es necesario tener habilitado el soporte IPv6 en los equipos que no lo van a necesitar. En este caso, vamos a ver cómo deshabilitar dicho soporte en Ubuntu.
Lo primero es saber si tenemos el soporte IPv6 habilitado. Por defecto sí, pero para comprobarlo,
shell> cat /proc/sys/net/ipv6/conf/all/disable_ipv6
0
Este 0 de salida indica que sí está habilitado el soporte. Necesitamos tener un 1, que indicará lo contrario, que está deshabilitado IPv6. Para conseguirlo, editamos el fichero /etc/sysctl.conf y agregamos las siguiente líneas,
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Tras ello, reiniciamos nuestro sistema y al volver comprobamos que el cambio surgió efecto.
shell> cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1

La entrada Deshabilitar IPv6 en Ubuntu la puedes leer en Puppet Linux.
Leer más

Control de volumen desde consola

Desde hace algún tiempo, aquellos usuarios de GNU/Linux que estábamos acostumbrados a emplear aumix como software para controlar el volumen desde línea de comandos hemos llevado un gran chasco, ya que ha dejado de estar incluido. Ahora, por lo menos en sistemas Debian/Ubuntu se emplea amixer, que básicamente es lo mismo, pero cambiado de nombre. Como se puede leer en la página man, amixer es un mezclador de sonido para ALSA y como tal también nos va a permitir controlar el volumen de nuestro sistema desde línea de comandos. Así que vamos a ver cómo configurar el teclado para que pueda subir o bajar volumen con las teclas correspondientes.
En mi caso empleo XFCE, por lo que la configuración del teclado se hará como sigue, pero lo importante del artículo son los comandos a ejecutar. Para subir volumen,
shell> amixer sset Master 5%+
Y para bajarlo,
shell> amixer sset Master 5%-
Como podéis ver, el funcionamiento es muy simple, únicamente ponemos el porcentaje que deseamos subir o bajar y un + o -, en función de si nos interesa aumentarlo o disminuirlo.
Si esto lo llevamos al escritorio, en XFCE, nos iríamos a Configuración/ Teclado y creamos ahí dos nuevos atajos de teclado. Cómo hacerlo ya lo explicamos aquí.
amixer xfce volume control
amixer - XFCE integration

Leer más

PortVar Lookup failed on '$FILE_DATA_PORTS'

Trabajando con la última versión de Snort, la 2.9.2, disponible en Ubuntu server 12.04 LTS (#precise) nos encontramos al actualizar las reglas el mensaje de error que hace título a este post: "PortVar Lookup failed on '$FILE_DATA_PORTS'". Si vemos en qué fichero es requerida esa variable, vemos que es en el fichero de reglas web-client.rules.
Concretamente en la siguiente alerta,


alert tcp $EXTERNAL_NET $FILE_DATA_PORTS -> $HOME_NET any (msg:"WEB-CLIENT RealNetworks RealPlayer SWF frame handling buffer overflow attempt"; flow:to_client,established; file_data; content:"|78 00 05 5F 00 00 0F A0 00 00 0C 01 00 43 02 FF FF FF BF 00 39|"; fast_pattern:only; metadata:policy balanced-ips drop, policy security-ips drop, service http, service imap, service pop3; reference:bugtraq,30370; reference:cve,2007-5400; classtype:attempted-user; sid:17633; rev:6;)
Concretamente esta variable hace referencia a los puertos en los que se puede inspeccionar ficheros. Para solucionar el fallo, simplemente tenemos que abrir el fichero de configuración de Snort, típicamente /etc/snort/snort.conf, y agregar la siguiente línea:
# List of file data ports for file inspection
portvar FILE_DATA_PORTS [$HTTP_PORTS,110,143]
Con esto podrás volver a arrancar Snort tranquilamente que ya será 100% funcional.

Más info: blog.snort.org

La entrada PortVar Lookup failed on '$FILE_DATA_PORTS' la puedes leer en Puppet Linux.
Leer más

Extraño fallo al actualizar Ubuntu


Aunque eEste es un curioso fallo que me pasó cuando estaba actualizando una estación de trabajo con Ubuntu 12.04. Aunque el fallo no tenía gran sentido, lo comento a continuación por si a alguien más le sucede que pueda ver cómo yo lo solucioné.

shell> apt-get dist-upgrade
Leyendo lista de paquetes... Hecho
...
Preconfigurando paquetes ...
(Leyendo la base de datos ... 266542 ficheros o directorios instalados actualmente.)
Desempaquetando linux-headers-3.5.0-13 (de .../linux-headers-3.5.0-13_3.5.0-13.13_all.deb) ...
dpkg-deb (subproceso): datos: error interno de lectura de gzip `: data error'
dpkg-deb: error: el subproceso  devolvió el código de salida de error 2
dpkg: error al procesar /var/cache/apt/archives/linux-headers-3.5.0-13_3.5.0-13.13_all.deb (--unpack): el subproceso dpkg-deb --fsys-tarfile devolvió el código de salida de error 2
No se escribió ningún informe «apport» porque ya se ha alcanzado el valor de «MaxReports»
                                                                           ...
Se encontraron errores al procesar:
 /var/cache/apt/archives/linux-headers-3.5.0-13_3.5.0-13.13_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Al realizar un upgrade del sistema, éste intenta instalar el paquete linux-headers-3.5.0-13_3.5.0-13.13_all.deb, pero terminada dando un fallo que impide su instalación, dejando el sistema de paquetes "tocado".
Lo primero que se me ocurre es forzar la instalación de los paquetes, para ver si ésto soluciona el problema.
shell> apt-get install -f
...
Los paquetes indicados a continuación se instalaron de forma automática y ya no son necesarios.
  linux-headers-3.2.0-23 linux-headers-3.2.0-24 linux-headers-3.2.0-24-generic linux-headers-3.2.0-23-generic-pae linux-headers-3.2.0-24-generic-pae
  linux-headers-3.2.0-23-generic
Utilice «apt-get autoremove» para eliminarlos.
Se instalarán los siguientes paquetes extras:
  linux-headers-3.5.0-13
Se instalarán los siguientes paquetes NUEVOS:
  linux-headers-3.5.0-13
0 actualizados, 1 se instalarán, 0 para eliminar y 1 no actualizados.
20 no instalados del todo o eliminados.
Se necesita descargar 0 B/12,2 MB de archivos.
Se utilizarán 58,7 MB de espacio de disco adicional después de esta operación.
¿Desea continuar [S/n]? 
(Leyendo la base de datos ... 266542 ficheros o directorios instalados actualmente.)
Desempaquetando linux-headers-3.5.0-13 (de .../linux-headers-3.5.0-13_3.5.0-13.13_all.deb) ...
dpkg-deb (subproceso): datos: error interno de lectura de gzip `: data error'
dpkg-deb: error: el subproceso  devolvió el código de salida de error 2
dpkg: error al procesar /var/cache/apt/archives/linux-headers-3.5.0-13_3.5.0-13.13_all.deb (--unpack):
 el subproceso dpkg-deb --fsys-tarfile devolvió el código de salida de error 2
Se encontraron errores al procesar:
 /var/cache/apt/archives/linux-headers-3.5.0-13_3.5.0-13.13_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Aunque obtenemos el mismo fallo al intentar instalar el paquete. Así que vamos a optar por desinstalarlo  ya que además son las cabeceras de una versión del kernel que no estaba siendo usada.
shell> apt-get remove --purge linux-headers-3.5.0-13
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
El paquete linux-headers-3.5.0-13 no está instalado, no se eliminará
Tal vez quiera ejecutar «apt-get -f install» para corregirlo:
Los siguientes paquetes tienen dependencias incumplidas:
 linux-headers-3.5.0-13-generic : Depende: linux-headers-3.5.0-13 pero no va a instalarse
E: Dependencias incumplidas. Intente «apt-get -f install» sin paquetes (o especifique una solución).
Nuevamente no nos lo permite hacer y nos indica que la forma solucionarla es una que ya probamos con anterioridad y no funcionó.
La solución encontrada viene de la mano de dpkg y es la siguiente.
shell> dpkg --remove --force-remove-reinstreq linux-headers-3.5.0-13-generic
(Leyendo la base de datos ... 266541 ficheros o directorios instalados actualmente.)
Desinstalando linux-headers-3.5.0-13-generic ...
shell> apt-get clean
Tras ello, volvemos a intentar instalar todos los paquetes que tengamos pendientes y parece que ya todo está correcto.
shell> apt-get install -f
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
Corrigiendo dependencias... Listo
Los paquetes indicados a continuación se instalaron de forma automática y ya no son necesarios.
  linux-headers-3.2.0-23 linux-headers-3.2.0-24 linux-headers-3.2.0-24-generic linux-headers-3.2.0-23-generic-pae linux-headers-3.2.0-24-generic-pae
  linux-headers-3.2.0-23-generic
Utilice «apt-get autoremove» para eliminarlos.
Se instalarán los siguientes paquetes extras:
  linux-headers-3.5.0-13 linux-headers-3.5.0-13-generic
Se instalarán los siguientes paquetes NUEVOS:
  linux-headers-3.5.0-13 linux-headers-3.5.0-13-generic
0 actualizados, 2 se instalarán, 0 para eliminar y 0 no actualizados.
20 no instalados del todo o eliminados.
Necesito descargar 13,2 MB de archivos.
Se utilizarán 69,9 MB de espacio de disco adicional después de esta operación.
¿Desea continuar [S/n]? 
Des:1 http://ppa.launchpad.net/xorg-edgers/ppa/ubuntu/ precise/main linux-headers-3.5.0-13 all 3.5.0-13.13 [12,2 MB]
Des:2 http://ppa.launchpad.net/xorg-edgers/ppa/ubuntu/ precise/main linux-headers-3.5.0-13-generic i386 3.5.0-13.13 [1.010 kB]
Descargados 13,2 MB en 3seg. (3.743 kB/s)             
(Leyendo la base de datos ... 257690 ficheros o directorios instalados actualmente.)
Desempaquetando linux-headers-3.5.0-13 (de .../linux-headers-3.5.0-13_3.5.0-13.13_all.deb) ...
Seleccionando paquete linux-headers-3.5.0-13-generic previamente no seleccionado
Desempaquetando linux-headers-3.5.0-13-generic (de .../linux-headers-3.5.0-13-generic_3.5.0-13.13_i386.deb) ...
Configurando libllvm3.1 (3.1-1~precise1) ...
Configurando libgl1-mesa-dri (9.0~git20120901+9.0.6886da78-0ubuntu0ricotz2~precise) ...
Configurando libxatracker1 (9.0~git20120901+9.0.6886da78-0ubuntu0ricotz2~precise) ...
Configurando linux-image-3.5.0-13-generic (3.5.0-13.13) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.5.0-13-generic /boot/vmlinuz-3.5.0-13-generic
update-initramfs: Generating /boot/initrd.img-3.5.0-13-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 3.5.0-13-generic /boot/vmlinuz-3.5.0-13-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 3.5.0-13-generic /boot/vmlinuz-3.5.0-13-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.5.0-13-generic /boot/vmlinuz-3.5.0-13-generic
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.5.0-13-generic
Found initrd image: /boot/initrd.img-3.5.0-13-generic
Found linux image: /boot/vmlinuz-3.2.0-24-generic
Found initrd image: /boot/initrd.img-3.2.0-24-generic
Found linux image: /boot/vmlinuz-3.2.0-23-generic
Found initrd image: /boot/initrd.img-3.2.0-23-generic
Found memtest86+ image: /boot/memtest86+.bin
done
Configurando libhpmud0 (3.12.2-1ubuntu3.1) ...
Configurando libsane-hpaio (3.12.2-1ubuntu3.1) ...
Configurando hplip-data (3.12.2-1ubuntu3.1) ...
Configurando printer-driver-hpcups (3.12.2-1ubuntu3.1) ...
Configurando hplip (3.12.2-1ubuntu3.1) ...
Creating/updating hplip user account...
Configurando printer-driver-postscript-hp (3.12.2-1ubuntu3.1) ...
Configurando libcrystalhd3 (1:0.0~git20110715.fdd2f19-4.1) ...
Configurando linux-headers-3.5.0-13 (3.5.0-13.13) ...
Configurando linux-headers-3.5.0-13-generic (3.5.0-13.13) ...
Configurando linux-headers-generic (3.5.0.13.13) ...
Configurando linux-image-extra-3.5.0-13-generic (3.5.0-13.13) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.5.0-13-generic /boot/vmlinuz-3.5.0-13-generic
update-initramfs: Generating /boot/initrd.img-3.5.0-13-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 3.5.0-13-generic /boot/vmlinuz-3.5.0-13-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 3.5.0-13-generic /boot/vmlinuz-3.5.0-13-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.5.0-13-generic /boot/vmlinuz-3.5.0-13-generic
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.5.0-13-generic
Found initrd image: /boot/initrd.img-3.5.0-13-generic
Found linux image: /boot/vmlinuz-3.2.0-24-generic
Found initrd image: /boot/initrd.img-3.2.0-24-generic
Found linux image: /boot/vmlinuz-3.2.0-23-generic
Found initrd image: /boot/initrd.img-3.2.0-23-generic
Found memtest86+ image: /boot/memtest86+.bin
done
Configurando linux-image-generic (3.5.0.13.13) ...
Configurando postfix (2.9.3-2~12.04.3) ...

Postfix configuration was not changed.  If you need to make changes, edit
/etc/postfix/main.cf (and others) as needed.  To view Postfix configuration
values, see postconf(1).

After modifying main.cf, be sure to run '/etc/init.d/postfix reload'.

Running newaliases
 * Stopping Postfix Mail Transport Agent postfix          [ OK ] 
 * Starting Postfix Mail Transport Agent postfix          [ OK ] 
Configurando printer-driver-hpijs (3.12.2-1ubuntu3.1) ...
Configurando vlc-nox (2.0.3-0ubuntu0.12.04.1) ...
Configurando vlc-plugin-notify (2.0.3-0ubuntu0.12.04.1) ...
Configurando vlc (2.0.3-0ubuntu0.12.04.1) ...
Configurando vlc-plugin-pulse (2.0.3-0ubuntu0.12.04.1) ...
Procesando disparadores para libc-bin ...
ldconfig deferred processing now taking place
Leer más

Error de GPG: http://extras.ubuntu.com

Si obtenemos este error, es lógicamente por que nos falta la clave pública de dicho repositorio.
shell> apt-get update
....
Descargados 850 kB en 1seg. (508 kB/s)
Leyendo lista de paquetes... Hecho
W: Error de GPG: http://extras.ubuntu.com precise Release: Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 16126D3A3E5C1192
La solución, importarla.
shell> gpg --ignore-time-conflict \
> --no-options \
> --no-default-keyring \
> --secret-keyring /tmp/tmp.s5o4mutMRY \
> --trustdb-name /etc/apt/trustdb.gpg \
> --keyring /etc/apt/trusted.gpg \
> --primary-keyring /etc/apt/trusted.gpg \
> --keyserver hkp://keyserver.ubuntu.com:80/ \
> --recv 16126D3A3E5C1192

Leer más

Manual de Ubuntu 12.04 LTS

Ya está disponible el manual oficial de Ubuntu 12.04 LTS. Con el título "Getting Started with Ubuntu 12.04" se presenta un manual de 143 páginas descagable para tenerlo disponible en nuestro desktop o en papel. Está disponible en Inglés, Alemán, Griego, Holadés y Lituano y está disponible para descarga desde aquí.
Los 7 capítulos de los que consta son:
  • Instalación
  • Escritorio de Ubuntu
  • Trabajando con Ubuntu
  • Hardware
  • Gestión del software
  • Guía de problemas
  • Aprender más
Los niveles son desde lo más básico de manejo y uso de escritorio hasta cosas más avanzadas de administración. Recordar que esta es una versión LTS (Long Time Support).

Espero que lo disfrutéis!
Leer más

Empleo de apt con proxy

Se nos puede plantear el caso de que estemos trabajando en un entorno de trabajo donde todos nuestros equipos no tengan salida a internet, sino que sea una DMZ cerrada. El cortafuegos puede permitir la entrada de conexiones a los servidores que estrictamente lo necesiten, pero no la salida de paquetes a la red. En este caso, a la hora de actualizar nuestra distro, o incluso de descargar algo, no podremos.
Para casos como este, existen los proxy's de red. Un equipo que permite, de forma más o menos controlada, saber todo lo que sale y entra de internet, teniendo un pequeño buffer para poder servir así también páginas o archivos previamente descargados de forma más rápida.
Si queremos usar un proxy con el sistema de paquetería de debian, existen dos formas que las veremos a continuación.
  1. Variables de entorno
    Esta forma permite establecer el proxy como un proxy global para todo nuestro sistema GNU/Linux. Todas las peticiones http/ftp será redirigidas por el proxy especificado.
    shell> export http_proxy="http://user:pass@proxy:port"
    shell> export ftp_proxy="http://user::pass@proxy:port"
    
  2. apt-setup
    De esta forma, sólo apt empleará el proxy para salir a internet. Para usarlo, creamos el fichero /etc/apt/apt.conf y le añadimos el siguiente contenido
    Acquire
    {
      http
      {
         Proxy "http://user:pass@proxy:port";
      };
      ftp
      {
         Proxy "http://user:pass@proxy:port";
      };
    }
    
Tras cualquiera de los dos métodos, las acciones realizadas por apt será redirigidas por el proxy empleado, permitiendo la salida a internet del sistema y también en caso de que el proxy tenga suficiente caché, acelerando la descarga de paquetes para otros equipos tras la primera descargar.
Leer más

dpkg cheat sheet

La tercera de las chuletas que espero que a alguien le sirva de ayuda es sobre el funcionamiento más habitual de dpkg. dpkg es una herramienta para la instalación, desinstalación, compilación y manipulación de los paquetes en sistemas Debian.
Las opciones que más habitualmente se emplean son:




  • Instalación de un paquete
    shell> dpkg -i package
    
  • Actualización de un paquete
    shell> dpkg -i package
    
  • Instalación de todos los paquete de un directorio
    shell> dpkg -R /ruta/paquetes/
    
  • Desinstalación de un paquete (conservando configuraciones)
    shell> dpkg -r package
    
  • Desinstalación de un paquete (incluidas configuraciones)
    shell> dpkg -P package
    
  • Listado de paquetes instalados
    shell> dpkg -l
    
  • Listado de paquetes que coinciden con nombre
    shell> dpkg -l package
    
  • Encontrar paquete que provee los ficheros
    shell> dpkg -L package
    
  • Listado de ficheros de paquete
    shell> dpkg -c package
    
  • Encontrar qué paquete es el "dueño" del fichero
    shell> dpkg -S /ruta/file
    
  • Listar propiedades del paquete (grupo, versión, mantenedor, arquitectura, etc.)
    shell> dpkg -p package
    
  • Listar contenido de un paquete no instalado
    shell> dpkg --contents package.deb
    
  • Extraer información de un paquete
    shell> dpkg -I package.deb
    
  • Retener actualización de paquete
    shell> echo "package hold" | dpkg --set-selections
    
  • Obtener estado de todos los paquetes
    shell> dpkg --get-selections
    
  • Compilar un paquete  desde el árbol de Debian
    shell> dpkg-buildpacakge package
    
  • Corregir dependencias tras instalación fallida
    shell> dpkg --configure --pending
    
  • Extraer contenido de un paquete
    shell> dpkg -x package.deb
    
  • Hacer una copia de las selecciones de los paquetes
    shell> dpkg --get-selections > my_packages
    
  • Instalar paquetes seleccionados
    shell> dpkg --clear-selections
    shell> dpkg --set-selections < my_packages
    
Leer más

warning: Setting locale failed.

Este error es algo que sucede muy a menudo en sistemas Linux tras realizar una actualización del mismo. Por ejemplo, tras pasar de debian Lenny a Squeeze, el siguiente fallo comenzó a aparecer en el sistema. Y aunque no es un fallo que afecte al correcto funcionamiento del sistema, sí es una molesta advertencia, sobre todo a la hora de actualizar un paquete o ejecutar un scritp, ya que la salida no siempre es la esperada. Muchas líneas como ésta se meten en medio y resulta incómodo.

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
 LANGUAGE = (unset),
 LC_ALL = (unset),
 LC_TIME = "C",
 LANG = "es_ES@euro"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
El problema está detallado en el propio error y no es otro que la pérdida de valor en algunas de las variables del sistema, que hace que perl no sepa cómo mostrar las salidas. Para solucionarlo, existen dos formas,
  1. Añadir valores a las variables
    No es un método permanente, pero sí soluciona rápidamente el problema. Para hacerlo, simplemente tendremos que ejecutar lo que sigue,
    shell> export LANGUAGE=es_ES@euro
    shell> export LANG=es_ES@euro
    shell> export LC_ALL=C
    
  2. Volver a configurar las locales
    El verdadero problema de éste warning está en el paquete locales de nuestro sistema. Por lo tanto, para solucionarlo, podremos optar por reinstalar el paquete nuevamente para que obtenga los valores correctos,
    shell> apt-get install --reinstall locales
    
    o bien reconfigurarlo, seleccionando los idiomas que deseemos.
    shell> dpkg-reconfigure locales
    
Leer más

apt-get cheat sheet

Si en un post anterior hemos dejado una pequeña chuleta de las utilidades básicas y algo más avanzadas que se pueden hacer con rpm, Debian no iba a ser menos, así que os dejo aquí una pequeña chuleta con las opciones más habituales que se suelen usar con apt-get.





  • Instalar un nuevo paquete
    shell> apt-get install package
    
  • Desinstalar un paquete
    shell> apt-get remove package
    
  • Desinstalar un paquete y purgar todos sus ficheros
    shell> apt-get remove --purge package
    
  • Actualizar listado de paquetes disponibles
    shell> apt-get update
    
  • Actualizar sistema
    shell> apt-get upgrade
    
  • Actualizar un único paquete (más dependencias)
    shell> apt-get upgrade package
    
  • Actualizar versión de distribución, o actualización con cambios en paquetes
    shell> apt-get dist-upgrade
    
  • Limpiar paquetes que ya no se usan
    shell> apt-get autoremove
    
  • Limpiar paquetes que ya no se usan y purgar ficheros
    shell> apt-get autoremove --purge
    
  • Descargar las sources de un paquete
    shell> apt-get source package
    
  • Limpiar repositorio local (libera espacio en disco)
    shell> apt-get clean
    
  • Descarga únicamente el paquete, pero lo no instala
    shell> apt-get install --download-only package
    
  • Asume como "yes" a todas las preguntas que se hagan en la instalación
    shell> apt-get install --yes package
    
  • Instala un paquete sin actualizar paquetes ya instalados
    shell> apt-get install --no-upgrade package
  • Forzar la instalación de un paquete o su reconfiguración
    shell> apt-get install -f
    
  • Forzar la configuración de una actualización
    shell> apt-get upgrade -f
    
  • Instalar dependencias de compilación de un paquete
    shell> apt-get build-dep package
    
  • Reinstalar un paquete previamente instalado
    shell> apt-get install --reinstall package
    
  • Simular la ejecución sin afectar al sistema
    shell> apt-get -s install package
    shell> apt-get -s upgrade
    
Leer más

Canonical no apuesta por Kubuntu

Según recientes noticias, Canonical dejará de dar soporte a Kubuntu (versión de ubuntu, pero con escritorio KDE). Desde luego una mala noticia para todos aquellos kubuntero's, que quedarán de la mano de la comunidad para que siga preparando los paquetes y creando la ISO de las nuevas versiones.
La noticia la dio a conocer Jonathan Riddell, líder del proyecto Kubuntu, que después de la versión 12.04 quedará en manos de la comunidad. Por cierto, que lo mismo sucede con Edubuntu, Lubuntu y Xubuntu.
Todo apunta a que Canonical se quiere centrar en Ubuntu únicamente y crear un producto más ¿usable? ¿comercial?
Las noticias oficiales aquí y aquí.
Leer más

Fallo al actualizar kubuntu a 11.10

No soy usuario de ubuntu ni de su versión con el escritorio KDE, pero hay veces que por un motivo u otro, toca sufrirlas. Hoy fue uno de esos días.
Recientemente salió una actualización a una nueva versión de Ubuntu/Kubuntu, que pasaba de la 11.04 (Natty Narwhal) a la 11.10 (Oneiric Ocelot), con una gran cantidad de mejoras y muchos paquetes por actualizar.
Para un usuario normal de a pie, esta actualización probablemente no tuviera problema alguno, pero si has modificado y jugado un poco con los permisos usando grupos, esto cambia. En mi caso, había 2 grupos que se usan para acceder al sistema y también para poder escalar privilegios. Estos son wheel y remote_user. En las configuraciones de pam.d por un lado y de sshd por el otro, se especifica que usen estos grupos para permitir convertirse en root y también para permitir el acceso al equipo vía ssh.
shell> getent group
usuariosremotos:x:55:javier, diego, roberto
wheel:x:56:javier, roberto
...
shell> cat /etc/ssh/sshd_config
PermitRootLogin no
AllowGroups usuariosremotos
...

shell> cat /etc/pam.d/su
auth     required       pam_wheel.so use_uid group=wheel
...
Tras realizar la actualización a la nueva versión, el acceso al equipo no está permitido y la posibilidad de convertirse en root, usando su tampoco. Sí es posible realizar todas las tareas desde un usuario local con permisos de sudo.
Después de un rato investigando, resulta que el problema está en que la actualización ha borrado los grupos que se crearon en su día en el sistema y por eso no permite el acceso.
Desde mi punto de vista, un fallo grave que una actualización decida eliminar los grupos preexistentes, ya que en equipos remotos que puedan hacer algo más que un desktop tradicional, esta actualización puede traer consecuencias inesperadas y algún que otro rompedero de cabeza para el administrador.
shell> getent group | grep wheel

shell> getent group | grep usuariosremotos

Leer más

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios