Búsqueda de sitios web

Administre de forma segura archivos de puntos en varias máquinas usando Chezmoi |


¿Cómo maneja sus archivos de puntos que se encuentran en múltiples servidores que administra o brinda soporte? Ya sea el .bashrc o el .zshrc que contienen sus preciados alias y otras configuraciones útiles, hasta otros innumerables archivos de puntos que hacen que su trabajo sea más fácil o que valga la pena, usted acepta que Se vuelve tedioso crearlos cada vez que se muda a un nuevo entorno o cuando tiene nuevas cargas de trabajo (servidores) en su clúster. Esta guía trae buenas noticias para todos aquellos que necesitan algo que les quite la molestia de crearlos una y otra vez.

Con Chezmoi, tiene la oportunidad de administrar sus archivos de puntos en múltiples máquinas de una manera bien ordenada, presentable y segura. Podrá administrar archivos de configuración en varias máquinas, por ejemplo, su computadora portátil macOS personal, su computadora de escritorio Ubuntu de trabajo y su computadora portátil Linux de trabajo. Y nos sumergimos profundamente en esta herramienta milagrosa y nos aseguramos de que sus archivos de puntos ya no sean una espina clavada en su trabajo. Por lo tanto, instalaremos y veremos cómo Chezmoi realiza el trabajo que se le ha encomendado y que se le ha encomendado realizar.

Las características clave de Chezmoi

Chezmoi resuelve muchos de sus problemas con archivos dot con las siguientes características:

  • Flexibilidad: puede compartir tanta configuración entre máquinas como desee, sin dejar de poder controlar los detalles específicos de la máquina.
  • Personal y seguridad: puede utilizar el sistema de control de versiones de su elección para administrar su configuración y puede escribir el archivo de configuración en el formato que elija. chezmoi puede recuperar secretos de 1Password, Bitwarden, gopass, KeePassXC, LastPass, pass, Vault, Keychain, Keyring o cualquier utilidad de línea de comandos de su elección.
  • Transparencia: chezmoi incluye modos detallados y de ejecución en seco para que pueda revisar exactamente qué cambios realizará en su directorio de inicio antes de realizarlos.
  • Es declarativo y robusto: usted declara el estado deseado de archivos, directorios y enlaces simbólicos en su fuente de verdad y chezmoi actualiza su directorio de inicio para que coincida con ese estado.
  • Es rápido y fácil de usar: chezmoi se ejecuta en fracciones de segundo y realiza la mayoría de las operaciones diarias con comandos de una sola línea, incluida la instalación, la inicialización y el mantenimiento de sus máquinas actualizadas.

Tenga en cuenta que necesita una cuenta de Git y un repositorio en cualquier sistema Git que prefiera (GitLab, GitHub, BitBucket, etc.)

Antes de eso, vale la pena señalar que Chezmoi se puede instalar de varias maneras, como se documenta en su página de GitHub.

Instale Chezmoi en varias distribuciones de Linux

Antes de instalar chezmoi, es prudente actualizar primero su sistema e instalar git.

###Install git on Centos###
sudo yum -y install git

###Install git on Ubuntu###
sudo apt install git -y

###Install git on Arch Linux###
sudo pacman -S git

Chezmoi se puede instalar en varias distribuciones de Linux de la siguiente manera.

Instalar en Alpine Linux

apk add chezmoi

Instalar en Arch Linux

sudo pacman -S chezmoi

Instalar en Guix Linux

guix install chezmoi

Instalar en NixOS Linux

nix-env -i chezmoi

Instalar en Void Linux

xbps-install -S chezmoi

Instalar Chezmoi en macOS

Instale Chezmoi en macOS usando Homebrew de la siguiente manera

brew install chezmoi

Instale Chezmoi usando binario de una línea

Otra opción para instalar chezmoi es utilizar el binario de una línea. De esta manera, se instalará el binario correcto para su sistema operativo y arquitectura en ./bin con un solo comando.

cd ~
curl -sfL https://git.io/chezmoi | sh
sudo cp -r ~/bin/chezmoi /usr/local/bin 

Configurar Chezmoi para gestionar archivos dot

Según su documentación, chezmoi almacena el estado deseado de sus archivos dot en el directorio ~/.local/share/chezmoi. Cuando ejecuta chezmoi apply, chezmoi calcula los contenidos y permisos deseados para cada archivo de puntos y luego realiza los cambios necesarios para que sus archivos de puntos coincidan con ese estado.

Para empezar a utilizar chezmoi, tendremos que inicializarlo de la siguiente manera:

$ chezmoi init
Initialized empty Git repository in /home/tech/.local/share/chezmoi/.git/

Esto creará un nuevo repositorio git en ~/.local/share/chezmoi con permisos 0700 donde chezmoi almacenará el estado fuente. chezmoi sólo modifica archivos en la copia de trabajo. Es su responsabilidad realizar cambios.

En caso de que ya tenga archivos de puntos que desee "incorporar" a chezmoi, puede administrarlo con el siguiente comando chezmoi

chezmoi add ~/.zshrc

Al hacerlo, se copiará ~/.zshrc a ~/.local/share/chezmoi/dot_bashrc. Si desea agregar una carpeta completa a chezmoi, debe agregar el argumento/cambiador -r después de agregar.

Después de agregar su archivo a chezmoi, puede editar el estado fuente de un archivo de esta manera:

chezmoi edit ~/.zshrc

Esto abrirá ~/.local/share/chezmoi/dot_zshrc en su $EDITOR. Para mí, abrirá el archivo usando el editor vi ya que ese es el editor predeterminado. Puede cambiar esto editando a qué apunta la variable de entorno $EDITOR. Haz algunos cambios y guárdalos.

