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
14
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
19
Debian Updates - OSC 2025 Online/Fall
dictoss
0
13
さくらの夕べ Debianナイト - さくらのVPS編
dictoss
0
1.2k
Debian Updates - OSC 2025 Tokyo/Spring
dictoss
0
57
How I met the Debian JP study session and the openSUSE developer community in Japan.
dictoss
0
63
Debian Updates - OSC 2024 Online/Fall
dictoss
0
84
Debianの開発の近況 - ODC2024
dictoss
0
87
Debianの開発の近況 - ODC2023
dictoss
0
50
Debian Update - OSC 2023 Online/Spring
dictoss
0
97
Other Decks in Technology
See All in Technology
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
7
1.9k
やさしいA2A入門
minorun365
PRO
12
1.8k
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
930
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
5
1.4k
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
3
2k
Snowflakeと仲良くなる第一歩
coco_se
4
440
AIのReact習熟度を測る
uhyo
2
330
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
130
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
360
あなたの知らないPDFのアクセシビリティ
lycorptech_jp
PRO
0
160
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
130
AAIFに入ってみた ~内から見えるコミュニティ動向~
sato4
0
190
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Into the Great Unknown - MozCon
thekraken
41
2.6k
The SEO Collaboration Effect
kristinabergwall1
1
480
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
180
Making the Leap to Tech Lead
cromwellryan
135
9.9k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
430
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