Installer HDDS sur Linux
Ce guide couvre l'installation de HDDS depuis les sources sur Linux.
Prérequis
- Rust 1.75+ (installer via rustup)
- Git
- GCC/Clang (pour les bindings C/C++, optionnel)
# Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
# Verify Rust version
rustc --version # Should be 1.75.0 or higher
Cloner et compiler
# Clone the repository
git clone https://git.hdds.io/hdds/hdds.git
cd hdds
# Build in release mode
cargo build --release
# Run tests to verify
cargo test
Utiliser HDDS dans votre projet
Ajoutez HDDS comme dépendance locale dans le Cargo.toml de votre projet :
[dependencies]
hdds = { path = "/path/to/hdds/crates/hdds" }
Avec des features optionnelles :
[dependencies]
hdds = { path = "/path/to/hdds/crates/hdds", features = ["xtypes", "security"] }
Features disponibles
| Feature | Description |
|---|---|
xtypes | Système de types XTypes (par défaut) |
security | Support DDS Security 1.1 |
tcp-tls | Chiffrement TLS pour le transport TCP |
cloud-discovery | Discovery AWS/Azure/Consul |
k8s | Discovery Kubernetes |
rpc | DDS-RPC Request/Reply |
telemetry | Collecte de métriques |
Générateur de code (hdds_gen)
# Clone hdds_gen
git clone https://git.hdds.io/hdds/hdds_gen.git
cd hdds_gen
# Build and install
cargo build --release
# Add to PATH (optional)
export PATH="$PATH:$(pwd)/target/release"
# Verify
./target/release/hdds_gen --version
Vérifier l'installation
# From the hdds directory, run the examples
cargo run --release --example hello_world
# Or run the test suite
cargo test --release
Configuration du pare-feu
DDS utilise le multicast UDP. Configurez votre pare-feu :
# UFW (Ubuntu)
sudo ufw allow 7400:7500/udp
# firewalld (Fedora/RHEL)
sudo firewall-cmd --permanent --add-port=7400-7500/udp
sudo firewall-cmd --reload
# iptables
sudo iptables -A INPUT -p udp --dport 7400:7500 -j ACCEPT
Configuration du multicast
Assurez-vous que le routage multicast est activé :
# Check multicast support
ip maddr show
# Add multicast route if needed
sudo ip route add 239.255.0.0/16 dev eth0
Dépannage
"Multicast not working"
# Check if multicast is enabled on your interface
ip link show eth0 | grep MULTICAST
# Enable if needed
sudo ip link set eth0 multicast on
"Permission denied on /dev/shm"
# For shared memory transport
sudo chmod 1777 /dev/shm
Prochaines étapes
- Hello World Rust - Votre première application HDDS
- hdds_gen - Utilisation du générateur de code