सभी स्नैप्स को उबंटू 18.04 के लिए ब्लॉक डिवाइस या विभाजन के रूप में माउंट और सूचीबद्ध क्यों किया जा रहा है?


21

उबंटू 18.04 के अनुसार lsblk16 स्नैप लूप्स (प्रत्येक स्नैप के लिए 2-3 बार) चल रहा है। सवाल यह है कि उन्हें lsblk, fdisf-l और blkid के परिणाम के रूप में सूचीबद्ध क्यों किया जा रहा है?

यह वास्तविक डिस्क ड्राइव विभाजन से बहुत अधिक अव्यवस्था बनाता है जिसे मुझे देखने की आवश्यकता है, अर्थात् / dev / विभाजन। मुझे पता है कि इस सवाल का एक स्पष्ट डुप्लिकेट मौजूद है, लेकिन यह केवल पूछता है कि प्रति स्नैप में तीन लूप क्यों सूचीबद्ध किए जा रहे हैं। मैं जानना चाहता हूं कि इन स्नैप्स को पहले स्थान पर क्यों सूचीबद्ध किया जा रहा है, और कथित डुप्लिकेट इसका जवाब नहीं देता है (शायद इसे डुप्लिकेट के रूप में चिह्नित करने से मुझे यह समझाने में मदद मिल सकती है कि यह डुप्लिकेट क्यों है)। तकनीकी रूप से, वे फ़ाइल सिस्टम के रूप में अर्हता प्राप्त करते हैं (जिसे मैंने न तो बनाया है और न ही पूछा है), लेकिन वे मेरे द्वारा रुचि रखने वाले / देव / विभाजन के लिए सूचना आउटपुट के तरीके से प्राप्त कर रहे हैं। यह एक समस्या बन जाती है जब fdisk -l एक तीन आउटपुट करता है। पेज + सूची मुख्य रूप से स्नैप्स से भरी हुई है।

हाल ही में (1 सप्ताह पुराना) उबंटू स्थापित करने का आउटपुट और मैंने कोई स्नैप स्थापित नहीं किया है:

$ lsblk  
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT  
loop0    7:0    0  14.5M  1 loop /snap/gnome-logs/37  
loop1    7:1    0   2.3M  1 loop /snap/gnome-calculator/170  
loop2    7:2    0  86.6M  1 loop /snap/core/4486  
loop3    7:3    0  86.6M  1 loop /snap/core/4650  
loop4    7:4    0   1.6M  1 loop /snap/gnome-calculator/154  
loop5    7:5    0  14.5M  1 loop /snap/gnome-logs/34  
loop6    7:6    0   3.3M  1 loop /snap/gnome-system-monitor/36  
loop7    7:7    0   2.3M  1 loop /snap/gnome-calculator/178  
loop8    7:8    0    13M  1 loop /snap/gnome-characters/101  
loop9    7:9    0   3.7M  1 loop /snap/gnome-system-monitor/45  
loop10   7:10   0 139.5M  1 loop /snap/gnome-3-26-1604/64  
loop11   7:11   0   140M  1 loop /snap/gnome-3-26-1604/59   
loop12   7:12   0   3.7M  1 loop /snap/gnome-system-monitor/41  
loop13   7:13   0    21M  1 loop /snap/gnome-logs/25  
loop14   7:14   0  12.2M  1 loop /snap/gnome-characters/69  
loop15   7:15   0    13M  1 loop /snap/gnome-characters/96  
sda      8:0    0 298.1G  0 disk  
├─sda1   8:1    0   512M  0 part /boot/efi  
└─sda2   8:2    0 297.6G  0 part /  
sr0     11:0    1  1024M  0 rom  

(उपरोक्त पाठ के पूरक स्क्रीन पर कब्जा):
screenshot.jpg

मेरे snap list6 परिणाम दिखाता है:

मुख्य
gnome-3-26-1604
सूक्ति-कैलकुलेटर
सूक्ति-वर्ण
सूक्ति-लॉग
सूक्ति-सिस्टम-मॉनिटर

इस बीच, गनोम-डिस्क-यूटिलिटी स्नैप्स के लिए बिल्कुल भी कुछ नहीं दिखाती है, केवल मेरी एचडीडी और ऑप्टिकल ड्राइव दिखाती है।

यह बहुत कारगर नहीं होगा अगर हर स्थापित स्नैप एक ब्लॉक डिवाइस (प्रत्येक जोड़ने के लिए 2-3 बार) के रूप में सूचीबद्ध हो। क्या मुझे इससे निपटने के लिए भविष्य के अपडेट की उम्मीद करनी चाहिए?

