1 |
On 2017-07-15, Matthias Hanft <mh@×××××.de> wrote: |
2 |
> Grant Edwards wrote: |
3 |
>> |
4 |
>> Well, the return type for time() changed from "int" (or was it long?) |
5 |
>> to "time_t" many years back. That said, the actual underlying |
6 |
>> representation has never changed on 32-bit Linux systems. Posix |
7 |
>> requires it to be signed, and on 32-bit Linux systems, it's still |
8 |
>> going to overflow in 2038 -- same as it ever was. |
9 |
> |
10 |
> This is correct: |
11 |
> |
12 |
> mh@n ~ $ date -u -d @2147483647 |
13 |
> Tue Jan 19 03:14:07 UTC 2038 |
14 |
> mh@n ~ $ date -u -d @2147483648 |
15 |
> date: invalid date '@2147483648' |
16 |
> |
17 |
><crystal ball mode>Will there be any fix until then, or will I have |
18 |
> to reinstall all my 32bit Gentoo systems with 64bit kernels?</crystal |
19 |
> ball mode> |
20 |
> |
21 |
> Is there actually a "how-to" to replace a 32-bit-Gentoo by a 64-bit- |
22 |
> Gentoo? |
23 |
|
24 |
This is the easy way: |
25 |
|
26 |
1) Back up user data (e.g. home directories) and system config files |
27 |
(e.g. /etc/) |
28 |
|
29 |
2) Install from scratch |
30 |
|
31 |
3) restore user data and config files. |
32 |
|
33 |
> Do I have to format the harddisk (and rebuild everything from |
34 |
> scratch), oder can I just keep all the (postfix, apache...) configuration |
35 |
> in /etc, all my personal stuff in /usr/local and all the data in /var |
36 |
> and just install a 64-bit kernel in /boot? (Of course, with all its |
37 |
> dependencies like kernel modules and "system-near" binaries and all |
38 |
> that.) |
39 |
|
40 |
It's not just the kernel. If you want to avoid the 32-bit time |
41 |
problem, then you need to re-install all of the user-space librairies |
42 |
and binary exectuables that use the time() libc function. |
43 |
|
44 |
-- |
45 |
Grant |