La otra bola de cristal

Cuando las X no funcionan: Entrar en modo consola en Archlinux

Tengo ordenador nuevo, así que estos días andaré un poco desconectada mientras pongo mi pc a punto.

En esta nueva instalación de Archlinux estoy descubriendo y aprendiendo cosas nuevas, ya que me están pasando situaciones que con la anterior no me pasaban, eso es bueno mientras pueda ir solucionándolas :-P

Así que os iré dejando por aquí algunas cosillas, pequeños apuntes que también me vendrán bien para un futuro.

Cuando encendemos nuestro PC y nos aparece el menú GRUB tenemos 2 opciones para iniciar Archlinux:

Arch Linux
Arch Linux Fallback 

Si hemos configurado que se inicien las X automáticamente, modificando el runlevel a nivel 5 en el inittab no tendremos la posibilidad de entrar directamente en modo texto o consola, esto puede representar un problema cuando las X no funcionan y queremos toquetear algo, por ejemplo que se quede congelado en la pantalla de inicio de sesión, que no reconozca el teclado o el ratón, etc…

Para ello indicaremos en el GRUB que inicie con runlevel 3.

Una vez nos aparezca el menú, nos posicionaremos sobre la opción Arch Linux y le daremos a la tecla “e” para acceder al modo edición y otra vez a la tecla “e” para editar la segunda línea y poder añadir las opciones que deseemos, en este caso un 3 para modificar el runlevel, nos quedaría así:

root (hd0,0)
kernel /vmlinuz-linux root=/dev/sda3 ro 3
initrd /initrams-linux.imag

Después presionamos la tecla ENTER y “b” para botear.

Averigua la fecha de instalación de tu linux

¿Nunca os habéis preguntado desde cuánto hace que tenéis instalada vuestra distribución de linux? ¿2 meses, 1 año, 5?

Mentalmente y basándonos en algunos recuerdos podemos hacer un cálculo aproximado, pero a veces esos recuerdos pueden ser confusos o quizás con tanta prueba de instalación y desinstalación de distribuciones varias uno pierde ya la cuenta del tiempo que lleva con la actual.

A modo de curiosidad quise saber si existía alguna manera así que me lancé a la aventura de encontrar esta información y la encontré.

Existen varias maneras, una de ellas es conociendo la fecha de creación del sistema de ficheros o las particiones como /boot o la partición raíz.

Y esto lo podemos saber con los comandos dumpe2fs o tune2fs:

dumpe2fs -h /partición | grep created

o

tune2fs -l /partición | grep created

Por ejemplo, mi partición de Archlinux se encuentra en /dev/sda2:

dumpe2fs -h /dev/sda2 | grep created
dumpe2fs 1.42.1 (17-Feb-2012)
Filesystem created:       Mon Dec 26 21:50:56 2011

Y Debian, ¿cuándo instalé Debian?

tune2fs -l /dev/sda5 | grep created
Filesystem created:       Fri Dec 30 20:12:32 2011

Mis instalaciones son muy recientes, pues en diciembre del año pasado es cuando decidí borrarlo todo y empezar de 0 con Arch y Debian.

¿Y tú, desde cuando tienes tu actual distribución instalada?

Fuentes: Michalins on.* – Determining the age of a Linux installation, Server Fault – How to determine the “age” of a linux system since installation?

¿Desde cuándo no apagas tu ordenador?

Existen algunos comandos que nos pueden mostrar cuanto tiempo lleva encendida nuestra máquina.

Uno de ellos es:

uptime

19:11:06 up  2:00,  3 users,  load average: 0.00, 0.03, 0.06

Lo que nos muestra uptime es:

La hora actual: 19:11:06

El tiempo que lleva encendido o cuánto hace que se arrancó: 2:00

Los usuarios conectados: 3

Carga media del sistema en los últimos 1, 5 y 15 minutos: 0.00, 0.03, 0.06

who

El comando who se utiliza para saber quien está conectado al sistema, pero también podemos obtener información más específica combinando algunas de sus opciones.

En este caso en particular podremos saber cuando se encendió la máquina por última vez:

who -b

arranque del sistema 2012-03-16 17:10

Como podéis ver, si lo único que queremos consultar es desde cuando lleva encendido, se expone de una manera muy explícita.

Sin embargo estos comandos no son los únicos, hay otros que aunque se utilicen para otras funciones también podemos encontrar información al respecto, por ejemplo: last, finger usuario o pinky usuario, w o algunas otras combinaciones con who.

Ver un histórico de paquetes instalados en Debian y Arch

Cuando escribo un post en este blog ofreciendo diferentes alternativas para realizar alguna tarea instalo varias de esas aplicaciones para probarlas y saber cómo funcionan, pero no siempre las mantengo después instaladas en mi disco duro, o si presento diferentes opciones me quedo con la que más me gusta y el resto las elimino. A veces no hago esta tarea de inmediato y a veces no me acuerdo de exactamente qué paquetes he instalado para probar ya que por cuestiones de tiempo no enciendo el pc a diario.

