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