salut, On Mon, Aug 25, 2025 at 12:55:52AM +0200, hamster wrote: > Je cherche a faire un paquet .deb mais je peine a trouver un tuto adapté
Voici le Makefile avec lequel je maintiens mon paquet
"belike-mc" dans lequel je garde trace de tous les paquets
que je juge utile:
APP = belike-mc
ROOT = root
CTRL = ${ROOT}/DEBIAN/control
VERSION != sed ' /^Version: /!d; s///; q ' ${CTRL}
SRC != find ${ROOT} -type f
DEB = ${APP}_${VERSION}.deb
${DEB} : ${SRC} ; LANG= dpkg-deb --build --root-owner-group ${ROOT} ${DEB}
dir:
mkdir ${ROOT}; cd ${ROOT};\
mkdir -p DEBIAN sbin bin usr/share/man/man1 usr/bin
* les fichiers qui doivent être installés doivent être copiés dans root
à la bonne place. eg.
root/bin/maintenance installe la commande /bin/maintenance
* le répertoire root/DEBIAN correspond aux repertoires debian dans les
sources des paquets. c'est ici que tu places tes fichiers control,
post*, pre* … le seul fichier obligatoire dans ce répertoire est
root/DEBIAN/control. pour en créer un, trouve un paquet qui ressemble
à ton besoin et fais apt show lepaquet > root/DEBIAN/control.
le tiens ressemblerait à
Package: belike-mc
Version: 0.0-17
Architecture: all
Section: belike
Maintainer: hamster
Depends: sshd, x11vncserver, fail2ban, tmux
Description: outils de maintenance de hamster
tous les outils dont hamster a besoin pour faire
des interventions à distance.
apres tu as juste à lancer la commande make et ton paquet est créé.
par contre:
> Pour configurer, ca nécessite de modifier des
> fichiers comme /etc/ssh/sshd_config et je vois nettement moins bien comment
> le faire.
Si tu veux utiliser debconf, je ne suis pas sur que ce soit recommandé
de modifier la conf d'autres paquets (je vais regarder le lien que
Charles nous a partagé)
Si par "configurer" tu entends jouer les bourins et écraser les fichiers
de configuration existants (au mépris de debconf et de possibles
modifications locales) (façon ansible par exemple), c'est très simple:
dans root/DEBIAN/postinst, tu fais un shell avec des heredocs. exemple:
<<% cat > /etc/ssh/sshd_config.d/git.conf
Match User git
X11Forwarding no
AllowTcpForwarding no
PermitTTY no
ExposeAuthInfo yes
ForceCommand /srv/git/sh
%
les heredocs sont de vrais templates puisque les variable expansions
y sont possibles
<<% cat
hostname: $(hostname)
home : $HOME
${extra+extra: $extra}
%
me donne
hostname: prometheus
home : /home/mc
tu peux proteger le boundary avec \ :
<<\% cat
hostname: $(hostname)
home : $HOME
${extra+extra: $extra}
%
me donne:
hostname: $(hostname)
home : $HOME
${extra+extra: $extra}
> En bref, si quelqu’un a un lien vers un tuto plus adapté a ce que je veux
> faire je suis preneur.
--
Marc Chantreux
Pôle CESAR (Calcul et services avancés à la recherche)
Université de Strasbourg
14 rue René Descartes,
BP 80010, 67084 STRASBOURG CEDEX
03.68.85.60.79
signature.asc
Description: PGP signature

