Ubuntu 18.04のすべてのスナップがブロックデバイスまたはパーティションとしてマウントおよびリストされるのはなぜですか?


18

Ubuntu 18.04を実行するとlsblk、16のスナップループが表示されます(スナップごとに2〜3回)。問題は、なぜlsblk、fdisf-l、およびblkidの結果としてリストされているのですか?

私が見る必要がある実際のディスクドライブパーティション、つまり/ dev /パーティションから多くの混乱が生じます。私はこの質問の意図された複製が存在することを知っていますが、スナップごとに3つのループがリストされている理由を尋ねるだけです。私はこれらのスナップが最初にリストされている理由を知りたいと思っています、そして意図された複製はこれに答えません(おそらくこれを複製としてマークする人はそれが複製である理由を説明することで私を助けるかもしれません)。技術的には、ファイルシステム(私は作成も要求もしていません)として認定されていますが、興味のある/ dev /パーティションの情報出力の邪魔になっています。これはfdisk -lが3を出力するときに問題になります主にスナップで満たされたページ+リスト。

最近(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結果:

コア
gnome-3-26-1604
gnome-calculator
gnome-characters
gnome-logs
gnome-system-monitor

一方、gnome-disk-utilityはスナップについては何も表示せず、HDDと光学ドライブのみを表示します。

インストールされたすべてのスナップがブロックデバイスとしてリストされた場合(追加するたびに2〜3回)は、あまり効率的ではありません。今後の更新でこれに対処する予定ですか?

編集:
fdisk-lまた、これらの「ディスクループ」(ディスク/ dev / loop0、ディスク/ dev / loop1など、それぞれが長すぎるためここでは表示しない詳細を含む)の16インスタンスを含む非常に長いリストをダンプします。これは意図した動作ではありませんか?
blkidTYPE = "squashfs"のように、16個のループもリストします。少なくともparted -l期待どおりに動作し、実際のディスクパーティションのみを使い果たします。

これをテストしましたが、スナップをさらにインストールするとlsblkの出力が増えます。そのため、利用可能なスナップの数に応じて、fdisk、lsblk、blkidには潜在的に巨大な出力リストがあり、インストールされている可能性があります。


あなたの質問に対する実際の答えはこの関連する質問にあると思います:「スナップパッケージはsquashfsファイルシステムです。スナップにアクセスする唯一の方法はそれらをマウントすることです。したがって、はい、常にマウントされます。」askubuntu.com/questions/842093 / ... 神は彼らがマウントされる必要がなかったことを望みます!
craq

回答:


10

コマンドを入力するとき

snap list 

実際にインストールされたスナップパッケージの出力を取得します。理由は、スナップパッケージが更新されても、古いバージョンが保持されるためです(snapcraft docuを参照)

snapcraft docuからの引用

ガベージコレクションは、更新された直前のスナップバージョンのスナップファイルとその書き込み可能領域を削除してパージします。つまり、システムには最大で2つのスナップバージョンが存在します。これにより、スナップを以前の正常な状態に戻す機能を損なうことなく、ディスクスペースを節約できます。

システムから明示的にスナップを削除すると、コードも削除され、以前のすべてのバージョンのデータが削除されます。

たとえば、gnome-calculatorの複数のバージョンをインストールしました。

最新バージョンのみが必要な場合は、使用できます

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形式の出力をフィルター処理できます。これは、gnome-disk-utilityで得られるようなきれいな出力を提供するのにうまく機能します

$ 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謝辞をありがとう。私はこの質問を理解し、それがAUデータベースの検討と回答のための情報の場所にふさわしいと確信しました。これは私が長い間心配してきたことです。ただし、問題はスナップではありません。問題はfdisk開発者にあります。Gnome-disk-utilityのように、過剰な出力を削除し、アプリケーションをより管理しやすくするために、疑似デバイス上で実際のデバイスをフィルターで除外するメソッドを追加する必要があります。ループデバイスのfdisk管理に誰も使用しません。(続き)...
LDジェームズ

4
...(続き)彼らはfdiskの出力でそれを見る必要すらありません。それがlosetupや他の擬似アプリケーションコマンドの目的です。ツールで管理できないのに、なぜわざわざ表示するのでしょう。fdiskデザインのこの欠陥により、partedlsblkなどのアプリがより人気があり、ユーザーフレンドリーになっています。
LDジェームズ

1
ありがとうございました。今日| egrep -v "^loop"、すべての16.04 lsblkスクリプトに追加して、18.04に変換する当日のメンテナンスを削減しています。(FYI私はすでに今日前にあなたの答えを投票していました)
WinEunuuchs2Unix

4

これも迷惑です。それらが実行されていない場合、マウントまたはリストされるべきではないようです。このコマンドを実行して、すべてのループデバイスを除外できます。

$ lsblk -e 7


1

システムモニターのスナップバージョンを使用する場合、スナップで使用されるすべてのファイルシステムと使用するファイルシステムが表示されます。

簡単な「修正」は、Gnome System Monitorをアプリストアからアンインストールすることです。スナップ版です。

次に、Synapticパッケージマネージャーを使用して、通常のリポジトリからGnomeシステムモニターをインストールします。ルートパーティション全体に多数のファイルをインストールするのは通常のバージョンです。いいね!

そして、Gnome System Monitorを起動すると、期待するものが表示されます...


すごい!これは私が探していたものです。コマンドはsnap remove gnome-system-monitor(sudoは不要)、続いてsudo apt install gnome-system-monitor(今回 sudoを使用)です。
PerlDuck

0

ループバックを除くマウントのみを表示するには、次のこともできます。

lsblk -af |grep -sv loop

;)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.