Почему все привязки монтируются и отображаются как блочные устройства или разделы для Ubuntu 18.04?

19

Начиная с Ubuntu 18.04, работает lsblk16 циклов привязки (2-3 раза для каждой привязки). Вопрос в том, почему они перечислены в качестве результатов для lsblk, fdisf-l и blkid?

Это создает много беспорядка из фактических разделов дисковода, которые мне нужны, а именно / dev / partitions. Я знаю, что предполагаемый дубликат этого вопроса существует, но он только спрашивает, почему в цикле перечисляются три цикла. Я хочу знать, почему эти снимки перечислены в первую очередь, и предполагаемый дубликат не отвечает на этот вопрос (возможно, те, кто пометил это как дубликат, могли бы помочь мне объяснить, почему это дубликат). Технически они квалифицируются как файловые системы (которые я ни создавал, ни запрашивал), но они мешают выводу информации для интересующего меня раздела / dev /. Это становится проблемой, когда fdisk -l выводит три страница + список, заполненный в основном снимками.

Результат недавней (1 недели) установки Ubuntu, и я не установил никаких снимков:

$ 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 listшоу 6 результатов:

core
gnome-3-26-1604
гном-калькулятор
гном-персонажи
гном-логи
гном-система-монитор

Между тем, утилита gnome-disk вообще ничего не показывает для снимков, только мой жесткий диск и оптический привод.

Это не будет очень эффективно, если каждая установленная оснастка будет указана в качестве блочного устройства (2-3 раза для добавления). Стоит ли ожидать будущих обновлений, чтобы справиться с этим?

Редактировать:
fdisk-lтакже выдает очень длинный список с 16 экземплярами этих «дисковых циклов» (Disk / dev / loop0, Disk / dev / loop1 и т. Д., Каждый из которых содержит подробности, которые я здесь не буду показывать, потому что он слишком длинный). Это не может быть намеренным поведением, не так ли?
blkidтакже перечисляет 16 циклов, как TYPE = "squashfs". По крайней мере, parted -lработает, как ожидалось, только вытащив мои реальные разделы диска.

Я только что проверил это, и установка дополнительных снимков добавляет больше к выводу lsblk. Следовательно, fdisk, lsblk, blkid могут иметь потенциально огромные выходные списки, в зависимости от количества доступных моментальных снимков и установленных.

Джорди
источник
Я думаю, что реальный ответ на ваш вопрос заключается в следующем: «Пакеты моментальных снимков - это файловые системы squashfs. Единственный способ получить доступ к моментальным снимкам - это подключить их. Так что да, они всегда будут подключаться». askubuntu.com/questions/842093/… Боже, я бы хотел, чтобы их не нужно было монтировать!
Craq

Ответы:

10

Когда вы вводите команду

snap list 

вы получите вывод фактических установленных пакетов моментальных снимков. Причина в том, что при обновлении пакета snap старая версия сохраняется (см. Документацию snapcraft) .

Цитировать из документального снимка

Затем сборщик мусора удаляет и удаляет все файлы моментальных снимков и их области с возможностью записи для версий моментальных снимков, предшествующих только что обновленной, что означает, что в системе будут присутствовать не более двух версий моментальных снимков. Это экономит дисковое пространство без ущерба для возможности возврата оснастки к предыдущему заведомо исправному состоянию.

Явное удаление оснастки из вашей системы также приведет к удалению кода и очистке данных для всех предыдущих версий.

Например, вы установили более одной версии гном-калькулятора .

Если вам нужна только последняя версия, вы можете использовать

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

Используя команду

losetup -a 

показывает смонтированные защелки (петлевые устройства)

Если вы хотите удалить двойные, введите

sudo losetup -d /dev/loop<loopnumber>

Кажется, это ошибка кода моментального снимка, так как все старое было сохранено в файле / var / lib / snapd / snaps.

