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
Debian 13 trixieで変わった 64bit time t 移行について
Search
Norimitsu Sugimoto
September 06, 2025
Technology
16
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Debian 13 trixieで変わった 64bit time t 移行について
MiniDebConf Japan 2025 発表資料
https://tokyodebian-team.pages.debian.net/minidebconf-japan-2025/
Norimitsu Sugimoto
September 06, 2025
More Decks by Norimitsu Sugimoto
See All by Norimitsu Sugimoto
Debian Updates - OSC 2026 Tokyo/Spring
dictoss
0
20
Debian Updates - OSC 2025 Online/Fall
dictoss
0
13
さくらの夕べ Debianナイト - さくらのVPS編
dictoss
0
1.2k
Debian Updates - OSC 2025 Tokyo/Spring
dictoss
0
58
How I met the Debian JP study session and the openSUSE developer community in Japan.
dictoss
0
64
Debian Updates - OSC 2024 Online/Fall
dictoss
0
84
Debianの開発の近況 - ODC2024
dictoss
0
88
Debianの開発の近況 - ODC2023
dictoss
0
52
Debian Update - OSC 2023 Online/Spring
dictoss
0
100
Other Decks in Technology
See All in Technology
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
490
攻撃者がいなくてもAIエージェントはインシデントを起こす
nomizone
0
190
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
0
110
BPaaSで進むAIオペレーションの現在地 AI実装が効く領域とスケーラビリティの選定と実装
kentarofujii
0
250
ゼロをイチにする仕事が終わったあと
smasato
0
250
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
890
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
170
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
130
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
240
AIDLC_ヤフーショッピングの取り組み
lycorptech_jp
PRO
0
500
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
310
【FinOps】データドリブンな意思決定を目指して
z63d
3
590
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
880
Google's AI Overviews - The New Search
badams
0
1.1k
Designing Experiences People Love
moore
143
24k
The agentic SEO stack - context over prompts
schlessera
0
840
A Tale of Four Properties
chriscoyier
163
24k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
400
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Become a Pro
speakerdeck
PRO
31
6k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
180
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
450
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
Debian 13 trixieͰมΘͬͨ 64bit time t Ҡߦʹ͍ͭͯ MiniDebConf Japan 2025
Norimitsu SUGIMOTO (ਿຊ యॆ)
[email protected]
2025-09-06
͜ͷࢿྉʹ͍ͭͯ ౦ژΤϦΞ Debian ษڧձͷ Web αΠτ͔Β PDF Λ μϯϩʔυͰ͖·͢ https://tokyodebian-team.pages.debian.net/
2025-09-minidebconf.html ษڧձؔ Debian ษڧձͱҰॹʹΦϯϥΠϯͰ΄΅ ຖ݄։࠵͍ͯ͠·͢
࣍ ࣗݾհ 2038 ͱ Debian 13 trixie ͷ 2038 ରԠ
trixie ͚ύοέʔδͰඞཁͳରԠ ιϑτΣΞࣗମͷઃܭɾ࣮ͷ֬ೝ ·ͱΊ ࢀߟࢿྉ
ࣗݾհ Norimitsu SUGIMOTO (ਿຊ యॆ)
[email protected]
Twitter: @dictoss MiniDebConf Japan
2025 ͷ࣮ߦҕһ Debian JP Project ձ (2024-2025) ւಓѴࢢͷग़ ւಓѴߴֶߍɺւಓڭҭେֶѴߍΛଔۀ ౦ژͰγεςϜ։ൃͷࣄΛ͍ͯ͠·͢ (python ͳͲ Ͱ Web αΠτ։ൃɺ௨৴ϓϩάϥϜ։ൃ)
2038 ͱ
2038ͱ UNIX ࣌ؒͱ͍͏ʮ1970 1 ݄ 1 0 ࣌
0 0 ඵʯΛ 0 ͱͯ͠ 1 ඵ͝ͱʹ 1 Ճࢉ͢Δ࣌ؒͷදݱํ๏ UNIX/Linux ͷଟ͘Ͱ UNIX ࣌ؒΛදݱ͢Δ time t ܕ Λ༻͍͓ͯΓɺ32bit OS ͷ߹ʮlong ܕʯͱ͍͏ 4 όΠτූ߸͖Λ༻͍͍ͯͨ 4 όΠτූ߸͖ͷ߹ UTC Ͱ 2038 1 ݄ 19 3 ࣌ 14 7 ඵΛա͗ΔͱΦʔόʔϑϩʔ͢Δɻ ͕ 0 ʹͳΓ 1970 ʹͬͯ͠·͏͜ͱͰίϯ ϐϡʔλ͕ޡ࡞ಈ͢ΔՄೳੑ͕͋Δ ͜ͷ͜ͱ ʮ2038 ʯͱݺΕ͍ͯΔ UNIX/Linux ͷଟ͘ͷ 64bit OS ͷ߹ long ܕ 8 όΠτූ߸͖ʹͳΔͨΊɺ2038 ൃੜ͠ͳ͍
Debian 13 trixie ͷ 2038 ରԠ (1) ϦϦʔεϊʔτ 2.2.6. 64
Ϗοτ time t ABI ͷҠߦ 1 i386 Λআͯ͘͢ͷΞʔΩςΫνϟ 64 Ϗοτ time t ABI Λ͏Α͏ʹͳΓɺ2038 Λ ͑ͨΛαϙʔτ͢ΔΑ͏ʹͳΓ·ͨ͠ɻ 32 ϏοτͷΞʔΩςΫνϟ (armel ͓Αͼ armhf) Ͱ ɺଟͷϥΠϒϥϦͷ ABI มߋ͕ͦͷϥΠϒϥϦͷ ”soname” ͷมߋͳ͠ʹ࣮ࢪ͞Ε·ͨ͠ɻ͜ΕΒͷΞʔ ΩςΫνϟͰɺαʔυύʔςΟʔͷιϑτΣΞ ύοέʔδ࠶ίϯύΠϧɾ࠶Ϗϧυ͕ඞཁͰɺͦ͠ ͯ੩͔ʹσʔλଛࣦ͍ͯ͠ΔՄೳੑ͕͋ΔͷͰਫ਼͕ࠪ ඞཁͰ͢ɻ i386 ΞʔΩςΫνϟ͜ͷҠߦͷର֎Ͱ͢ɻ͜Ε ୈҰͷׂ͕ϨΨγʔͳιϑτΣΞΛαϙʔτ͢Δ ͜ͱ͔ͩΒͰ͢ɻ 1https://www.debian.org/releases/trixie/release-notes/ whats-new.ja.html#bit-time-t-abi-transition
Debian 13 trixie ͷ 2038 ରԠ (2) ͳͥ trixie ͷλΠϛϯάͳͷ͔
2020-03-29 linux-5.6 ϦϦʔε 32bit ൛Ͱ࣌ࠁΛ 64bit Ͱอ࣋͢ΔΑ͏ʹมߋ 2021-08-01 glibc-2.34 ͕ϦϦʔε TIME BITS=64 ϚΫϩʹରԠ linux glibc debian 2020-03-29 linux-5.6 - - 2021-08-01 - glibc-2.34 - 2021-08-15 - - debian 11 linux-5.10, glibc-2.31 2023-07-22 - - debian 12 linux-6.1, glibc-2.36 2025-08-09 - - debian 13 linux-6.12, glibc-2.41
trixie ͚ ύοέʔδ Ͱඞཁͳ ରԠ
trixie ͚ύοέʔδͰඞཁͳରԠ (1) ίϯύΠϧΦϓγϣϯͷมߋ debian/control ͷमਖ਼ ϏϧυͱΠϯετʔϧ֬ೝ ιϑτΣΞࣗମͷઃఆɾ࣮ͷ֬ೝ ύοέʔδͷΞοϓϩʔυ (આ໌ׂѪ)
trixie ͚ύοέʔδͰඞཁͳରԠ (2) ύοέʔδͷίϯύΠϧΦϓγϣϯ͕มߋ Ϗϧυ͢Δϗετ্Ͱ dpkg-buildflags ίϚϯυΛ࣮ߦ͢Δ ͱ֬ೝՄೳ $ sudo
apt-get install build-essential devscripts $ dpkg-buildflags armhf ͷ debian12 ͱ debian13 ʹ͓͚Δ CPPFLAGS ͷࠩ -CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2 +CPPFLAGS=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 +CPPFLAGS_FOR_BUILD=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 2GB ͑ϑΝΠϧରԠͱ TIME BITS=64 ϚΫϩ͕Ճ
trixie ͚ύοέʔδͰඞཁͳରԠ (3) debian/control ͷमਖ਼ ྫࣔʣlibmyapp ΛҠߦ͢Δ߹ Package: libmyappt64 ఏڙ͢ΔϥΠϒϥϦύοέʔδ໊ͷඌʹ
t64 ΛՃ ͢Δ໋໊نଇʹͳͬͨ Replaces: libmyapp bookworm ͔ΒͷΞοϓάϨʔυ࣌ʹैདྷͷύοέʔδ ໊͔Β t64 ͕ඌʹͭ͘Α͏มߋͨ͜͠ͱΛࣔ͢ Build-Depends: dpkg-dev (>= 1.22.5)2 -D TIME BITS=64 Λࢦఆ͢ΔΑ͏ʹͳͬͨॳΊͯͷ dpkg-dev ͷόʔδϣϯ Depends: (ґଘ͢ΔϥΠϒϥϦͰ t64 ͕ඌʹ͋Δύο έʔδશͯमਖ਼) 2https://wiki.debian.org/ReleaseGoals/64bit-time
trixie ͚ύοέʔδͰඞཁͳରԠ (4) ϏϧυͱΠϯετʔϧ֬ೝ $ debuild -uc -us ύοέʔδͷΫϦʔϯϏϧυ pbuilder
/ cowbuilder sbuild Πϯετʔϧςετ autopkgtest piuparts
ιϑτΣ Ξࣗମͷ ઃܭɾ࣮ ͷ֬ೝ
ιϑτΣΞࣗମͷઃܭɾ࣮ͷ֬ೝ (1a) $ vi src/time64.c #include <stdio.h> #include <time.h> struct
mytime{ int a; /* 4 byte */ time_t t; /* 4-8 byte */ int b; /* 4 byte */ }; int main(int argc, char *argv[]){ printf("sizeof(int) = %lu\n", sizeof(int)); printf("sizeof(long) = %lu\n", sizeof(long)); printf("sizeof(time_t) = %lu\n", sizeof(time_t)); printf("sizeof(struct mytime) = %lu\n", sizeof(struct mytime)); return 0; } $ make gcc -Wall -g -c src/time64.c -o src/time64.o gcc -Wall -g -o a.out src/time64.o
ιϑτΣΞࣗମͷઃఆɾ࣮ͷ֬ೝ (1b) ڥʹΑΔมͷόΠτͷҧ͍ όΠτ Debian 12 Debian 12 Debian 13
amd64 armhf armhf sizeof(int) 4 4 4 sizeof(long) 8 4 4 sizeof(time t) 8 4 8 sizeof(struct mytime) 24 12 24 time t ܕͷมͷαΠζ 4 byte ͔Β 8 byte ૿͑Δ time t ܕΛؚΉߏମͷϝϞϦαΠζͱΦϑηοτ αΠζ͕ (ύσΟϯάͰ) େ͖͘ͳΔ߹͕͋Δ ߏମͷϝϞϦΛͦͷ··όΠφϦͰϑΝΠϧॻ͖ ࠐΉ߹௨৴Ͱૹ৴͍ͯ͠Δ߹چγεςϜͱޓ ͕ແ͘ͳΔ
ιϑτΣΞࣗମͷઃܭɾ࣮ͷ֬ೝ (2) ݹ͍όʔδϣϯͷ Debian ͔Β 64bit time t Ҡߦͷҙ ϑΝΠϧγεςϜ
ext ܥ ext4 Ҡߦ͢Δ͜ͱ (ext2/ext3 2038 ͋Γ) xfs linux-5.10 ΑΓݹ͍ڥͰϑΥʔϚοτͨ͠߹ 2038 ͋Γ σʔλϕʔε ܕఆٛͰ࣌ࠁΛ 32bit Ͱѻ͍ͬͯΔ߹͋Γ (ྫ: mysql ͷ timestamp ܕ) NTP αʔό / NTP ΫϥΠΞϯτ NTP (ϓϩτίϧ) ͷ 2036 (1900 ࢝·Γ) 2010 ൃߦͷ RFC5905 Λ࣮ͨ͠ NTPv4 ରԠ൛ͳ ΒӨڹͳ͠ Debian 12 ͔Β NTP ΫϥΠΞϯτͷσϑΥϧτ systemd-timesyncd Debian 12 Ͱ ntp ύοέʔδҠߦύοέʔδʹͳΓ ntpsec ஔ ͦͷଞͷҠߦઌ chronyɺopenntpd ͕બࢶ
·ͱΊ Debian 13 trixie Ͱ debian/control ͷ࡞๏͕มΘͬͨ 32bit ڥͰ time
t ܕ debian ύοέʔδͷϏϧυ ࣌Ҏ֎Ͱඪ४Ͱ 64bit มߋ (i386 আ͘) time t ܕͷαΠζมߋͰߏମͷϝϞϦͷαΠζΦ ϑηοτ͕มΘͬͯɺϓϩάϥϜ͕ѻ͏ϑΝΠϧ ௨৴Ͱޓੑ͕͋Δ͔֬ೝ͕ඞཁ ϓϩάϥϜΛ࠶Ϗϧυ͢ΔҎ֎ʹ 32bit time t ͕ ӅΕ͓ͯΓͣ͞ରԠ͕ඞཁ
ࢀߟจݙ Debian wiki - ReleaseGoals 64bit-time https: //wiki.debian.org/ReleaseGoals/64bit-time Yocto Α·
ୈ 3 ճʮLinux ͷ 2038 ʯ https: //www.lineo.co.jp/blog/yocto/vol03-2038.html