bootc-docs/exec-in-host-mount-namespace/bootc-exec-in-host-mount-namespace-quick-reference.md
robojerk 526f1c1afd Initial commit: Comprehensive Debian bootc documentation
- Complete documentation for all bootc commands and subcommands
- Debian-specific adaptations and workarounds
- Manual installation methods to bypass bootc reliability issues
- Technical guides with Rust source code analysis
- Flowcharts and external command references
- Hidden command documentation (bootc internals, state, etc.)
- Composefs integration analysis
- Base image creation guides (with and without bootc binary)
- Management scripts and automation
- Comprehensive troubleshooting and examples
2025-09-15 14:02:28 -07:00

6.6 KiB

bootc exec-in-host-mount-namespace - Quick Reference

Command Summary

Command Purpose Usage
exec-in-host-mount-namespace Execute command in host mount namespace bootc exec-in-host-mount-namespace [ARGS]...

Quick Commands

Basic Operations

# Execute command in host mount namespace
bootc exec-in-host-mount-namespace ls /

# Execute with arguments
bootc exec-in-host-mount-namespace mount /dev/sda1 /mnt

# Execute system command
bootc exec-in-host-mount-namespace systemctl status

System Operations

# Check host filesystem
bootc exec-in-host-mount-namespace df -h

# View host processes
bootc exec-in-host-mount-namespace ps aux

# Check host system status
bootc exec-in-host-mount-namespace systemctl status

Installation Operations

# Create directories in host filesystem
bootc exec-in-host-mount-namespace mkdir -p /var/lib/bootc

# Copy files to host filesystem
bootc exec-in-host-mount-namespace cp /source/file /host/destination/

# Set permissions
bootc exec-in-host-mount-namespace chmod 644 /host/file

Common Options

Option Purpose Example
--help Show help bootc exec-in-host-mount-namespace --help
--verbose Verbose output bootc exec-in-host-mount-namespace -v ls /
--quiet Quiet output bootc exec-in-host-mount-namespace -q ls /

Error Codes

Code Meaning Solution
1 General error Check logs for details
2 Missing command Provide command to execute
3 Namespace access error Check /proc/1/ns/mnt exists
4 setns error Run as root
5 Command not found Use full path to command

Common Issues

Missing Command

# Error: Missing command
# Solution: Provide a command
bootc exec-in-host-mount-namespace ls /

# Or use a shell
bootc exec-in-host-mount-namespace /bin/bash

Namespace Access Error

# Error: open pid1 mountns: No such file or directory
# Solution: Check if /proc/1/ns/mnt exists
ls -la /proc/1/ns/mnt

# Run as root
sudo bootc exec-in-host-mount-namespace ls /

setns Error

# Error: setns: Operation not permitted
# Solution: Run as root
sudo bootc exec-in-host-mount-namespace ls /

# Check capabilities
getcap /usr/bin/bootc

Command Not Found

# Error: exec: command not found
# Solution: Use full path
bootc exec-in-host-mount-namespace /bin/ls /

# Check command availability
bootc exec-in-host-mount-namespace which ls

Environment Variables

Variable Purpose Default
RUST_LOG Log level info
BOOTC_DEBUG Debug mode false
BOOTC_CONFIG Config file /etc/bootc/config.toml

Configuration Files

File Purpose Location
Main config Bootc configuration /etc/bootc/config.toml
Namespace info Namespace information /proc/1/ns/mnt
Process info Process information /proc/self/ns/mnt

Log Files

File Purpose Location
System logs System messages /var/log/messages
Journal logs Systemd journal journalctl -u bootc-*
Bootc logs Bootc specific /var/log/bootc/

Performance Tips

Optimize Operations

# Check system load
uptime

# Check memory usage
free -h

# Check namespace overhead
time bootc exec-in-host-mount-namespace /bin/true
time /bin/true

Monitor System

# Check namespace availability
ls -la /proc/1/ns/mnt

# Check namespace differences
diff /proc/1/ns/mnt /proc/self/ns/mnt

# Check system performance
bootc exec-in-host-mount-namespace top -bn1 | head -20

Security Considerations

Root Privileges

  • All exec-in-host-mount-namespace commands require root privileges
  • Use sudo or switch to root user
  • Check current user with whoami

Namespace Access

  • Command accesses host mount namespace through /proc/1/ns/mnt
  • Requires appropriate privileges for namespace switching
  • Uses setns system call for namespace switching

Process Isolation

  • Command executes in host mount namespace
  • Current process is replaced with target command
  • Provides access to host filesystem view

Best Practices

Regular Operations

  • Use only when host mount namespace access is needed
  • Check command availability before execution
  • Implement proper error handling
  • Monitor system performance

Development

  • Use in container environments
  • Test commands before production use
  • Document procedures
  • Monitor system health

Production

  • Set up monitoring
  • Configure alerts
  • Regular testing
  • Document procedures

Troubleshooting Steps

  1. Check command availability

    bootc exec-in-host-mount-namespace which <command>
    
  2. Check namespace availability

    ls -la /proc/1/ns/mnt
    
  3. Check privileges

    whoami
    sudo bootc exec-in-host-mount-namespace <command>
    
  4. Check logs

    journalctl -u bootc-* --since "1 hour ago"
    tail -f /var/log/bootc/main.log
    
  5. Test command execution

    bootc exec-in-host-mount-namespace /bin/true
    

Quick Scripts

Health Check

#!/bin/bash
bootc exec-in-host-mount-namespace /bin/true && echo "System healthy"

Namespace Test

#!/bin/bash
bootc exec-in-host-mount-namespace ls / && echo "Namespace access OK"

Command Test

#!/bin/bash
bootc exec-in-host-mount-namespace which "$1" && echo "Command available"

System Check

#!/bin/bash
bootc exec-in-host-mount-namespace uname -a && echo "System check OK"

Integration Examples

Systemd Service

# Create service file
cat > /etc/systemd/system/bootc-exec-in-host-mount-namespace.service << EOF
[Unit]
Description=Bootc Exec in Host Mount Namespace Service
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/bootc-exec-in-host-mount-namespace-script.sh
User=root
Group=root

[Install]
WantedBy=multi-user.target
EOF

# Enable service
systemctl daemon-reload
systemctl enable bootc-exec-in-host-mount-namespace.service

Cron Job

# Add to crontab
echo "0 2 * * * /usr/local/bin/bootc-exec-in-host-mount-namespace-maintenance.sh" | crontab -

Monitoring

# Check system health
if ! bootc exec-in-host-mount-namespace /bin/true > /dev/null 2>&1; then
    echo "WARNING: Exec-in-host-mount-namespace failed"
    # Send alert
fi

This quick reference provides essential information for using the bootc exec-in-host-mount-namespace system effectively.