abu_bua
источник
1
sudo: remove: command not found и losetup -dничего не меняет.
Джорди
3
Правильный код sudo snap removeне является sudo remove. Пожалуйста, измените свой ответ.
Джорди
8

Исходя из содержания вашего вопроса, ваша проблема заключается в поиске способа контролировать то, что вы видите, когда пытаетесь просмотреть свои блочные устройства, чем то, как Snap использует блочные устройства для своей работы.

Я согласен с вашим указанным различием между fdisk -lи parted -l. Хотя fdisk показывает очень хороший детальный вывод блочных устройств, он показывает слишком много других вещей, которые отвлекают от того, что вы пытаетесь увидеть.

разрешение

Вы можете использовать фильтр в формате lsblk . Это хорошо работает, чтобы получить чистый вывод, подобный тому, что вы получаете с помощью утилиты gnome-disk .

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

Или, как вы указали в своем вопросе:

$ sudo parted -l

Для dfкоманды в вашем вопросе используйте:

$ df | egrep -v /dev/loop
Л.Д. Джеймс
источник
3
Я долго ждал, чтобы кто-то предложил именно это, отфильтрованный вывод для lsblk (а не все эти комментарии, защищающие чрезмерный вывод как нормальный и хороший). Однако я хотел бы избежать необходимости делать это просто потому, что простые и понятные lsblkбыли быстрыми, легко запоминающимися и прекрасно работали до того, как хватка помешала ему. Я хочу вернуть все как есть. Надеюсь, чрезмерный вывод - это просто ошибка, которая будет исправлена.
Джорди
4
@danthonyd Спасибо за подтверждение. Я был уверен, что понял вопрос и был уверен, что он заслуживает места в базе данных АС для рассмотрения и ответа. Это то, о чем я беспокоюсь уже давно. Однако проблема не в Snap. Проблема с fdiskразработчиками. Им следует добавить метод фильтрации реальных устройств через псевдоустройства, чтобы удалить избыточный вывод и сделать их приложение более управляемым, например, утилиту Gnome-disk. Никто не будет использовать fdiskдля управления своими устройствами петли . (продолжение) ...
Л.Д. Джеймс
4
... (продолжение) Им даже не нужно видеть это в выводе fdisk . Это то, для чего применяются losttup и другие команды псевдо- приложений. Так зачем показывать это, если вы не можете управлять этим с помощью инструмента. Этот недостаток в дизайне FDisk делает такие приложения , как пробор и lsblk более популярным и дружественным к пользователю.
Л.Д. Джеймс
1
Спасибо. Сегодня я добавляю | egrep -v "^loop"все свои lsblkсценарии 16.04, чтобы уменьшить объем обслуживания в день перехода на 18.04. (К вашему сведению, я уже проголосовал за ваш ответ до сегодняшнего дня)
WinEunuuchs2Unix
5

Я тоже нахожу это раздражающим. Кажется, что если они не запущены, их не следует монтировать или перечислять. Вы можете запустить эту команду, чтобы исключить все устройства цикла.

$ lsblk -e 7

user911218
источник
1

Если вы используете привязку версии системного монитора, то вы увидите все файловые системы, используемые привязкой, а также те, которые вы используете.

Простое «исправление» - удаление Gnome System Monitor из магазина приложений. Это Snap-версия.

Затем установите Gnome System Monitor из обычных репозиториев с помощью диспетчера пакетов Synaptic. Это нормальная версия, которая устанавливает кучу файлов по всему корневому разделу. Ницца!

И вы увидите именно то, что ожидаете увидеть при запуске Gnome System Monitor ...

Андерс Ларсен
источник
Большой! Это то, что я искал. Команды snap remove gnome-system-monitor(sudo не требуется), затем sudo apt install gnome-system-monitor(на этот раз с sudo).
PerlDuck
0

Чтобы показывать только монтирования, исключая петлю, вы также можете просто:

lsblk -af |grep -sv loop

;)

jbrios777
источник