blkid가 CentOS에서 장치 이름을 인쇄하지 않습니다.

blkid가 CentOS에서 장치 이름을 인쇄하지 않습니다.

CentOS에서 컨테이너를 실행하고 있습니다.

docker run -it centos bash

먼저 라벨이나 UUID를 확인합니다.

[root@3271c071fe0a /]# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.3.0-1032-aws root=LABEL=cloudimg-rootfs ro console=tty1 console=ttyS0 nvme_core.io_timeout=4294967295

그런 다음 label( cloudimg-rootfs)을 사용하여 장치 이름으로 변환해 보았지만 blkid아무 것도 인쇄되지 않습니다.

[root@3271c071fe0a /]# blkid -L="cloudimg-rootfs"
[root@3271c071fe0a /]#

/dev/xvda1다음을 확인했기 때문에 얻을 것으로 예상됩니다 lsblk.

[root@3271c071fe0a /]# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop1     7:1    0 96.6M  1 loop
loop2     7:2    0 28.1M  1 loop
loop3     7:3    0 97.1M  1 loop
xvda    202:0    0    8G  0 disk
`-xvda1 202:1    0    8G  0 part /etc/hosts

인쇄해 보는 건 어떨까요?
나는 전에 시도했습니다 =:
여기에 이미지 설명을 입력하세요.

그리고 그렇지 않습니다 : 여기에 이미지 설명을 입력하세요.

답변1

blkid신뢰할 수 없기 때문에 이 작업 에 사용해서는 안 됩니다 . "설명" 섹션을 확인하면 man blkid다음 구절을 찾을 수 있습니다(강조):

lsblk(8) 명령을 사용하여 블록 장치에 대한 정보를 얻거나, lsblk --fs를 사용하여 파일 시스템 개요를 얻거나, findmnt(8)를 사용하여 마운트된 파일 시스템을 검색하는 것이 좋습니다.

lsblk(8)은 더 많은 정보를 제공하고 출력 형식에 대한 더 나은 제어를 제공하며 스크립트에서 사용하기 쉽고 실제 정보를 얻기 위해 루트 권한이 필요하지 않습니다. blkid는 장치에서 직접 정보를 읽고, 루트가 아닌 사용자의 경우 캐시된 검증되지 않은 정보를 반환합니다. blkid는 주로 시스템 서비스 및 libblkid 기능 테스트용으로 설계되었습니다.

관련 정보