संपादित करें:
fdisk-lइन "डिस्क लूप" (डिस्क / देव / लूप 0, डिस्क / देव / लूप 1, आदि के 16 उदाहरणों के साथ एक बहुत लंबी सूची को भी मिटाता है, प्रत्येक विवरण के साथ जो मैं यहां नहीं दिखाऊंगा क्योंकि यह बहुत लंबा है)। यह अभिप्रेत व्यवहार नहीं हो सकता, क्या यह हो सकता है?
blkidTYPE = "स्क्वैश" के रूप में 16 छोरों को भी सूचीबद्ध करता है। कम से कम parted -lउम्मीद के अनुसार काम करता है, केवल मेरे वास्तविक डिस्क विभाजन को बाहर करता है।

मैंने अभी इसका परीक्षण किया है, और अधिक स्नैप स्थापित करने से lsblk आउटपुट में अधिक जुड़ता है। इसलिए, fdisk, lsblk, blkid में संभावित रूप से विशाल आउटपुट सूचियाँ हो सकती हैं, उपलब्ध स्नैप्स की संख्या के अनुसार, और स्थापित।


मुझे लगता है कि आपके प्रश्न का वास्तविक उत्तर इस संबंधित प्रश्न पर है: "स्नैप पैकेज स्क्वैश फाइल सिस्टम हैं। स्नैप्स तक पहुंचने का एकमात्र तरीका उन्हें माउंट करना है। हां, वे हमेशा माउंट किए जाएंगे।" askubuntu.com/questions/842093/… भगवान की इच्छा है कि उन्हें घुड़सवार न होना पड़े!
केकड़े

जवाबों:


10

जब आप कमांड टाइप करेंगे

snap list 

आपको वास्तविक स्थापित स्नैप पैकेज का आउटपुट मिलेगा। कारण जब एक स्नैप पैकेज को अपडेट किया जाता है, तो पुराने संस्करण को रखा जाता है (स्नैपक्राफ्ट डैन देखें)

Snapcraft की मुद्राओं से उद्धरण

कचरा संग्रह तब किसी भी स्नैप फ़ाइलों को निकालता है और शुद्ध करता है, और उनके लेखन के लिए स्नैप संस्करण के लिए, जो अभी अपडेट किया गया है - जिसका अर्थ है, कम से कम, एक स्नैप के दो संस्करण सिस्टम पर मौजूद होंगे। यह पिछले ज्ञात-अच्छे राज्य में स्नैप को वापस करने की क्षमता से समझौता किए बिना डिस्क स्थान बचाता है।

स्पष्ट रूप से आपके सिस्टम से एक स्नैप हटाने से भी कोड को हटा दिया जाएगा और सभी पूर्व संस्करणों के लिए डेटा को शुद्ध कर देगा।

उदाहरण के लिए, आप गनोम-कैलकुलेटर के एक से अधिक संस्करण स्थापित कर चुके हैं ।

मामले में आपको केवल नवीनतम संस्करण की आवश्यकता है, आप उपयोग कर सकते हैं

sudo snap remove gnome-calculator --revision <verison to be placed>

कमांड का उपयोग करना

losetup -a 

आपको माउंटेड स्नैप्स (लूप डिवाइस) दिखाता है

यदि आप डबल लोगों को हटाना चाहते हैं, तो टाइप करें

sudo losetup -d /dev/loop<loopnumber>

यह स्नैप कोड की एक त्रुटि प्रतीत होती है, क्योंकि सभी पुराने / var / lib / Snapd / snaps फ़ाइल में रखे गए हैं।


1
sudo: remove: command not found और losetup -dकुछ भी नहीं बदलता है।
जॉर्डी

3
सही कोड sudo snap removeनहीं है sudo remove। कृपया अपने उत्तर को संशोधित करें।
जॉर्डी

8

आपके प्रश्न की सामग्री से, आपकी समस्या उस तरीके को खोजने के बारे में है जो आपके द्वारा देखे जाने पर नियंत्रण रखने का तरीका है जब आप अपने ब्लॉक उपकरणों को देखने की कोशिश करते हैं कि स्नैप अपने ऑपरेशन के लिए ब्लॉक उपकरणों का उपयोग कैसे करता है।

मैं आपके बीच संदर्भित संदर्भ से सहमत हूँ fdisk -lऔर parted -l। जबकि fdisk ब्लॉक डिवाइस का एक बहुत अच्छा विस्तृत आउटपुट दिखाता है, यह बहुत अधिक अन्य चीजों को दिखाता है जो आप देखने की कोशिश कर रहे हैं।

संकल्प

आप फ़िल्टर lsblk स्वरूपित आउटपुट का उपयोग कर सकते हैं । यह एक अच्छा आउटपुट देने के लिए अच्छी तरह से काम करता है जैसे कि आपको सूक्ति-डिस्क-उपयोगिता के साथ क्या मिलता है ।

