1 |
Hi! |
2 |
|
3 |
On Fri, Feb 10, 2012 at 11:25:38PM +0200, Sergey Kobzar wrote: |
4 |
> Самому кстати интересно, т.к. думаю подобное проделать в ближайшее |
5 |
> время, а заодно и винт на ноуте проапдейтить. Расскажете потом success |
6 |
> или не очень стори? |
7 |
|
8 |
Перед конвертацией в 64-битную систему нужно сделать две вещи: |
9 |
|
10 |
1) Если в базе данных или файлах есть данные в не портабельном 32-битном |
11 |
формате, то их нужно отконвертировать в портабельный формат либо |
12 |
сделать текстовый дамп. У меня это были blob-поля в базе сделанные |
13 |
перл-модулем Storable через freeze() и файлы записанные тем же Storable |
14 |
через store(). На 64-битной системе Storable отказывается их считывать, |
15 |
поэтому конвертировать нужно до перехода на 64-битную систему. |
16 |
2) Сделать дамп всех MySQL-баз в текстовый .sql-файл. |
17 |
|
18 |
На данный момент под amd64 не заработали: |
19 |
|
20 |
- vmware |
21 |
- virtualbox |
22 |
- mono |
23 |
- flacuda (быстрый кодировщик flac, ему нужен mono) |
24 |
- dev-perl/JavaScript-SpiderMonkey (работает частично) |
25 |
|
26 |
Ещё одно я пока не проверял - prelink. Этой тулзой надо обрабатывать |
27 |
php-шные ZendOptimizer и IonCube чтобы они работали под hardened, |
28 |
насколько я помню. |
29 |
|
30 |
Далее, я все конфиги переносил крайне аккуратно, но после переноса сравнил |
31 |
старый и новый /etc, чтобы найти все важные отличия и понять, можно ли |
32 |
тупо копировать старый /etc при переносе. В общем и целом, копировать можно. |
33 |
Но есть несколько файлов, на которые нужно обратить внимание: |
34 |
|
35 |
1) Проконтролируйте, что не замените /etc/make.profile с amd64 на x86. |
36 |
2) Вот этих файлов не должно быть на 64-битной системе: |
37 |
/etc/env.d/05gcc-i686-pc-linux-gnu |
38 |
/etc/env.d/binutils/config-i686-pc-linux-gnu |
39 |
/etc/env.d/binutils/i686-pc-linux-gnu-* |
40 |
/etc/env.d/gcc/config-i686-pc-linux-gnu |
41 |
/etc/env.d/gcc/i686-pc-linux-gnu-* |
42 |
/etc/env.d/gcc/.NATIVE |
43 |
/etc/eselect/compiler/i686-pc-linux-gnu-* |
44 |
/etc/eselect/ld-mtimedb |
45 |
/etc/pango/pango.modules |
46 |
/etc/revdep-rebuild/50win32codecs |
47 |
3) Вот эти файлы из stage3 нельзя переписать старыми 32-битными версиями: |
48 |
/etc/env.d/05binutils |
49 |
/etc/ld.so.conf |
50 |
/etc/ld.so.conf.d/05binutils.conf |
51 |
3a) Если старый /etc восстанавливается уже после сборки системы, то вот |
52 |
ещё несколько файлов где упоминается /lib32 и которые нельзя перекрыть |
53 |
старыми версиями (у вас этот набор файлов может отличаться, смотря |
54 |
какой софт вы будете ставить): |
55 |
/etc/env.d/03opencl |
56 |
/etc/env.d/03opengl |
57 |
/etc/env.d/44qt4 |
58 |
/etc/env.d/90games |
59 |
/etc/gtk-2.0/i686-pc-linux-gnu/gtk.immodules |
60 |
3b) Помимо этих файлов ещё есть кучка тех, в которых используется /lib64, |
61 |
а в ваших старых версиях этих файлов прописан /lib - но т.к. /lib это |
62 |
симлинк на /lib64, то старые версии должны работать корректно. |
63 |
|
64 |
Ну и напильником придётся поработать немного, как всегда. Например, под |
65 |
64-битной системой не запускается qmail-pop3sd - не хватает памяти. |
66 |
Дефалтовый лимит в /var/qmail/control/conf-common 16MB, его хватало под |
67 |
32-битной системой, а под 64-битной нужно увеличивать. Другой пример - |
68 |
если у вас используется chroot для отдельных приложений, то его |
69 |
потребуется подстучать - надо будет включить в него 64-битные каталоги/либы. |
70 |
|
71 |
Всё остальное (включая skype, flash и 32-битные приложения вроде OS |
72 |
Inferno) собралось и работает нормально. |
73 |
|
74 |
-- |
75 |
WBR, Alex. |