ฉันจะลบการติดตั้ง snap ถัดไปที่ไม่สมบูรณ์หรือหักใน Raspberry Pi ได้อย่างไร


22

ประการแรกข้อแม้: ฉันเข้าใจว่าคำถามนี้เกี่ยวข้องกับ Mate และ Raspberry Pi ดังนั้นหากคุณพิจารณานอกขอบเขตของฟอรัมนี้ก็ไม่ต้องสนใจ แต่ในโอกาสที่มันอาจมีประโยชน์หรือเป็นเรื่องปกติของบางสิ่งที่เกี่ยวข้องกับ snaps หรือแพลตฟอร์มดังกล่าว

ฉันตัดสินใจลองและติดตั้ง snap ถัดไป มันโยนข้อผิดพลาดมากมายและดูเหมือนจะหยุดอยู่ตรงกลางของกระบวนการ (นานกว่าหนึ่งชั่วโมง) ฉันฆ่ามันและเพิ่งตัดสินใจลองและลบออก การติดตั้งดูเหมือน ....

$ sudo snap install nextcloud
2016-06-24T08:48:29-04:00 ERROR cannot setup apparmor for snap "nextcloud": cannot load apparmor profile "snap.nextcloud.apache": cannot load apparmor profile: exit status 1
apparmor_parser output:
Cache read/write disabled: interface file missing. (Kernel needs AppArmor 2.4 compatibility patch.)
Warning: unable to find a suitable fs in /proc/mounts, is it mounted?
Use --subdomainfs to override.

2016-06-24T08:53:29-04:00 ERROR cannot setup apparmor for snap "nextcloud": cannot load apparmor profile "snap.nextcloud.apache": cannot load apparmor profile: exit status 1
apparmor_parser output:
Cache read/write disabled: interface file missing. (Kernel needs AppArmor 2.4 compatibility patch.)
Warning: unable to find a suitable fs in /proc/mounts, is it mounted?
Use --subdomainfs to override.

[|] Setup snap "nextcloud" security profiles

เมื่อฉันลอง snap ลบต่อไปฉันจะได้รับ

ข้อผิดพลาด: ไม่สามารถลบ "nextcloud": snap "nextcloud" มีการเปลี่ยนแปลงที่ดำเนินการอยู่

สิ่งที่ฉันต้องการจะทำคือลบ snap และกู้คืนพื้นที่จากพาร์ติชันที่สร้างขึ้นอย่างถูกต้อง หากพาร์ทิชันเป็นคำที่ถูกต้อง ??

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0         7:0    0  46.6M  0 loop /snap/ubuntu-core/120
loop1         7:1    0 113.9M  0 loop /snap/nextcloud/12
mmcblk0     179:0    0  14.9G  0 disk
├─mmcblk0p1 179:1    0    64M  0 part /boot
└─mmcblk0p2 179:2    0  14.8G  0 part /

ฉันเหนื่อย

สแน็ปอิน nextcloud

และได้รับ

ข้อผิดพลาด: ไม่พบการเปลี่ยนแปลงด้วยรหัส "nextcloud"

ฉันควรทราบด้วยว่ามันจะไม่ปรากฏขึ้นเมื่อติดตั้งเนื่องจากฉันได้รับเฉพาะสิ่งต่อไปนี้

$ snap list
ชื่อรุ่น Rev Developer Notes
ubuntu-core 16.04 + 20160531.12-01 120 canonical -

แม้ว่ามันจะปรากฏขึ้นใน ....

$ snap interfaces
: เครือข่าย nextcloud
: network-bind nextcloud

ฉันเหนื่อย

$ snap changes
ID   Status  Spawn                 Ready  Summary
1    Doing   2016-06-24T12:39:20Z  -      Install "nextcloud" snap

$ sudo snap abort 1

$ snap changes
ID   Status  Spawn                 Ready  Summary
1    Abort   2016-06-24T12:39:20Z  -      Install "nextcloud" snap

แต่พาร์ติชันยังคงอยู่ที่นั่น

** อัพเดทฉันรันกระบวนการทั้งหมดอีกครั้งเพื่อจุดประสงค์ในการดีบั๊กและปล่อยให้มันทำงานหลังจากคำสั่ง "snap abort 1" ในบางจุดบางสิ่งบางอย่างดูเหมือนว่าจะเสร็จสมบูรณ์ในพื้นหลังเพราะ lsblk แสดงให้เห็นว่าไม่มีอะไรและแบบสอบถามอินเทอร์เฟซ snap แสดงอะไร

คำตอบ:


44

