Compare commits

11 Commits
alpha ... main

Author SHA1 Message Date
3e6ca2088b Ajouter ~/.gnupg/cmdgnupg.txt 2025-05-04 19:30:31 +00:00
53dd0ef69b Ajouter ~/.gnupg/gpg-agent.conf 2025-05-04 19:29:41 +00:00
6aad50f543 Ajouter etc/portage/make.conf.chatgpt.txt 2025-05-04 19:10:58 +00:00
650745f5ae Ajouter signature gpg 2025-05-04 18:08:38 +00:00
24642747e0 Actualiser cmd.txt 2025-05-04 18:05:07 +00:00
ce05c5b132 Ajouter cmd.txt 2025-05-03 17:22:30 +00:00
de75fd135b Actualiser etc/portage/cmd.txt 2025-05-01 12:16:49 +00:00
318eb97c3f Ajouter etc/vsftpd/vsftpd.conf 2025-05-01 12:13:14 +00:00
ff138b67b6 Actualiser etc/portage/cmd 2025-05-01 12:12:07 +00:00
1a0bc53824 Ajouter etc/portage/cmd 2025-05-01 12:11:00 +00:00
26d3df8584 Ajouter etc/portage/make.conf 2025-05-01 12:10:18 +00:00
8 changed files with 218 additions and 0 deletions

8
cmd.txt Normal file
View File

@@ -0,0 +1,8 @@
mkdir -p /etc/portage/sets
nano /etc/portage/sets/install-minimal
emerge --ask @system @install-minimal
emerge --sync
emerge -avuDN @world
emerge --depclean
revdep-rebuild

80
etc/portage/cmd.txt Normal file
View File

