Thay đổi thư mục cài đặt snaps
Đây là một vấn đề phổ biến mà nhiều người yêu cầu. Có vẻ như các nhà phát triển snap không có ý định giải quyết sớm, vì vậy một số giải pháp đã được đề xuất.
Giải pháp đầu tiên bị cộng đồng từ chối mạnh mẽ, nhưng tôi đã không thử, là sử dụng các liên kết tượng trưng để liên kết các thư mục dẫn đến snaps. Phương pháp này dường như không hoạt động vì cộng đồng trả lời rằng apparmom không hoạt động với các liên kết tượng trưng.
Giải pháp thứ hai là mount --bind
thư mục /val/lib/snapd/snaps
hoạt động tốt với tôi với các ứng dụng đã cài đặt nhưng không cài đặt được ứng dụng mới vì tôi đã chuyển thư mục sang phân vùng khác. Điều đó đã cho tôi một lỗi về việc liên kết cứng ứng dụng snap với thư mục bộ đệm được đặt trong đó /var/lib/snapd/cache
. Tôi không biết liệu giải pháp này có thể hoạt động nếu vị trí nằm trong cùng một phân vùng hay không; nhưng đây là lý do tại sao tôi chuyển thư mục snap để giải phóng không gian từ phân vùng này sang phân vùng khác.
Thứ ba và tùy chọn làm việc là chuyển /var/lib/snapd
toàn bộ thư mục mount --bind
sang vị trí đó từ một vị trí khác và điều đó làm việc cho tôi và đây là các bước.
Chỉ cần một lưu ý nhỏ, bạn đã biết, sau khi rsync được thực hiện ở các bước dưới đây, bạn có thể sao lưu dữ liệu bên trong /var/lib/snapd
sang vị trí khác cho đến khi toàn bộ quá trình được thực hiện thành công sau đó bạn có thể xóa dữ liệu sao lưu nếu bạn muốn giải phóng thêm dung lượng.
##############################################################################
# Take Care this section may break the System !!!
##############################################################################
##Move snap folder to Home instead of root.
#Create the directory : you can change the location
mkdir /home/$USER/snap/snapd
#Copy the data
sudo rsync -avzP /var/lib/snapd/ /home/$USER/snap/snapd/
#Do backups
sudo mv /var/lib/snapd /var/lib/snapd.bak
sudo cp /etc/fstab /etc/fstab.bak
#Change fstab (Change $USER with your name or change the path totally)
echo "/home/$USER/snap/snapd /var/lib/snapd none bind 0 0" | sudo tee -a /etc/fstab
#remount fstab Or reboot.
sudo mkdir /var/lib/snapd
sudo mount -a
if ls /var/lib/snapd/ | grep snaps
then
echo "Re-mounting snapd folder is done successfully. !!!!"
sudo rm -rf /var/lib/snapd.bak
else
echo "WARNING : Re-mounting snapd folder failed, please revert !!!!! "
echo "WARNING : Re-mounting snapd folder failed, please revert !!!!! "
echo "WARNING : Re-mounting snapd folder failed, please revert !!!!! "
echo "WARNING : Re-mounting snapd folder failed, please revert !!!!! "
echo "WARNING : Re-mounting snapd folder failed, please revert !!!!! "
# Trying to revert automatically
sudo cp /etc/fstab.bak /etc/fstab
sudo mount -a
sudo umount /var/lib/snapd
sudo mv /var/lib/snapd.bak /var/lib/snapd
echo "Files located at ~/snap/snapd should be removed, but it keeped for
recovery until you ,manually, reboot the system and make sure the service
is running correctly then manually you can remove that folder ~/snap/snapd
!!!!!!!!!!!!!!, you should do that manually."
fi
##############################################################################
# Take Care the pervious section may break the System !!!
##############################################################################
Người giới thiệu
- Vị trí đĩa tùy chỉnh cho vấn đề snaps nhất định
- Hỏi ubfox Câu hỏi (Giải pháp không tốt nhất) Liên kết
- Đề xuất sử dụng liên kết gắn kết thay vì liên kết tượng trưng trong di chuyển thư mục snap Liên kết
- Sự khác nhau giữa liên kết gắn kết và liên kết tượng trưng Liên kết
- Tạo liên kết gắn kết vĩnh viễn