Câu trả lời:
Đầu tiên chuẩn bị một phân vùng mới (ví dụ với partedvà mkfs).
Nói phân vùng là / dev / sda5
Gắn kết phân vùng mới:
mkdir /var2
mount /dev/sda5 /var2
Đồng bộ hóa var hiện tại của bạn:
rsync -a /var/ /var2
Thêm mục vào / etc / fstab
/dev/sda5 /var ext4 defaults 2 2
Khởi động lại.
Nếu bạn tình cờ cần quay lại với bạn / var cũ của bạn, chỉ cần bình luận ra mục trong fstab.
/với một số vị trí khác trên hệ thống hiện tại trong khi nó đang chạy (nhưng sau khi khởi động lại). Sau đó, bạn có thể lấy cái cũ /varvà xóa nó nếu bạn thích
blkid -o list -s UUID, nhưng tôi nghĩ bạn cần chạy với sudo
Khi tôi tiếp quản một máy chủ ảo mới được cung cấp bởi công ty lưu trữ của chủ nhân của tôi, không có đủ không gian trống trong hệ thống tập tin gốc. May mắn thay, họ đã sử dụng Trình quản lý khối tin hợp lý (LVM) để phân chia đĩa ảo và có đủ không gian trống để tạo các ổ đĩa mới. Tôi đã tạo thêm khối lượng logic cho varvà homeđó là các thư mục thông thường trong hệ thống tập tin gốc. Vì nhà cung cấp máy chủ ảo không cung cấp giao diện giống như KVM mà tôi có thể truy cập máy chủ ở chế độ một người dùng, tôi đã sử dụng một phương pháp rất giống với phương pháp được Aleksander nêu ra (câu trả lời này bao gồm các chi tiết bổ sung để phục hồi không gian đĩa trong ngoài các lệnh dành riêng cho LVM).
Tạo một khối hợp lý cho varhệ thống tệp mới , gắn kết nó (sử dụng một thư mục tạm thời) và sao chép các tệp từ hiện tại /varsang hệ thống tệp mới:
# 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
Vì các tiến trình đang chạy sẽ có các tệp /varđược giữ mở và sử dụng, nên cây thư mục không thể được chuyển sang hệ thống tệp mới. Đệ quy ( -r) sao chép các tệp từ /varphân vùng hiện tại sang hệ thống tệp mới trong khi bảo toàn các thuộc tính tệp và thuộc tính mở rộng ( -a, --archivetùy chọn). Người dùng thận trọng trước tiên có thể tạo ảnh chụp nhanh LVM của âm lượng hiện tại trước khi sao chép nhưng đó là quá nhiều chi tiết ngoài chủ đề cho câu hỏi này.
sudo cp -ra /var/ /var.new/
Ngoài ra, các tệp có thể được sao chép cùng rsyncvới -a, --archivetùy chọn lưu giữ dấu thời gian, quyền sở hữu, chế độ, v.v. và -X, --xattrstùy chọn của nó để bảo toàn các thuộc tính mở rộng như nhãn bảo mật được sử dụng bởi AppArmor và SELinux:
sudo rsync -raX /var/ /var.new/
Định cấu hình hệ thống tệp mới sẽ được sử dụng làm điểm gắn kết mới /varbằng cách thêm dòng sau vào /etc/fstab. Lưu ý rằng 0được sử dụng làm số vượt qua (trường cuối cùng) để hệ thống tập tin sẽ không được kiểm tra tự động ( fsck) sau một số lần khởi động lại nhất định.
/dev/mapper/VolGroup00-var /var ext4 defaults 0 0
Vì không thể thay đổi chế độ người dùng đơn, hãy khởi động lại máy tính để sử dụng âm lượng mới này /var.
Sau khi máy đã khởi động lại, hệ thống tập tin mới sẽ được gắn vào /varđể điểm gắn kết tạm thời có thể được gỡ bỏ an toàn:
sudo rmdir /var.new
Các /vartệp cũ vẫn sẽ chiếm dung lượng trên phân vùng gốc nhưng chúng không thể truy cập dễ dàng trong khi hệ thống tệp khác được gắn vào /var(chúng được che dấu bởi hệ thống tệp mới sử dụng /varthư mục làm điểm gắn kết của nó). Sử dụng một điểm gắn kết tạm thời để gắn kết hệ thống tập tin gốc để nội dung của /varthư mục gốc có sẵn bằng một đường dẫn khác.
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/
lvcreatevà mkfs.ext4không giải thích những gì hoặc tại sao được sử dụng. Có lẽ bạn chỉ có thể nói rằng đó là để tạo phân vùng mới vì chúng không phải là chủ đề chính của câu trả lời.
/var: bắt đầu từ một livecd, gắn kết phân vùng trên hệ thống đã cài đặt/vàrm -rf /var/*.