@@ -0,0 +1,80 @@
mkdir -p /mnt/binhost/packages
chown portage:portage /mnt/binhost/packages
emerge --ask net-ftp/vsftpd
nano /etc/vsftpd/vsftpd.conf
rc-service vsftpd start
rc-update add vsftpd default
#########
étape 2
1. Synchroniser ton système (si ce nest pas déjà fait)
emerge --sync
emerge --ask --verbose --update --deep --newuse @world
(Important pour être sûr que tu compiles avec les derniers ebuilds.)
2. Compiler tous les paquets du système en créant les binaires
Là, il y a deux grandes options :
Option A - Minimal (ce qui est nécessaire pour un système de base)
Compiler tout ce qui est dans @system :
emerge --ask --buildpkgonly @system
Cela compile le système de base (glibc, gcc, bash, portage, etc.) — ce dont tu as besoin pour démarrer une installation Gentoo minimale.
Option B - Complet (ton système entier actuel)
Compiler tout ton @world (système + logiciels installés) :
emerge --ask --buildpkgonly @world
Cela créera des paquets binaires pour tout ce qui est installé sur ton conteneur.
(Plus lourd, mais très complet si tu veux cloner ton environnement.)
3. Commandes utiles
Forcer la création des paquets même si tout est à jour :
emerge -e --buildpkgonly @system
(-e = "empty tree" : il fait comme si rien n'était installé → tout recompile)
Ou si tu veux tout (world) :
emerge -e --buildpkgonly @world
4. Vérification
Tous tes fichiers .tbz2 ou .pkg.tar.xz (selon ton format) seront dans :
/mnt/binhost/packages/
et disponibles via ton serveur FTP.
Tu peux lister ce quil y a :
ls /mnt/binhost/packages/*/*.tbz2
5. (Important) Notes sur USE et CPU
Les binaires que tu génères seront optimisés pour le CPU du conteneur (ou les options CFLAGS et CHOST de ton make.conf).
Si tu veux que tes binaires soient compatibles avec dautres machines Alpha, fais attention aux CFLAGS.
Par exemple, mets des options plus génériques (-O2 -pipe sans -march=native) dans /etc/portage/make.conf.
Exemple minimal dans make.conf pour compatibilité :
CFLAGS="-O2 -pipe"
CXXFLAGS="${CFLAGS}"
Récap
Objectif Commande
Compiler juste le système de base emerge --buildpkgonly @system
Compiler tout le système installé emerge --buildpkgonly @world
Forcer recompilation complète emerge -e --buildpkgonly @system ou @world
Veux-tu que je te prépare aussi un emerge --buildpkgonly plus sélectif pour ne compiler que ce qui est nécessaire pour bootstrap une Gentoo (stages 1/2/3) par exemple ?
(Ça évite de perdre du temps sur des paquets inutiles genre X11, KDE, etc.) 🚀

18
etc/portage/make.conf Normal file
View File

@@ -0,0 +1,18 @@
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-march=znver3 -O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
MAKEOPTS="-j2"
FEATURES="buildpkg"
PKGDIR="/mnt/binhost/packages"
# NOTE: This stage was built with the bindist Use flag enabled
# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C.utf8

View File

@@ -0,0 +1,51 @@
# --------------------------------------------------------------------
# Paramètres de compilation classiques
# --------------------------------------------------------------------
# Optimisations de compilation sûres pour tout type de CPU
CFLAGS="-O2 -pipe"
CXXFLAGS="${CFLAGS}"
# Utilisation des jobs parallèles
MAKEOPTS="-j$(nproc)"
# Architecture ciblée
CHOST="x86_64-pc-linux-gnu"
# Sélection du profil
ACCEPT_KEYWORDS="amd64"
# Choix du miroir Gentoo (à personnaliser si besoin)
GENTOO_MIRRORS="https://distfiles.gentoo.org"
# --------------------------------------------------------------------
# Gestion des paquets binaires
# --------------------------------------------------------------------
# Activer création de paquets binaires compressés
FEATURES="buildpkg buildpkg-signing"
# Compression rapide pour les binaires
BINPKG_COMPRESS="zstd"
# Indiquer la clé utilisée pour signer les paquets
BINPKG_GPG_SIGNING_KEY="gentoo@admin.alto.im"
# Dossier où stocker les paquets binaires
PKGDIR="/mnt/binhost/packages"
# --------------------------------------------------------------------
# Options diverses utiles
# --------------------------------------------------------------------
# Eviter d'utiliser des USE trop spécifiques si tu veux des binaires portables
USE="-bindist"
# Eviter des surprises avec les alertes de news
ACCEPT_LICENSE="*"
# --------------------------------------------------------------------
# Important :
# Ne pas mettre getbinpkg, binpkg-verify ou binpkg-signature sur le binhost
# Ceux-ci ne doivent être présents QUE sur les clients qui consomment les binaires
# --------------------------------------------------------------------

9
etc/vsftpd/vsftpd.conf Normal file
View File

@@ -0,0 +1,9 @@
listen=YES
anonymous_enable=YES
local_enable=NO
write_enable=NO
anon_root=/mnt/binhost/packages
anon_other_write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_umask=022

47
signature gpg Normal file
View File

@@ -0,0 +1,47 @@
Signer proprement les paquets binaires (propre mais plus complexe)
Si tu veux faire les choses à la Gentoo (propre + sécurisé) :
Il faut générer une clé GPG dédiée sur ton serveur binhost.
Configurer Portage pour signer tous les paquets binaires.
Distribuer la clé publique aux clients pour qu'ils puissent vérifier.
📋 Détail rapide pour Option 2 (Signer binaires)
Sur ton binhost :
Créer une clé GPG spéciale pour les binaires
gpg --full-generate-key
Type : RSA 4096 bits par exemple.
Pas besoin d'expiration si tu veux.
Exporter ta clé publique
gpg --armor --export ton@email.com > /etc/portage/gnupg/portage.gpg
Configurer Portage pour signer automatiquement
Dans /etc/portage/make.conf sur ton binhost :
FEATURES="buildpkg buildpkg-signing"
BINPKG_GPG_SIGNING_KEY="ID_DE_TA_CLE_GPG"
(Tu trouves lID de ta clé avec gpg --list-keys.)
Sur le client, importer ta clé publique :
gpg --import /chemin/vers/portage.gpg
Puis forcer la vérification GPG :
FEATURES="getbinpkg binpkg-verify binpkg-signature"
👉 Résultat : signature vérifiée automatiquement.
🚀 Résumé ultra clair
Ce que tu veux Que faire
Rapidement installer via FTP sans prise de tête FEATURES="getbinpkg -binpkg-signature -binpkg-verify" sur client
Installer proprement avec sécurité GPG Créer clé GPG + signer paquets + distribuer clé publique

1
~/.gnupg/cmdgnupg.txt Normal file
View File

@@ -0,0 +1 @@
gpg --sign --local-user gentoo@admin.alto.im /etc/portage/make.conf

4
~/.gnupg/gpg-agent.conf Normal file
View File

@@ -0,0 +1,4 @@
allow-preset-passphrase
pinentry-program /usr/bin/pinentry-curses
default-cache-ttl 31536000
max-cache-ttl 31536000