$ lsblk -o name,mountpoint,label,size,fstype,uuid | egrep -v "^loop"

या जैसा कि आपने अपने प्रश्न में संकेत दिया है:

$ sudo parted -l

के लिए dfअपने प्रश्न में आदेश, का उपयोग करें:

$ df | egrep -v /dev/loop

3
मैं किसी के लिए वास्तव में यह सुझाव देने के लिए लंबे समय से इंतजार कर रहा था, lsblk के लिए एक फ़िल्टर्ड आउटपुट (बजाय उन सभी टिप्पणियों के सामान्य और अच्छे के रूप में अत्यधिक आउटपुट का बचाव करते हुए)। मैं ऐसा करने से बचना चाहूंगा, हालांकि, सिर्फ इसलिए कि सादा और सीधा lsblkतेज था, याद रखना आसान था, और इसने खूबसूरती से काम किया, इससे पहले कि स्नैप इसके साथ हस्तक्षेप करता। मैं इसे वापस चाहता हूं जैसा कि यह था। उम्मीद है, अत्यधिक उत्पादन सिर्फ एक बग है जो तय हो जाएगा।
jordy

4
@danthonyd पावती के लिए धन्यवाद। मुझे यकीन था कि मैं इस सवाल को समझ गया था और यह महसूस किया कि यह एयू डेटाबेस में सूचना और विचार के लिए एक जगह के लायक है। यह एक ऐसी चीज है जिसके बारे में मैं लंबे समय से चिंतित हूं। हालाँकि, समस्या स्नैप नहीं है। समस्या fdiskडेवलपर्स के साथ है। उन्हें अत्यधिक उत्पादन को हटाने और सूक्ति-डिस्क-उपयोगिता की तरह अपने अनुप्रयोग को अधिक प्रबंधनीय बनाने के लिए छद्म उपकरणों पर वास्तविक उपकरणों को फ़िल्टर करने के लिए एक विधि जोड़ना चाहिए। कोई भी fdiskअपने पाश उपकरणों का प्रबंधन करने के लिए उपयोग नहीं किया जाएगा । (जारी) ...
एलडी जेम्स

4
... (जारी) उन्हें इसे fdisk आउटपुट में देखने की भी आवश्यकता नहीं है । यही कारण है कि losetup और अन्य छद्म अनुप्रयोग कमांड के लिए हैं। तो अगर आप इसे उपकरण के साथ प्रबंधित नहीं कर सकते हैं तो इसे दिखाने में क्यों परेशान करें। Fdisk डिज़ाइन की यह खराबी, parted और lsblk जैसे ऐप्स को अधिक लोकप्रिय और उपयोगकर्ता के अनुकूल बना रही है।
LD जेम्स

1
धन्यवाद। मैं | egrep -v "^loop"अपने सभी 16.04 lsblkलिपियों को आज जोड़ रहा हूँ, जिस दिन मैं 18.04 में परिवर्तित हो जाऊंगा। (FYI करें मैं आज से पहले ही आपके जवाब को अप-वोट कर चुका था)
WinEunuuchs2Unix

5

मुझे यह कष्टप्रद भी लगता है। ऐसा लगता है कि यदि वे नहीं चल रहे हैं तो उन्हें माउंट या सूचीबद्ध नहीं किया जाना चाहिए। आप सभी लूप डिवाइस को बाहर करने के लिए इस कमांड को चला सकते हैं।

$ lsblk -e 7


1

यदि आप सिस्टम मॉनिटर के स्नैप संस्करण का उपयोग करते हैं, तो आपको स्नैप द्वारा उपयोग किए जाने वाले सभी फ़ाइल सिस्टम और साथ ही आपके द्वारा उपयोग किए जाने वाले सिस्टम दिखाई देंगे।

एक आसान "फिक्स" ऐप स्टोर से सूक्ति सिस्टम मॉनिटर की स्थापना रद्द करना है। यह स्नैप-वर्जन है।

फिर सिनेटिक पैकेज मैनेजर का उपयोग करके सामान्य रिपॉजिटरी से ग्नोम सिस्टम मॉनिटर स्थापित करें। यह सामान्य संस्करण है जो रूट विभाजन पर सभी फाइलों का एक गुच्छा स्थापित करता है। अच्छा!

और आप देखेंगे कि जब आप Gnome System Monitor लॉन्च करते हैं, तो आप उससे क्या अपेक्षा करते हैं ...


महान! यह वही है जिसे मैं देख रहा था। आदेश हैं snap remove gnome-system-monitor(कोई sudo आवश्यक), इसके बाद sudo apt install gnome-system-monitor( sudo के साथ इस समय )।
19

0

केवल लूपबैक को छोड़कर माउंट दिखाने के लिए आप बस भी कर सकते हैं:

lsblk -af |grep -sv loop

;)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.