estás semanas he estado repasando videos del pasado Red Hat Summit, mirando a ver que novedades tendría Red Hat 7 Enterprise Server. Los cambios serán notables y realmente necesarios. Hoy vamos a ver como funciona systemd. ¿Que es systemd? Es un sustituto del demonio init, demonio clásico donde los alla que ejecuta todos los scripts de inicio del sistema según el runlevel, etc, etc. Systemd es definido con un completo manager del sistema.
Systemd ha sido desarrollado por Lennart Poettering, desarrollador open source y actualmente desarrollador Senior en RedHat. En su web hay un gran repositorio de documentación sobre systemd.
Este nuevo demonio se ejecutará al inicio y llevará el control del proceso de arranque del sistema. Aquí podéis ver la diferencia en un pstree de los procesos del sistema, entre systemd a la izquierda y init clásico a la derecha:
Sus principales ventajas las podéis ver en esta tabla comparativa. Ira más allá que controlar el proceso de arranque, pudiendo llevar el control de los demonios arrancados, grupos de recursos, puntos de montaje, runlevel por defecto, cron, syslog, etc.
Sus elementos básicos son:
Servicios.
Socket.
Dispositivos.
Puntos de montaje.
Puntos de montaje automaticos.
Targets, conjunto de grupos de los anteriores recursos.
Snapshots, trata la configuración de sistema como un todo pudiendo establecer puntos parciales o totales de recuperación.
Un ejemplo:
Los runlevels se sustituyen por los target. Por ejemplo hasta ahora si queríamos arrancar en el runlevel 3 en vez de 5, lo modificavamos /etc/inittab. Ahora con systemd todos los ficheros de configuración están en /etc/systemd/system y el runlevel por defecto es default.target que estará linkado al fichero de configuración del runlevel deseado:
[root@localhost system]# ls -ltrha total 52K lrwxrwxrwx. 1 root root 39 Jun 27 19:12 syslog.service -> /usr/lib/systemd/system/rsyslog.service drwxr-xr-x. 2 root root 4.0K Jun 27 19:12 getty.target.wants drwxr-xr-x. 2 root root 4.0K Jun 27 19:12 default.target.wants drwxr-xr-x. 2 root root 4.0K Jun 27 19:12 graphical.target.wants lrwxrwxrwx. 1 root root 41 Jun 27 19:12 dbus-org.fedoraproject.FirewallD1.service -> /usr/lib/systemd/system/firewalld.service drwxr-xr-x. 2 root root 4.0K Jun 27 19:12 basic.target.wants lrwxrwxrwx. 1 root root 44 Jun 27 19:12 dbus-org.freedesktop.Avahi.service -> /usr/lib/systemd/system/avahi-daemon.service drwxr-xr-x. 2 root root 4.0K Jun 27 19:13 sysinit.target.wants drwxr-xr-x. 2 root root 4.0K Jun 27 19:13 sockets.target.wants drwxr-xr-x. 2 root root 4.0K Jun 27 19:13 printer.target.wants lrwxrwxrwx. 1 root root 46 Jun 27 19:13 dbus-org.freedesktop.NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service drwxr-xr-x. 2 root root 4.0K Jun 27 19:13 system-update.target.wants drwxr-xr-x. 2 root root 4.0K Jun 27 19:13 spice-vdagentd.target.wants lrwxrwxrwx. 1 root root 41 Jun 27 19:14 dbus-org.bluez.service -> /usr/lib/systemd/system/bluetooth.service drwxr-xr-x. 2 root root 4.0K Jun 27 19:14 bluetooth.target.wants lrwxrwxrwx. 1 root root 35 Jun 27 19:14 display-manager.service -> /usr/lib/systemd/system/gdm.service lrwxrwxrwx. 1 root root 37 Oct 10 11:00 default.target -> /lib/systemd/system/multi-user.target drwxr-xr-x. 4 root root 4.0K Oct 11 14:37 .. lrwxrwxrwx. 1 root root 57 Oct 11 14:47 dbus-org.freedesktop.nm-dispatcher.service -> /usr/lib/systemd/system/NetworkManager-dispatcher.service drwxr-xr-x. 13 root root 4.0K Oct 11 14:47 . drwxr-xr-x. 2 root root 4.0K Oct 11 14:48 multi-user.target.wants
Aun siendo una nueva forma de configuración y control, se mantendrá la compatibilidad con las anteriores formas de gestión.
Sus comandos principales son:
systemctl, ver y controlar el estado de systemd.
systemd-cgls, muestra de forma jerárquica los grupos de de control.
También incluye una utilidad gráfica para su configuración systemadm.
Ya que la versión de Red Hat 7 EL la beta no está disponible (esta a punto de caer). Se puede realizar la pruebas con Fedora 19 que ya lo tiene implementado y 100% funcional. Ya sabéis que Fedora es un proyecto OpenSource donde participa Red Hat y los avances significativos en Fedora son finalmente implementados en Red Hat.
Prácticamente todas las distribuciones han dado su aprobación a incluir systemd como su demonio de inicio por defecto, excepto Ubuntu que sigue apostando por su Upstart. Viendo la amplia aceptación de systemd, parece que se convertirá en el estándar de facto.
ya mismo empieza de nuevo el curso. Antes de volver a tratar la materia voy a poner esta entrada un poco offtopic. Un amigo le han traido un Iphone 3GS de Japón y quiere liberarlo. El offtopic es relativo, ya que los productos de Apple en el fondo usan una versión de sistema (IOS) que se basa en una versión BSD que es UNIX.
Vamos a ver un procedimiento para hacer un jailbreak y posteriormente liberarlo para que nos permita conectar con cualquier proveedor. NOTA: Este procedimiento tiene sus riesgos si no se sabe lo que hace podeis estropear el telefono de forma irreversible. Aplicar el procedimiento bajo vuestra propia responsabilidad.
Lo primero es comprobar el modelo:
IPHONE 3GS
IOS 5.1.1
Baseband 5.16.05 (Firmware modem)
Antes de hacer nada comprobar el número de serie del telefono si el telefono es de fabricación posterior a las semana 34 del 2011 NO APLICARLO. ¿Como lo podemos saber?
Serial Number: 88943XXXXXX
La tercera cifra nos indica el año y la cuarta y quinta la semana. Es decir nos encontramos ante un Iphone fabricado la semana 43 del 2009. Con lo cual entraria dentro de los modelos que se pueden liberar con este procedimiento. Es menor que los fabricados la semana 34 del 2011.
El nuestro tiene baseband 5.16.05, siguiendo el procedimiento lo subiremos a 6.15 y lo bajaremos a 5.13 que es el baseband necesario para liberarlo con la utilidad ultraSn0w.
Os pongo un video para que veais el procedimiento del Jailbreak:
Una vez bajado al baseband 5.13 vamos a Cydia e instalamos el UltraSn0w, el cual nos permitira poner la SIM de cualquier proveedor.