เปลี่ยนไดเร็กทอรีการติดตั้ง snaps
นี่เป็นปัญหาทั่วไปที่หลายคนถามหา ดูเหมือนว่านักพัฒนา snap ไม่ได้ตั้งใจที่จะแก้ปัญหาในเร็ว ๆ นี้ดังนั้นจึงแนะนำวิธีแก้ไขปัญหาบางอย่าง
ทางออกแรกที่ชุมชนปฏิเสธอย่างรุนแรง แต่ฉันไม่ได้ลองคือใช้ลิงก์สัญลักษณ์เพื่อลิงก์ไดเรกทอรีที่นำไปสู่ วิธีนี้ดูเหมือนว่าจะไม่ทำงานเมื่อชุมชนตอบกลับบอกว่าอาวุธไม่ทำงานกับลิงก์สัญลักษณ์
โซลูชันที่สองคือmount --bind
ไดเรกทอรี/val/lib/snapd/snaps
ที่ใช้งานได้ดีสำหรับฉันด้วยแอปพลิเคชันที่ติดตั้งแล้ว แต่ไม่สามารถติดตั้งแอปพลิเคชันใหม่ได้เนื่องจากฉันย้ายไดเรกทอรีไปยังพาร์ติชันอื่น นั่นทำให้ฉันมีข้อผิดพลาดเกี่ยวกับการเชื่อมโยงแอปพลิเคชัน snap กับไดเรกทอรีแคชที่อยู่ใน/var/lib/snapd/cache
นั้น ฉันไม่ทราบว่าโซลูชันนี้อาจใช้งานได้หรือไม่หากตำแหน่งอยู่ในพาร์ติชันเดียวกันหรือไม่ แต่นี่คือเหตุผลว่าทำไมฉันจึงย้ายไดเรกทอรี snap เพื่อเพิ่มพื้นที่ว่างจากพาร์ติชันหนึ่งไปยังอีกที่หนึ่ง
ตัวเลือกที่สามและการทำงานคือการย้าย/var/lib/snapd
ไดเรกทอรีโดยรวมจากไดเรกทอรีmount --bind
อื่นไปยังตำแหน่งอื่นและใช้งานได้สำหรับฉันและนี่คือขั้นตอน
ทราบเพียงเล็กน้อยคุณทราบอยู่แล้วว่าหลังจากทำ rsync ในขั้นตอนด้านล่างแล้วคุณสามารถสำรองข้อมูลภายใน/var/lib/snapd
สถานที่อื่นจนกว่ากระบวนการทั้งหมดจะเสร็จสมบูรณ์จากนั้นคุณสามารถลบข้อมูลสำรองหากคุณต้องการเพิ่มพื้นที่ว่าง
##############################################################################
# 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 !!!
##############################################################################
อ้างอิง
- ตำแหน่งดิสก์ที่กำหนดเองสำหรับปัญหาสแนปบางอย่าง
- ถามคำถามอูบุนตู (ไม่ใช่ทางออกที่ดีที่สุด) ลิงค์
- ข้อเสนอแนะที่จะใช้ผูกติดแทนการเชื่อมโยงสัญลักษณ์ในการย้ายไดเรกทอรีสแน็ปลิงค์
- ความแตกต่างระหว่างการผูกติดและการเชื่อมโยงสัญลักษณ์การเชื่อมโยง
- ทำให้ permenant ผูกติด