Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3e6ca2088b | |||
| 53dd0ef69b | |||
| 6aad50f543 | |||
| 650745f5ae | |||
| 24642747e0 | |||
| ce05c5b132 | |||
| de75fd135b | |||
| 318eb97c3f | |||
| ff138b67b6 | |||
| 1a0bc53824 | |||
| 26d3df8584 |
8
cmd.txt
Normal file
8
cmd.txt
Normal 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
80
etc/portage/cmd.txt
Normal 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 n’est 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 qu’il 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 d’autres 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
18
etc/portage/make.conf
Normal 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
|
||||||
51
etc/portage/make.conf.chatgpt.txt
Normal file
51
etc/portage/make.conf.chatgpt.txt
Normal 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
9
etc/vsftpd/vsftpd.conf
Normal 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
47
signature gpg
Normal 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 l’ID 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
1
~/.gnupg/cmdgnupg.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
gpg --sign --local-user gentoo@admin.alto.im /etc/portage/make.conf
|
||||||
4
~/.gnupg/gpg-agent.conf
Normal file
4
~/.gnupg/gpg-agent.conf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
allow-preset-passphrase
|
||||||
|
pinentry-program /usr/bin/pinentry-curses
|
||||||
|
default-cache-ttl 31536000
|
||||||
|
max-cache-ttl 31536000
|
||||||
Reference in New Issue
Block a user