Revisando estos últimos días mis favoritos en Stumbleupon encontré un tip en Watching the Net que me resultó útil para realizar esta tarea cuando me encuentro en blanco.

Aunque en Debian tengo Synaptic casi siempre utilizo la consola y aptitude para instalar o desinstalar programas, así que no había reparado que hay una opción que nos muestra el histórico de nuestros movimientos.

Esta opción se encuentra en Archivo – Histórico y nos presenta una ventana con la fecha y la hora de las acciones que hemos realizado, tanto de instalación, desinstalación y actualización de paquetes:

Y aunque es configurable para mantener el histórico siempre o sólo los días que nosotros especifiquemos (esto lo haremos a través del menú en Preferencias – Archivos – Archivos del historial) únicamente nos muestra las acciones realizadas a través de Synaptic.

Sin embargo también podemos obtener este listado a través de la terminal con:

grep "install" /var/log/dpkg.log

Y aquí sí que se va a mostrar tanto los paquetes que hemos instalado vía synaptic o apt.

Si no hemos actualizado o instalado nada posteriormente serán los últimos (no es el caso) pero si no siempre podemos exportarlo a un archivo de texto para visualizarlo mejor:

grep "install" /var/log/dpkg.log > ultimos

O si preferimos hacerlo directamente desde la terminal utilizar los paginadores less o more:

grep "install" /var/log/dpkg.log | less

Como también utilizo Archlinux, también me ocurre lo mismo, así que en este caso utilizaremos:

grep "install" /var/log/pacman.log

Y obtendremos un histórico de paquetes instalados tanto con pacman como con yaourt.

Y también podemos exportarlo a un archivo de texto para visualizarlo más cómodamente:

grep "install" /var/log/pacman.log > ultimos

O ver el histórico a través de la consola:

grep "install" /var/log/pacman.log | less

Algo que también resulta muy interesante es poder filtrar no sólo por por los paquetes instalados, también sólo los actualizados, eliminados… en ese caso podemos utilizar para ver un histórico de paquetes actualizados:

grep "upgrade" /var/log/pacman.log

O para ver los eliminados:

grep "remove" /var/log/pacman.log

Apagado programado y automático en linux

Muchas veces nos quedamos por la noche con el pc viendo alguna película o descargando algún archivo, en muchas de esas ocasiones nos quedamos dormidos sin darnos cuenta o es hora de retirarse pero la descarga no ha terminado, así que dejamos nuestra máquina encendida durante todo la noche o día hasta que volvemos a ponernos frente a ella nuevamente.

Pero tenemos la posibilidad de programar el apagado automático si no queremos dejar nuestro ordenador encendido.

El comando shutdown nos permite indicar cuando queremos que se apague la máquina, podemos programar una hora determinada o un espacio de tiempo.

Si deseamos apagar el ordenador a las 4 y cuarto de la mañana, hora que posiblemente muchos ya estamos en plena fase REM:

shutdown -h 4:15

Si lo que queremos es que se apague en unos 50 minutos:

shutdown -h +50

Si deseamos cancelar el apagado programado:

CTRL+C

O

shutdown -c

Todo esto está muy bien si nos acordamos previamente de lanzar estas órdenes, así que una buena solución y alternativa sería que esto se hiciera automáticamente cada noche.

Para ello haremos uso de crontab que nos sirve para programar tareas automáticamente.

Añadiremos las tareas que que queramos programar y automatizar con:

crontab -e

Hay que tener en cuenta la manera en como vamos a expresar lo que queremos que realice y se hace en el siguiente orden:

minutos horas día mes díadelasemana comandoaejecutar

No es imprescindible rellenar todos los campos, porque a lo mejor queremos que esa tarea la realice todos los días y no algunos en particular (por ejemplo en el caso de realizar copias de seguridad un día a la semana, etc), en ese caso los sustituiremos con un * que sería todos los valores posibles.

Queremos que nuestro ordenador se apague cada día a las 3:30 de la mañana, añadiremos al fichero:

30 3 * * * /sbin/shutdown -h now

30: los minutos.
3: la hora.
Como no queremos que sea ningún día determinado sustituimos día, mes y día de la semana con *.
/sbin/shutdown -h now: Comando a ejecutar, en este caso apagar el sistema.

Guardamos.

Una nueva tarea ha sido añadida, así que ahora ya no tenemos que preocuparnos más, cada día a esa hora nuestra máquina se apagará automáticamente.

Para ver la lista de tareas que tenemos programadas:

crontab -l

Si deseamos quitar el apagado automático o cualquier otra acción que hayamos programado basta con hacer:

crontab -r