52 votes

Pourquoi tous les snaps sont-ils montés et listés comme des périphériques de bloc ou des partitions pour Ubuntu 18.04 ?

Sous Ubuntu 18.04 lsblk montre 16 boucles (2 à 3 fois pour chaque boucle). La question est de savoir pourquoi elles sont listées comme résultats pour lsblk, fdisf-l et blkid.

Il crée beaucoup d'encombrement par rapport aux partitions des lecteurs de disques que j'ai besoin de voir, à savoir les partitions /dev/. Je sais qu'il existe un duplicata supposé de cette question, mais il demande seulement pourquoi trois boucles sont listées par snap. Je veux savoir pourquoi ces snap sont listés en premier lieu, et le duplicata supposé ne répond pas à cette question (peut-être que ceux qui marquent cette question comme duplicata pourraient m'aider en expliquant pourquoi il s'agit d'un duplicata). Techniquement, ils sont considérés comme des systèmes de fichiers (que je n'ai ni créés ni demandés), mais ils gênent la sortie des informations pour les partitions /dev/ qui m'intéressent. Cela devient un problème lorsque fdisk -l produit une liste de plus de trois pages remplie principalement de snaps.

Il s'agit d'une installation récente (1 semaine) d'Ubuntu et je n'ai pas installé de snaps :

$ 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  

(capture d'écran supplémentaire du texte ci-dessus) :
capture d'écran.jpg

Mon snap list affiche 6 résultats :

noyau
gnome-3-26-1604
gnome-calculateur
Caractères gnome
gnome-logs
gnome-system-monitor

Pendant ce temps, gnome-disk-utility n'affiche rien du tout pour les snaps, mais seulement mon disque dur et mon lecteur optique.

Ce ne sera pas très efficace si chaque snap installé est répertorié comme un dispositif de blocage (2 à 3 fois chacun à ajouter). Dois-je m'attendre à ce que de futures mises à jour traitent de ce problème ?

Edita:
fdisk-l édite également une très longue liste de 16 instances de ces "boucles de disque" (Disk /dev/loop0, Disk /dev/loop1, etc., chacune avec des détails que je ne montrerai pas ici parce que c'est trop long). Cela ne peut pas être un comportement voulu, n'est-ce pas ?
blkid indique également 16 boucles, comme TYPE="squashfs". Au moins parted -l fonctionne comme prévu, en ne sortant que les partitions de mon disque.

Je viens de le tester, et le fait d'installer plus de snaps ajoute effectivement plus à la sortie de lsblk. Par conséquent, fdisk, lsblk, blkid pourraient avoir des listes de sortie potentiellement énormes, en fonction du nombre de snaps disponibles et installés.

21voto

abu_bua Points 9377

Lorsque vous tapez la commande

snap list 

vous obtiendrez le résultat des paquets snap installés. La raison en est que lorsqu'un paquet snap est mis à jour, l'ancienne version est conservée. (voir document snapcraft) .

Citate from snapcraft docu

La collecte de déchets supprime et purge ensuite tous les fichiers snap, ainsi que leurs zones accessibles en écriture, pour les versions snap antérieures à celle qui vient d'être mise à jour - ce qui signifie qu'au maximum, deux versions d'un snap seront présentes sur le système. Cela permet d'économiser de l'espace disque sans compromettre la possibilité de ramener le snap à un état antérieur connu.

En supprimant explicitement un snap de votre système, vous supprimez également le code et purgez les données de toutes les versions antérieures.

Par exemple, vous avez installé plusieurs versions de gnome-calculateur .

Si vous n'avez besoin que de la version la plus récente, vous pouvez utiliser

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

En utilisant la commande

losetup -a 

vous montre les snaps montés (périphériques en boucle)

Si vous souhaitez supprimer les doubles, tapez

sudo losetup -d /dev/loop<loopnumber>

Il semble qu'il s'agisse d'une erreur du code snap, puisque tous les anciens ont été conservés dans le fichier /var/lib/snapd/snaps.

15voto

linuxmaniax Points 21

D'après le contenu de votre question, votre problème concerne la recherche d'un moyen de contrôler ce que vous voyez lorsque vous essayez d'afficher vos périphériques de bloc, plutôt que la façon dont Snap utilise les périphériques de bloc pour son fonctionnement.

Je suis d'accord avec la distinction que vous faites entre fdisk -l y parted -l . Tandis que fdisk montre une très bonne sortie détaillée des dispositifs de blocage, il montre trop d'autres choses qui détournent l'attention de ce que vous essayez de voir.

Résolution

Vous pouvez utiliser le filtre lsblk sortie formatée. Cela fonctionne bien pour donner une sortie propre comme celle que vous obtenez avec gnome-disk-utility .

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

Ou comme vous l'avez indiqué dans votre question :

$ sudo parted -l

Pour les df dans votre question, utilisez :

$ df | egrep -v /dev/loop

13voto

user911218 Points 131

Je trouve cela ennuyeux aussi. Il semble que s'ils ne fonctionnent pas, ils ne devraient pas être montés ou répertoriés. Vous pouvez exécuter cette commande pour exclure tous les périphériques en boucle.

$ lsblk -e 7

2voto

Anders Larsen Points 21

Si vous utilisez la version snap du moniteur système, vous verrez tous les systèmes de fichiers utilisés par snap ainsi que ceux que vous utilisez.

Une solution simple consiste à désinstaller Gnome System Monitor de la boutique d'applications. Il s'agit de la version snap.

Installez ensuite Gnome System Monitor à partir des dépôts normaux en utilisant le gestionnaire de paquets Synaptic. C'est la version normale qui installe un tas de fichiers sur la partition racine. C'est très bien !

Et vous verrez exactement ce que vous vous attendez à voir lorsque vous lancez Gnome System Monitor...

2voto

zpangwin Points 193

Je me rends compte que cette question est ancienne, mais comme elle figurait en tête des résultats de recherche lorsque j'ai cherché pourquoi blkid / fdisk -l génère beaucoup d'entrées "en boucle", je me suis dit que je devais partager pour le prochain gars/la prochaine fille.

Une option qui pourrait (en fonction de vos besoins) consiste simplement à supprimer snapd. Sur Linux Mint 19.3 (base Ubuntu 18.04), snapd n'est pas installé par défaut et n'est donc pas nécessaire. D'après ce que j'ai compris, Ubuntu 18.04 est différent en ce sens que snapd est inclus dans la boîte. Sous Mint 19.3, l'installation de snapd génère les mêmes entrées "loop" dans le fichier fdisk -l y blkid et en cours d'exécution sudo apt purge snapd s'en débarrasse.

Je n'ai PAS testé ceci sous Ubuntu 18.04 spécifiquement, mais en supposant que rien de critique ne soit impacté par la suppression de snapd, alors ceci peut est une option viable si vous n'avez pas réellement utiliser snap en tant qu'utilisateur.

Je n'ai pas penser La suppression de snapd cassera tout ce qui est critique dans Ubuntu et qui est basé sur 1 , 2 mais j'ai vu une note aquí que vous devrez peut-être réinstaller certains paquets Ubuntu par défaut qui ont été installés en tant que snaps ( sudo apt install gnome-software gnome-calculator gnome-logs gnome-characters gnome-system-monitor ). Je ne suis pas sûr que cette liste soit complète / quels paquets par défaut seraient nécessaires sous MATE/KDE/xfce/etc. Pour vérifier cela, je recommande vivement de tester dans une machine virtuelle, sauf si vous ne vous souciez pas de réinstaller au cas où quelque chose tournerait mal.

Pour Mint 19, je peux confirmer que la désinstallation de snapd permet de se débarrasser des entrées "loop" dans fdisk -l , blkid , mount et probablement d'autres commandes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X