Lo bueno de chezmoi es que puedes ver qué cambios haría chezmoi antes de guardar el archivo de esta manera:

chezmoi diff

Una vez que esté satisfecho con las ediciones, puede aplicar los cambios de la siguiente manera:

chezmoi -v apply

Finalmente, abra un shell en el directorio fuente, confirme sus cambios en el repositorio git local y salga. Al emitir "chezmoi cd", accederá al directorio ~/.local/share/chezmoi.

chezmoi cd
git add dot_zshrc
git commit -m "Add .zshrc"
exit

Crear un archivo de configuración

chezmoi init” puede crear un archivo de configuración automáticamente, si aún no existe uno. En su repositorio, cree un archivo llamado “.chezmoi..tmpl” donde el formato es uno de los formatos de archivo de configuración admitidos (por ejemplo, json, toml o yaml), luego chezmoi init ejecutará esa plantilla. para generar su archivo de configuración inicial de la siguiente manera. Elija amablemente el formato de archivo que prefiera.

$ chezmoi cd

##For toml file format##
touch .chezmoi.toml.tmpl 

##For json file format##
touch .chezmoi.json.tmpl

##For yaml file format##
touch .chezmoi.yaml.tmpl

Después de crear el archivo, ejecute chezmoi init para crear el archivo de configuración “~/.config/chezmoi/chezmoi.toml”. Tenga en cuenta que la extensión cambiará según el formato de archivo que eligió anteriormente.

chezmoi init

Usando chezmoi para administrar archivos dot en múltiples máquinas

Para poder acceder a sus archivos de puntos locales en diferentes computadoras, necesitamos tener un lugar central donde se guardan sus archivos. Chezmoi trabaja con Git. Proceda a clonar el repositorio de git en ~/.local/share/chezmoi en un servicio Git alojado, por ejemplo GitHub, GitLab o BitBucket.

chezmoi cd
git init
git commit -m "dotfiles commit"
git branch -M main
git remote add origin https://github.com/JohnKibe/dotfiles.git
git push -u origin main

Puede llamar a su repositorio con cualquier nombre, pero muchas personas prefieren llamar a sus repositorios de archivos de puntos archivos de puntos. A partir de ahí, configure chezmoi en una computadora separada como se cubrió en los pasos anteriores y luego clone su repositorio de git de la siguiente manera:

Nota: Debe haber creado un repositorio con un nombre de su elección, como dotfiles.

$ chezmoi init https://github.com/JohnKibe/dotfiles.git

Cloning into '/home/tech/.local/share/chezmoi'...
Username for 'https://github.com': <your-username> 
Password for 'https://<your-username>@github.com': 
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.

Esto verificará el repositorio y los submódulos y, opcionalmente, creará un archivo de configuración chezmoi para usted. No realizará ningún cambio en su directorio de inicio hasta que ejecute:

chezmoi apply

Alternativamente, puede extraer los últimos cambios de su repositorio y ver qué cambiaría, sin aplicar los cambios ejecutando:

chezmoi source pull -- --rebase && chezmoi diff

Este comando ejecuta git pull –rebase en su directorio de origen y chezmoi diff luego muestra la diferencia entre el estado de destino calculado desde su directorio de origen y el estado real.

Una vez que realice cambios en los archivos del repositorio de git, puede iniciar sesión en cualquiera de sus máquinas, extraer y aplicar los últimos cambios desde su repositorio con el siguiente comando:

chezmoi update

Y con eso, ahora es sencillo tener todos sus archivos de puntos en cualquier máquina en la que desee tenerlos. Ya no tendrás que escribir nuevos archivos de puntos en cada nueva máquina en la que te encuentres. Tu trabajo ahora debería ser tan simple como escribir comandos chezmoi.

Utilice Bitwarden para guardar sus secretos

chezmoi incluye soporte para Bitwarden usando la CLI de Bitwarden para exponer datos como una función de plantilla. Si no tiene Bitwarden instalado, puede usar Snapcraft para instalarlo fácilmente. Además, debes tener una cuenta de Bitwarden para poder utilizar sus servicios.

Instale Bitwarden CLI usando snap o npm de la siguiente manera

$ sudo snap install bw
##or using npm##
$ npm install -g @bitwarden/cli

Entonces puedes iniciar sesión en tu cuenta.

$ bw login
? Email address: <your-email-address>
? Master password: [hidden]
You are logged in!

Desbloquee su bóveda Bitwarden:

bw unlock

Configure la variable de entorno BW_SESSION, según las instrucciones.

###For Linux###
export BW_SESSION="2cvamm4lAfeH+Ztlsdtwerhwrtjwt3qEbTqsdfasgry36ceIuY7/lfC1pVS7esIHDFoITq7DIy3V3xTpFK=="

###For PowerShell###
$env:BW_SESSION="2cvamm4lAfeHd+ZtlqpXnGmF93qEbTqfa3hbQJo8y36ceIuY7/lfC1pVS7esIHDFoITq7DIy3V3xTpFK=="

Los datos estructurados de “bw get” están disponibles como la función de plantilla bitwarden en sus archivos de configuración, por ejemplo:

username = {{ (bitwarden "item" "GeeksAdmin").login.username }}
password = {{ (bitwarden "item" "StrongPassword").login.password }}

Observaciones finales

Lo que hemos cubierto hasta ahora en la guía es sólo una gota en el mar. Con Chezmoi, puede utilizar sus herramientas de seguridad de contraseñas favoritas como Bitwarden, gopass y KeePassXC, entre otras, para proteger sus archivos de puntos más privados. Para obtener una visión más profunda de lo que chezmoi puede hacer, consulte su guía práctica detallada y experimente más funciones que esta increíble herramienta puede ofrecer.

Artículos relacionados: