Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
lsblkコマンドのTYPEフィールドの値を自由に変更
Search
Satoru Takeuchi
PRO
November 26, 2023
Technology
0
96
lsblkコマンドのTYPEフィールドの値を自由に変更
以下動画のテキストです
https://youtu.be/D_pecRQXn0k
Satoru Takeuchi
PRO
November 26, 2023
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
290
俺とキャンプ2
sat
PRO
1
100
俺とキャンプ3
sat
PRO
0
85
データ冗長化のしくみRAID 基礎概念とRAID1編
sat
PRO
2
39
RAIDの実現方法
sat
PRO
2
77
Linux環境のCPU上で10ミリ秒間に起こること
sat
PRO
3
120
HDDへのアクセス速度は位置によって変わる!??
sat
PRO
4
65
ボリュームマネージャLVM
sat
PRO
2
93
Best Practices of Production-Grade Rook/Ceph Cluster
sat
PRO
1
2.1k
Other Decks in Technology
See All in Technology
個人的、Kubernetes の最新注目機能! (2024年5月版) / TechFeed Experts Night#28 〜 コンテナ技術最前線
pfn
PRO
3
210
Domain-driven Design: A Complete Example
ewolff
2
250
Cloudflare WorkersがPythonに対応したので試してみた
miura55
0
190
YJIT Makes Rails 1.7x faster / RubyKaigi 2024
k0kubun
2
410
エムスリーQAチーム紹介資料 / Introduction of M3 QA Team
m3_engineering
1
320
1Q86
kawaguti
PRO
2
180
PhpStorm超絶技巧40分集中講義 #phpconkagawa
yusuke
4
740
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
16
6.7k
大規模言語モデル (LLM)における低精度数値表現
pfn
PRO
3
810
Google Cloud Next '24 Recap in ZOZO AIにより変わる開発 運用/Development and operation changed by AI
gachimuchiengineer
0
190
Blazor WASM × Code-first gRPC で始める C# ⼤統⼀理論
sansantech
PRO
0
170
Google Cloudを組織(企業)で運用する時のベストプラクティス × 健康の環境分離戦略 #まるクラ勉強会
yasumuusan
0
170
Featured
See All Featured
Fireside Chat
paigeccino
22
2.7k
Writing Fast Ruby
sferik
622
60k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Testing 201, or: Great Expectations
jmmastey
30
6.4k
What's in a price? How to price your products and services
michaelherold
238
11k
Embracing the Ebb and Flow
colly
80
4.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
20
1.8k
A Tale of Four Properties
chriscoyier
153
22k
Atom: Resistance is Futile
akmur
260
25k
KATA
mclloyd
16
12k
Typedesign – Prime Four
hannesfritz
36
2.1k
Transcript
lsblkのTYPEフィールドの値を 自由に変更 Nov. 28th, 2023 Satoru Takeuchi X: satoru_takeuchi 1
今回話すこと • 「その59 lsblkのtypeフィールドのしくみ」の続き • lsblkのtypeフィールドの値を自由に変更する方法 2
lsblkコマンドのtypeフィールド 3
TYPEフィールドでたまに困ることがある • ブロックデバイスを扱うコマンドが特定のTYPEを受け付けないことがある ◦ e.g. ceph-volume lvm preapreコマンドはdisk, part, lvmなど一部しか使えない
• 本番環境はさておきテスト用には任意のデバイスを使いたい 4
lsblkのソース • util-linuxの中にある • githubだとgithub.com/util-linux/util-linux • typeを判定しているのはmisc_utils/lsblk.c#get_type() ◦ https://github.com/util-linux/util-linux/blob/master/misc-utils/lsblk.c#L456-L469 •
dmデバイスの場合 ◦ UUIDは/sys/block/<dmデバイス名>/dm/uuidファイルの値で判断 ◦ UUIDが”<foo>-<bar>”という形式ならTYPEフィールドの値は<foo>を小文字にしたもの ▪ <foo>が”part”で始まっていれば例外的に ”part”になる ◦ そうでなければ”dm” 5
linearターゲットの場合 6 cat test-linear.txt sudo dmsetup create test-linear test-linear.txt lsblk
cat /sys/block/dm-X/dm/uuid sudo dmsetup remove test-linear
linearターゲットの場合 7 cat test-linear.txt sudo dmsetup create test-linear test-linear.txt lsblk
cat /sys/block/dm-X/dm/uuid sudo dmsetup remove test-linear NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 1G 0 loop └─test-linear 253:0 0 1G 0 dm
dmデバイスのuuidは作成時に自分で設定できる • dmsetup createに-u <uuid>オプションを渡せばいい • 例: linearデバイスをdiskとして認識させる 8 sudo
dmsetup create -u disk-foobar test-linear test-linear.txt lsblk sudo dmsetup remove test-linear
dmデバイスのuuidは作成時に自分で設定できる • dmsetup createに-u <uuid>オプションを渡せばいい • 例: linearデバイスをdiskとして認識させる 9 sudo
dmsetup create -u disk-foobar test-linear test-linear.txt lsblk sudo dmsetup remove test-linear NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 1G 0 loop └─test-linear 253:0 0 1G 0 disk
悪ふざけもできる 10 sudo dmsetup create -u helpme...-foobar test-linear test-linear.txt lsblk
sudo dmsetup remove test-linear
悪ふざけもできる 11 sudo dmsetup create -u helpme...-foobar test-linear test-linear.txt lsblk
sudo dmsetup remove test-linear NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 1G 0 loop └─test-linear 253:0 0 1G 0 helpme...
まとめ • lsblkコマンドのTYPEフィールドの値は自由に書き換えられる • 適当にソースコードを読むとちょっとしたハックの方法がわかってうれしい 12