Monday, 7 July 2025

partisi root / (tempat sistem dan folder /tmp) sudah penuh.

 

Terima kasih, Guru Duan. Ini dia penyebab utama error upload_error_cant_write:


🔥 Masalah Utama:

/dev/sda7        15G   14G     0 100% /

Artinya: partisi root / (tempat sistem dan folder /tmp) sudah penuh.


💥 Dampak:

Karena /tmp berada di partisi /, maka semua proses PHP (termasuk move_uploaded_file) gagal menyimpan file sementara, sehingga Moodle menampilkan:

Error: Failed to write file to disk.
Error code: upload_error_cant_write

✅ Solusi Segera: Kosongkan ruang di partisi /

Jalankan:

sudo du -sh /* 2>/dev/null | sort -h

Untuk melihat apa yang paling memakan ruang. Fokus pada direktori seperti:

  • /var/log

  • /tmp

  • /root

  • /usr


🔧 Contoh Tindakan:

1. Bersihkan file log lama:

sudo journalctl --vacuum-time=3d
sudo rm -rf /var/log/*.gz /var/log/*.1 /var/log/*-???????? /var/log/*/*.gz

2. Bersihkan cache APT dan Snap:

sudo apt clean
sudo rm -rf /var/cache/apt/*
sudo rm -rf /var/lib/snapd/cache/*

3. Hapus file sementara (jika aman):

sudo rm -rf /tmp/*

🔒 Alternatif Aman: Pindahkan upload_tmp_dir ke partisi besar

Karena partisi /var masih lega 233 GB, kita bisa arahkan folder upload PHP ke sana:

🔧 Langkah-langkah:

  1. Buat folder baru:

    sudo mkdir -p /var/moodledata/temp
    sudo chown www-data:www-data /var/moodledata/temp
    
  2. Edit php.ini:
    Lokasi bisa dicari dengan:

    php --ini
    

    Kemudian buka dan ubah:

    upload_tmp_dir = /var/moodledata/temp
    
  3. Restart PHP:

    sudo systemctl restart php8.2-fpm
    
  4. Uji ulang upload pengguna di Moodle.


🔁 Kesimpulan

Masalah Solusi
/ penuh Bersihkan ruang atau pindahkan upload folder ke /var
Upload gagal Karena PHP tidak bisa tulis file sementara

Kalau Guru Duan ingin saya bantu bersihkan ruang secara spesifik, silakan kirim:

sudo du -sh /tmp /var/log /usr /root 2>/dev/null

atau lanjutkan dengan pengalihan upload_tmp_dir ke /var/moodledata/temp. Saya siap bantu arahkan.

Share:

0 comments:

Post a Comment