Skip to content
  • About
  • Contact
  • Docs
  • Features
  • Home

Configurations

5
  • Setup RAID Level 6
  • Setup RAID Level 5
  • How To Add Swap on RHEL or Centos based system
  • Website Migration to Non-Panel OpenLiteSpeed Server
  • Linux Server Performance Tuning

CyberPanel

9
  • Mounting /tmp on a Separate File
  • Updating CyberPanel Main VirtualHost Configuration
  • Updating CyberPanel vHosts Configuration
  • How to Change CLI PHP on CyberPanel
  • How to Update PHP Version to 8.1 in CyberPanel (From 7.3, 7.4, or 8.0)
  • CyberPanel Server Cleanup: Logs, Dumps, Backups
  • CyberPanel Full LSPHP Installation PHP 7.4 – 8.3
  • CyberPanel / OpenLiteSpeed: Clean LSPHP Session Files
  • SSL Certificate Management in CyberPanel via SSH

Hestia Control Panel

6
  • Fixing Email Bounce Back Issue in Hestia (Exim4 Blacklist Rejection)
  • Managing Fail2Ban in HestiaCP Server
  • Installing and Configuring PHP Versions in HestiaCP
  • phpMyAdmin Not Found in HestiaCP
  • Setting Up a Reverse Proxy for any Port in HestiaCP
  • How to Install Let’s Encrypt SSL in Hestia CP (Hostname, Admin Panel, and Email Server)

WHM/cPanel

6
  • Setting Up a Reverse Proxy on cPanel/WHM for Port 8081
  • How to increase the size of the cPanel-generated /tmp filesystem
  • Installing Old PHP Versions on a cPanel/WHM Server
  • Fixing “550: Your Country is Not Allowed to Connect to This Server” Error in Exim (cPanel)
  • Enable WP-CLI in CageFS on CloudLinux Servers (WHM/cPanel)
  • Securing /tmp and /var/tmp with a Dedicated Loopback Filesystem

Nagios

5
  • Service Checks
  • Uptime Checks
  • Disk Space Checks
  • Load Checks
  • Email Related Checks

WordPress

3
  • WordPress Core Reinstallation Guide
  • Managing WordPress Users via WP-CLI
  • Website Duplication, Migration, or Domain Change

Operating System

1
  • Server Reboot (RHEL or Centos based system)

AWS

1
  • How to Resize EBS Volumes on AWS

Databases

2
  • MySQL
    • Optimizing MySQL Performance
    • Recovering MySQL in Plesk When InnoDB Crashes

CloudLinux

4
  • Moving cagefs-skeleton directory
  • Enable WP-CLI in CageFS on CloudLinux Servers (WHM/cPanel)
  • Enable bc in CageFS on CloudLinux Servers(WHM/cPanel)
  • How to Upgrade MySQL 5.x to MySQL 8.0 on CloudLinux (WHM server) with MySQL Governor

Cloudflare

1
  • Configuring Security Headers in Cloudflare

ISPmanager

1
  • Install Free SSL (Let’s Encrypt) for domain.tld on ISPmanager with NGINX

Plesk

1
  • Plesk Admin Login Blocked – IP Restriction Recovery Guide

VPN

4
  • Install OpenVPN Open Source in Linux CentOS Ubuntu Debian Servers
  • Protected: OpenVPN Installation & Fix Wiki (CloudLinux / CentOS 7 & 8)
  • Outline VPN Installation & Management Guide
  • Installing AdGuard Home on Debian/Ubuntu (Docker)
View Categories
  • Home
  • Docs
  • CloudLinux
  • Moving cagefs-skeleton directory

Moving cagefs-skeleton directory

This guide provides detailed steps on  moving the CageFS skeleton directory in CloudLinux to free up space on `/usr/share/cagefs-skeleton/` by moving it to another partition (e.g., `/home`). Here’s a simplified and structured approach :

Case 1: If CageFS Skeleton Doesn’t Exist Yet

If /usr/share/cagefs-skeleton is not created yet ( cagefsctl –init wasn’t executed), then execute:

mkdir /home/cagefs-skeleton
ln -s /home/cagefs-skeleton /usr/share/cagefs-skeleton
cagefsctl --init
Case 2: If CageFS Skeleton Already Exists

