Upgrade to Pro — share decks privately, control downloads, hide ads and more …

lsblkのtypeフィールドのしくみ

 lsblkのtypeフィールドのしくみ

以下動画のテキストです。
https://youtu.be/x_QSV1tM3qY

Satoru Takeuchi

October 03, 2023
Tweet

More Decks by Satoru Takeuchi

Other Decks in Technology

Transcript

  1. lsblkのtypeフィールドのしくみ
    Oct. 4th, 2023
    Satoru Takeuchi
    twitter: satoru_takeuchi, EnSatoru
    1

    View full-size slide

  2. 今回話すこと
    ● lsblkというブロックデバイス一覧表示するコマンド
    ● とくにtypeフィールドの値を決める方法
    2

    View full-size slide

  3. lsblkとは
    ● ブロックデバイスについての色々な情報を得るためのコマンド
    3

    View full-size slide

  4. typeフィールド
    ● ブロックデバイスの種類を表示
    ● 📝 過去動画「Linuxの色々なブロックデバイス」
    4

    View full-size slide

  5. ブロックデバイスの構成
    5
    sda
    (disk)
    sdb
    (disk)
    sdc
    (disk)
    sda1
    (part)
    sda2
    part
    FAT32
    filesystem
    ext4
    filesystem
    testvg
    dm-0
    (lvm)
    dm-1
    (crypt)
    test.img
    loop0
    (loop)

    View full-size slide

  6. lsblkのソース
    ● util-linuxの中にある
    ● githubだとgithub.com/util-linux/util-linux
    ● typeを判定しているのはmisc_utils/lsblk.c#get_type()
    6

    View full-size slide

  7. 判定方法
    ● 基本は/sys/block以下のファイルを見る
    7

    View full-size slide

  8. kpartxコマンド
    ● ディスクイメージなどの中のパーティションをブロックデバイスとして見えるようにす

    ● isoイメージの中のパーティションに作ったファイルシステムのmount時などによく使

    ○ kpartx -a test.img
    ○ mount /dev/loop0p1
    ○ kpartx -d test.img
    8

    View full-size slide

  9. まとめ
    ● ブロックデバイスの一覧を出すlsblkというコマンドがある
    ● 出力の中のtypeフィールドはブロックデバイスの種類を示す
    ● /sys/block以下の情報をもとに種類を識別している
    9

    View full-size slide