Ini kegagalan yang menjebak kebanyakan admin CyberPanel setelah apt upgrade atau dnf update yang kelihatannya tidak berbahaya: website tetap jalan, tetapi panel di port 8090 menjawab 503, systemctl status lscpd bilang failed, dan log punya baris seperti:
ModuleNotFoundError: No module named 'psutil'
# atau
ImportError: /usr/local/CyberCP/lib/python3.10/site-packages/psutil/_psutil_linux...so: invalid ELF header
# atau
ImportError: cannot import name ... undefined symbol
Nalurinya pip install psutil. Kadang berhasil. Sering tidak berpengaruh, karena masalah sebenarnya satu lapis di bawahnya. Panduan ini menelusuri penyebab dalam urutan yang menghindari memperparah.
CyberPanel berjalan di atas Django dalam virtual environment-nya sendiri di /usr/local/CyberCP, dengan interpreter sendiri di /usr/local/CyberCP/bin/python dan pip sendiri. Beberapa dependency, termasuk psutil, adalah ekstensi C terkompilasi yang terikat ke versi Python tertentu. Tiga hal rutin merusaknya:
.so yang terpotong atau nol byte. "Invalid ELF header" hampir selalu ini.pip3 install dengan Python sistem, jadi modulnya ada, tetapi di tempat yang salah.systemctl status lscpd --no-pager
journalctl -xeu lscpd -n 40 --no-pager
tail -n 40 /usr/local/lscp/logs/error.log
/usr/local/CyberCP/bin/python --version
/usr/local/CyberCP/bin/python -c "import psutil; print(psutil.__version__)"
/usr/local/CyberCP/bin/pip --version
python3 --version
df -h / ; df -i /
| Output | Penyebab |
|---|---|
python: No such file or directory untuk interpreter venv | Interpreter venv hilang (Python sistem dihapus atau diganti) |
| Versi Python venv berbeda dari yang dipakai saat dibangun, import gagal | Versi Python tidak cocok setelah update OS |
pip --version gagal atau traceback | pip sendiri rusak; harus diperbaiki sebelum install apa pun |
invalid ELF header, file too short, undefined symbol | Modul terkompilasi corrupt |
No module named 'psutil' dan pip bekerja | Memang tidak terpasang di venv |
pip install gagal dengan error gcc / Python.h | Build tools tidak ada, pip mencoba compile |
Jika / di atas sekitar 90% atau inode habis, berhenti dan bersihkan disk. Memasang apa pun di disk penuh menghasilkan persis file corrupt yang sedang Anda coba ganti. Satu aturan ini mencegah kebanyakan kegagalan berulang.
Setiap perintah di bawah memakai pip milik venv. Jangan pernah pip3, jangan pernah sudo pip.
/usr/local/CyberCP/bin/python -m ensurepip --upgrade
# jika ensurepip tidak tersedia:
curl -sS https://bootstrap.pypa.io/get-pip.py -o /root/get-pip.py
/usr/local/CyberCP/bin/python /root/get-pip.py
/usr/local/CyberCP/bin/pip --version
Setelah pip bekerja, lanjut ke kasus berikutnya yang sesuai; pip yang bekerja tidak dengan sendirinya memperbaiki import.
/usr/local/CyberCP/bin/pip install --force-reinstall --no-cache-dir psutil
systemctl restart lscpd
--no-cache-dir penting: cache pip mungkin menyimpan wheel corrupt yang sama. Jika metadata rusak dan force-reinstall masih gagal, hapus direktori paketnya dan install bersih:
/usr/local/CyberCP/bin/pip uninstall -y psutil
rm -rf /usr/local/CyberCP/lib/python3*/site-packages/psutil*
/usr/local/CyberCP/bin/pip install --no-cache-dir psutil
systemctl restart lscpd
/usr/local/CyberCP/bin/pip install --no-cache-dir psutil
systemctl restart lscpd
Jika satu modul hilang, yang lain mungkin juga. Pasang ulang seluruh requirement panel di tempat (yang sudah benar dilewati):
REQ=/usr/local/CyberCP/requirments.txt; [ -f "$REQ" ] || REQ=/usr/local/CyberCP/requirements.txt
/usr/local/CyberCP/bin/pip install --no-cache-dir -r "$REQ"
systemctl restart lscpd
apt-get install -y gcc python3-dev # Ubuntu
dnf install -y gcc python3-devel # AlmaLinux / Rocky
/usr/local/CyberCP/bin/pip install --no-cache-dir psutil
Gunakan ini saat interpreter hilang, versi Python berubah, atau semua perbaikan ringan di atas gagal. Ini operasi level 3: panel down beberapa menit, website tidak terpengaruh, dan Anda butuh backup sebelum mulai.
cp -a /usr/local/CyberCP/lib /root/CyberCP-lib-backup-$(date +%F)
cd /usr/local/CyberCP
mv lib lib.broken.$(date +%s)
python3 -m venv --upgrade-deps /usr/local/CyberCP
REQ=/usr/local/CyberCP/requirments.txt; [ -f "$REQ" ] || REQ=/usr/local/CyberCP/requirements.txt
/usr/local/CyberCP/bin/pip install --no-cache-dir -r "$REQ"
systemctl restart lscpd
Jika rebuild gagal pada sebuah dependency, pulihkan direktori lib lama dari backup agar Anda tidak lebih buruk dari sebelumnya, lalu bawa errornya ke forum atau support CyberPanel dengan traceback persisnya. Menjalankan ulang skrip upgrade resmi adalah jalur sah lainnya; ia membangun ulang environment sebagai bagian dari upgrade.
Jangan reinstall CyberPanel untuk mengatasi ini. Install baru di server yang hidup tidak memperbaiki venv; ia mereset panel dan membuatnya tidak sinkron dengan situs yang sudah ada.
/usr/local/CyberCP/bin/python -c "import django, psutil; print('imports ok')"
systemctl is-active lscpd
curl -sk -o /dev/null -w "%{http_code}\n" https://127.0.0.1:8090/
Import berhasil, lscpd active, dan panel menjawab 200 atau 302. Login dan buka halaman sebuah situs di panel untuk memastikan koneksi database juga.
VPS Medic mengklasifikasi errornya, memeriksa disk, memperbaiki pip, reinstall hanya modul yang rusak, dan rebuild venv hanya dengan konfirmasi Anda dan backup. Seluruh prosesnya tampil di HP Anda.
Unduh VPS Medic — trial gratis 3 hari