Paquet .deb et modification des alias

Bonjour,
j’essaye d’apprendre à créer des paquets .deb

je commence à comprendre le fonctionnement général
pour mes besoins, j’ai besoin que mon paquet rajoute un alias dans le bashrc de tous les utilisateurs existants mais aussi à ceux qui seront créées

===
Pour les nouveaux, je pense qu’il faut modifier le " /etc/skell.d/.bashrc " (je serai le faire via DEBIAN/postinstall
Mais je me demande si c’est très propre ?

===
Par contre pour les existants… J’ai envisagé un tableau bash qui récupère les comptes dans home et rajoute la ligne dans chaque… mais je me demande s’il n’y a pas plus simple…

==============

Le but, customiser un programme existant.
Soit pgExistant livré par débian
J’ai collé un alias style alias monScriptPerso=pgExistant
(monScriptPerso, ne fait que tester si un répertoire de configuration perso existe, le gère et lance ensuite le pgExistant)
Mais pour que ça marche , il faut que cet alias soit soit dans le .bashrc de tous les utilisateurs (anciens et à venir)

=====

En espérant avoir qq pistes d’aide.

Merci

Bonjour crustyourmind

Tu devrais plutôt créer un fichier /etc/skel/.bash_aliases pour les futurs utilisateurs,
et un fichier ~/.bash_aliases pour les utilisateurs déjà existants,
car ce fichier sera “sourcé” par les lignes de commande suivantes
qui sont déjà présentes dans le fichier ~/.bashrc

…
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
…

Par contre il faut faire attention, selon la distrib ces lignes peuvent éventuellement être commentées par défaut dans le .bashrc.

Bon là je n’ai que Cygwin sous la main, ça vaut ce que ça vaut, mais j’ai:

# Aliases
#
# Some people use a different file for aliases
# if [ -f "${HOME}/.bash_aliases" ]; then
#   source "${HOME}/.bash_aliases"
# fi

Bon je ne comprends pas bien l’intérêt de les commenter par défaut (si on n’utilise pas de fichier .bash_aliases alors normalement ce fichier n’existe pas), mais on ne sait jamais.

Merci pour vos réponses !

Je vais utiliser cette voie

Par contre pour les utilisateurs existants, il faut je récupère leur compte (grep bash /etc/passwd | cut -f1 -d: ), je présume et copie le .bash_aliases à chacun
Le hic c’est que ce sera fait avec les droits root. Donc il faut ensuite que je récupére leur id et associe les bons droits, c’est bien cela ?

Bonsoir

Avec ça, le fichier /etc/skel/.bash_aliases sera copié
dans chaque répertoire personnel dans lequel un fichier .bashrc sera déjà présent.

Une fois la copie du fichier .bash_aliases créée,
les propriétés propriétaire et groupe seront adaptées en fonction du compte utilisateur.

#! /bin/sh

# Pour chaque répertoire existant dans le répertoire /home
# Teste la présence d'un fichier .bashrc
#   si un fichier .bashrc est présent
#       - copie /etc/skel/.bash_aliases dans ce répertoire
#       - change le propriétaire et groupe du fichier copié
#           en fonction du propriétaire et groupe du répertoire.

repSkel="/etc/skel/"
fichAliases=".bash_aliases"

tstBashrc() {
    if [ -f "${1}/.bashrc" ]; then
        cp  "${repSkel}${fichAliases}" "${1}"
        chown $(stat --format='%u:%g' "${1}") "${1}/${fichAliases}"
    fi
}

find /home -maxdepth 1 -type d | \
while read myDir; do
    tstBashrc "${myDir}"
done

Le fichier source /etc/skel/.bash_aliases devrait avoir les droits 644 (rw- r-- r–)

donc, si besoin : chmod 644 /etc/skel/.bash_aliases


Mais bon, si l’utilisateur a déjà un fichier .bash_aliases, ça va écraser le fichier existant.

Si tu veux imposer cet alias à tous les utilisateurs de la machine,
tu pourrait le mettre dans le fichier /etc/bash.bashrc