Nos encanta cuando los miembros de la comunidad presentan nuevas ideas o construcciones interesantes, y esta nos llamó la atención. Jacek Kowalczyk nos contactó en Twitter con una historia realmente interesante. Su enfoque para ajustar Kali para que sea específico para sus necesidades es exactamente por qué esta característica es tan importante para nosotros y queríamos compartir su historia más ampliamente.
La receta de construcción en vivo de Jacek fue para una versión liviana de Kali usando sus entornos de escritorio favoritos, incluidas algunas configuraciones de escritorio agradables. Pensamos que sería mejor dejar que Jacek compartiera contigo su proceso paso a paso, en sus propias palabras:
La historia de Jacek
Pasé mucho tiempo buscando una distribución de Linux que se adaptara mejor a mis necesidades. Quería un sistema muy liviano y probé un montón de variantes (Manjaro, Debian, Ubuntu, Sparky, MX Linux, Antix, Arch, Anarchy, Antergos, Archlabs, Bunsen Labs y muchas más). También probé diferentes entornos de escritorio tratando de encontrar el adecuado (Xfce, LXDE, Mate, LXqt, i3, openbox, fluxbox, jwm y IceWM). A pesar de estas pruebas exhaustivas, todavía no estaba satisfecho.
Empezó a quedar claro que para mis necesidades, necesitaba una versión móvil de Linux que no solo fuera liviana, sino que también tuviera un buen soporte de una empresa o comunidad. Hice una larga lista de mis distribuciones de Linux favoritas, pero todavía no podía decidirme.
Siempre había querido participar en un proyecto de código abierto y hacer un poco de desarrollo. Se me ocurrió que mi solución podría ser simplemente crear mi propia configuración:podría tomar una distribución de Linux, instalar un sistema operativo base y personalizarlo. Al principio, esto parecía una gran opción. Pero, ¿qué pasaría si tuviera que reinstalar? No quería tener que empezar de nuevo con la personalización de mi sistema instalado.
Sabía que quería crear una ISO que pudiera usar para instalar mi sistema en cualquier momento y en cualquier lugar. Sería perfectamente personalizado para mis necesidades recién salido de la instalación. Debido a esto, comencé a buscar formas de personalizar Debian, Arch o Manjaro. Esto me llevó a los scripts de configuración de compilación en vivo de Kali Linux. En este punto, supe que había encontrado mi solución.
Kali Linux es una distribución rodante basada en Debian y cuenta con un gran apoyo del equipo de Offensive Security, así como de una comunidad activa. También encontré scripts existentes para i3wm proporcionados por el equipo de Kali. Este fue mi punto de partida. Empecé a jugar con la lista de paquetes personalizados y luego con algunos archivos chroot para incluirlos en la ISO. En este proceso, generé más de 20 imágenes ISO hasta que tuve una con la que estaba feliz. Incluso ahora, sigo mejorando.
Permítanme explicar cómo creé dos variantes de Kali Linux:una con i3wm y otra con el administrador de ventanas Openbox.
Personalizar Kali Linux con i3wm u Openbox
Hice mi primera configuración basada en la documentación oficial de Kali para live-build-config. Este proceso fue:
- Instala Kali Linux. Usa cualquier imagen oficial de Kali.
- Instalar paquetes adicionales.
- Comience a piratear variantes de i3wm/Openbox. Inicialmente, los traté como dos compilaciones separadas, para mantener las cosas más limpias para mí. Estaba haciendo el doble de trabajo, pero era más fácil de rastrear.
[email protected]:~# apt install curl git live-build cdebootstrap
[email protected]:~# git clone git://gitlab.com/kalilinux/build-scripts/live-build-config.git
...
[email protected]:~# cd live-build-config/kali-config
[email protected]:~/live-build-config/kali-config# ls
common variant-e17 variant-i3wm variant-light variant-mate
variant-default variant-gnome variant-kde variant-lxde variant-xfce
Para i3, comencé haciendo mis modificaciones en la variant-i3wm existente. carpeta. Para Openbox, copié la variant-i3wm directorio a variant-openbox y le agregué mis modificaciones
[email protected]:~/live-build-config/kali-config# cp -r variant-i3wm variant-openbox
Con eso en su lugar, el siguiente paso fue editar el archivo kali-config//package-lists/kali.list.chroot para agregar los paquetes requeridos que quería. Mi lista de paquetes para i3wm se puede encontrar aquí y Openbox aquí. Todos los archivos de configuración para el livecd deben copiarse en kali-config/common/includes.chroot/root/ . Este directorio se utiliza ya que el entorno livecd se ejecuta como usuario raíz.
Todos los archivos de configuración para el sistema de archivos instalado deben copiarse en kali-config/common/includes.chroot/etc/skel/ . El /etc/skel El directorio se usa comúnmente como una plantilla para crear directorios de inicio de usuario, por lo que cada nuevo usuario tendrá de forma predeterminada los archivos que se encuentran en este directorio.
Nitrogen es una aplicación que se utiliza para configurar fondos de pantalla. El archivo .config/nitrogen/bg-saved.cfg define el fondo de pantalla establecido. El segundo archivo .config/nitrogen/nitrogen.cfg es el archivo de configuración principal de nitrogen y define los directorios donde se ubican las imágenes del fondo de pantalla. Modifiqué cada uno de estos para adaptarlos a mis preferencias. Con eso en su lugar, también modifiqué el applet del administrador de energía configurando .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml .
Además, hice una variedad de otras personalizaciones para personalizar un poco más el sistema. Sin entrar en demasiados detalles, fueron:
-
Para i3wm
-
kali-config/common/includes.chroot/root/.i3wm_conkyrc - Configuración para la herramienta conky. Este archivo conkyrc se basa en la configuración conky de Sparky Linux
-
kali-config/common/includes.chroot/root/.config/i3/config - El archivo de configuración para i3wm se generó para mí en el primer inicio de sesión en i3wm, y agregué algunos cambios para iniciar automáticamente otras herramientas como:nitrogen, clipit, control de volumen, y definí mis combinaciones de teclas para mis herramientas y acciones (apagado y reiniciar).
-
-
Para caja abierta
-
kali-config/common/includes.chroot/root/.openbox_conkyrc - configuración para conky. El openbox conkyrc es diferente al de i3wm. Este se basa en el archivo conkyrc de CrunchBang++.
-
kali-config/common/includes.chroot/root/.config/openbox/autostart - El archivo de inicio automático de Openbox define qué herramientas y aplicaciones deben iniciarse automáticamente con la sesión de Openbox:(nitrogen, clipit, volume vontrol, power manager, conky). También lo basé en el archivo de CrunchBang++.
-
kali-config/common/includes.chroot/root/.config/openbox/menu.xml - Esta es la configuración del menú de Openbox, que controla lo que sucede cuando hace clic derecho en el escritorio. Openbox es realmente único en el sentido de que este archivo está completamente controlado por el usuario y puede ejecutar scripts en él y hacer otras cosas como iniciar aplicaciones o incluso ver el estado de la aplicación del reproductor multimedia en el menú dinámico. Openbox es realmente poderoso.
-
kali-config/common/includes.chroot/root/.config/openbox/rc.xml - Temas y combinaciones de teclas del administrador de ventanas de Openbox. Esto es bastante común, pero agregué allí mis combinaciones de teclas para mis herramientas y acciones favoritas, como apagar y reiniciar.
-
kali-config/common/includes.chroot/root/.config/tint2/tint2rc - Configuración y lanzadores del panel Tint2. Aquí, agregué mis herramientas más utilizadas:terminal, editores, navegadores web. Para editar este archivo utilicé la aplicación gui tint2conf. Esta aplicación permite definir fácilmente los temas del panel tint2 y agregar lanzadores y otros elementos del panel.
-
Todos los cambios para i3wm se pueden encontrar aquí y Openbox se puede encontrar aquí.
También agregué la edición para desarrolladores de Firefox descargando el paquete de instalación y descomprimiéndolo en kali-config/common/includes.chroot/opt/firefox/ y luego agregó el cliente toxic tox a kali-config/common/includes.chroot/opt/toxic . Para iniciar Firefox, agregué también el script de shell kali-config/common/includes.chroot/usr/bin/firefox.sh .
#!/bin/bash
echo "Starting firefox developer edition"
/opt/firefox/firefox
- Crear los ISO
Con toda esa configuración fuera del camino, era hora de la parte divertida, ¡construir los ISO!
[email protected]:~/live-build-config/kali-config# ./build.sh --distribution kali-rolling --variant i3wm --verbose
[email protected]:~/live-build-config/kali-config# ./build.sh --distribution kali-rolling --variant openbox --verbose
Con esos en ejecución, solo tenía que esperar a que terminara el trabajo. En mi caso tardó unas 3 horas. Los archivos ISO que generó se guardaron en las imágenes subcarpeta.
Versión final
En la versión final de las configuraciones, decidí portar mi instalación de i3wm a mi compilación de Openbox. De esta manera, cuando construyo la configuración de Openbox, obtengo ambos administradores de ventanas, Openbox e i3. En la pantalla de inicio de sesión, puedo seleccionar la sesión que quiero. Obviamente, es mucho más fácil tener un ISO "perfecto" que tener que decidir entre los dos en el momento de la instalación.
Resumiendo
Nos encantó el enfoque de Jacek de identificar sus necesidades y luego no tener miedo de simplemente participar y hacer los cambios. Como muchas cosas en Linux, hacer una instalación personalizada puede ser intimidante y parecer un proceso muy complejo. Pero una vez que ingresa y comienza el proceso, es bastante sencillo y la cantidad de trabajo que puede ahorrarle es asombrosa.
Gracias a Jacek por todo su arduo trabajo y por estar dispuesto a compartirlo con la comunidad. Puedes ver qué más está haciendo Jacek en su página en su página de GitLab.