add claude's version of ubuntu cheatsheet for rhel satellite
This commit is contained in:
361
satellite6-ubuntu-repo-cheatsheet.md
Normal file
361
satellite6-ubuntu-repo-cheatsheet.md
Normal file
@@ -0,0 +1,361 @@
|
|||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
1. Navigate to **Administer** → **Settings** → **Content**
|
||||||
|
2. Set **Restrict Composite Content View** to `No`
|
||||||
|
3. Enable **Unprotected Repository** if needed
|
||||||
|
|
||||||
|
#### Via Hammer CLI
|
||||||
|
```bash
|
||||||
|
# Configure content settings
|
||||||
|
hammer settings set --name restrict_composite_content_view --value false
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Create Ubuntu Product
|
||||||
|
|
||||||
|
#### Via Web UI
|
||||||
|
1. **Content** → **Products** → **Create Product**
|
||||||
|
2. Fill in details:
|
||||||
|
- **Name**: Ubuntu 20.04 LTS
|
||||||
|
- **Label**: ubuntu_2004_lts
|
||||||
|
- **Description**: Ubuntu 20.04 LTS repositories
|
||||||
|
|
||||||
|
#### Via Hammer CLI
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# Show sync history
|
||||||
|
hammer task list \
|
||||||
|
--search "label = Actions::Katello::Repository::Sync" \
|
||||||
|
--organization "Default Organization"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Monitor Storage Usage
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```bash
|
||||||
|
# Clean client registration
|
||||||
|
subscription-manager clean
|
||||||
|
rm -rf /etc/pki/consumer/
|
||||||
|
subscription-manager register --org="Default_Organization" --activationkey="ubuntu_2004_key"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Log Files
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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.
|
||||||
Reference in New Issue
Block a user