Ajouter de ligne dans un shell

Bonjour tous le monde,
que je vous explique mon « petit » projet
j’installe régulièrement des VMs de tests sur du débian sous vmware workstation pour mon boulot et chaque fois que j’en installe une, les première choses que je fait c’est d’installer différents package comme vim et changer sa conf, net-tools, modifier mon bashrc, … et donc je me disais que je pourrais gagné un peu de temps pour faire un script qui me ferais sa tout seul.
donc la première choses que j’ai fait c’est de faire les première install (facile) par contre modifier mon bashrc et la conf du vm c’est un peu plus complexe pour moi et c’est là que j’ai besoin de votre aide.
En gros mon bachrc ressemble à celui qui se trouve la [https://gist.github.com/guillaumevincent/b8f979d90686982ab442]

et donc le but serais de remplacer le bachrc ormis certaine ligne.
Quelqu’un aurais une idée SVP?

Ça vaut ce que ça vaut, mais, personnellement, je créer un template que je réplique quand je veux une nouvelle machine. Bon, après, c’est plus simple pour moi car mes machines virtuelles sont des conteneurs LXC.

tes machines virtuelles sont des docker? si c’est la cas oui c’est « assez » simple de les répliquer. Par contre quand les VMs ne sont ni des docker ni sur dans des conteneur LXD c’est un peu plus compliquer que je pensais. Mais en tous cas merci pour cette info

Ah, mais c’est une bonne idée, mais non, je ne sais pas me servir de Docker, je gère le bousin en ligne de commande avec libvirt.
Mais, il me semble que VMWare a des fonctionnalités de duplication de machine virtuelles.

Ah oui c’est bon j’ai trouvé, merci pour cette info, effectivement VmWare a la possibilité de cloner une VM. Donc je vais faire mon Template de VM et pouvoir faire mes différents clone avec. Cool merci pour cette info
Pour les docker, il y a pleins de tuto qui traine sur le net et si tu le souhaite il existe une « montagne » de docker (officiel ou pas) https://hub.docker.com/ a toi de faire ton choix et de le monté. :wink:

Sinon tu peux aussi passer par un fichier preseed, cf la doc. Tu peux effectuer certaines actions à la fin de l’installation, comme récupérer un fichier .bashrc accessible sur ton réseau local et le copier où tu veux, par exemple.
Cette méthode a le mérite d’être valable quelle que soit la technologie de déploiement (conteneurs, virtualisation, installations sur un serveur physique, etc.)

Quel .bshrc ? Celui de votre compte sur chacune des VM ? S’il s’agit bien de cela, pourriez-vous préciser quelles lignes vous voulez adapter, commenter, … ? Dans le script cité, qui est grosso-modo le script fourni par Debian + quelques alias et deux fonctions shell, je ne vois rien qui pourrait différer d’une VM à l’autre.

Je vous suggère de commencer par installer d’abordetckeeper avec votre VCS préféré ( git par défaut ), dans chaque VM. De cette manière, la configuration précise d’une VM se trouve dans un dépôt git ou mercurial ou …, et vous avez un journal de vos interventions sur ladite VM. Cela ne répond pas à la question telle que vous l’avez posée, mais vous ouvre un éventail de possibilités autrement plus large :smile:

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

I hope to die before I have to use Microsoft Word.
- Donald E. Knuth, 2001-10-02 in Tübingen

C’est exactement ce que je fais. Sur l’iso que j’ai faite, j’ai un répertoire avec les scripts que je veux lancer, dont un qui n’a pour fonction que de copier les fichiers de conf voulu à partir d’un répertoire conffiles. sur virtualbox, j’installe une machine debian sans api graphique en moins de 5mn, avec Gnome ça me prend environ 10 à 15mn. l’avantage c’est que les configuration matérielles peuvent etre différentes, alors qu’un clone reprend tout à l’identique.

Par contre, l’inconvénient de passer par une iso personnalisée (si je puis dire), c’est que tu dois reconstruire une iso à chaque montée de version Debian, non (comme le fait le projet Debian, ils reconstruisent une image à chaque montée de version mineure) ?

si la différence de version n’est pas majeure, une fois installé, tu fait un apt dist-upgrade et le tour est joué.
Sinon dans le cas d’une iso personnalisée c’est assez rapide de faire la nouvelle version:

  • Mount en loop une iso Debian de la version,
  • copier les fichiers dans un repertoire,
  • y mettre ton preseed.cfg qui n’a pas de raison de changer normallement (a vérifier pour le noyau indiqué le cas échéant),
  • y mettre tes répertoires de fichiers de confs, de scripts (toujours utiliser des répertoire spécifiques pour ne pas chercher tous les fichiers),
  • Vérifier ton isolinux/txt.cfg
  • faire la manip de checksum
  • créer l’iso avec xorriso ou geniso et le tour est joué.

Il faut 10 mn tout au plus.