9.5 KiB
9.5 KiB
Red Hat Satellite 6: Ubuntu Repository Integration Cheat Sheet
Prerequisites
System Requirements
- Red Hat Satellite 6.x installed and configured
- Administrative access to Satellite server
- Network connectivity to Ubuntu repositories
- Sufficient storage space for repository synchronization
Required Packages
# Ensure these packages are installed on Satellite server
yum install -y pulp-deb-plugins
katello-service restart
Configuration Steps
1. Enable Ubuntu Content Support
Via Web UI
- Navigate to Administer → Settings → Content
- Set Restrict Composite Content View to
No - Enable Unprotected Repository if needed
Via Hammer CLI
# Configure content settings
hammer settings set --name restrict_composite_content_view --value false
2. Create Ubuntu Product
Via Web UI
- Content → Products → Create Product
- Fill in details:
- Name: Ubuntu 20.04 LTS
- Label: ubuntu_2004_lts
- Description: Ubuntu 20.04 LTS repositories
Via Hammer CLI
# Create Ubuntu product
hammer product create \
--name "Ubuntu 20.04 LTS" \
--label "ubuntu_2004_lts" \
--description "Ubuntu 20.04 LTS repositories" \
--organization "Default Organization"
3. Add Ubuntu Repositories
Main Ubuntu Repository
# Add main Ubuntu repository
hammer repository create \
--name "Ubuntu 20.04 Main" \
--label "ubuntu_2004_main" \
--product "Ubuntu 20.04 LTS" \
--content-type "deb" \
--url "http://archive.ubuntu.com/ubuntu" \
--deb-releases "focal" \
--deb-components "main,restricted" \
--deb-architectures "amd64" \
--organization "Default Organization"
Universe Repository
# Add Universe repository
hammer repository create \
--name "Ubuntu 20.04 Universe" \
--label "ubuntu_2004_universe" \
--product "Ubuntu 20.04 LTS" \
--content-type "deb" \
--url "http://archive.ubuntu.com/ubuntu" \
--deb-releases "focal" \
--deb-components "universe" \
--deb-architectures "amd64" \
--organization "Default Organization"
Security Updates
# Add Security repository
hammer repository create \
--name "Ubuntu 20.04 Security" \
--label "ubuntu_2004_security" \
--product "Ubuntu 20.04 LTS" \
--content-type "deb" \
--url "http://security.ubuntu.com/ubuntu" \
--deb-releases "focal-security" \
--deb-components "main,restricted,universe,multiverse" \
--deb-architectures "amd64" \
--organization "Default Organization"
Updates Repository
# Add Updates repository
hammer repository create \
--name "Ubuntu 20.04 Updates" \
--label "ubuntu_2004_updates" \
--product "Ubuntu 20.04 LTS" \
--content-type "deb" \
--url "http://archive.ubuntu.com/ubuntu" \
--deb-releases "focal-updates" \
--deb-components "main,restricted,universe,multiverse" \
--deb-architectures "amd64" \
--organization "Default Organization"
4. Synchronize Repositories
Immediate Synchronization
# Synchronize specific repository
hammer repository synchronize \
--name "Ubuntu 20.04 Main" \
--product "Ubuntu 20.04 LTS" \
--organization "Default Organization"
# Synchronize all repositories in product
hammer product synchronize \
--name "Ubuntu 20.04 LTS" \
--organization "Default Organization"
Schedule Synchronization
# Create sync plan
hammer sync-plan create \
--name "Ubuntu Daily Sync" \
--description "Daily Ubuntu repository sync" \
--interval "daily" \
--sync-date "2024-01-01 02:00:00" \
--organization "Default Organization"
# Add product to sync plan
hammer product set-sync-plan \
--name "Ubuntu 20.04 LTS" \
--sync-plan "Ubuntu Daily Sync" \
--organization "Default Organization"
5. Create Content View
Via Hammer CLI
# Create content view
hammer content-view create \
--name "Ubuntu 20.04 CV" \
--description "Ubuntu 20.04 LTS Content View" \
--organization "Default Organization"
# Add repositories to content view
hammer content-view add-repository \
--name "Ubuntu 20.04 CV" \
--repository "Ubuntu 20.04 Main" \
--product "Ubuntu 20.04 LTS" \
--organization "Default Organization"
hammer content-view add-repository \
--name "Ubuntu 20.04 CV" \
--repository "Ubuntu 20.04 Universe" \
--product "Ubuntu 20.04 LTS" \
--organization "Default Organization"
hammer content-view add-repository \
--name "Ubuntu 20.04 CV" \
--repository "Ubuntu 20.04 Security" \
--product "Ubuntu 20.04 LTS" \
--organization "Default Organization"
hammer content-view add-repository \
--name "Ubuntu 20.04 CV" \
--repository "Ubuntu 20.04 Updates" \
--product "Ubuntu 20.04 LTS" \
--organization "Default Organization"
Publish Content View
# Publish content view
hammer content-view publish \
--name "Ubuntu 20.04 CV" \
--description "Initial Ubuntu 20.04 publication" \
--organization "Default Organization"
6. Create Activation Key
# Create activation key
hammer activation-key create \
--name "ubuntu_2004_key" \
--description "Ubuntu 20.04 LTS Activation Key" \
--lifecycle-environment "Library" \
--content-view "Ubuntu 20.04 CV" \
--organization "Default Organization"
# Add subscriptions to activation key
hammer activation-key add-subscription \
--name "ubuntu_2004_key" \
--subscription "Ubuntu 20.04 LTS" \
--organization "Default Organization"
Client Configuration
1. Install Katello Agent on Ubuntu Client
# Download and install katello-ca-consumer
wget https://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
alien -i katello-ca-consumer-latest.noarch.rpm
# Register with Satellite
subscription-manager register \
--org="Default_Organization" \
--activationkey="ubuntu_2004_key" \
--serverurl=https://satellite.example.com:443/rhsm \
--baseurl=https://satellite.example.com/pulp/repos
2. Configure APT Sources
# Create Satellite sources list
cat > /etc/apt/sources.list.d/satellite.list << 'EOF'
deb https://satellite.example.com/pulp/deb/Default_Organization/Library/Ubuntu_20_04_CV/focal main restricted
deb https://satellite.example.com/pulp/deb/Default_Organization/Library/Ubuntu_20_04_CV/focal universe
deb https://satellite.example.com/pulp/deb/Default_Organization/Library/Ubuntu_20_04_CV/focal-security main restricted universe multiverse
deb https://satellite.example.com/pulp/deb/Default_Organization/Library/Ubuntu_20_04_CV/focal-updates main restricted universe multiverse
EOF
# Update package cache
apt update
Monitoring and Maintenance
Check Synchronization Status
# List all repositories with sync status
hammer repository list \
--product "Ubuntu 20.04 LTS" \
--organization "Default Organization"
# Check specific repository sync status
hammer repository info \
--name "Ubuntu 20.04 Main" \
--product "Ubuntu 20.04 LTS" \
--organization "Default Organization"
View Sync History
# Show sync history
hammer task list \
--search "label = Actions::Katello::Repository::Sync" \
--organization "Default Organization"
Monitor Storage Usage
# Check repository sizes
hammer repository list \
--product "Ubuntu 20.04 LTS" \
--organization "Default Organization" \
--fields "Name,Size"
Troubleshooting
Common Issues and Solutions
Repository Sync Failures
# Check sync task details
hammer task info --id TASK_ID
# Retry failed sync
hammer repository synchronize \
--name "Ubuntu 20.04 Main" \
--product "Ubuntu 20.04 LTS" \
--organization "Default Organization"
GPG Key Issues
# Import Ubuntu GPG keys
hammer gpg create \
--key "$(curl -s https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C)" \
--name "Ubuntu Archive Automatic Signing Key" \
--organization "Default Organization"
Client Registration Issues
# Clean client registration
subscription-manager clean
rm -rf /etc/pki/consumer/
subscription-manager register --org="Default_Organization" --activationkey="ubuntu_2004_key"
Log Files
# Satellite server logs
tail -f /var/log/foreman/production.log
tail -f /var/log/messages
# Pulp logs
tail -f /var/log/httpd/pulp_access.log
tail -f /var/log/httpd/pulp_error.log
Best Practices
Security
- Use HTTPS for all repository URLs
- Regularly update GPG keys
- Implement proper access controls
- Monitor for security updates
Performance
- Schedule syncs during off-peak hours
- Use local mirrors when possible
- Monitor disk space regularly
- Configure appropriate retention policies
Maintenance
- Regularly publish new content view versions
- Clean up old content view versions
- Monitor sync failures and resolve promptly
- Keep activation keys organized and documented
Quick Reference Commands
# List all products
hammer product list --organization "Default Organization"
# List repositories in a product
hammer repository list --product "Ubuntu 20.04 LTS" --organization "Default Organization"
# Sync all repositories
hammer product synchronize --name "Ubuntu 20.04 LTS" --organization "Default Organization"
# Publish content view
hammer content-view publish --name "Ubuntu 20.04 CV" --organization "Default Organization"
# List activation keys
hammer activation-key list --organization "Default Organization"
# Check system registration
hammer host list --organization "Default Organization"
This cheat sheet provides a complete workflow for integrating Ubuntu repositories into Red Hat Satellite 6, from initial setup through client configuration and ongoing maintenance.