왜 모든 스냅이 Ubuntu 18.04의 블록 장치 또는 파티션으로 마운트되고 나열됩니까? 7:1 0

Ubuntu 18.04부터 lsblk16 개의 스냅 루프가 표시됩니다 (각 스냅마다 2-3 회). 문제는 왜 lsblk, fdisf-l 및 blkid의 결과로 나열됩니까?

실제 디스크 드라이브 파티션, 즉 / dev / 파티션에서 많은 혼란을 만듭니다. 나는이 질문의 중복 된 사본이 존재한다는 것을 알고 있지만 스냅 당 세 개의 루프가 나열되는 이유 만 묻습니다. 이 스냅이 왜 처음에 나열되는지 알고 싶은데, 복제 된 복제본이 이것에 응답하지 않습니다 (아마도 복제본으로 표시 한 복제본이 복제 본인 이유를 설명하면 도움이 될 수 있습니다). 기술적으로는 파일 시스템 (제작하거나 요청하지 않은)으로 자격이 있지만 관심있는 / 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 결과 :

핵심
그놈 -3-26-1604
그놈 계산기
그놈 문자
그놈 로그
그놈 시스템 모니터

한편 gnome-disk-utility는 스냅에 대해 아무 것도 표시하지 않으며 HDD 및 광 드라이브 만 표시합니다.

설치된 모든 스냅이 블록 장치 (각각 2 ~ 3 번)로 나열되면 매우 효율적이지 않습니다. 향후 업데이트에서이 문제를 해결해야합니까?

편집 :
fdisk-l또한이 “디스크 루프”의 16 인스턴스 (디스크 / dev / loop0, 디스크 / dev / loop1 등)가있는 매우 긴 목록을 덤프합니다 (각각 너무 길어서 여기에 표시되지 않는 세부 사항 포함). 이것은 의도 된 행동이 아닌가?
blkid또한 TYPE = “squashfs”로 16 개의 루프를 나열합니다. 적어도 parted -l실제 디스크 파티션을 제외하고는 예상대로 작동합니다.

방금 이것을 테스트했으며 더 많은 스냅을 설치하면 lsblk 출력에 더 많은 것이 추가됩니다. 따라서 fdisk, lsblk, blkid는 사용 가능한 스냅 수에 따라 잠재적으로 큰 출력 목록을 가질 수 있으며 설치됩니다.



답변

명령을 입력하면

snap list

실제 설치된 스냅 패키지의 출력을 얻게됩니다. 그 이유는 스냅 패키지가 업데이트되고 이전 버전이 유지 되기 때문입니다 (snapcraft docu 참조) .

Snapcraft Docu에서 인용

그런 다음 가비지 콜렉션은 방금 업데이트 된 버전 이전의 스냅 버전에 대한 모든 스냅 파일 및 해당 쓰기 가능 영역을 제거하고 제거합니다. 즉, 시스템에 최대 두 가지 버전의 스냅이 존재합니다. 이렇게하면 스냅을 이전의 정상 상태로 되돌릴 수있는 기능을 손상시키지 않으면 서 디스크 공간이 절약됩니다.

시스템에서 스냅을 명시 적으로 제거하면 코드가 제거되고 모든 이전 버전의 데이터가 제거됩니다.

예를 들어, 여러 버전의 gnome-calculator를 설치했습니다. .

최신 버전 만 필요한 경우 사용할 수 있습니다

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

명령 사용

losetup -a

장착 된 스냅 (루프 장치)을 보여줍니다.

이중을 삭제하려면 다음을 입력하십시오.

sudo losetup -d /dev/loop<loopnumber>

이전 코드는 모두 / var / lib / snapd / snaps 파일에 보관 되었기 때문에 스냅 코드의 오류 인 것 같습니다.


답변

질문의 내용에서 문제는 snap이 블록 장치를 사용하여 동작하는 방법보다 블록 장치를 보려고 할 때 표시되는 내용을 제어 할 수있는 방법을 찾는 것입니다.

나는 사이에 참조 구분에 동의 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


답변

나는 이것도 성가신 것을 발견한다. 실행 중이 아니면 마운트하거나 나열해서는 안됩니다. 이 명령을 실행하여 모든 루프 장치를 제외 할 수 있습니다.

$ lsblk -e 7


답변

시스템 모니터의 스냅 버전을 사용하는 경우, 스냅에서 사용하는 모든 파일 시스템과 사용중인 파일 시스템이 표시됩니다.

쉬운 “수정”은 앱 스토어에서 Gnome System Monitor를 제거하는 것입니다. 스냅 버전입니다.

그런 다음 Synaptic 패키지 관리자를 사용하여 일반 리포지토리에서 Gnome System Monitor를 설치하십시오. 루트 파티션 전체에 많은 파일을 설치하는 것은 정상적인 버전입니다. 좋은!

그리고 Gnome System Monitor를 시작할 때 예상되는 것을 볼 수 있습니다 …


답변

루프백 을 제외한 마운트 만 표시하려면 간단히 다음을 수행 할 수 있습니다.

lsblk -af |grep -sv loop

😉


답변