====== YUM Versionlock - Essential Commands ====== ===== Plugin Installation ===== # CentOS/RHEL 7-8 sudo yum install yum-plugin-versionlock # CentOS/RHEL 9 / Rocky Linux / AlmaLinux sudo dnf install python3-dnf-plugin-versionlock ===== Basic Commands ===== ==== Lock Packages ==== # Lock currently installed version sudo yum versionlock add package-name # Lock specific version sudo yum versionlock add package-name-1.2.3 # Lock with wildcard (all versions starting with...) sudo yum versionlock add 'gitlab-ee-18*' # Lock multiple packages at once sudo yum versionlock add package1 package2 package3 ==== View Locks ==== # List all locked packages sudo yum versionlock list # Check if specific package is locked sudo yum versionlock list | grep package-name ==== Unlock Packages ==== # Unlock specific package sudo yum versionlock delete package-name # Unlock all packages sudo yum versionlock clear # Unlock with wildcard sudo yum versionlock delete 'gitlab-ee-18*' ===== Practical Examples ===== ==== GitLab - Block Major Version ==== # Block all 18.x versions sudo yum versionlock add 'gitlab-ee-18*' # Allow updates only within 17.x series sudo yum update gitlab-ee ==== Kernel - Keep Stable Version ==== # Lock current kernel sudo yum versionlock add kernel # Check which version is locked sudo yum versionlock list | grep kernel ==== Docker - Lock Compatible Version ==== # Lock Docker at current version sudo yum versionlock add docker-ce docker-ce-cli containerd.io # List Docker locks sudo yum versionlock list | grep docker ===== Configuration Files ===== ==== File Locations ==== # Locked packages list stored in: /etc/yum/pluginconf.d/versionlock.list # Plugin configuration: /etc/yum/pluginconf.d/versionlock.conf ==== Manual Editing ==== # Edit list directly (not recommended) sudo nano /etc/yum/pluginconf.d/versionlock.list # Format: EPOCH:NAME-VERSION-RELEASE.ARCH # Example: 0:gitlab-ee-17.11.6-ee.0.el8.x86_64 ===== Useful Combined Commands ===== ==== Selective Updates ==== # Update all packages except locked ones sudo yum update # Force update (temporarily ignore versionlock) sudo yum update --disableplugin=versionlock # Update only specific package (respects locks) sudo yum update package-name ==== Pre-Update Verification ==== # See what would be updated (dry-run) sudo yum check-update # See which packages are locked sudo yum versionlock list # Combine - see available updates vs locked sudo yum check-update && echo "--- BLOCKED ---" && sudo yum versionlock list ===== Tips & Best Practices ===== **Useful Tips:** * Use wildcards to block entire version families * Regularly check lock list with ''yum versionlock list'' * Test updates on staging systems before production * Document why you locked specific packages **Important Notes:** * Versionlock doesn't work with ''yum remove'' * Locked packages may create unresolved dependencies * Check compatibility before locking critical packages ===== Troubleshooting ===== ==== Common Issues ==== # Plugin not working sudo yum clean all sudo yum makecache # Check if plugin is active yum --help | grep versionlock # Reset all locks if having issues sudo yum versionlock clear ==== Plugin Status Check ==== # Check if plugin is installed rpm -qa | grep versionlock # Check configuration cat /etc/yum/pluginconf.d/versionlock.conf