Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Debian 13 trixieで変わった 64bit time t 移行について
Search
Norimitsu Sugimoto
September 06, 2025
Technology
19
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
30
Debian Updates - OSC 2025 Online/Fall
dictoss
0
23
さくらの夕べ Debianナイト - さくらのVPS編
dictoss
0
1.4k
Debian Updates - OSC 2025 Tokyo/Spring
dictoss
0
65
How I met the Debian JP study session and the openSUSE developer community in Japan.
dictoss
0
86
Debian Updates - OSC 2024 Online/Fall
dictoss
0
87
Debianの開発の近況 - ODC2024
dictoss
0
110
Debianの開発の近況 - ODC2023
dictoss
0
56
Debian Update - OSC 2023 Online/Spring
dictoss
0
110
Other Decks in Technology
See All in Technology
How to Design Configuration for Rails Applications
willnet
1
1.1k
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
150
AI駆動開発における開発環境のセキュリティの考え方
yamahiro
1
360
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
200
ガチで放置できるClaude Code実行環境の作り方.pdf
lamaglama39
1
6k
Let's Change Our World—Again
snoozer05
PRO
5
340
AWSセキュリティで活用するAI機能
cmusudakeisuke
1
200
導入から定着へ ~コーディングエージェントを日常業務に組み込む実践知~
yukisakai1225
0
200
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
130
企画を Software Factory-ready にする——開発が高速になったとき、PdMの仕事はどう変わったか
yachibit
1
140
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
150
CSS2026:OWS研究会・招待講演「世界観を、実装する」
atsush1_sada
2
220
Featured
See All Featured
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.5k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
For a Future-Friendly Web
brad_frost
184
10k
We Are The Robots
honzajavorek
0
400
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Done Done
chrislema
187
17k
Producing Creativity
orderedlist
PRO
348
41k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Between Models and Reality
mayunak
4
500
Bash Introduction
62gerente
615
220k
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