snapคำสั่งจะทำจริงขึ้นจากสองส่วนเซิร์ฟเวอร์และไคลเอ็นต์ คุณกำลังโต้ตอบกับลูกค้า เมื่อคุณยกเลิกการติดตั้งในฝั่งไคลเอ็นต์นั่นเป็นที่เดียวที่คุณยกเลิก - ลูกค้า ดังนั้นมันจึงหยุดแสดงว่าคุณกำลังติดตั้ง แต่มันยังคงติดตั้งอยู่ (นี่เป็นข้อผิดพลาด ) ( อัปเดต:ข้อผิดพลาดนี้ได้รับการแก้ไขใน snapd v2.20.1)

ทางฝั่งเซิร์ฟเวอร์ทุกสิ่งนี้เกิดขึ้นใน "การเปลี่ยนแปลง" คุณสามารถอ่านเพิ่มเติมได้ที่นี่แต่สำหรับวัตถุประสงค์ของคุณคุณต้องการยกเลิกการเปลี่ยนแปลงเฉพาะนี้ ในการทำเช่นนั้นให้เรียกใช้:

$ snap changes
<snip>
203  Doing   2016-06-24T12:17:45Z  -  Install "nextcloud" snap

จด ID, 203 และความจริงที่ว่า "กำลังทำ" อยู่ตอนนี้ หากต้องการยกเลิกการดำเนินการนั้นคุณใช้ ID การเปลี่ยนแปลง:

$ sudo snap abort 203

และการเปลี่ยนแปลงควรหยุด อย่างไรก็ตามฉันต้องบอกว่าความจริงที่ว่าการเปลี่ยนแปลงที่เกิดขึ้นนั้นไม่ดีพอสำหรับความสามารถในการยกเลิกของคุณ หากไม่ได้ผลอาจลองรีบูตเครื่อง หากยังไม่ได้แก้ไขและคุณสูญเสีย snaps และข้อมูลทั้งหมดคุณก็สามารถรีเซ็ตสถานะ snapd ได้อย่างสมบูรณ์ด้วยสคริปต์นี้


ตอนนี้จะอัปโหลดเพราะสคริปต์ลบพาร์ติชันออกไปจริง ๆ แล้วนั่นเป็นเป้าหมายหลักของฉัน ฉันทำอย่างนั้นแล้วกลับไปที่กระบวนการทั้งหมดเพื่อรวบรวมข้อความแสดงข้อผิดพลาดและอัปเดตคำถามเพื่อสะท้อนข้อมูลดังกล่าวรวมถึงข้อเท็จจริงที่ว่าคุณได้ระบุการแช่แข็งที่ระบุว่าการยกเลิกและการลบจะไม่ทำงาน ฉันจะให้เวลาหนึ่งวันเพื่อดูว่ามีวิธีที่สะอาดกว่าในการกำจัด nextcloud หรือไม่และจะไม่ยอมรับสิ่งนี้เพราะประสิทธิภาพของสคริปต์ ขอบคุณ
เดนนิส

ฉันสับสนเล็กน้อยเกี่ยวกับ "พาร์ติชัน" ที่คุณอ้างถึง Snapd ไม่แบ่งพาร์ติชันอะไรเลย คุณหมายถึงอะไรอย่างแน่ชัด?
Kyle

ฉันอัปเดตข้อมูลในคำถาม ฉันอาจมีคำศัพท์ที่ผิด แต่ฉันกำลังพูดถึงสิ่งที่ดูเหมือนพาร์ทิชันสำหรับฉันที่ปรากฏใน lsblk พวกเขายังปรากฏในตัวจัดการไฟล์เป็นดิสก์แม้ว่าฉันจะไม่ชัดเจนว่าบรรจุภัณฑ์คืออะไร คุณสามารถดูได้จากการอัปเดตในตอนท้ายว่าคำแนะนำของคุณในการยกเลิกกระบวนการเฉพาะที่เกิดขึ้นจริงแล้ว (ถ้าฉันอดทน)
เดนนิส

ด้านทราบฉันเห็นจากบล็อกของคุณที่คุณเห็นได้ชัดว่า "คน" ในหัวข้อนี้ หากมีสิ่งใดที่ฉันสามารถให้ที่จะเป็นประโยชน์อีกครั้ง: ทำไมนี้ไม่ทำงานในสถานที่แรกโปรดแจ้งให้เราทราบ
เดนนิส

ฮ่าฮ่าแทบจะไม่ได้เขียนบางครั้ง Snaps เป็นเพียงภาพสควอชซึ่งถูกประกอบเข้าที่/snapซึ่งเป็นสิ่งที่คุณเห็นอยู่ที่นั่น เกี่ยวกับความล้มเหลวดูเหมือนว่าปัญหาเคอร์เนลบางอย่างใน armhf สำหรับ MATE คุณคิดจะบันทึกข้อบกพร่องด้วยข้อมูลนี้เพื่อให้เราสามารถตรวจสอบได้อย่างถูกต้องหรือไม่
Kyle
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.