Jawaban:
Pertama, siapkan partisi baru (mis. Dengan parted
dan mkfs
).
Katakanlah partisi tersebut adalah / dev / sda5
Pasang partisi baru:
mkdir /var2
mount /dev/sda5 /var2
Sinkronkan var Anda saat ini:
rsync -a /var/ /var2
Tambahkan entri ke / etc / fstab
/dev/sda5 /var ext4 defaults 2 2
Mulai ulang.
Jika Anda perlu mengembalikan Anda lama / var Anda hanya berkomentar entri di fstab.
/
ke beberapa lokasi lain di sistem saat ini sedang berjalan (tetapi setelah reboot). Kemudian Anda bisa mendapatkan yang lama /var
dan menghapusnya jika Anda mau
blkid -o list -s UUID
, tapi saya pikir Anda perlu menjalankan dengan sudo
Ketika saya mengambil alih server virtual baru yang telah disediakan oleh perusahaan hosting perusahaan saya, tidak ada cukup ruang kosong di sistem file root. Untungnya, mereka telah menggunakan Logical Volume Manager (LVM) untuk membagi disk virtual dan ada ruang kosong yang cukup untuk membuat volume baru. Saya membuat volume ekstra logis untuk var
dan home
yang merupakan direktori reguler di sistem file root. Karena penyedia server virtual tidak menyediakan antarmuka seperti KVM di mana saya dapat mengakses server dalam mode pengguna tunggal, saya menggunakan metode yang sangat mirip dengan yang diuraikan oleh Aleksander (jawaban ini mencakup detail tambahan untuk memulihkan ruang disk di tambahan untuk perintah khusus LVM).
Buat volume logis untuk var
sistem file baru , pasang (menggunakan direktori sementara) dan salin file dari saat ini /var
ke sistem file baru:
# Create a new 60GB logical volume in the `VolGroup00` group called `var`.
sudo lvcreate -L 60GB -n var VolGroup00
# Create an ext4 filesystem on this new `var` volume.
sudo mkfs.ext4 /dev/VolGroup00/var
# Mount this filesystem at a temporary mount-point.
sudo mkdir /var.new
sudo mount /dev/VolGroup00/var /var.new
Karena proses yang sedang berjalan akan memiliki file /var
tetap terbuka dan digunakan, pohon direktori tidak bisa begitu saja dipindahkan ke sistem file yang baru. Secara rekursif ( -r
) menyalin file dari /var
partisi saat ini ke sistem file baru sambil mempertahankan atribut file dan atribut diperluas ( -a, --archive
opsi). Seorang pengguna yang berhati-hati mungkin pertama kali membuat snapshot LVM dari volume saat ini sebelum menyalin tetapi itu terlalu banyak detail di luar topik untuk pertanyaan ini.
sudo cp -ra /var/ /var.new/
Atau, file-file tersebut dapat disalin dengan rsync
, dengan -a, --archive
opsi untuk menyimpan stempel waktu, kepemilikan, mode, dll. Dan -X, --xattrs
opsi untuk mempertahankan atribut yang diperluas seperti label keamanan yang digunakan oleh AppArmor dan SELinux:
sudo rsync -raX /var/ /var.new/
Konfigurasikan sistem file baru untuk digunakan sebagai titik-mount baru /var
dengan menambahkan baris berikut ke /etc/fstab
. Catatan yang 0
digunakan sebagai nomor pass (bidang terakhir) sehingga sistem file tidak akan secara otomatis diperiksa ( fsck
) setelah sejumlah reboot.
/dev/mapper/VolGroup00-var /var ext4 defaults 0 0
Karena mengubah ke mode pengguna tunggal tidak dimungkinkan, reboot komputer untuk menggunakan volume baru ini sebagai /var
.
Setelah mesin dinyalakan kembali, sistem file baru akan dipasang /var
sehingga titik pemasangan sementara dapat dihapus dengan aman:
sudo rmdir /var.new
File- /var
file lama masih akan memakan ruang di partisi root tetapi mereka tidak dapat diakses dengan mudah saat sistem file lain di-mount /var
(mereka "ditutup-tutupi" oleh sistem file baru menggunakan /var
direktori sebagai mount-point-nya). Gunakan titik-mount sementara untuk memasang sistem file root sehingga isi dari /var
direktori asli tersedia oleh jalur alternatif.
sudo mkdir /old-root
sudo mount /dev/mapper/VolGroup00-root /old-root/
sudo rm -rf /old-root/var/*
sudo umount /old-root/
sudo rmdir /old-root/
lvcreate
dan mkfs.ext4
tanpa menjelaskan apa yang digunakan atau mengapa digunakan. Mungkin Anda bisa mengatakan itu untuk membuat partisi baru karena mereka bukan topik utama jawabannya.
/var
: mulai dari livecd, mount partisi pada sistem yang terinstal/
danrm -rf /var/*
.