Repository navigation
Operations APT Repository FR
À quoi ça sert. apt.secubox.in est le dépôt Debian signé d'où les box se mettent à jour. Cette page décrit son organisation, comment un paquet y entre, pourquoi une version doit toujours monter, et comment la clé de signature est déverrouillée.
| Élément | Valeur |
|---|---|
| Outil | reprepro |
| Suites |
trixie (base actuelle depuis l'alpha 9) et bookworm (figée, n'évolue plus) |
| Architectures |
arm64, amd64 et source
|
| Composant | main |
| Signature | chaque suite déclare SignWith ; les clients vérifient la signature |
| Schéma de version |
X.Y.Z-N~trixie1 (ou ~bookworm1) |
Côté client :
curl -fsSL https://apt.secubox.in/install.sh | sudo bash
sudo apt install secubox-lite # ou secubox-isp, secubox-fullLe script installe le trousseau et ajoute deb [signed-by=/usr/share/keyrings/secubox.gpg] https://apt.secubox.in trixie main. Voir Profils pour le contenu de chaque profil et Trixie pour le changement de base.
scripts/apt-publier.sh publie un ou plusieurs .deb en une commande :
scripts/apt-publier.sh [--force] secubox-exemple_1.2.3-1~trixie1_all.debDans l'ordre :
-
Refuse une version inférieure ou égale à celle du dépôt (sauf
--force). Un paquet refusé rend le code de sortie non nul même si les autres sont publiés : c'est presque toujours le signe d'une divergence entre une branche et le code déployé. -
Ne publie jamais un aperçu (
~auroradans la version) : la mise à jour automatique l'installerait la nuit sur toutes les box. - Vérifie que la clé peut signer. Quand elle est au Coffre, ouvre une session de signature de 10 minutes ; si le Coffre est scellé, s'arrête avant de toucher au dépôt.
- Sauvegarde
db,distsetconf, puis lancereprepro ... includedeb <suite> *.deb. - Fait un
reprepro exportexplicite : unincludedebqui échoue sur un paquet met la base à jour sans ré-exporter, etInReleaseresterait ancien. - Vérifie que
InReleaseest signé par la clé attendue du dépôt.
Le chemin CI (publish-packages.yml) fait de même avec reprepro -b repo includedeb <suite> <deb> pour chaque artefact d'une release, puis exporte le trousseau (.gpg binaire et .asc armuré) et install.sh.
Règle : source modifiée et déployée = version montée. Ne jamais déployer un paquet modifié sous une version inchangée : le dépôt garderait l'ancien fichier et les box ne verraient jamais le correctif. Patch pour une correction, médiane pour une fonctionnalité, majeure pour une release.
| Outil | Comportement |
|---|---|
reprepro includedeb |
refuse une version inférieure : le dépôt est protégé si on construit par erreur une branche périmée |
dpkg -i |
l'accepte en silence : installer un build périmé fait régresser la box |
Avant de construire et déployer un paquet, comparer la première ligne de son debian/changelog à la version du dépôt :
reprepro -b <base> list trixie secubox-<module>Si le dépôt est plus haut, la branche est périmée : la rebaser d'abord.
La clé est protégée par une phrase de passe qui doit déjà être dans la mémoire de gpg-agent (reprepro tourne sans terminal ; sinon : Pinentry: Inappropriate ioctl for device). La phrase est un secret du Coffre, jamais un fichier :
- Le Coffre est scellé au démarrage ; la connexion d'un administrateur l'ouvre.
-
secubox-depot-coffre.timerlance chaque minutecoffrectl depot deverrouiller --depuis-coffre --si-ouvert: Coffre scellé, rien ; clé qui signe déjà, rien ; sinon la phrase est lue au Coffre et donnée àgpg-agent(TTL d'un an). - Après un redémarrage de l'hôte du dépôt, il suffit de se connecter en administrateur : dans la minute, la signature refonctionne pour toutes les suites.
Vérifier l'état :
coffrectl depot etat
systemctl list-timers secubox-depot-coffre.timerSi un export échoue parce que la clé est verrouillée, relancer l'unité de déverrouillage (systemctl restart secubox-depot-deverrouille.service) plutôt que de poser la phrase à la main : un réglage manuel écrase la bonne valeur.
Sessions de signature limitées : coffrectl depot session --minutes N (N au plus 60) puis coffrectl depot fin.
| Symptôme | Cause | Remède |
|---|---|---|
NO_PUBKEY à l'apt update
|
trousseau non binaire ou absent de signed-by=
|
le réinstaller avec install.sh (le .gpg publié est binaire) |
paquet refusé <= dépôt
|
version non montée, ou branche périmée | monter la version dans debian/changelog, ou rebaser |
Pinentry: Inappropriate ioctl for device |
clé verrouillée après redémarrage | se connecter en administrateur, voir plus haut |
| index du dépôt figé | job de publication sauté ou sans le secret de signature | lire le journal du job publish ; un job sauté ne devient pas rouge |
Operations-Release-Process-FR · Operations-Runbook-FR · Profils · Trixie · Installation-FR · Operations-APT-Repository
SecuBox-Deb · Licence : CMSD-1.0 (Source-Disclosed)
Contact : CyberMind · Gérald Kerma · Notre-Dame-du-Cruet, Savoie
Hardware-Matrix · Acknowledgments · Wiki v2.5.0
SecuBox | FR | DE | 中文 | v3.0.0-alpha.12
- Home
- Architecture
- Trixie | FR
- Hardware-Matrix
- Roadmap
- Profils
- Modules-by-Profile 📦 lite / isp / full : ce qu'embarque chaque profil | FR
- Modules-by-Family 🗂️ les modules par famille | FR
- DNS-Filtrage
- Multiboot ⭐
-
Live-USB-VirtualBox
run-vbox.sh -
Live-USB-QEMU
run-qemu.sh - Live-USB | FR | DE | 中文
- Auto-Load 🚚 boxes sans écran | FR
- First-Boot-Premier-Pas 🧭 premier pas | FR
- Installation | FR | DE | 中文
- ARM-Installation | FR | DE | 中文
- Netboot-Install 🔧 MOCHAbin netboot + signed install
- ESPRESSObin | FR | DE | 中文
- Eye-Remote 📡
- Android-ToolBox 📱 one-tap R3
- Browser-Extension 🧩 cartographie
- QEMU-ARM64 🖥️
- Configuration | FR | DE | 中文
- Troubleshooting | FR | DE | 中文
- ToolBox 👁️ cabine numérique · rapport vie privée
- Anti-Track 🛡️ bloque · empoisonne · anonymise
- Billets 📮 micro-blog gateway · média vignette zoomable
- Messagerie 💬 mur public, messages privés, radio/Billets/BBS centralisés
- Identite-SBX-OS 🪪 personnes, appareils, comptes liés, connexion passive
- Metalogue 🕸️ OSINT suite · Maigret + SpiderFoot (Maltego-style)
- WAF 🛡️ pare-feu applicatif autonome (nft direct, hors-HTTP) | FR
- SOC 🎯 vues rassemblées | FR
- Actor-Intelligence 🕵️ acteurs, échelle de réponse | FR
- NAC 🔐 contrôle d'accès réseau | FR
- Webfilter 🧹 filtrage DNS par catégories et par appareil | FR
- Interceptor 🎯 supervision de l'inspection (sbxmitm, sbxwaf, nDPI) | FR
- Network-Modes 🌐 modes réseau, WAN, interfaces | FR
- Caches-and-Mirrors 💾 caches de la box et dépôt APT local | FR
- Portal 🚪 portail de session | FR
- Certificates 📜 certificats | FR
- Metrics 📊 mesures, sites, cartes, rapport PDF | FR
- SBX-OS 🧩 le Hall en application | FR
- Aurora-Design 🎨 design system admin | FR
- Admin-Panels-Gallery 🖼️ galerie des 37 pages | FR
- ThreatMesh 🛰️ blocklist souveraine (feeds + mesh, sans CAPI) | FR
- Modules 🇬🇧
- MODULES-FR 🇫🇷
- MODULES-DE 🇩🇪
- MODULES-ZH 🇨🇳
-
Operations-Runbook 🛠️ incidents | FR
-
API-Reference | FR | DE | 中文
- Multi-Agent-Worktree — un agent · une issue · une branche