Linux - Gestione configurazione su piu macchine

Ad oggi non sono ancora riuscito a trovare un giusto compromesso per poter velocemente migrare da un pc ad un altro mantenendo le mie configurazioni principali senza impazzire.

Del tipo, per lavoro ho un portatile a noleggio che ogni 3/5 anni cambio e ogni volta la cosa e’ super stressante in quanto devo installare il software necessario, quello di mio gradimento e tutte le configurazioni, con ovvi problemi di dimenticarmi dipendenze varie ecc…

Al momento la soluzione che ho trovato e’ stata quella di creare una repo Git in cui metto tutti file di configurazione divisi in modo da poterli linkare con stow, questo risolve molti problemi per le configurazioni ma per dire non risolve il problema delle dipendenze e a volte devo creare diverse cartelle per diversi pc del tipo i3wm-desktop e i3wm-laptop i due differiscono solo per il fatto che al portatile collego piu monitor ed al fisso no.

Dopo tutta questa filippica mi piacerebbe sapere se, vi siete posti il problema e nel caso quale e’ stata la vostra soluzione.

Un repo che contiene un mio “framework” (due righe) per installarmi tutto scritto in Fennel cosi’ posso lanciarlo direttamente dall’editor, senza dipendenze terze. Perche’ l’editor? Perche’ ha gia’ Lua + libuv ed e’ tutto cio’ che mi serve, senza contare che dove vado senza? Sono arrivato a questa soluzione perche’ stanco di script sh o GNU Stow. Finisci per avere sempre qualche limite e non e’ mai nella vita portabile al 100%, per non parlare di Windows.

1 Like

Per adesso non ho nulla di automatico, mi salvo giusto i dotfiles come fai anche tu in una cartella git e un file org con i comandi da eseguire per effettuare una re-installazione. Non utilizzo neanche stow. Semplicemente eseguo una serie di ln -s per impostarmi i dotfiles. Super banale.

Proprio di recente mi è capitato di re-installare arch sulla macchina personale. Ci ho messo 2-3 orette massimo. Tempo che forse sì potrei diminuire automatizzando meglio, ma che tutto sommato non è poi così tanto.

Il mio approccio parte all’origine del problema: cerco di utilizzare meno software possibile, in modo da evitare questa tipologia di problemi. Meno file di configurazione, meno cose da fare, meno programmi da installare. È sorprendente quante cose si possono fare scegliendo minuziosamente il software da utilizzare.

L’approccio più robusto che ho visto fino adesso per fare queste cose è utilizzare nixOS con i flake. Ti permettono veramente di configurare un intero sistema da zero (compresa installazione), ma prima devi definire bene la tua configurazione. Detto questo ancora non ci ho mai provato a farlo, anche perché significherebbe avere nixOS come distribuzione, mentre per adesso preferisco arch.

1 Like

Non conoscevo Fennel, carino, me lo segno!

Anche io soppeso bene ogni software che uso e tendo ad usarne il meno possibile, come per i pacchetti che uso in emacs, proprio per quello che dicevi mi affascina un sacco il discorso nixOS e mi ci devo mettere per bene a fare dei test e periodi di prova.

neanche io conoscevo Fennel … molto interessante

My 2 cents. Ho provato nixOS piu’ volte. Concettualmente e’ la cosa piu’ bella del mondo. In pratica diventa cosi’ complesso che vivi per scriverti la conf del sistema. Per non parlare che i path non sono quelli standard con tutti i problemi che ne derivano. Per esempio, almeno ai tempi, dovevo linkarmi a mano (ln -s) i plugin di OBS per farli funzionare, stessa cosa per Zathura. Inoltre nix, il linguaggio, e’ OCaml non tipizzato che non ce l’ha fatta, nonostante io sia fan degli ML, non mi piace per nulla.

Buon pomeriggio,
consiglio ansible per descrivere lo stato finale della configurazione di una macchina fisica o di una intera infrastruttura, magari abbinato a terraform per il deploy di eventuali vm sui principali hypervisors.
Entrambi i prodotti (ansible sopratutto) sono ben documentati ed è difficile imbattersi in casi d’uso completamente nuovi.

2 Likes

L’uso di ansible la vedo piu utile per la gestione di una serie di vm o server fisici, usarla per la configurazione di 1/2 pc la vedo un po too much !!!

Anche se in ottica hacker, usare un qualcosa per qualcosa che si discosta dall’uso usuale, non e’ male, magari ci faccio un pensierino anche solo per skillarmi un po di piu con queste tecnologie :crazy_face:

p.s. Terraform, serve per interfacciarsi con delle infrastrutture virtuali non posso deployare il mio sistema , come sistema primario, in un pc fisico !!!

Infatti l’uso di terraform lo specificavo per il deploy di vm. Ad esempio io utilizzo varie vm (su cluster proxmox), alle quali mi collego tramite guacamole per avere sottomano le mie configurazioni ovunque mi trovi ad avere un browser connesso.
Come giustamente hai detto l’uso di ansible leggermente fuori contesto è un buon modo per familiarizzare con un prodotto che è molto utilizzato in ambito enterprise (incredibilmente anche in Italia!)

1 Like

si infatti anche io l’ho iniziato ad usarlo per gestire le mie vm/ct che ho qua a lavoro su cluster proxmox !!!

Anche se un po OT come mai usi guacamole e non la console di proxmox … io la trovo super utile !!!

Sperando di non farci bannare subito…
Con guacamole esposto su ip pubblico elimino la necessità di utilizzare una vpn mantenendo un buon livello di sicurezza. Guacamole supporta svariati id backend (AD, CAS, OpenID,…). Inoltre supporta nativamente mfa con otp standard.

1 Like