-->

2012-11-04

memo: 古いpcの更新

http://d.hatena.ne.jp/tmatsuu/20101225/1293262061
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/277usetmpfs.html
http://www.asahi-net.or.jp/~aa4t-nngk/nfsv4.html
http://d.hatena.ne.jp/tmatsuu/20090110/1231557035
http://www.gentoo.org/doc/ja/gcc-upgrading.xml

(old)pentium3, (new)i5-3470の場合。
nfsは4にしないとlockとかできない。(nfs-utilsを古くしないと無理。それよりnfs4使うほうが楽)
gccの設定にnativeはダメ。
(new)がマウントした(old)のファイルの所有者がnobodyだらけだとダメ。
メモリに余裕があれば/var/tmpはtmpfsでマウントする。
gccの更新もやる。

サーバー側で"/"マウントOKの許可の設定などをする。
$ cat /etc/exports
# /etc/exports: NFS file systems being exported.  See exports(5).
/ 192.168.0.100/255.255.255.255(rw,sync,no_root_squash,fsid=0,subtree_check)
#/ 192.168.0.110/255.255.255.255(rw,sync,no_root_squash,fsid=0,subtree_check)
/ 192.168.0.110/255.255.255.255(rw,async,no_root_squash,fsid=0,no_subtree_check)
# サーバーはNFSD_V4も入れる。
$ grep -iP "nfs.*4" /usr/src/linux/.config
CONFIG_NFS_V4=y
CONFIG_NFS_V4_1=y
CONFIG_NFSD_V4=y

gccの設定。
$ cat /proc/cpuinfo | grep model\ name
model name      : Pentium III (Coppermine)
$ grep ^C /etc/make.conf
CFLAGS="-march=pentium3 --param l1-cache-size=16 --param l1-cache-line-size=32 --param l2-cache-size=256 -fomit-frame-pointer -Os"
CXXFLAGS="${CFLAGS}"
CHOST="i686-pc-linux-gnu"

ファイルの所有者がおかしい場合はチェックする。
$ grep nobody /etc/idmapd.conf
#Nobody-User = nobody
#Nobody-Group = nobody

$ ps aux|grep [r]pc.idmapd
root      6806  0.0  0.1   2724   700 ?        Ss   09:55   0:00 /usr/sbin/rpc.idmapd

$ sudo mount -t nfs4 192.168.0.120:/ /mnt/dynabook/

$ ll -d /mnt/dynabook/bin/ | grep root
drwxr-xr-x 2 root root 4096 2012-11-04 08:45:22 /mnt/dynabook/bin//

マウントする。
$ sudo umount -l /mnt/dynabook

$ sudo mount -t nfs4 192.168.0.120:/ /mnt/dynabook/

$ cat /proc/meminfo | grep ^Mem
MemTotal:        8170052 kB
MemFree:         3824372 kB
# 余裕がなければ mount --bind /var/tmp/dynabook/var/tmp /mnt/dynabook/var/tmp/ など。
$ sudo mount -t tmpfs -o size=4096m tmpfs /mnt/dynabook/var/tmp/
$ sudo mount -t tmpfs -o size=4096m tmpfs /mnt/dynabook/tmp/

$ sudo mount --rbind /usr/portage/ /mnt/dynabook/usr/portage/

$ sudo mount -t proc none /mnt/dynabook/proc/

chrootする。
$ cd /mnt/dynabook/
$ sudo chroot . /bin/bash

$ env-update
$ source /etc/profile
$ export PS1="(chroot.nfs.dynabook) $PS1"

更新する。
$ emerge --oneshot portage
$ emerge -uav gcc
$ gcc-config -l
$ gcc-config i686-pc-linux-gnu-4.5.4
$ env-update && source /etc/profile
$ fix_libtool_files.sh 4.5.4
$ emerge --oneshot -av libtool
$ emerge --jobs=8 --load-average=16 --keep-going -eavt system
...
状態が古いので色々更新などがある。

$ genkernel --makeopts="-j16 KCFLAGS=\\\"-march=pentium3 --param l1-cache-size=16 --param l1-cache-line-size=32 --param l2-cache-size=256 -fomit-frame-pointer -Os\\\"" --kernel-config=/etc/kernels/kernel-config-x86-2.6.38-hardened-r6 --arch-override=x86 all

0 件のコメント: