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.3k
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
84
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
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
160
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
130
自主式軟體工廠
philipz
0
250
しろおびから始める!ログ活用の第一歩
shumei_ito
0
890
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
360
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.7k
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
hackers_champloo_2026_tidb
makocchi
0
110
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
220
プロダクト価値を、 チームが使える判断軸に変える
vivion
0
150
今こそ知りたいAmplifyGen2
mkdev10
2
160
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Un-Boring Meetings
codingconduct
0
450
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Leo the Paperboy
mayatellez
10
2.4k
Statistics for Hackers
jakevdp
799
230k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
Into the Great Unknown - MozCon
thekraken
41
2.8k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Building AI with AI
inesmontani
PRO
1
1.3k
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