The CageFS skeleton can take quite a lot of space; that’s why some users prefer moving it somewhere else. In the following example, we’ll move it to /home/cagefs-skeleton.

Disable CageFS and Unmount Everything
cagefsctl --disable-cagefs
cagefsctl --unmount-all
Verify that no mounts remain:
cat /proc/mounts | grep cagefs-skeleton

If this outputs nothing:  proceed  with Backup and Move the Skeleton

Backup and Move the Skeleton

Check if a backup already exists:

ls -d /usr/share/cagefs-skeleton.bak

If it exists, rename it:

mv /usr/share/cagefs-skeleton.bak /usr/share/cagefs-skeleton.old

Move the skeleton:

mv /usr/share/cagefs-skeleton /usr/share/cagefs-skeleton.bak

Create the New Directory and Link It

mkdir -m 0755 /home/cagefs-skeleton

ln -s /home/cagefs-skeleton /usr/share/cagefs-skeleton
Reinitialize and Enable CageFS
cagefsctl --init

cagefsctl --enable-cagefs

cagefsctl --remount-all

Verify again:

cat /proc/mounts | grep cagefs-skeleton.bak

If nothing appears, it’s safe to remove the backup:

rm -rf /usr/share/cagefs-skeleton.bak
⚠️ A common “Device or resource busy” error

Sometimes after disabling CageFS, some of the mounts may still be mounted. In that case, you’ll see the output similar to the one below:

mv /usr/share/cagefs-skeleton /usr/share/cagefs-skeleton.bak

mv: cannot move ‘/usr/share/cagefs-skeleton’ to ‘/usr/share/cagefs-skeleton.bak’: Device or resource busy

Solution:

 Check what’s still mounted:
grep cagefs-skeleton /proc/mounts

And if the output contains some existing mounts like:

/dev/sda2 /home/cagefs-skeleton/opt/cpanel/ea-php72/root/usr/bin ext4 ro,nosuid,relatime,errors=remount-

Unmount any remaining mounts:
umount /home/cagefs-skeleton/opt/cpanel/ea-php72/root/usr/bin

All done! Try moving the skeleton again.

Kill/terminate running processes:

If the issue persists, find processes still using CageFS:

grep -rl cagefs-skeleton /proc/*/mounts | cut -d"/" -f3

Example output:

ps u 8917 9
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 9 0.0 0.0 0 0 ? S Aug08 18:12 [rcu_sched]
root 8917 0.2 0.6 1385176 12252 ? Ssl

Check process details:

ps u 8917

If it’s safe to terminate, kill the process:

kill -9 8917

It may not be safe to kill the processes right away. But if you are sure that it’s nothing important, kill them and try moving the CageFS skeleton again:

📌 Important Notes for cPanel Users

If you move the skeleton to `/home` on a  cPanel server, update the WHM settings:

1. Go to: WHM → Server Configuration → Basic cPanel/WHM Setup → Basic Config
2. Find: Additional home directories
3. Set the value to  blank (instead of `”Home”`).
4. Save & apply changes.

✅ Summary

– Move CageFS skeleton before `cagefsctl –init` if possible.
– If already created, disable CageFS , move it, and re-enable it.
– Fix “Device busy” errors by unmounting files & killing processes.
– cPanel users must adjust settings to avoid issues with new accounts.

 

Table of Contents
  • Case 1: If CageFS Skeleton Doesn't Exist Yet
  • Case 2: If CageFS Skeleton Already Exists
    • Disable CageFS and Unmount Everything
    • Verify that no mounts remain:
    • Backup and Move the Skeleton
    • Reinitialize and Enable CageFS
  • ⚠️ A common "Device or resource busy" error
    •  Check what's still mounted:
    • Unmount any remaining mounts:
    • Kill/terminate running processes:
  • 📌 Important Notes for cPanel Users
  • ✅ Summary

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest

Was it helpful ?

  • Happy
  • Normal
  • Sad
  • About
  • Contact
  • Docs
  • Features
  • Home

© 2026 Panel Web Hosting

  • About
  • Contact
  • Docs
  • Features
  • Home